Symfony2的教程非常的详尽,但是却不太亲近新手。新手想要完全理解Symfony2文档的内容,需要对互联网开发有一定工作经验才行,否则 总是有一种看不太明白,看完了也不不知道从哪儿开始的感觉。如果你有这种感觉,希望这篇文章能让你快速上手,本篇的目的,就是为了让Symfony2新 手,甚至是PHP新手能快速开始一个具体的项目。
本篇系列重点是为了带领新手使用Symfony2框架,如果您想了解的是Symfony2组件,可阅读我翻译Symfony2项目组老大的系列教程《使用Symfony2组件创建自己的PHP框架》
本篇系列源代码位于 https://coding.net/u/chrisyue/p/symfony2-framework-tutorial/git,不过因为源代码已经包含各种添加修改重构之后的代码,看不到中间过程,建议在所有章节完成之后看,或者作为日后的参考。
准备工作
下载并安装PHP。Symfony2 要求运行在PHP5.3版本以上。不过随着PHP的版本提升,功能也越来越丰富,运行速度也有提升,所以我建议是最新的稳定版本。在PHP5.5里自带了 web server,这意味着你甚至不需要Nginx或者Apache等服务就可以快速开始启动你的项目,所以没错,本教程就以PHP5.6(咦?难道不是 5.5吗)为例子来讲解。
保证PHP在PATH目录里。
由于本篇主要阐述如何使用Symfony2快速开发项目。所以不阐述PHP的安装相关知识,这些知识点在网上都很容易查询到。
初始化项目
本篇教程我尽量按照Windows/*nix都可以运行的方式来讲解。
得益于Symfony installer,我们目前可以很方便的初始化一个Symfony2项目。不过首先,你得有一个Symfony installer。
随便创建一个目录:比如www,然后在此目录下先安装Symfony installer(注意$为命令提示符,只是为了好看,实际操作的时候是不需要输入$的,不再赘述):
1
2
|
$ php -r "readfile('http://symfony.com/installer');" > symfony.phar
|
然后运行以下命令确认文件可执行
1
2
|
$ php symfony.phar
|
如果文件无损坏,应该会显示symfony installer的版本号,以及如何使用symfony installer的简单介绍:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Symfony Installer (0.5.0)
=========================
This is the official installer to start new projects based on the
Symfony full-stack framework.
To create a new project called blog in the current directory using
the latest stable version of Symfony, execute the following command:
$ symfony.phar new blog
To base your project on a specific Symfony version, append the version
number at the end of the command:
$ symfony.phar new blog 2.5.6
Updating the Symfony Installer
------------------------------
New versions of the Symfony Installer are released regularly. To update your
installer version, execute the following command:
$ symfony.phar self-update
|
接下来,我们用symfony.phar来创建一个项目。这里我们打算做一个新闻聚合类网站,项目就叫news好了:
1
2
|
$ php symfony.phar new news
|
如果网络没有问题的话,应该会出现进度条,此时Symfony installer在当前目录创建了news目录,并且初始化好Symfony2框架的工作目录,以及下载所需要的第三方PHP库。
1
2
3
|
Downloading Symfony...
85.81 KB/4.89 MB ▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1%
|
当下载完成后,进入news目录,我们可以看到Symfony installer为我们初始化的工作目录。这里我们可以把一些对开发来说没有必要的文件删除掉(UPGRADE-***,LICENSE,README.md)。
不出意外,我们便可以通过一下命令开启一个Web server监听在 localhost:8000上(注:此命令只能运行在PHP5.5版本之上):
1
2
|
$ php app/console server:start localhost:8000
|
在浏览器里访问http://localhost:8000
,应该就可以看到Symfony Framework安装好之后的欢迎页面了
注意:如果访问不到首页,很有可能你安装的是Symfony 2.7版本。这个版本的演示页面已经因为Symfony小组觉得过于简单而去掉了。
至此,Symfony2项目初始化工作已经完成
我们可以使用Symfony2框架自带的脚本工具,来确认当前的环境是否已经足够顺利运行Symfony:
1
2
|
$ php app/check.php
|
比如我这里显示的结果,推荐我安装intl扩展
另外我们也可以看到提示说因为命令行加载的php.ini
可能和web服务器加载的不一样(常见的php-fpm
一般都跟命令行下的php
加载的不是同一个php.ini
文件),建议在浏览器里查看/config.php
复查一下。