抽象类识别

时间:2013-09-12 23:24:05

标签: php abstraction

我在哪里提供包含以便接近正确注册?我已经尝试在ATE中同时包含命令库和关闭,并且我已经尝试在ATE中包含命令库,并且在命令库中关闭...无论我做什么,它都说关闭未找到。

class.CommandBase.php

  <?php
      abstract class CommandBase {
      // variables
      // abstract functions
      // protected function
     }
  ?>

class.Close.php

<?php
 class Close extends CommandBase
 {
    // variables

    // functions

    // public function __construct
 }
?>

class.ATE.php

<?php
class ATE {
    // instance variables

    // public properties

    public function start(){
            $command = new Close();         // class 'Close' not found
    }
    // public function __construct
 }
?>

2 个答案:

答案 0 :(得分:1)

  

我尝试在ATE中包含命令库和关闭

如果“命令库”在'关闭'之前包含,这应该可行。

include ('class.CommandBase.php');
include ('class.Close.php');
  

我尝试在ATE中包含命令库,并且接近   命令库

“命令库”中的“关闭”不起作用,因为“关闭”扩展'命令库'。

理想情况下,我会避免在其他类文件中包含类文件,并将我的include语句限制在使用类的任何脚本中。

答案 1 :(得分:0)

Class Close需要包含Class CommandBase。类ATE需要包含Close

class.Close.php

include 'class.CommandBase.php';

class.ATE.php

include 'class.Close.php';

请注意,如果所有文件都在同一目录中,这将起作用。如果它们不在同一目录中,则需要将其更新为指向正确的位置。

您还应该查看PHP的自动加载类的方法。大帮忙!

http://php.net/manual/en/language.oop5.autoload.php