今天我们开始安装开发环境,安装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。