gpt4 book ai didi

php - 在php中包含另一个类中的一个类

转载 作者:可可西里 更新时间:2023-11-01 01:06:36 25 4
gpt4 key购买 nike

我有一个“搜索”类,它只在某些情况下使用。是否需要“搜索”的决定是在函数“setupPage”的类“page”中做出的。将一个类包含在另一个类中是否可以(编码是否良好)?

class Page {
private function setupPage($page_id){
switch($page_id){
case 1:
// do something
break;

case 2:
include_once('class_search.php');
// class search is singleton
$this->search = Search::getInstance();
// now I can use functions of 'search'
$this->search->someSearchFunction();
}
}
}

最佳答案

这样做绝对没问题,但您还有其他选择。你可能想看看 php 的自动加载功能

function __autoload($class_name) {
include $class_name . '.php';
}

每当您实例化一个新类时。 PHP 使用一个参数(即类名)自动调用 __autoload 函数。考虑下面的例子

$user = new User():

当您在此处实例化用户对象时,会调用自动加载函数,它会尝试包含同一目录中的文件。 (引用上面的自动加载功能)。现在您可以实现自己的逻辑来自动加载类。无论它位于哪个目录中。有关更多信息,请查看此链接 http://in.php.net/autoload .

关于php - 在php中包含另一个类中的一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9434483/

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