天天看点

Symfony 01:安装和配置

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欢迎界面:

Symfony 01:安装和配置

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

如果需要停止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

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