我有一类“搜索”,仅在某些情况下使用.是否需要“搜索”的决定是在功能“ setupPage”中的“页面”类中进行的.可以将一个类包含在另一个类中吗?
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 =新的User():
在此处实例化用户对象时,将调用自动加载功能,它将尝试包含同一目录中的文件. (参考上述自动加载功能).现在您可以实现自己的逻辑来自动加载类.无论它驻留在哪个目录中.有关更多信息,请查看此链接http://in.php.net/autoload.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。