IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

Owncloud: Getters et setters d'une entité


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 60
    Points : 40
    Points
    40
    Par défaut Owncloud: Getters et setters d'une entité
    Hello !

    Je début sur Owncloud et je suis confronté à un souci de Getters / Setters au niveau de mon Entity.

    Voici cette dernière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    namespace OCA\Fleet\Db;
     
    use \OCP\AppFramework\Db\Entity;
     
    class Boxes extends Entity {
     
        protected $name;
        protected $mac;
        protected $lastConnect;
     
        public function __construct() {
        }
    }
    Le Mapper qui va avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    // db/authormapper.php
     
    namespace OCA\Fleet\Db;
     
    use \OCP\IDb;
    use \OCP\AppFramework\Db\Mapper;
     
    class BoxesMapper extends Mapper {
     
        public function __construct(IDb $db) {
            parent::__construct($db, 'boxes');
        }
        public function findAll($limit=array(), $offset=null) {
            $sql = 'SELECT * FROM `*PREFIX*boxes`';
            return $this->findEntities($sql, $limit, $offset);
        }
     
    }
    Je souhaite simplement lister mes "Boxes". J'ai donc utilisé le Mapper dans mon pageController et envoyé les résultats dans ma vue. Jusqu'ici, pas de souci. Lorsque je fais un print_r sur la variable qui contient mes résultats, j'obtient ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Array
    (
        [0] => OCA\Fleet\Db\Boxes Object
            (
                [name:protected] => boxe01
                [mac:protected] => 
                [lastConnect:protected] => 
                [id] => 1
                [_updatedFields:OCP\AppFramework\Db\Entity:private] => Array
                    (
                    )
     
                [_fieldTypes:OCP\AppFramework\Db\Entity:private] => Array
                    (
                        [id] => integer
                    )
     
            )
     
        [1] => OCA\Fleet\Db\Boxes Object
            (
                [name:protected] => boxe02
                [mac:protected] => 
                [lastConnect:protected] => 
                [id] => 2
                [_updatedFields:OCP\AppFramework\Db\Entity:private] => Array
                    (
                    )
     
                [_fieldTypes:OCP\AppFramework\Db\Entity:private] => Array
                    (
                        [id] => integer
                    )
     
            )
     
    )
    En suivant la documentation, j'ai lu sur la partie concernant les Mappers et les Entities que les Getters & Setters étaient générés automatiquement. Donc j'ai fait ceci dans ma vue:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ul>
    <?php
    	foreach($_['boxes'] as $box) { ?>
    		<li>Box name: <?php $box->getName(); ?></li>
    	<?php }
    ?>
    </ul>
    J'ai bien une liste qui m'affiche deux fois "Box name:", mais le nom de la Box en question n'est pas retournée.
    J'ai essayé d'autres solutions, comme créer dans l'Entity le getter getName(), mais cela n'a rien changé.

    Aurez-vous une solution ?

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 60
    Points : 40
    Points
    40
    Par défaut
    Je viens de trouver la solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li>Box name: <?php p( $box->getName() ); ?></li>
    Dans les templates, il faut utiliser la fonction p() si on souhaite afficher la valeur d'une variable, comme expliqué ici.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/03/2010, 16h01
  2. Réponses: 1
    Dernier message: 29/04/2009, 22h39
  3. [Postsharp] Manager les getter et setter d'une propriété
    Par anthyme dans le forum Framework .NET
    Réponses: 4
    Dernier message: 13/01/2009, 11h19
  4. Réponses: 11
    Dernier message: 23/03/2007, 19h38
  5. Réponses: 10
    Dernier message: 20/09/2006, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo