Phalcon#前言#搭建簡單應用

安裝完 Phalcon 后,接下來就是如何搭建自己的應用了臭埋。這里介紹下最簡單的應用搭建罢艾。

一、單一模塊簡單應用

  1. 首先配置網(wǎng)站訪問的域名笛洛,如:myapp.com夏志,nginx 的配置可以參考 Phalcon 安裝及配置文章, Apache 的參考官方配置苛让。
  2. 建立web目錄沟蔑,結構如下:


  3. 入口文件說明
 <?php

use Phalcon\Di\FactoryDefault as DI;
use Phalcon\Mvc\Application;
use Phalcon\Mvc\Dispatcher;
use Phalcon\Loader;
use Phalcon\Mvc\View;

$loader = new Loader();
/**
  * 注冊命名空間,這里使用命名空間也可以使用文件加載 $loader->registerDirs()
  */
$loader->registerNamespaces([
       'App\Controllers' => '../app/controllers/',
       'App\Models'      => '../app/models/',
])->register();
$loader->register();

/**
 * 創(chuàng)建DI容器
 */
$di = new DI();

/**
  * 使用命名空間一定要注冊派遣器狱杰,不然會找不到類瘦材。
  */
$di->set('dispatcher', function () {
       $dispatcher = new Dispatcher();
       $dispatcher->setDefaultNamespace('App\Controllers');
       return $dispatcher;
});

//注冊視圖目錄
$di->set('view', function () {
       $view = new View();
       $view->setViewsDir('../app/views/');
       return $view;
});

try {
       $application = new Application($di);
       echo $application->handle()->getContent();
} catch (Exception $e) {
       echo $e->getMessage();
}

二、多模塊應用

  1. 域名配置和上面類似仿畸,還以 myapp.com 為例食棕。
  2. web應用目錄如下:


  3. 入口文件說明
 <?php

use Phalcon\Di\FactoryDefault as DI;
use Phalcon\Mvc\Application;
use Phalcon\Mvc\Dispatcher;
use Phalcon\Mvc\Router;

try {

   /**
    * 創(chuàng)建DI容器
    */
   $di = new DI();

   /**
    * 注冊路由
    */
   $di->set('router', function () {
       $router = new Router();
       $router->setDefaultModule("frontend");
       $router->addGet(':controller/:action', array(
           'module'     => 'frontend',
           'controller' => 1,
           'action'     => 2,
       ));
       $router->add("/admin/:controller/:action", array(
           'module'     => 'backend',
           'controller' => 1,
           'action'     => 2,
       ));
       return $router;
   });

   $application = new Application($di);

   /**
    * 注冊模塊
    */
   $application->registerModules(array(
       'frontend' => array(
           'className' => 'Multiple\Frontend\Module',
           'path'      => '../apps/frontend/Module.php'
       ),
       'backend'  => array(
           'className' => 'Multiple\Backend\Module',
           'path'      => '../apps/backend/Module.php'
       )
   ));

       echo $application->handle()->getContent();
} catch (Exception $e) {
       echo $e->getMessage();
}
  1. Module 文件說明
<?php

namespace Multiple\Frontend;

use Phalcon\Loader;
use Phalcon\Mvc\Dispatcher;
use Phalcon\Mvc\View;
use Phalcon\Db\Adapter\Pdo\Mysql;

class Module
{

   /**
    * 注冊命名空間
    */
   public function registerAutoloaders()
   {
       $loader = new Loader();
       $loader->registerNamespaces(array(
           'Frontend\Controllers' => '../apps/frontend/controllers/',
           'Frontend\Models'      => '../apps/frontend/models/',
       ));
       $loader->register();
   }

   /**
    * 注冊服務
    */
   public function registerServices($di)
   {

       //注冊派遣器
       $di->set('dispatcher', function () {
           $dispatcher = new Dispatcher();
           $dispatcher->setDefaultNamespace('Frontend\Controllers\\');
           return $dispatcher;
       });

       //注冊視圖
       $di->set('view', function () {
           $view = new View();
           $view->setViewsDir('../apps/frontend/views/');
           return $view;
       });

       //注冊數(shù)據(jù)庫連接服務
       $di->set('db', function () {
           return new Database(array(
               "host"     => "localhost",
               "username" => "root",
               "password" => "secret",
               "dbname"   => "invo"
           ));
       });
   }
}

想了解更多,請查看這里的 教程错沽。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末簿晓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子千埃,更是在濱河造成了極大的恐慌憔儿,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件放可,死亡現(xiàn)場離奇詭異谒臼,居然都是意外死亡唱逢,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門屋休,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坞古,“玉大人,你說我怎么就攤上這事劫樟』痉悖” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵叠艳,是天一觀的道長奶陈。 經(jīng)常有香客問我,道長附较,這世上最難降的妖魔是什么吃粒? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮拒课,結果婚禮上徐勃,老公的妹妹穿的比我還像新娘。我一直安慰自己早像,他們只是感情好僻肖,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著卢鹦,像睡著了一般臀脏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冀自,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天揉稚,我揣著相機與錄音,去河邊找鬼熬粗。 笑死搀玖,一個胖子當著我的面吹牛,可吹牛的內容都是我干的荐糜。 我是一名探鬼主播巷怜,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼暴氏!你這毒婦竟也來了延塑?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤答渔,失蹤者是張志新(化名)和其女友劉穎关带,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡宋雏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年芜飘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磨总。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡嗦明,死狀恐怖,靈堂內的尸體忽然破棺而出蚪燕,到底是詐尸還是另有隱情娶牌,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布馆纳,位于F島的核電站诗良,受9級特大地震影響,放射性物質發(fā)生泄漏鲁驶。R本人自食惡果不足惜鉴裹,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钥弯。 院中可真熱鬧径荔,春花似錦、人聲如沸寿羞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绪穆。三九已至,卻和暖如春虱岂,著一層夾襖步出監(jiān)牢的瞬間玖院,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工第岖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留难菌,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓蔑滓,卻偏偏與公主長得像郊酒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子键袱,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理燎窘,服務發(fā)現(xiàn),斷路器蹄咖,智...
    卡卡羅2017閱讀 134,638評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,867評論 25 707
  • 這個故事的名字叫《菜籃子做媒》 小時候褐健,我很喜歡聽奶奶講故事。而奶奶特別愛講“鬼故事”澜汤,請豎起耳朵聽蚜迅!...
    月無圓閱讀 829評論 2 4
  • 窗外的雨停了舵匾,天上的烏云散了,樹上的葉子綠中透黃干干凈凈谁不,整個世界好似洗了個澡坐梯,清新、透亮刹帕。太陽公公迫不及待的扒拉...
    暗夜殘星閱讀 163評論 0 0
  • 在開發(fā)的過程中你會發(fā)現(xiàn) self.tabBarController.tabBar.hidden = YES;之后轩拨,...
    呆萌的中指閱讀 2,334評論 8 5