php的目錄結構

phpcms v9框架的目錄結構分析

phpcms v9框架的目錄結構分析:  
  
瞭解v9框架的目錄結構,有助於幫助咱們快速創建起對v9框架的一個總體認識  
  
打開"mycms"項目,有以下文件和目錄  
  
使用協議說明文檔、英文版的用戶手冊,這兩項不是項目所必須的,可暫時將其刪除  
  
|-----api  接口文件目錄  
|-----caches 緩存文件目錄  
  |-----configs 系統配置文件目錄  
      |-----database.php  數據庫配置文件  
      |-----route.php    路由配置文件  
      |-----system.php  系統配置文件  
      |-----cache.php    緩存配置文件  
  |-----configs_*      系統緩存文件目錄  
      |-----configs_commons/caches_data  主要用來存放後臺設置的配置信息  
        |-----category_content.cache.php欄目與站點映射所對應的配置文件  
        |-----category_content_1.cache.php站點1下全部欄目的詳細配置信息  
        |-----category_item_1.cache.php 文章模型下各欄目所對應的數據量  
        |-----category_item_2.cache.php 下載模型下各欄目所對應的數據量  
        |-----category_item_3.cache.php 圖片模型下各欄目所對應的數據量  
        |-----keylink.cache.php    關聯連接配置緩存文件  
        |-----model.cache.php    三大模型配置緩存文件  
        |-----mood_program.cache.php  表情配置緩存文件  
        |-----position.cache.php  推薦位配置緩存文件  
        |-----poster_template_1.cache.php廣告位模板配置緩存文件  
        |-----sitelist.cache.php  站點列表配置文件,主要緩存全部站點的基本配置信息  
        |-----type_content.cache.php  多個站點下的類別配置信息  
        |-----type_content_1.cache.php  當前站點下類別配置信息緩存文件  
        |-----urlrules.cache.php  url規則配置信息緩存文件  
        |-----urlrules_detail.cache.php url規則詳細配置信息緩存文件  
        |-----special.cache.php    專題配置信息緩存文件  
        |-----role.cache.php      角色配置緩存文件  
        |-----link.cache.php      友情連接緩存文件  
      |-----configs_model/caches_data  
        |-----content_form.class.php  生成表單的類庫緩存文件  
        |-----content_input.class.php  入庫時,對錶單數據進行驗證的類庫緩存文件  
        |-----content_output.class.php  對從數據表中查詢出來的數據進行處理的函數  
        |-----content_update.class.php  對要更新的數據進行有效性驗證的函數  
        |-----model_field_1.cache.php  文章模型全部模型字段的緩存信息  
        |-----model_field_2.cache.php  下載模型全部模型字段的緩存信息  
        |-----model_field_3.cache.php  圖片模型全部模型字段的緩存信息  
  
          
|-----phpcms                phpcms框架主目錄  
    |-----languages            框架語言包目錄  
    |-----libs            框架主類庫、主函數庫目錄  
      |-----classes  
        |-----form.class.php  表單生成類庫文件  
        |-----application.class.php 應用程序類庫文件  
        |-----image.class.php    圖片處理類庫文件  
        |-----attachment.class.php  附件處理類庫文件  
        |-----param.class.php    URL參數處理類庫文件  
      |-----functions  
        |-----global.func.php    公共函數庫文件  
        |-----extension.class.php  擴展函數庫文件  
    |-----model            框架數據庫模型目錄  
      |-----content_model.class.php    內容模型文件  
      |-----admin_model.class.php    管理員模型文件  
      |-----attachment_model.class.php  附件模型文件  
    |-----modules              框架模塊目錄  
      |-----admin        admin模塊  
        |-----index.php      index.php控制器文件  
      |-----content          content模塊  
        |-----classes        content模塊通用類庫  
        |-----fields        content模塊模型字段  
        |-----functions      content模塊通用函數庫  
        |-----templates      content模塊後臺模板文件  
        |-----index.php      index.php控制器文件  
    |-----templates            框架系統前臺模板目錄  
      |-----default          默認的模板風格  
        |-----content        content模塊模板目錄  
          |-----category.html 頻道頁模板文件  
          |-----list.html    列表頁模板文件  
          |-----show.html    內容頁模板文件  
        |-----config.php      模板配置文件  
|-----phpsso_server            phpsso主目錄  
|-----statics                網站素材文件目錄  
  |-----css                        css文件  
      |-----images              images文件  
      |-----js              js文件  
