官网地址:http://www.laruence.com/manual (推荐看官方文档)php
一. 安装与搭建 yaf框架 以及第一个 hello worldcss
而后在php.ini中载入yaf.so, 重启PHPhtml
而后php-m 查看是否已有yaf扩展apache
对于Yaf的应用, 都应该遵循相似下面的目录结构.浏览器
一个典型的目录结构缓存
+ public |- index.php //入口文件 |- .htaccess //重写规则 |+ css |+ img |+ js + conf |- application.ini //配置文件 + application |+ controllers |- Index.php //默认控制器 |+ views |+ index //控制器 |- index.phtml //默认视图 |+ modules //其余模块 |+ library //本地类库 |+ models //model目录 |+ plugins //插件目录
入口文件是全部请求的入口, 通常都借助于rewrite规则, 把全部的请求都重定向到这个入口文件.
一个经典的入口文件public/index.php
app
<?php define("APP_PATH", realpath(dirname(__FILE__) . '/../')); /* 指向public的上一级 */ $app = new Yaf_Application(APP_PATH . "/conf/application.ini"); $app->run();
Apache的Rewrite (httpd.conf) .htaccess 重写路由框架
#.htaccess, 固然也能够写在httpd.conf RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* index.php
在Yaf中, 配置文件支持继承, 支持分节. 并对PHP的常量进行支持. 你不用担忧配置文件太大形成解析性能问题, 由于Yaf会在第一个运行的时候载入配置文件, 把格式化后的内容保持在内存中. 直到配置文件有了修改, 才会再次载入.函数
一个简单的配置文件application/conf/application.ini
性能
[product] ;支持直接写PHP中的已定义常量 application.directory=APP_PATH "/application/"
Yaf 配置选项
在Yaf中, 默认的模块/控制器/动做, 都是以Index命名的, 固然,这是可经过配置文件修改的.
对于默认模块, 控制器的目录是在application目录下的controllers目录下, Action的命名规则是"名字+Action"
默认控制器application/controllers/Index.php
<?php class IndexController extends Yaf_Controller_Abstract { public function indexAction() {//默认Action $this->getView()->assign("content", "Hello World"); } } ?>
Yaf支持简单的视图引擎, 而且支持用户自定义本身的视图引擎, 好比Smarty.
对于默认模块, 视图文件的路径是在application目录下的views目录中以小写的action名的目录中.
一个默认Action的视图application/views/index/index.phtml
<html> <head> <title>Hello World</title> </head> <body> <?php echo $content;?> </body> </html>
在浏览器输入
http://127.0.01 (记得在apache配置文件中将访问目录指向到 public)
打印输出:hello world!