• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Zend Framework教程之Resource Autoloading用法实例

php 搞代码 4年前 (2022-01-01) 44次浏览 已收录 0个评论

这篇文章主要介绍了Zend Framework教程之Resource Autoloading用法,结合实例形式分析了Resource Autoloading实现自动加载的原理及具体使用方法,需要的朋友可以参考下

本文实例讲述了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') -<a style="color:transparent">来源gao*daima.com搞@代#码网</a>>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提供了一个模块的标准目录布局。在这种范式中,资源自动加载器非常有用,他们是默认启用的。

模块的基本目录结构:


    configs/
        application.ini
    controllers/
        helpers/
    forms/
    layouts/
        filters/
        helpers/
        scripts/
    models/
    services/
    views/
        filters/
        helpers/
        scripts/
    Bootstrap.php

你可以扩展Zend_Application_Module_Bootstrap创建一个模块引导类 Bootstrap.php,具体的资源加载和默认的资源加载使用类似。

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

以上就是Zend Framework教程之Resource Autoloading用法实例的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Zend Framework教程之Resource Autoloading用法实例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址