|-----uploadfile              上傳附件  
|-----admin.php              後臺入口文件  
|-----index.php              前臺入口文件  
  
  
  
  
phpcms v9中的url路由規則:  
  
  
瀏覽器中輸入 http://www.mycms.com/index.php?m ... ;a=list&catid=1  回車時,默認狀況下會找到  
phpcms            框架主目錄  
|-----modules          模塊目錄  
  |-----content        content模塊  
      |-----index.php    index.php控制器中list方法來顯示列表頁面  
          
  
究竟是不是呢?咱們打開index.php控制器文件,並在index方法中添加一些代碼,運行輸出,證實確實如咱們所料  
  
咱們能夠將瀏覽器中的url概括以下:  
http://域名/入口文件?m=模塊名&c=控制器&a=方法名&catid=參數值  
  
  
當咱們在瀏覽器中輸入http://www.myshop.com/index.php 後面沒有跟任何參數, 回車時,默認情下會將首頁顯示出來  
  
這是由於phpcms v9爲咱們指定了一個默認執行的模塊、控制器和方法  
  
默認控制器的設置在 "caches/configs/routes.php" 配置文件中進行設置的,咱們能夠從新設置默認的控制器  
  
6、欄目的添加  
  
一、pc設計者認爲,欄目詳情頁的數據都應該屬於一個模型,因此在添加欄目時,必須給欄目指定一個模型,至於要選擇什麼模型,徹底取決於欄目詳情頁要顯示什麼類型的內容  
  詳情頁:文章信息類的內容    文章模型  
  詳情頁:圖片類信息        圖片模型  
  詳情頁:下載東西      下載模型  
  詳情頁:播放視頻      視頻模型  
  
二、若是以上模型還不能知足項目的須要,那麼咱們還能夠自定義模型,一般狀況下,一個網站是由多種模型的數據來組成的  
  
三、欄目添加選項:  
  
欄目名稱:在網站靜態化時,建立一個以此目錄名命名的目錄來存放當前欄目下相關的模板文件  
  
四、pc的設計者認爲,每一個欄目會對應當前所選模型的三個模板文件:  
  
頻道頁模板文件  
  
列表頁模板文件  
  
內容頁模板文件  
  
  
這些模板文件所在位置:phpcms/templates/default/content/ 目錄下,若是想修改模板文件,只須要到此目錄下找到對應的模板文件進行修改就能夠了  
  
頻道頁:category_*.html  
列表頁:list_*.html  
內容頁:show_*.html  
  
至此,欄目各頁面與模型的三個模板文件對應起來了  
  
注意:頻道頁面的顯示是有條件的(當前欄目必須有子欄目才能夠)  
  
  
五、欄目添加成功後,欄目信息被存儲到了v9_category數據表中,同時還被緩存到了phpcms/caches/caches_common /category_content.cache.php文件中,這個緩存文件很是重要,必定要引發足夠的重視,前臺的不少數據都是直接今後緩存文件中獲 取來的  
  
  
  
7、項目的部署:  
  
一、素材文件:  
  
statics  
  |-----images  
      |-----cmsimages    項目圖片文件  
  |-----js  
      |-----cmsjs    項目js文件  
  |-----css  
      |-----cmscss      項目css文件  
  
phpcms  
  |-----templates  
      |-----new    新的模板風格  
        |-----content  內容模塊模板文件  
          |-----category.html 頻道頁模板文件  
          |-----list.html    列表頁模板文件  
          |-----show.html    內容頁模板文件  
        |-----config.php      添加模板文件的配置  
       
      或者  
  
      |-----default  
        |-----content  內容模塊模板文件  
          |-----category_shetu.html  頻道頁模板文件  
          |-----list_shetu.html    列表頁模板文件  
          |-----show_shetu.html    內容頁模板文件  
        |-----config.php        配置新添加的模板文件  
  
  
注意:模板文件的命名規範  
  
  
二、進入後臺,將欄目與模板文件對應起來  
  
三、常量的定義:phpcms/base.php文件  
  
四、系統類庫、函數庫、模型文件及配置文件的加載  
  
pc_base::load_sys_class();//加載系統類庫  
pc_base::load_sys_func();//加載系統函數庫  
pc_base::load_model();//加載模型  
pc_base::load_config();//加載配置文件或配置選項信息  
pc_base::load_app_func();//加載應用程序函數庫  
pc_base::load_app_class();//加載應用程序類庫  
  
全局範圍可用,也能夠直接在模板文件中使用,在二次開發時,頗有用  
  
php