如果是windows环境开发建议全程使用git bash代替cmd。
安装
一般来说有三种安装方式,1.symfony的安装器安装,2.composer安装,3.github安装,经过自己使用第一种安装方式是最简单速度也是最快的,输入如下命令创建一个新的symfony项目:
php -r "readfile('https://symfony.com/installer');" > symfony
symfony new my_project_name
apache配置
默认symfony建议使用 php app/console server:run 来启动,但是平时开发每次启动电脑都要输入这个命令可能会觉得麻烦,下面有更好的办法,那就是将apache添加到服务中,电脑启动会自动启动apache服务,之后如果有修改配置,使用如下命令重启apache:
/d/server/apache/bin/httpd.exe -k restart
然后添加一个vhost配置,一般在apache/conf/extra/httpd-vhost.conf文件中:
Listen 8000 #可以修改你自己想要使用的端口
<VirtualHost *:8000>
ServerAdmin admin@localhost
DocumentRoot "/path/to/symfony_root/web/"
ServerName localhost
ServerAlias localhost
DirectoryIndex app_dev.php
ErrorLog "logs/localhost-8000-error.log"
CustomLog "logs/localhost-8000-access.log" common
AllowOverride None
</VirtualHost>
去掉app_dev.php
开发的时候一般是在dev环境下开发的,所以路由上我们常常需要添加app_dev.php在url下开启dev环境,添加如下配置到刚才VirtualHost标签的后面可以去掉url中的app_dev.php, 注意Directory中我使用的是 “E:*\web”, 这里面*是一个通配符,这样当你的E盘下还有其他的symfony项目时会统一给你添加这条配置:
<Directory "E:\*\web">
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
RewriteRule .? %{ENV:BASE}/app_dev.php [L]
</Directory>
另外一个比较不那么好的办法是在app.php的最开始添加:
require 'app_dev.php';
exit();
同样可以达到相同的效果,但是如果你用git等cvs工具做版本控制的话,这个文件可能会被错误提交到cvs中,所以建议一般不这么做。
.gitignore配置文件参考
使用git版本控制时有时候我们不要对一些配置文件,缓存文件,依赖包等做版本控制,下面是我的.gitignore配置文件参考:
.idea/
app/cache/
app/logs/
vendor/
src/AppBundle/Entity/*~
web/bundles/*
app/config/parameters.yml
composer镜像
因为gtw,所以composer一般都很慢甚至不能使用,感谢国人做的镜像,在cli下输入如下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
就可以愉快的使用composer啦