Si une méthode statique renvoie un objet, puis-je obtenir en une ligne l'un des attributs d'objet? Quelque chose comme ça, mais en une seule ligne:Valeur de retour PHP
$obj = Parser::GetFirstItem();
$strTitle = $obj->Title;
Si une méthode statique renvoie un objet, puis-je obtenir en une ligne l'un des attributs d'objet? Quelque chose comme ça, mais en une seule ligne:Valeur de retour PHP
$obj = Parser::GetFirstItem();
$strTitle = $obj->Title;
Avez-vous réellement essayé?
$strTitle = Parser::GetFirstItem()->Title;
Cela devrait fonctionner, à condition que vous utilisiez PHP5 et pas encore coincé sur PHP4.
Bien sûr. Essayez-le:
$strTitle = Parser::GetFirstItem()->Title;
Vous ne savez pas exactement quand cela a été introduit. 5? 5.1? 5.2? Je vais devoir vérifier.
Mise à jour: Semble avoir été une fonctionnalité de PHP 5 depuis le début.
Votre méthode GetFirstItem
doit renvoyer un objet. Seuls les méthodes virtuelles (pas statiques) peuvent le faire:
return $this;
'$ this' ne fonctionnera pas dans un contexte statique –
oui. lis mes changements. – pltvs
Utiliser 'return self;' dans une fonction statique retourne un 'E_NOTICE' qui' self' est une constante indéfinie, suppose que vous vouliez dire '' self'', et retourne une chaîne. (Note: PHP 5.3.2). Si vous voulez un objet de la classe qui a la fonction statique, alors vous devriez utiliser 'return new self();' – Aether
$ strTitle = ... non $ obj. ;) – Spudley
@Spudley bien sûr, à la vôtre. –