0

我有一个非常大的单个类文件,我想打破这个太大的类并将它的代码分布在多个文件中,但使用扩展方法,因为我只想对这个类使用相同的对象例如:

文件一:

class name {

    public function admin_logout(){

    if(isset($_SESSION['wcddl_admin'])) {
        unset($_SESSION['wcddl_admin']);
            session_destroy();
            header("Location:index.php");
  }

}

文件 b:

include("a.php");

 }

我尝试了类似的方法,但没有用

任何想法?

4

2 回答 2

1

您不能创建语法无效的 php 文件。但是您可以为每种方法包含一个文件。

class name {
    public function admin_logout(){
        include('methods/admin_logout.php');
    }
    public function mymethod(){
        include('methods/mymethod.php');
    }
}

或者您可以使用魔术方法 __call 构建一个类

class name {
    public function __call($name, $arguments){
        include('methods/'.$name.'.php');
    }
}

但是,如果您被迫做类似的事情,也许您应该改变项目的方法。

于 2012-04-05T21:12:33.603 回答
1

您不能在 php.ini 文件中本地拆分一个类。我想您可以做一些花哨的事情,例如动态构建文件然后加载它,但这会很痛苦。

对于您的高级课程,您可以为普通用户创建一个基类,然后将其扩展为高级课程。但很可能你想在一门课上放太多东西。

您可能想开始另一个问题并描述您要解决的问题。

于 2012-04-05T20:54:50.953 回答