目錄結構
+ public - index.php - .htaccess +|- application.ini application/ +- Index.php +|+ index - index.phtml + modules - library - models - plugins
入口文件是所有請求的入口, 一般都借助於rewrite規則, 把所有的請求都重定向到這個入口文件.
一個經典的入口文件public/index.php
<?("APP_PATH", (() . '/../')); = Yaf_Application(APP_PATH . "/conf/application.ini"->run();
除非我們使用基於query string的路由協議(Yaf_Route_Simple, Yaf_Route_Supervar), 否則我們就需要使用WebServer提供的Rewrite規則, 把所有這個應用的請求, 都定向到上面提到的入口文件.
修改.htaccess文件
Nginx的Rewrite (nginx.conf)
(!-^/(.*) /index.php/$
在Yaf中, 配置文件支持繼承, 支持分節. 並對PHP的常量進行支持. 你不用擔心配置文件太大造成解析性能問題, 因為Yaf會在第一個運行的時候載入配置文件, 把格式化後的內容保持在內存中. 直到配置文件有了修改, 才會再次載入.
一個簡單的配置文件application/conf/application.ini
= APP_PATH = = = =
在Yaf中, 默認的模塊/控制器/動作, 都是以Index命名的, 當然,這是可通過配置文件修改的.
對於默認模塊, 控制器的目錄是在application目錄下的controllers目錄下, Action的命名規則是"名字+Action"
默認控制器application/controllers/Index.php
<? IndexController indexAction() { ->getView()->assign("content", "Hello World"?>
Yaf支持簡單的視圖引擎, 並且支持用戶自定義自己的視圖引擎, 比如Smarty.
對於默認模塊, 視圖文件的路徑是在application目錄下的views目錄中以小寫的action名的目錄中.
一個默認Action的視圖application/views/index/index.phtml
<html> <head> <title>Hello yaf</title> </head> <body> <?php ;?> </body> </html>
然後在浏覽器輸入nginx.conf設置的servername,
表 4.2. Yaf可選配置項