PHP, aynı isimde bir sınıf uzatabilirsiniz?

4 Cevap php

Ben bu ya da değil yapabilirsiniz hava bulmaya çalışıyorum. Ben Şablon adında bir sınıf var. ve ben başka bir dosyada bu sınıfları işlevselliğini genişletmek istiyorsanız, ama ben adını değiştirmek istemiyorum.

Ben olarak ilan etmeyin

class template extends template
{
   // code here
   function foo()
   {

   }
}

ya da ben sadece bu gibi beyan mı?

class template
{
   // write function
   function foo()
   {

   }
}

4 Cevap

Eğer kontrol etmek isteyebilirsiniz classkit

Üst sınıf başka bir ad ise.

use SomeNamespace\Template as BaseTemplate;

class Template extends BaseTemplate 
{
     //...
}

Eğer orijinal sınıfının bir yöntem / özelliği kullanmak isteseydi bunu uzatabilirsiniz ama farklı bir ad kullanmanız gerekir, aksi takdirde sınıf redeclaring ilgili bir hata alırsınız.

Temelde:

class template {}

/* both fail with "cannot redeclare class template */

class template extends template {}

class template {}

Ben yapamam eminim. Ben aşağıdakileri yapın öneririm:

class Template extends TemplateBase
{
    // code
}

daha okuyun: http://www.php.net/manual/en/language.oop5.php