今天我們開始安裝開發環境,安裝symfony2並且在瀏覽器中顯示一個頁面,首先,我們需要檢查你的電腦web開發的環境已經配置好,至少需要一個web服務器(apache或者nginx),一個數據庫(MySQL) ,php5.3.2或者更新的版本。
1.下載並安裝symfony2
準備一個目錄作爲你web服務器的根目錄,並將你的項目放到根目錄中,我們將此項目取名爲jobeet,然後到http://symfony.com/download下下載,選擇(“Symfony Standard)帶wendors的版本,下載後解壓並將解壓內容放到你的項目目錄中,你看到的就像下面這樣。
2.web服務器配置
一個好的做法是在web根目錄中放那些想通過瀏覽器訪問的內容,比如樣式,javascript,圖片等。默認的,推薦將這些文件項目放置在web/子目錄下。
爲你的項目配置apache ,修改httpd.conf文件,並重啓apache服務。
<VirtualHost *:80>
ServerName jobeet.local
DocumentRoot/home/dragos/work/jobeet/web
DirectoryIndex app.php
ErrorLog/var/log/apache2/jobeet-error.log
CustomLog /var/log/apache2/jobeet-access.logcombined
<Directory"/home/dragos/work/jobeet/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
以上是apache的一種標準的方式定義一個虛擬主機,取決於你的服務器的配置或者apache的版本,一些細節可能不一樣。
如果你是在linux系統下,需要修改/etc/hosts,如果是在window下,需要修改hosts文件,加上127.0.0.1 jobeet.local
3.測試安裝是否成功
在瀏覽器中訪問 http://jobeet.local/app_dev.php.,你可以看到
爲了避免將來發生問題,你需要先檢查讓symfony2正常運行的配置,通過訪問http://jobeet.local/config.php,確保你沒有被列出的問題。
4. symfony2 控制檯
就像symfony1.x版本,你可以使用symfony2 中的console組件完成不同的任務,爲了看見命令提示的種類你可以使用
php app/console list
5 .創建應用代碼包
正如你所知道的,symfony2項目是由bundle組成的,甚至symfony框架也是一個bundle,爲了創建一個bundle,可以使用如下命令。
Php app/console generate:bundle –namespace=Ens/JobeetBundle – format=yml
在生成bundle之前或問你一些問題,
Bundle namespace [Ens/JobeetBundle]: Ens/JobeetBundle
Bundlename [EnsJobeetBundle]: EnsJobeetBundle
Targetdirectory [/home/dragos/work/jobeet/src]: /home/dragos/work/jobeet/src
Configurationformat (yml, xml, php, or annotation) [yml]: yml
Do youwant to generate the whole directory structure [no]? yes
Do youconfirm generation [yes]? yes
Confirmautomatic update of your Kernel [yes]? yes
Confirmautomatic update of the Routing [yes]? yes
在生成新的bundle之後清除緩存
Php app/console cache:clear –env=dev
Php app/console cache:clear –env=prod
現在一個新的Jobeet 代碼包就能在項目的src目錄下看見了:src/Ens/JobeetBundle。代碼生成器或生成一個DefaultController並帶有一個index action,你可以通過 http://jobeet.local/app_dev.php/hello/jobeet 訪問。
6.運行環境
Symfony2 中有不同的運行環境 在web目錄下有兩個文件 app.php 和app_dev.php 。他們都叫做前端控制器, 所有的請求都是通過他們的, app.php 是用於生產環境,app_dev.php適用於開發環境,開發環境將會顯示出所有的錯誤和警告並且帶有web debug toolbar。