In PHP è possibile estendere una classe con lo stesso nome?
Domanda
Sto cercando di scoprire tempo posso fare questo o no. Ho una classe denominata modello. e voglio estendere tale funzionalità classi in un altro file, ma io non voglio cambiare il nome.
Devo dichiareremo come
class template extends template
{
// code here
function foo()
{
}
}
o devo proprio dichiaro come questo?
class template
{
// write function
function foo()
{
}
}
Soluzione
Si potrebbe voler controllare classkit
Altri suggerimenti
Solo se la classe padre è in un altro spazio dei nomi.
use SomeNamespace\Template as BaseTemplate;
class Template extends BaseTemplate
{
//...
}
Se si voleva utilizzare un metodo / proprietà della classe originale è possibile estendere, ma è necessario utilizzare un nome diverso, altrimenti si otterrà un errore circa redeclaring classe.
In sostanza:
class template {}
/* both fail with "cannot redeclare class template */
class template extends template {}
class template {}
Sono abbastanza sicuro che non si può. Vorrei suggerire di effettuare le seguenti operazioni:
class Template extends TemplateBase
{
// code
}
Per saperne di più su: http://www.php.net/manual /en/language.oop5.php