成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Phalcon入門教程之目錄結(jié)構(gòu)

reclay / 2995人閱讀

摘要:原文發(fā)表于入門教程之目錄結(jié)構(gòu)很多初學(xué)的朋友,對于以框架為基礎(chǔ)構(gòu)建的項目,應(yīng)該如何組織目錄結(jié)構(gòu)有點摸不著頭腦。只需要通過注冊這些目錄結(jié)構(gòu),即可正常使用。

原文發(fā)表于:Phalcon入門教程之目錄結(jié)構(gòu)

很多初學(xué)Phalcon的朋友,對于以Phalcon框架為基礎(chǔ)構(gòu)建的項目,應(yīng)該如何組織目錄結(jié)構(gòu)有點摸不著頭腦。比如多模塊的項目中,如何共用"libs"類庫和“models”目錄中模型類的情況,就有很多剛接觸Phalcon朋友經(jīng)常在群里問這種問題。

我們在翻閱Phalcon文檔的時候,會看到"教程2:INVO簡介"中有一個項目結(jié)構(gòu)的demo,其中總結(jié)到“Phalcon不會強求應(yīng)用程序使用特定的文件結(jié)構(gòu)”。那么,Phalcon通過什么形式來加載這些可以任意組織的目錄結(jié)構(gòu)呢?

下面以PhalconCMS的代碼為例來進行講解。

PhalconCMS目錄結(jié)構(gòu)
  PhalconCMS/
      app/
          backend/
              controllers/
              models/
              repositories/
              views/
          cache/
          config/
          core/
          frontend/
               controllers/
               models/
               repositories/
               views/
          helpers/
          libs/
          service/
          tasks/
      crontab/
      public/
加載目錄結(jié)構(gòu)

PhalconCMS中是通過“注冊命名空間”的方式來加載目錄結(jié)構(gòu):

$loader = new PhalconLoader();
$loader -> registerNamespaces(array(
    #注冊根目錄的命名空間
    "Marser" => ROOT_PATH,

    #注冊共享目錄的命名空間
    "MarserAppCore" => ROOT_PATH . "/app/core",
    "MarserAppHelpers" => ROOT_PATH . "/app/helpers",
    "MarserAppLibs" => ROOT_PATH . "/app/libs",
    "MarserAppService" => ROOT_PATH . "/app/service",
    "MarserAppTasks" => ROOT_PATH . "/app/tasks",

    #注冊前臺目錄的命名空間
    "MarserAppFrontendControllers" => ROOT_PATH . "/app/frontend/controllers",
    "MarserAppFrontendModels" => ROOT_PATH . "/app/frontend/models",
    "MarserAppFrontendRepositories" => ROOT_PATH . "/app/frontend/repositories",

    #注冊后臺目錄的命名空間
    "MarserAppBackendControllers" => ROOT_PATH . "/app/backend/controllers",
    "MarserAppBackendModels" => ROOT_PATH . "/app/backend/models",
    "MarserAppBackendRepositories" => ROOT_PATH . "/app/backend/repositories",
)) -> register();

以上代碼請參考:https://github.com/KevinJay/P...

Phalcon框架還提供了另一種目錄加載方式:注冊文件夾,具體使用方式可以翻閱Phalcon文檔。這里就只介紹命名空間的方式。

通過以上方式,我們就可以在“backend”和“frontend”兩個模塊中,共享“l(fā)ibs”、“helpers”等目錄下的操作類。在具體使用的時候,只需要通過命名空間引入相應(yīng)的操作類即可。比如我們在"app/backend/controllers/ArticlesController.php"控制器中需要使用“app/helpers/PaginatorHelper.php”操作類:

    use MarserAppHelpersPaginatorHelper;

在PhalconCMS多模塊結(jié)構(gòu)中,“backend”和“frontend”都是多帶帶操作各自的“models”目錄。如果我們想要實現(xiàn)多模塊共享"models"目錄,那么可以將“models”目錄提到“app”目錄下,并修改注冊命名空間中的路徑。在調(diào)用時,還是通過命名空間的方式引入即可。

總結(jié)

就像文檔中說的“Phalcon不會強求應(yīng)用程序使用特定的文件結(jié)構(gòu)”,我們可以根據(jù)業(yè)務(wù)需要,或者開發(fā)習(xí)慣,自由組織我們的項目目錄結(jié)構(gòu)。只需要通過"Autoloader"注冊這些目錄結(jié)構(gòu),即可正常使用。

最后,歡迎大家加入QQ群交流討論:

廣州PHP高端交流群:158587573

Phalcon玩家群:150237524

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22465.html

相關(guān)文章

  • Phalcon入門教程模型

    摘要:原文發(fā)表于入門教程之模型提供了四種方式操作數(shù)據(jù)庫模型數(shù)據(jù)庫抽象層以及原生。創(chuàng)建模型模型類的命名必須符合駝峰命名法,而且須繼承自類文件路徑繼承自類。 原文發(fā)表于:Phalcon入門教程之模型 Phalcon 提供了四種方式操作Mysql數(shù)據(jù)庫:模型、PHQL、數(shù)據(jù)庫抽象層以及原生SQL。不論何種方式,首先都需要在DI中注冊 db 服務(wù)才能正常使用: DI注冊db服務(wù) // 文件路徑:...

    FreeZinG 評論0 收藏0
  • Phalcon入門教程安裝

    摘要:若在云服務(wù)器上安裝失敗或者卡住,可參考此博文云服務(wù)器編譯安裝失敗 Phalcon安裝 # 下載安裝包 wget https://github.com/phalcon/cphalcon/archive/v3.0.1.tar.gz # 重命名 mv v3.0.1.tar.gz cphalcon-3.0.1.tar.gz #解壓 tar -zxvf...

    BlackMass 評論0 收藏0
  • phalcon使用經(jīng)驗雜談

    摘要:初次認識是在剛學(xué)的時候最近終于有機會用上了故此說說使用上的一些感受個人是很喜歡這套框架的方式使用依賴注入讓代碼組織很靈活耦合也很低但是也許是框架東西太多了遇到幾個坑上一年以上的也還沒解決不過有一定開發(fā)經(jīng)驗的話還是可以自己修復(fù)的被這幾個坑浪費 初次認識phalcon是在剛學(xué)php的時候,最近終于有機會用上了.故此說說使用上的一些感受 個人是很喜歡phalcon這套框架的方式,使用...

    UsherChen 評論0 收藏0
  • Phalcon 使用自定義的類

    摘要:在框架中使用自定義的類是再常見不過的事情,框架套路大多一致。這里說下中,使用自定義類的方法。 在框架中使用自定義的類是再常見不過的事情,框架套路大多一致。這里說下Phalcon中,使用自定義類的方法。 1.創(chuàng)建一個目錄 路徑可以放在app下也可以放在根目錄下,譬如,放在根目錄下,文件夾名叫demo 2.注冊命名空間 不知道命名空間為何物的自行Google,打開app/config/l...

    frank_fun 評論0 收藏0
  • phalcon簡易指南

    摘要:幫助你開始使用的簡易指南。第一種方式參考第二種方式參考使用參考簡單粗暴的理解是把下的對應(yīng)成數(shù)據(jù)庫的表,類屬性對應(yīng)表字段。 幫助你開始使用 phalcon 的簡易指南。 簡介 Phalcon 2將于2015年4月17日發(fā)布,這個版本大約85%的代碼是基于 Zephir 語言重寫的。Zephir是開源的,使用類似PHP語法的語言,生成C語言代碼,并編譯成PHP擴展。這提高了PHP擴展的開發(fā)...

    whataa 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<