PHP类和包括

时间:2012-01-31 19:51:10

标签: 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;
  }
}

$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;
  }
}
?>

有更好的想法吗?

3 个答案:

答案 0 :(得分:3)

您提示在问题结束时执行此操作的最佳方法。您需要创建一个父类并拥有&#34; myClass&#34;扩展您的父类。 &#34; myClass的&#34;然后将继承父类的方法,父类可以在另一个文件中。那是你在找什么?

答案 1 :(得分:1)

除非您想将myClass作为基类提供,否则请{@ 1}}使用其他类。

包含包含EXTEND类的文件,并实例化myClass对象以使用函数myClass

答案 2 :(得分:0)

如果函数太长,请将其拆分为更小的函数。它们必须有用,而不是functionA_part01 ......

例如。 getDataFromFile(),如果函数A读出文件。

如果仍然需要创建一个新文件,你可以创建一个abstract-Class,用myClass扩展它们。

也许你应该重新考虑你的班级设计?