1. 程式人生 > >Symfony2學習筆記之目錄結構

Symfony2學習筆記之目錄結構

├── AppCache.php
├── AppKernel.php //入口檔案裡面會初始化一個AppKernel類,AppKernel類就是在這個檔案裡面,Appkernel類的主要功能是初始化整個web應用的Bundle。
//包括Symfony2框架的核心Bundle、第三方外掛的Bundle、我們自己編寫的應用的Bundle,Bundle在Symfony2裡面就相當於一個具有完成
//某一功能的完整的包,而且我們要用的Bundle都必須在AppKernel類裡面註冊。

├── autoload.php //該檔案負責自動載入註冊在裡面的類,通常我們不需要手動修改它

├── bootstrap.php.cache //Symfony2核心的類的快取檔案,Symfony2框架必須用到的核心的類都會被編寫整理到這個檔案裡面。這樣做的目的是減少執行的時候開啟

//檔案的個數,提高執行的速度。因為不同的類都被存放在不同的檔案裡面,如果沒有把這些必要的類快取在一個檔案裡面,那麼我們每次執行
//都要開啟多個檔案。如果把這些必要的類整理到一個檔案裡面,那麼我們每次執行這些類就在同一個檔案裡面了。例如:Request類、Response類、
//Container類、Kernel類等都會被快取到這個檔案裡面。所以,如果我們想在 Request類 裡面 echo '在Request裡面除錯'; 這樣的語句,我們就把
//這語句編寫在bootstrap.php.cache檔案下的Request類而不是symfony/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Request.php

//裡面的Request類。其實symfony/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Request.php裡面的Request類就被快取到bootstrap.php.cache
//裡了

├── cache //快取目錄,按不同模式(生成模式、除錯模式)快取。主要快取了模板檔案、Container類、路由對映相關資料等
│ ├── dev
│ └── prod
├── check.php
├── config //存放配置檔案的目錄,config_dev.yml和config_prod.yml才是被Symfony2框架載入的配置檔案。但是為了方便管理,我們會把不同模組的配置

//編寫到不同配置檔案中,要使這些配置檔案生效,那麼我們還需要import它們進config_dev.yml和config_prod.yml。

│ ├── config_dev.yml //除錯模式的配置檔案
│ ├── config_prod.yml //生成模式的配置檔案
│ ├── config_test.yml
│ ├── config.yml //通用的配置檔案,只要import進相應的除錯模式下的配置檔案,就可以生效
│ ├── parameters.yml //存放配置檔案使用的變數,例如:資料名、資料庫密碼、資料庫host等等
│ ├── parameters.yml.dist
│ ├── routing_dev.yml //除錯模式下的路由配置檔案,我們在src裡面編寫的路由配置檔案需要import到這個檔案寫才可以生效
│ ├── routing.yml //通用路由配置檔案
│ └── security.yml //防火牆配置檔案,這裡的防火牆是web應用防火牆,不是伺服器的防火牆,裡面配置有角色許可權、ACL等,這個檔案需要config_*.php import進去才可以生效
├── console
├── logs //Symfony2執行的日誌,同理,不同模式下有不同的日誌
│ ├── dev.log
│ └── prod.log
├── phpunit.xml.dist
├── Resources
│ └── views
└── SymfonyRequirements.php