在 PHP 中,可以将类扩展为同名吗?

发布于 2024-07-26 12:11:28 字数 439 浏览 5 评论 0原文

我正在尝试了解我是否可以这样做。 我有一个名为模板的类。 我想在另一个文件中扩展该类的功能,但我不想更改名称。

我是否将其声明为

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

   }
}

还是只是这样声明?

<代码> <代码>

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

   }
}

>

I'm trying to find out weather I can do this or not. I have a class called Template. and I want to extend that classes functionality in another file, but I don't want to change the name.

Do I declare it as

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

   }
}

or do I just declare it like this?

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

   }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

凡间太子 2024-08-02 12:11:28

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

use SomeNamespace\Template as BaseTemplate;

class Template extends BaseTemplate 
{
     //...
}

Only if the parent class is in another namespace.

use SomeNamespace\Template as BaseTemplate;

class Template extends BaseTemplate 
{
     //...
}
美人骨 2024-08-02 12:11:28

如果您想使用原始类的方法/属性,您可以扩展它,但必须使用不同的名称,否则您将收到有关重新声明类的错误。

基本上:

class template {}

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

class template extends template {}

class template {}

If you wanted to use a method/property of the original class you can extend it but you must use a different name, otherwise you'll get an error about redeclaring the class.

Basically:

class template {}

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

class template extends template {}

class template {}
ぽ尐不点ル 2024-08-02 12:11:28

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

class Template extends TemplateBase
{
    // code
}

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

I am pretty sure you can not. I would suggest you do the following:

class Template extends TemplateBase
{
    // code
}

read more at: http://www.php.net/manual/en/language.oop5.php

┾廆蒐ゝ 2024-08-02 12:11:28

您可能想查看 classkit

You might want to check out classkit

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文