我有以下问题:
这是我的主文件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 A
移动到另一个PHP文件includes/function_a.php
中,我可以在主文件中 include_once 。原因是使我的主文件更小,更容易阅读。
完成此任务的最佳做法是什么?EXTENDS?
修改
我使用EXTENDS完成了这项工作:
的index.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;
?>
包括/ function_a.php
<?php
class anotherClass
{
function A()
{
echo '[function A works too]';
echo $this->myVar;
}
}
?>
有更好的想法吗?
答案 0 :(得分:3)
您提示在问题结束时执行此操作的最佳方法。您需要创建一个父类并拥有&#34; myClass&#34;扩展您的父类。 &#34; myClass的&#34;然后将继承父类的方法,父类可以在另一个文件中。那是你在找什么?
答案 1 :(得分:1)
除非您想将myClass
作为基类提供,否则请{@ 1}}使用其他类。
包含包含EXTEND
类的文件,并实例化myClass
对象以使用函数myClass
。
答案 2 :(得分:0)
如果函数太长,请将其拆分为更小的函数。它们必须有用,而不是functionA_part01 ......
例如。 getDataFromFile(),如果函数A读出文件。
如果仍然需要创建一个新文件,你可以创建一个abstract-Class,用myClass扩展它们。
也许你应该重新考虑你的班级设计?