#phalcon-入門篇2(HelloWord與PhalconTools)#php
本教程基於phalcon2.0.9版本html
##前言## 先在這裏感謝各位phalcon技術愛好者,咱們提供這樣一個優秀的交流平臺git
最近恰好趁着春節放假前幾天摸魚的時間爲你們帶來今天的phalcon教程,今天教程的內容只要是把phalcon運行起來以及在開發過程當中的phalconTools工具的,在以後涉及到有代碼教程都會存放在**<<教程代碼庫>>**項目中你們能夠下載查閱,下面咱們開始今天的phalcon之路但願你們喜歡.github
注:筆者水平有限,說的不正確的地方但願你們多多指正,一同交流技術vim
附上:windows
喵了個咪的博客:http://w-blog.cnapp
教程代碼庫:http://git.oschina.net/wenzhenxi/Phalcon-tutorial框架
phalcon官網地址:https://phalconphp.comeclipse
phalcon中文社區:http://www.iphalcon.cn/phpstorm
##1. Hello,Word!##
咱們在學習不少語言框架剛開始接觸的基本是都是**Hello,Word!**那麼讓咱們來看看怎麼在phalcon上輸出Hello,Word!
咱們先建立以下的目錄結構在網站/目錄 好比index.php的物理地址是 -> /phalcon/public/index.php
注意:phalcon的目錄結構是鬆耦合的能夠按照本身習慣使用對你來講最舒服的文件結構。
###1.1 入口文件index###
入口文件的主要做用初始化各項須要加載的實例,註冊控制器,數據層,view層而且處理請求得到返回結果
咱們在index.php加入以下代碼:
use Phalcon\Loader; use Phalcon\Mvc\View; use Phalcon\Mvc\Application; use Phalcon\DI\FactoryDefault; try { // 建立自動加載(AutoLoaders)實例 $loader = new Loader(); // 經過自動加載加載控制器(Controllers) $loader->registerDirs(array( // 控制器所在目錄 '../app/controllers/', ))->register(); // 建立一個DI實例 $di = new FactoryDefault(); // 實例化View 賦值給DI的view $di->set('view', function () { $view = new View(); $view->setViewsDir('../app/views/'); return $view; }); // 處理請求 $application = new Application($di); // 輸出請求類容 echo $application->handle()->getContent(); } catch (\Exception $e){ // 異常處理 echo "PhalconException: ", $e->getMessage(); }
這個時候咱們訪問一下index.php文件會發現有以下輸出:
PhalconException: IndexController handler class cannot be loaded
這句話的意思是沒有找到默認控制器沒法加載,當咱們在開發過程當中遇到這種錯誤就須要咱們檢測咱們須要的控制器是否存在了
###1.2 控制器IndexController###
注意:控制器文件首字母必須大寫Controller首字母必須大小(在windows下不影響,可是爲了編碼規範請遵照)
接着咱們在控制器文件IndexController.php中加入以下語句:
use Phalcon\Mvc\Controller; // Index控制器類 必須繼承Controller class IndexController extends Controller { // 默認Action public function indexAction() { echo "<h1>Hello Word!</h1>"; } }
此時咱們再次訪問index.php會發現有以下輸出
這個時候咱們就成功的進入到了控制器處理了請求
###1.3 使用view進行渲染###
在MVC框架中固然離不開View咱們來了解一下最基礎的view使用
你們不難發現咱們在index.php中咱們也實例化了View而且賦值給了DI這個時候咱們在views目錄下建立一個index.phtml文件
加入以下代碼:
<?php echo 'This is a index!';
你們在訪問index.php文件會得到以下返回
這個時候返回值處理就進入到了view層了
##2 PhalconTools工具##
在php開發中你們最長用的兩個IDE一個是zendstudio一個是phpstorm(使用vim或者是純文本編輯器的童鞋請繞過)
可是在進行phalcon開發的過程當中會發現一個問題phalcon對於這些IDE很不友好沒有提示,沒有高亮到處報錯,這些都是應爲C底層框架引發的問題,不過確定是有個解決方法的,還在苦惱的童鞋能夠好好看下接下來的說明**(特別感謝@Marser提供)**
###2.1 phpstrom###
phpstrom是經過IDEA定製的php開發工具,也是官方推薦的開發工具
首先咱們要下載phalcon-devtools包而且解壓
下載地址:phalcon-devtools
也能夠在 教程代碼庫:http://git.oschina.net/wenzhenxi/Phalcon-tutorial本篇教程代碼中下載
phpstrom導入下載好的開發工具
如上圖所示,右鍵單擊「External Libraries」,選擇「Configure PHP Include Paths」,彈出以下操做框:
單點「+」按鈕,在彈出的操做框中,選擇到剛纔phalcon-devtools的解壓目錄,而後雙擊選中「/ide/任一Phalcon版本/Phalcon/」目錄,點擊「應用」和「肯定」便可。如上圖所示,我選擇的是2.0.8版本。
phpstorm自動提示Phalcon語法
###2.2 zendstudio###
zendstudio是一款基於Eclipse zend官方維護的開發工具 喜歡eclipse的童鞋的最佳選擇
下載代碼提示包,而後解壓
配置
打開「/your/workspace/.metadata/.plugins/org.eclipse.php.core/language/」目錄,會看到當前目錄下,有一些相似「555a446a」或者「7697c88c」的目錄,這些目錄名稱是隨機生成的,每一個目錄當中都要將剛纔解壓後的Phalcon整個目錄文件複製進去,不然不會生效
重啓zend studio使用
重啓zend studio,按「Project -> Clean -> Clean all projects」的步驟清除全部項目的編譯狀態,而後再按「Project -> Build All」的步驟從新編譯全部項目的狀態,zend studio便可識別Phalcon的語法並提示,以下圖所示:
##3. 小結##
本小節主要是介紹了一下若是使用phalcon輸出helloword而且進入view進行操做,還介紹了PhalconTools工具的使用,在下節咱們會着重介紹一下優美的URL路由以及配置文件的使用,喜歡的童鞋請繼續關注!
注:筆者能力有限有說的不對的地方但願你們可以指出,也但願多多交流!
Phalcon技術交流:364520707 PhalCon中文社區:287484785 歡迎你們的加入!