php加载yaf扩展
=====
自定义创建目录结构
/public/index.php
<?php
define("APP_PATH", realpath(dirname(__FILE__) . '/../')); /* 指向public的上一级 */
$app = new Yaf_Application(APP_PATH . "/conf/application.ini");
$app->bootstrap()->run();
apache下
#.htaccess, 当然也可以写在httpd.conf
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
/conf/application.ini
[common]
application.directory=APP_PATH "/application/"
application.bootstrap=APP_PATH "/conf/Bootstrap.php"
application.view.ext=html
[product:common]
; 生产环境配置
[test : common]
; 测试环境配置
[develop : common]
; 开发环境配置
/conf/Bootstrap.php
<?php
/**
* 所有在Bootstrap类中, 以_init开头的方法, 都会被Yaf调用,
* 这些方法, 都接受一个参数:Yaf_Dispatcher $dispatcher
* 调用的次序, 和申明的次序相同
*/
class Bootstrap extends Yaf_Bootstrap_Abstract{
public function _initConfig() {
$config = Yaf_Application::app()->getConfig();
Yaf_Registry::set("config", $config);
}
public function _initDefaultName(Yaf_Dispatcher $dispatcher) {
$dispatcher->setDefaultModule("Index")->setDefaultController("Index")->setDefaultAction("index");
}
}
/application/controllers/Index.php
<?php
class IndexController extends Yaf_Controller_Abstract {
public function indexAction() {//默认Action
$content = 'Hello world';
$this->getView()->assign("content",$content);
}
}
?>
/application/views/index/index.html
<html>
<head>
<title>Hello World</title>
</head>
<body>
<?php echo $content;?>
</body>
</html>
任意位置获取配置
$config = \Yaf_Application::app()->getConfig();