Zend Framework教程之Resource Autoloading用法实例
发布:smiling 来源: PHP粉丝网 添加日期:2021-07-13 20:51:39 浏览: 评论:0
本文实例讲述了Zend Framework中Resource Autoloading用法,分享给大家供大家参考,具体如下:
通常,在开发应用程序中,可能类文件名不能按照标准Zend Framework的建议定义的,这意味着你的类文件不能被自动加载器发现。Zend_Loader_Autoloader_Resource提供了解决方案。
资源仅仅是一个名称对应一个组件的命名空间(追加到自动加载器的命名空间)和路径(相对的自动加载器的基本路径),例如可以这样:
- $loader = new Zend_Application_Module_Autoloader(array(
- 'namespace' => 'Blog',
- 'basePath' => APPLICATION_PATH . '/modules/blog',
- ));
具体实例如下:
path/to/some/resources/
- |-- forms/
- | `-- Guestbook.php // Foo_Form_Guestbook
- |-- models/
- | |-- DbTable/
- | | `-- Guestbook.php // Foo_Model_DbTable_Guestbook
- | |-- Guestbook.php // Foo_Model_Guestbook
- | `-- GuestbookMapper.php // Foo_Model_GuestbookMapper
创建资源装载器:
- $loader = new Zend_Loader_Autoloader_Resource(array(
- 'basePath' => 'path/to/some/resources/',
- 'namespace' => 'Foo',
- ));
定义资源类型
Zend_Loader_Autoloader_Resourse::addResourceType()有三个参数:资源名称,指定的资源路径的相对资源路径名, 资源类型组件前缀。
在上面的树,我们有三种资源类型:form(在子目录forms中,资源前缀是Form),model(在子目录models中,资源前缀是Model),并dbtable(在子目录“models/DbTable”中,资源前缀是“Model_DbTable”)。
具体定义如下:
- $loader->addResourceType('form', 'forms', 'Form')
- ->addResourceType('model', 'models', 'Model')
- ->addResourceType('dbtable', 'models/DbTable', 'Model_DbTable');
也可以在构造函数中指定
- $resourceLoader = new Zend_Loader_Autoloader_Resource(array(
- 'basePath' => 'path/to/some/directory',
- 'namespace' => 'My',
- 'resourceTypes' => array(
- 'acl' => array(
- 'path' => 'acls/',
- 'namespace' => 'Acl',
- ),
- 'form' => array(
- 'path' => 'forms/',
- 'namespace' => 'Form',
- ),
- 'model' => array(
- 'path' => 'models/',
- 'namespace' => 'Model',
- ),
- ),
- ));
使用以定义资源
$form = new Foo_Form_Guestbook();
$guestbook = new Foo_Model_Guestbook();
模块中的资源自动加载
Zend Framework的MVC鼓励使用“modules”,模块默认情况下,通常有一些资源类型,Zend Framework提供了一个模块的标准目录布局,在这种范式中,资源自动加载器非常有用,他们是默认启用的。
模块的基本目录结构:
- <modulename>
- configs/
- application.ini
- controllers/
- helpers/
- forms/
- layouts/
- filters/
- helpers/
- scripts/
- models/
- services/
- views/
- filters/
- helpers/
- scripts/
Bootstrap.php
你可以扩展Zend_Application_Module_Bootstrap创建一个模块引导类 Bootstrap.php,具体的资源加载和默认的资源加载使用类似。
Tags: Framework Resource Autoloading
相关文章
- ·zend framework中调用kindeditor编辑器实现方法(2015-02-24)
- ·PHP开源开发框架ZendFramework使用中常见问题说明及解决方案(2021-02-11)
- ·Yii Framework框架获取分类下面的所有子类方法(2021-02-28)
- ·zend framework中使用memcache的方法(2021-07-13)
- ·Zend Framework教程之Zend_Layout布局助手详解(2021-07-13)
- ·Zend Framework教程之模型Model基本规则和使用方法(2021-07-13)
- ·Zend Framework教程之模型Model用法简单实例(2021-07-13)
- ·Zend Framework教程之视图组件Zend_View用法详解(2021-07-13)
- ·Zend Framework实现Zend_View集成Smarty模板系统的方法(2021-07-13)
- ·Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解(2021-07-13)
- ·Zend Framework创建自己的动作助手详解(2021-07-13)
- ·Zend Framework动作助手FlashMessenger用法详解(2021-07-13)
- ·Zend Framework动作助手Json用法实例分析(2021-07-13)
- ·Zend Framework动作助手Url用法详解(2021-07-13)
- ·Zend Framework动作助手Redirector用法实例详解(2021-07-13)
- ·Zend Framework教程之前端控制器Zend_Controller_Front用法详解(2021-07-13)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)