php – 组织对象和库
我一直在从头开始创建少量的库/类.我来自codeigniter背景,我正在尝试创建一些具有类似功能的库.我一直在遇到有关对象的问题.
是以某种方式创建超级对象的最好方法吗?我的主要问题是我创建了一个视图对象,并运行一个名为load的函数,如下所示: class View { public function __construct() { } public function load($file = NULL,$data = array()) { if($file) { $file .= '.php'; if(file_exists($file)) { // Extract variables BEFORE including the file extract($data); include $file; return TRUE; } else { echo 'View not found'; return FALSE; } } else { return FALSE; } } } 然后在我的php文件中,我在顶部包含’libraries.php’;看起来像: include 'database.php'; include 'view.php'; include 'input.php'; include 'form.php'; $config = array( 'host' => 'localhost','username' => 'username','password' => 'password','database' => 'database' ); $database = new Database($config); $view = new View(); $input = new Input(); $form = new Form(); 从我包含库的文件中,我可以编写类似$form-> value(‘name’);没有错误.但是,如果我做这样的事情: $view-> load(‘folder / index’,array(‘var_name’=>’var_value’));然后从文件夹/ index.php文件中我可以访问$var_name就好了,但不是$form-> value(‘name’);.我得到错误,如调用非对象的成员函数值()… 我的问题是如何以可重用的方式组织我的库和类.我不想使用前端加载器(index.php文件,所有内容都先运行).这可能是我编写课程的方式的一个问题,但我想这是一个关于事物所在位置等问题的更大问题. 解决方法
将库/类文件放在公共目录中.就像是:
www |_includes | |_classes | | |_view.php | |_config | |_database.php |_other_folder |_index.php 然后,您可以将.htaccess文件中的公共包含路径设置为此“包含”目录: php_value include_path .:/path/to/www/includes 那么other_folder / index.php文件只需要: require_once('config/database.php'); require_once('classes/view.php'); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |