Ho bisogno di aiuto per capire il tipo di suggerimento con gli oggetti. Ho provato a cercare stackoverflow ma non riesco a trovare nulla che abbia un altro utente che ne spieghi l'uso. Se ne trovi uno fammi sapere. Prima lasciatemi spiegare cosa capisco.tipo di oggetto suggerimento in php
Quando si utilizza un suggerimento tipo di matrice, l'utente deve digitare un parametro che è una matrice, altrimenti si verificherà un errore.
<?php
function something(array $myval)
{
return print_r($myval);
}
Quando provo con un oggetto ottengo un errore. Potrei scrivere male, ma per favore aiutami a capire come scriverlo.
<?php
class Person
{
function name($name)
{
return $name;
}
}
$foo = new Person();
function doSomething(Person $lname)
{
return $lname->name;
}
doSomething('smith');
Da quello che ho capito quando una funzione è di tipo accennato della persona oggetto (in questo esempio) la variabile parametro avrà accesso ai metodi di oggetti proprio come quando si crea un'istanza di un oggetto e echo i suoi metodi. Posso sbagliarmi ma per favore correggimi. L'altra mia domanda è che se questo è vero dove un parametro Person ha accesso ai metodi Person, ciò rende questo diverso dall'istanza semplice della classe Person e dall'evocazione manuale dei metodi.
possibile duplicato di [Suggerimento tipo PHP: array supportato, oggetto NOT?] (Http://stackoverflow.com/questions/1547696/php-type-hinting-array-supported-object-not) –
Stai ottenendo un errore perché ''smith'' è una stringa e non un oggetto. Devi passare '$ pippo' a' doSomething() 'perché funzioni. –
* "Ho provato a cercare stackoverflow" * - hai provato a cercare nella documentazione? Tutto è [spiegato] (http://www.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration) lì, con esempi. – axiac