12

我试图找出天气我能不能做到这一点。我有一个名为模板的类。我想在另一个文件中扩展该类的功能,但我不想更改名称。

我是否将其声明为

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

   }
}

还是我就这样声明?

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

   }
}

4

4 回答 4

33

仅当父类在另一个命名空间中时。

use SomeNamespace\Template as BaseTemplate;

class Template extends BaseTemplate 
{
     //...
}
于 2012-06-21T02:50:01.610 回答
1

如果你想使用原始类的方法/属性,你可以扩展它,但你必须使用不同的名称,否则你会得到一个关于重新声明类的错误。

基本上:

class template {}

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

class template extends template {}

class template {}
于 2009-07-14T23:32:18.780 回答
0

我很确定你不能。我建议您执行以下操作:

class Template extends TemplateBase
{
    // code
}

阅读更多:http ://www.php.net/manual/en/language.oop5.php

于 2009-07-14T23:32:51.680 回答
-3

您可能想查看classkit

于 2009-07-14T23:35:18.350 回答