1. 程式人生 > 其它 >phalcon-入門篇2(HelloWord與PhalconTools)

phalcon-入門篇2(HelloWord與PhalconTools)

#phalcon-入門篇2(HelloWord與PhalconTools)#

本教程基於phalcon2.0.9版本

##前言## 先在這裡感謝各位phalcon技術愛好者,我們提供這樣一個優秀的交流平臺

最近剛好趁著春節放假前幾天摸魚的時間為大家帶來今天的phalcon教程,今天教程的內容只要是把phalcon執行起來以及在開發過程中的phalconTools工具的,在之後涉及到有程式碼教程都會存放在**<<教程程式碼庫>>**專案中大家可以下載查閱,下面我們開始今天的phalcon之路希望大家喜歡.

注:筆者水平有限,說的不正確的地方希望大家多多指正,一同交流技術

附上:

喵了個咪的部落格:http://w-blog.cn

教程程式碼庫:http://git.oschina.net/wenzhenxi/Phalcon-tutorial

phalcon官網地址:https://phalconphp.com

phalcon中文社群:http://www.iphalcon.cn/

##1. Hello,Word!##

我們在學習很多語言框架剛開始接觸的基本是都是**Hello,Word!**那麼讓我們來看看怎麼在phalcon上輸出Hello,Word!

我們先建立如下的目錄結構在網站/目錄 比如index.php的實體地址是 -> /phalcon/public/index.php

注意:phalcon的目錄結構是鬆耦合的可以按照自己習慣使用對你來說最舒服的檔案結構。

###1.1 入口檔案index###

入口檔案的主要作用初始化各項需要載入的例項,註冊控制器,資料層,view層並且處理請求獲得返回結果

我們在index.php加入如下程式碼:

use PhalconLoader;
use PhalconMvcView;
use PhalconMvcApplication;
use PhalconDIFactoryDefault;

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 PhalconMvcController;

// 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開發工具,也是官方推薦的開發工具

  1. 首先我們要下載phalcon-devtools包並且解壓 下載地址:phalcon-devtools 也可以在 教程程式碼庫:http://git.oschina.net/wenzhenxi/Phalcon-tutorial本篇教程程式碼中下載
  2. phpstrom匯入下載好的開發工具

如上圖所示,右鍵單擊“External Libraries”,選擇“Configure PHP Include Paths”,彈出如下操作框:

單點“+”按鈕,在彈出的操作框中,選擇到剛才phalcon-devtools的解壓目錄,然後雙擊選中“/ide/任一Phalcon版本/Phalcon/”目錄,點選“應用”和“確定”即可。如上圖所示,我選擇的是2.0.8版本。

  1. phpstorm自動提示Phalcon語法

###2.2 zendstudio###

zendstudio是一款基於Eclipse zend官方維護的開發工具 喜歡eclipse的童鞋的最佳選擇

  1. 下載程式碼提示包,然後解壓 https://github.com/rogerthomas84/PhalconPHPDoc
  2. 配置 開啟“/your/workspace/.metadata/.plugins/org.eclipse.php.core/language/”目錄,會看到當前目錄下,有一些類似“555a446a”或者“7697c88c”的目錄,這些目錄名稱是隨機生成的,每個目錄當中都要將剛才解壓後的Phalcon整個目錄檔案複製進去,否則不會生效
  3. 重啟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 歡迎大家的加入!