Zend Framework - 类命名

时间:2010-11-07 13:58:47

标签: php zend-framework naming-conventions

我想在我的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的类,它可以正常工作,但我觉得类命名不对。它应该更清洁,更清晰。

2 个答案:

答案 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版本是什么?您可以使用名称空间。