Symfony 01:安装和配置

2018-02-24 09:52:35来源:https://www.jianshu.com/p/5a2293de8316作者:李伯特人点击

分享


Symfony 01:安装和配置

Symfony 提供了一个安装器,用于安装和初始化你的应用。这个安装器实际上是用PHP代码编写的一个脚本程序,运行在PHP 5.4及以上的版本,通过它你可以创建任意多个Symfony应用。


①下载symfony安装器

● Linux和MacOS
打开控制台,执行以下命令:



$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symphony



执行完上述命令后,就创建了一个全局的symfony命令。
● Windows
打开控制台,执行以下命令:



c:> php -r "readfile('https://symfony.com/installer');" > symfony



然后,将下载的symfony文件移动到你的工程目录下



c:> move symfony c:/projects



②创建Symfony应用
确保symfony安装器可用,然后执行以下命令:
● Linux和MacOS



$ symfony new my_project_name



● Windows



c:> cd projects/
c:/projects> php symfony new my_project_name



执行完上述命令后,会自动创建一个“my_project_name”目录,该目录下包含了一个全新的基于最近稳定版本的Symfony工程。此外,安装器会检查你的系统是否满足执行Symfony应用的技术指标要求,如果不满足,你会看到输出的一个列表,其中给出了不满足的技术指标需求。
▼ 指定Symfony版本号
如果你要创建一个指定版本Symfony应用,那么需要在new命令中加入第二个参数:



$ symfony new my_project_name 2.8
$ symfony new my_project_name 2.8.1
$ symfony new my_project 3.0.0-BETA1
$ symfony new my_project 3.1.0-RC1



▼ 目录结构说明



my_project_name/
|— app/
| |— console
| |— cache/
| |— config
| |— logs
| ∟ config
|— src/
| ∟ AppBundle
| |— vendor
∟ web/



这是Symfony提出的一种文件组织方式的标准,每个目录的具体说明如下:
● app/cache/:存储应用运行过程中生成的全部缓存文件
● app/config/:存储为每个环境定义的配置文件
● app/logs/:存储应用运行过程中生成的日志文件
● app/Resources/:存储应用的模板和国际化文件
● src/AppBundle/:存储你自己业务逻辑代码
● vendor/:Composer安装的应用所依赖的组件,比如Symfony核心就存储在这个目录下,这个目录下的全部文件都不能进行改动。
● web/:网站发布时的根目录,存储应用的前端控制器和网站静态资源文件,比如stylesheet、JavaScript和图片等。


▼ Application Bundles
Symfony中,通常以Bundle来组织具有特定功能的代码,一个Bundle意味着功能上独立且稳定,可被重复使用的组件。因此,如果你自己定义的Bundle不能在Symfony其他的应用中重复使用,那么就不能定义为一个Bundle。此外,如果一个Bundle依赖于另一个Bundle,最好将这两个Bundle合为一个。
建议:在你的应用逻辑代码中最好创建一个Bundle,如上述所述AppBundle。
通过Bundle这种方式来组织代码,可以让你的代码变得更加可读和容易理解。


③运行Symfony应用

Symfony提供了一个基于PHP的内部webserver,在开发过程中用于运行调试你的应用。执行下面的命令:



$ cd my_project_name/
$ php bin/console server:run



然后,打开你的浏览器,在地址栏中输入http://localhost:8000/,你就可可以看到如下的Symfony欢迎界面:




欢迎界面

如果没有出现欢迎界面,你或许会看到一个空白页或者错误页面,这是因为错误配置导致的目录访问权限造成的。


如果需要停止WebServer运行,可以输入Ctrl+C以中止服务。


需要注意一点的是,这个PHP WebServer需要运行在PHP 5.4 及以上版本,对于开发模式来说极为有用,但是对于最终的生产版本来说,还是需要使用Apache或者Nginx作为WebServer。


④检查Symfony应用配置和安装

Symfony专门提供了一个可视化的配置页面,访问地址为:



http://localhost:8000/config.php



▼ 配置文件
Symfony的配置文件存储在app/config/,该目录下定义基础配置、路由、服务、安全性等。通常默认选为yaml文件,当然也可以换成其他格式如XML和PHP。
app/config/config.yml:总配置文件,其他配置文件通过imports引入。



imports:
- { resource: parameters_default.yml }
- { resource: parameters_service.yml, ignore_errors: true }
- { resource: parameters.yml }
- { resource: security.yml }



app/config/config_dev.yml:开发环境下的总配置文件。
app/config/config_prod.yml:生产环境下的总配置文件。
app/config/config_test.yml:测试环境下的配置文件。
app/config/routing.yml:路由配置文件。
app/config/security.yml:安全性配置文件,比如AAA验证配置、防火墙配置,用户角色、用户组配置等。

● 基础配置文件
基础配置文件就是app/config/parameters.yml,
主要包括数据库和邮箱配置:



parameters:
database_driver: pdo_mysql #数据库驱动
database_host: localhost
database_port: 3306
database_name: edu
database_user: root
database_password: 'root'
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: zh_CN
secret: l0wkrtgjp0gk44woo0soco4k0488w4c
user_partner: none



⑤更新Symfony应用

到这里,对于你要开发项目来说,你已经创建了一个功能较为全面的Symfony应用。实际上,Symfony依赖于一系列外部的库,它们都存放在项目中的“vendor/”目录下,统一由Composer进行管理(Composer是一款PHP包管理工具)。


定期的更新三方的库主要目的在于修复bugs和其他安全性问题,执行Composer的“update”命令就能立即对依赖包实现更新:



$ cd my_project_name/
$ composer update



更新时间主要取决于你的项目的复杂性和网络情况,一般几分钟就可以完成更新。








最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台