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

  • 相关阅读:
    两个数组的交集
    左叶子之和
    下载安装python
    占位
    2020 软件工程实践 助教总结
    安装使用 QEMU-KVM 虚拟化环境(Arch Linux / Manjaro / CentOS / Ubuntu )
    #69. 新年的QAQ
    1097E. Egor and an RPG game(Dilworth定理)
    #553. 【UNR #4】己酸集合
    #2099. 「CQOI2015」标识设计(插头dp)
  • 原文地址:https://www.cnblogs.com/gbyukg/p/2156731.html
Copyright © 2011-2022 走看看