gpt4 book ai didi

php - 主类和 Controller 加载器

转载 作者:行者123 更新时间:2023-12-04 02:55:29 24 4
gpt4 key购买 nike

我正在尝试学习 OOP,只是为了测试,我想用不同的方法创建一个主类。在这种情况下,我想“加载”像 CodeIgniter 这样的 Controller :

$app->load->controller('test')

load()Main() 的一个方法,但是 controller() 呢?

这是我目前所拥有的,但显然它不起作用。我无法理解如何将 Controller 名称传递给 Load/controller 类

class Main {
public function load()
{
$loader = new Load();
$loader->controller('index');
}
}

class Load {
public function controller($class)
{
$class = ucfirst($class);
$class = new $class();
$class->index();
}
}

class Test {
function index()
{
echo 'class: test - method: index';
}
}

$main = new Main;
$controller = $main->load->controller('test');

最佳答案

你可以试试这个

class Main {

public function load()
{
//include "Load.php";
return new Load();
}

}

class Load {

public function controller($class = '')
{
if( file_exists( $class . '.php') ) {
include $class . '.php';
$class = ucfirst($class);
return new $class;
}
}

}

$main = new Main;
$controller = $main->load()->controller('testClass');
$controller->index(); // Assume testClass has an index method

DEMO.

关于php - 主类和 Controller 加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16779625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com