http://pecl.php.net/package/yaf。 擴展yaf.dll安裝在你安裝環(huán)境的php目錄下的ext目錄下。 然后在運行環(huán)境中的php.ini文件中加上extension=php_yaf.dll,重新啟動服務(wù)。 在phpinfo頁面中搜索yaf,查看是否成功。 用php目錄中的php.exe 運行 yaf_cg文件來創(chuàng)建應(yīng)用, 示例:D:/wamp/bin/php/php5.5.12/php.exe D:/wamp/www/yaf-master/tools/cg/yaf_cg 生成應(yīng)用的名稱, 然后在yaf-master/tools/cg/output/生成的項目名復(fù)制到網(wǎng)站目錄下。 在php.ini文件Module Settings下加入以下內(nèi)容: [yaf] yaf.environ = "develop" yaf.library = "D:/wamp/www/Demo/application/library/" yaf.cache_config = 0 yaf.name_suffix = 1 yaf.name_separator = "" yaf.forward_limit = 5 yaf.use_namespace = 0 yaf.use_spl_autoload = 1 以上詳細說明看手冊,地址為:
http://www.laruence.com/manual/yaf.ini.html。 要使用命名空間,所有的yaf_換成yaf/, 使用develop要在application.ini中加上[develop : common] 所有的配置在:應(yīng)用的名稱/conf/application.ini中定義。 參數(shù)定義的格式為:application.參數(shù)的名稱的格式。 所有配置參數(shù)的得到: $config = Yaf/Application::app()->getConfig();, 其中一個參數(shù)的得到:$config->application->設(shè)定參數(shù)的名稱。 不使用全局庫:在應(yīng)用的名稱/conf/application.ini中添加application.library = "文件的路徑"。 外部庫文件的載入:yaf/Loader::import('文件路徑'),文件路徑為相對路徑默認在:應(yīng)用項目名/application/library/找文件,第一個斜杠之前默認為命名空間的名稱,不是文件的名稱。 yaf.lowcase_path設(shè)置為1時,開啟后文件默認加載路徑為小寫。 模塊設(shè)置:在應(yīng)用的名稱/conf/application.ini中添加application.modules = '模塊的名稱,模塊名稱',默認的模塊是Index,默認的Index模塊一定要放在最后。 要在應(yīng)用項目的名稱/application下建立modules文件,對應(yīng)的模塊文件,對應(yīng)的控制器文件。 瀏覽器訪問控制器的路徑為:網(wǎng)站域名/index.php/模塊名稱/控制器/方法,默認的模塊是Index。 數(shù)據(jù)的接收:在控制器中,$this->getRequest()->getQuery()接收通過get方式提交的數(shù)據(jù), $this->getRequest()->getPost(),接收通過post方式提交的數(shù)據(jù), this->getRequest()->getFile()接收通過post提交文件的數(shù)據(jù), this->getRequest()->getParams()接收通過路由規(guī)則方式傳遞的數(shù)據(jù)。 this->getRequest()->getParams()接收post,get方式提交的數(shù)據(jù)。 this->getRequest()->isGet()判斷是否通過get方式提交的。 this->getRequest()->isPost()判斷是否通過post方式提交的。 this->getRequest()->setRedirect()重定向。 this->getRequest()->setBody('內(nèi)容')會在頁面顯示你設(shè)置的內(nèi)容,方法末尾是return false, 在用this->getRequest()->response()會出現(xiàn)兩次setBody中設(shè)置的內(nèi)容。 可通過return false來解決這個問題,用die()或者exit()會中斷yaf框架的執(zhí)行。 也可以在boostrapt.php中的_initResponse()方法中加入$dispatcher->getInstance()->returnResponse(true)來解決。 禁用視圖:在控制器中的最后加上return false, 或者在Boostrap.php文件中的__initView()方法中加入$dispatcher->getInstance()->disableView(); 控制器中的一些方法: $this->getView()->assign('名稱','值');分配變量給視圖 $this->getView()->render('文件路徑');不寫絕對則相對與views的文件的路徑,也可傳入絕對路徑。這個參數(shù)可以用來做靜態(tài)頁。 設(shè)置視圖的路徑:可以在控制器中加入init()方法,在方法中加入$this->getView()->setScr新聞熱點
疑難解答