Yaf之配置和Bootstrap

原创 2016年06月01日 14:07:26

1.Yaf之配置文件application.ini

conf/application.ini
1.关于yaf中的配置信息大部分都写在这里了!我们先来看一个例子

[common]
application.directory=APP_PATH"/application/"

[product : common]

2.打印出配置信息看一下:
application/controllers/Index.php

<?php

class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        //读取配置文件
        $config = Yaf_Application::app()->getConfig();
        //打印配置信息
        echo '<pre>';
        print_r($config);
        echo '</pre>';
    }
}
?>

3.查看配置信息
这里写图片描述
4.那么怎么加入多组配置信息呢,比如我有两个redis服务器
很简单,可以看出上面的配置文件,里面有一个common组,下面列出的配置信息打印在了浏览器上!那么我们就可以再添加一个redis的组

[common]
application.directory=APP_PATH"/application/"

[redis]
;用作缓存的redis服务器
redis.cache.host = 192.168.254.128
redis.cache.port = 6379
redis.cache.dbIndex = 1

;用作存储用户信息的redis服务器
redis.user.host = 192.168.254.128
redis.user.port = 6379
redis.user.dbIndex = 12

;别忘了在这里加上你要读取的配置组名
[product : common : redis]

这里写图片描述

2.Yaf之Bootstrap

这是yaf提供的一个自带的钩子功能,这里提供了6个Hook分别是:
这里写图片描述
Boostrap.php中以_init开头的方法会依次执行。
具体使用方法:
application/Bootstrap.php

class Bootstrap extends Yaf_Bootstrap_Abstract {
    private $_config;
    /*
     * 注册一个插件
     * 插件的目录是在application_directory/plugins
     */
    public function _initPlugin(Yaf_Dispatcher $dispatcher) {
        //加载plugin下面的User.php插件
        $user = new UserPlugin();
        $dispatcher->registerPlugin($user);
    }
    //可以添加其他以_init开头的方法
    public function _initConfig(Yaf_Dispatcher $dispatcher) {
        $this->_config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $this->_config);
    }
}

插件application/plugins/User.php

class UserPlugin extends Yaf_Plugin_Abstact {
    public function routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
        echo "在路由出发之前";
    }
    //下面就可以放入上面钩子中的方法
}

入口文件index.php

<?php
define("APP_PATH", realpath(dirname(__FILE__)));
$app = new Yaf_Application(APP_PATH."/conf/application.ini");
$app->bootstrap()->run();
?>

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

Yaf学习之Bootstrap

Yaf的Bootstrap机制,提供了一个全局配置的入口,它: 运行于Yaf_Application:run()之前,必须手动调用,如$app->bootstrap()->run(); 类名必须为Bo...
  • chunyuan314
  • chunyuan314
  • 2017年04月16日 09:40
  • 636

yaf框架学习第一篇hello world

yaf框架学习第一篇hello world        传说有鸟哥的地方就有yaf框架的运用,此言非虚。进入公司也快一个月了,最近接触到的php业务都是使用鸟哥写的yaf框架完成的。本人之前没有接...
  • aozeahj
  • aozeahj
  • 2017年03月16日 23:16
  • 4333

Yaf零基础学习总结4-Yaf的配置文件

Yaf零基础学习总结4-Yaf的配置文件 在上一节的hello yaf当中我们已经接触过了yaf的配置文件了, Yaf和用户共用一个配置空间, 也就是在Yaf_Application...
  • hello_katty
  • hello_katty
  • 2015年04月15日 10:51
  • 881

yaf使用小记

用yaf框架重构了开发的某个系统。 一、 获取提交的参数: 1 获取" / "中的参数 例:获取url中/id/12 使用: $this->getRequest()->getParam("id",...
  • senlin1202
  • senlin1202
  • 2016年03月04日 09:58
  • 512

Yaf开发文档

==Yaf开发指南== ===说明=== ;本文档仅作为[http://yaf.laruence.com/manual/ http://yaf.laruence.com/manual/]的补充,也会指...
  • Soar_Away
  • Soar_Away
  • 2016年08月05日 11:36
  • 2022

Validation of the application resource model has failed during application initialization.

使用Jersey 2进行文件上传。 需要添加Multipart功能,即在web.xml中的Jersey servlet配置文件中: init-param> param-name>jersey...
  • lei1160427600
  • lei1160427600
  • 2017年05月10日 01:24
  • 866

php7+nginx1.11+mysql5.6+yaf+redis

  • 2017年06月09日 09:56
  • 54.3MB
  • 下载

Yaf安装与部署

Yaf框架是基于扩展的mvc框架,用c实现的,因此性能效率都比一般的框架要高。 github地址:github.com/laruence/php-yaf 一、安装(安装之前确定系统已经装了gc...
  • mlx212
  • mlx212
  • 2015年03月10日 17:52
  • 3492

Yaf学习笔记之钩子与插件

Yaf中定义了6个钩子(Hook),相当于事件,在插件(Plugin)类中定义与钩子相同名称的方法,注册之后,这些方法便会被框架自动调用。一、钩子列表 触发顺序 名称 触发时机 说明 ...
  • chunyuan314
  • chunyuan314
  • 2017年04月15日 17:26
  • 793

Yaf之配置和Bootstrap

1.Yaf之配置文件application.iniconf/application.ini 1.关于yaf中的配置信息大部分都写在这里了!我们先来看一个例子[common] application....
  • sinat_21125451
  • sinat_21125451
  • 2016年06月01日 14:07
  • 4087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Yaf之配置和Bootstrap
举报原因:
原因补充:

(最多只允许输入30个字)