我想在我的Zend Framework项目中使用这样的代码:
public function indexAction() {
$user = new User();
$user->name = "Guest";
$user->save();
}
对我来说最重要的一点是,这个课程只是User
而不是App_Model_User
,但我怎么能管理它?
我以为我可以将model-folder中文件User.php
的路径添加到include_path中:
<?php
class User {
/* Some code */
}
但是如何配置自动加载器来加载该文件/类?
目前我正在使用带有appnamespace(“App”)的自动加载器来加载名为App_Model_User
的类,它可以正常工作,但我觉得类命名不对。它应该更清洁,更清晰。
答案 0 :(得分:2)
我使用set_include_path
如下:
$root = dirname(dirname(__FILE__));
set_include_path(
$root . '/application' . PATH_SEPARATOR
. $root . '/library' . PATH_SEPARATOR
. $root . '/application/models' . PATH_SEPARATOR
. $root . get_include_path()
);
然后自动加载器选择我放入/ application / models的任何模型(带有任何名称)。以上是我唯一面向公众的脚本(index.php)。这就是我设置自动加载器的方法:
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
第二行将确保您的模型不必明确包含在内。参见:
http://framework.zend.com/manual/en/zend.loader.autoloader.html
答案 1 :(得分:0)
你的PHP版本是什么?您可以使用名称空间。