zoukankan      html  css  js  c++  java
  • zend resource

    ZF1.8中引进了资源插件的定义,它能够是程序不必修改bootstrap类便可自动运行附加的一些初始化类
    资源是由Zend_Application读取,并且在application.ini中配置或直接写在Bootsrap.php类中。
    在Bootstrap.php中定义资源

    protected function _initDoctype()
    {
    /**
    * 通过向boostrap方法中传递'view'来调用系统自带view资源
    */
    $this->bootstrap('view');
    /**
    * 通过调用getResource()方法获取指定资源
    */
    $view = $this->getResource('view');
    $view->doctype('XHTML1_STRICT');
    }

    上面的代码展示了如何定义一个简单的资源,其中Doctype为资源名,在Bootstrpa.php类中,所有以_init开头的protected方法都会别识别为资源方法,在程序初始化的时候会别自动执行。
    通过application.ini配置文件定义资源
    同时还可以通过配置文件定义资源,如通过下面代码配置db

    resources.db.adapter = "pdo_mysql"
    resources
    .db.params.host = "localhost"
    resources
    .db.params.username = "root"
    resources
    .db.params.password = ""
    resources
    .db.params.dbname = "test"
    resources
    .db.isDefaultTableAdapter = true

    定义自己的资源类

    class MyResource_Custom extends Zend_Application_Resource_ResourceAbstract
    {
    /**
    * 通过配置文件,自动载入MyResource_Custom类
    * init方法会被自动调用
    *
    * @return object view
    */
    public function init()
    {
    $this->getBootstrap()->bootstrap('view');
    //通过向$bootstrap->getResource()方法传递的参数获取指定资源
    $view = $this->getBootstrap()->getResource('view');
    $view->doctype('XHTML1_STRICT');
    return $view;
    }
    }

    通过继承Zend_Application_Resource_ResourceAbstract方法实现
    init方法初始化并返回自定义的资源,返回的对象将会被自动存储起来,可以通过$bootstrap->getResource()方法来获取。
    为了使新创建的资源生效,需要修改配置文件

    ;将libray/MyResource文件夹附加到插件查找路径中
    pluginPaths
    .MyResource = "MyResource"
    ;使custom插件可用
    resources
    .custom = true

    如果资源不需要参数,则可以简单的写成resource.resourceName=true

  • 相关阅读:
    Ehcache缓存回收策略
    [字符编码]Invalid byte 1 of 1byte UTF8
    JavaScript 单例模式
    Java程序员应该了解的10个设计原则
    医疗基本知识之医嘱篇(二)医嘱组成及规范
    VC++ (三)虚函数与重载
    VC++ (一)类的强制转换
    还是一个医学伦理问题,医疗费用高怪谁?
    电子病历开发经验共享 —— 2009年一时兴起写在某个论坛上的,转抄留恋。
    VC++ (二)类的访问级别
  • 原文地址:https://www.cnblogs.com/gbyukg/p/2156731.html
Copyright © 2011-2022 走看看