PHP类和包括
我有以下问题: 这是我的主文件PHP类和包括,php,oop,class,include,Php,Oop,Class,Include,我有以下问题: 这是我的主文件index.php <?php class myClass { function myClass() { echo '[constructor]'; $this->myVar = '[i am making a test]'; $this->A(); } function A() { echo '[function A works too]'; echo $this->myVar;
index.php
<?php
class myClass
{
function myClass()
{
echo '[constructor]';
$this->myVar = '[i am making a test]';
$this->A();
}
function A()
{
echo '[function A works too]';
echo $this->myVar;
}
}
$test = new myClass;
?>
包含/function\u a.php
<?php
include_once('includes/function_a.php');
class myClass extends anotherClass
{
function myClass()
{
echo '[constructor]';
$this->myVar = '[i am making a test]';
$this->A();
}
}
$test = new myClass;
?>
<?php
class anotherClass
{
function A()
{
echo '[function A works too]';
echo $this->myVar;
}
}
?>
有更好的主意吗?如果函数太长,请将其拆分为更多的小函数。它们必须是有用的,而不是像功能部件01 例如,getDataFromFile(),如果函数A读取文件 如果仍然需要创建一个新文件,可以使用myClass在extends中创建一个抽象类
也许你应该重新考虑你的课堂设计?你在问题的结尾暗示了最好的方式。您需要创建一个父类,并让您的“myClass”扩展您的父类。然后,“myClass”将继承父类的方法,父类可以位于另一个文件中。这就是你想要的吗?除非你想把
myClass
作为一个基类,否则不要使用另一个类来扩展它
包含包含myClass
类的文件,并实例化myClass
的对象以使用函数A
,因此您希望函数A
在另一个文件中,但仍然是类myClass
的一部分?为什么要拆分最终需要立即读取的内容?是的,我希望将整个函数A放在另一个文件中,但要具有与主类中相同的功能。不能在类中“包含”文件,除非include语句本身实际上位于该类中存在的方法中,并且只有在执行该方法时才会包含该文件。为什么不将该类放入它自己的文件中呢?在PHP世界中,每个文件一个类是很常见的。自动装弹机也能很好地工作。