我是Zend框架的新手并且第一次使用它。我正在寻找简单的基础教程,我可以在很短的时间内阅读。如果我想在Zend库中添加新类,我也坚持下去。当我制作任何新的控制器时它也应该自动加载。
如果有,请发表意见。
此致
答案 0 :(得分:7)
这帮助了我一开始:
http://devzone.zend.com/search/results?q=autoload(只是搜索)
自动加载你的课程,这是我的方式:
将文件夹'My'创建到库/ 在它创建文件夹'Utils'和Utils文件'Utils.php'所以路径是库/ My / Utils / Utils.php
对于此路径您必须调用class:class My_Utils_Utils {...}
并在configs / application.ini中添加
appnamespace =“申请”
autoloaderNamespaces.my =“我的_”
然后您可以使用名称空间My_和类My_Utils_Utils
在控制器中:$ test = new My_Utils_Utils();
答案 1 :(得分:0)
我正在寻找简单的基础教程
以下是我在Google上搜索时发现的一些教程:
如果我想在Zend库中添加新类
,我也坚持了下来您不应该向库本身添加新类,而是创建自己的库或在“models”文件夹/文件夹中添加类(如果使用模块化项目布局)。使用Zend_Loader_Autoloader
及其子类实现自动加载。只要你遵循PEAR约定,即如果你有一个类MyLib_Database_Table
,那么它应该在文件夹MyLib/Database
内,文件名应该是Table.php
。 (还要确保MyLib的父文件夹位于项目包含路径。
要自动加载,只需使用new MyLib_Database_Table
,如有必要,自动加载器将在后台加载该类。从1.10开始(我认为),自动加载器也完全支持PHP 5.3命名空间。即:
// Filepath: lib\MyLib\Database\Table.php
namespace MyLib\Database;
class Table {
}
将使用相同的文件夹结构。代码示例:
use MyLib\Database\Table;
class IndexController extends Zend_Controller_Action
{
public function indexAction ()
{
$myTable = new Table();
}
}
制作任何新控制器时自动加载
我不太清楚你的意思。 ZF默认情况下没有任何依赖注入设置。但是如果这就是你的意思,你可以先实例化你的类而不要求它们。