Symfony2框架实战教程——第一天:创建项目

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复查一下。

时间: 2024-12-18 03:04:48

Symfony2框架实战教程——第一天:创建项目的相关文章

Symfony2框架实战教程——第五天:KnpMenuBundle创建菜单项+结合Twitter Boostrap3

做界面最好从交互比较多的页面入手,目前交互元素比较丰富的,有新闻列表页和新闻显示页. 为了开发快速,但也不会让界面太难看,我打算直接用Twitter Boostrap3了. 如果是看过我前几期文章的同学一定能猜得到,我一定又要说:“是的,像boostrap3这种常用的前端开发框架,相应的Bundle也是有的”.没错!这次我向大家推荐MopaBootstrapBundle,里面包含了使用LESS/SASS编译Boostrap CSS,支持让Symfony2框架以及常见Bundle比如我们的用过的K

Symfony2框架实战教程——第二天:创建新页面

在此之前,我们先明确一下我们要实现什么功能,在开始开展具体的代码工作前先明确自己的目标是一个节省时间的好习惯.我们的需求如下: 用户可以使用新浪微博或者QQ帐号登录. 用户可以投稿,需要填写的内容为“标题”+“正文” 用户可以对某篇文章进行评论 在以上的基础上,我们继续具体化我们的需求: 用户的内容都将使用markdown格式 评论内容不可超过140个字 新闻内容不可超过5000个字 标题内容不可超过70个字 好,到这里我们的需求已经很明确了,虽然简单得似乎不可能会有人用的样子- 修改配置文件

Symfony2框架实战教程——第六天:模板重载与翻译

在未登录状态下点击“+发表新闻”按钮,也就是/news/new链接,会转跳到/oauth/login/链接,也就是第三方登录的链接(如果只实现了本地用户登录的同学,去的应该是另外一个界面,不过没关系,重载模板的原理都一样).目前第三方登录页面只有一个可怜巴巴的“QQ”这个链接,让我们也给它加上页头页尾. 不过,这个模板文件很明显不是我们自己添加的,是第三方Bundle里自带的,难道我们要去修改第三方Bundle的代码吗?库文件随便修改这样好吗?当然不好,好消息是Symfony2框架实际是提供了框

Symfony2框架实战教程——第三天:用KnpPaginatorBundle实现翻页

创建业务数据模型 新闻数据算是我们业务模型里必不可少的模型之一.根据我们之前对需求的分析,我们可以很容易想到,新闻模型News需要的属性: 标题属性 文本属性 接下来,我们要在AppBundle里创建它,但是这些数据还需要一个持久层来保存数据,例如之前配置的Mysql.目前流行的开发方式,无论是Java还是ROR,都会使用ORM将数据库字段和类属性关联起来. Symfony2框架本身并不包含ORM工具(严格意义上来说,Symfony2框架,即FrameworkBundle,不包含ORM,安全组

Symfony2框架实战教程——第六天#Alt:验证码

如果读者是从表世界过来的,应该知道怎么通过重载模板来改变第三方Bundle提供的模板.这里我们将重载用户登录页面作为作业留给大家,我们先来重载注册页面,不过为了提供新鲜的知识点,我们这次除了要装修注册页面以外,还要求给注册页面提供验证码. 对于我这种收集bundle的高手,自然少不了推荐验证码相关的bundle:GregwarCaptchaBundle 一如既往安装Bundle 1 2 $ composer require gregwar/captcha-bundle 一如既往注册Bundle

Symfony2框架实战教程——第四天:用HWIOAuthBundle实现第三方登录

为了方便用户能快速发布内容,我们只用要求QQ的第三方登录就行了. 如果你打算跟着我一起完成这个项目,可能会因为QQ需要验证你是否有个人域名而卡在这一章,我写了一篇不用OAuth的.但本篇文章也最好看看,大部分知识点是完全一样的. 使用HWIOAuthBundle实现第三方登录 可以想象得到,第三方登录这种常见需求,相关的库也是有的.这里我再推荐一个:HWIOAuthBundle 如同昨日,我们先将它通过Composer引入到我们项目当中: 1 2 $ composer require "hwi/

虚幻4 - ARPG实战教程(第一季)

在广受欢迎的的<虚幻4高速开发入门>视频教程之后.我收到了许多的反馈,当中大量的同学想要一个实战类的教程.于是,我花了一段时间准备之后,推出了新的一系列实战教程. 希望以深入浅出的方式.解说虚幻4引擎各个模块的实际使用方法.开发思路,以及相关知识拓展. 因为这一系列教程很庞大.所以会分为上.中.下三部来公布,敬请期待. 使用"开发人员头条"的同学.能够关注一下我的主题:http://toutiao.io/subjects/96671 课程相关资源下载:https://cod

SSM实战——秒杀系统之创建项目、管理依赖、设计数据库

注:本项目使用Myeclipse开发. 一:项目创建 1:使用Myeclipse创建一个web project,命名为MySeckill,并转换为Maven项目. 2:创建项目文件目录如下: 上面四个包分别管理:源代码.源代码资源(配置文件).测试代码.测试代码资源(配置文件) 3:在pom.xml添加SSM框架所需依赖包: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.

Android简易实战教程--第一话《最简单的计算器》

转载请注明出处:http://blog.csdn.net/qq_32059827/article/details/51707931 从今天开始,本专栏持续更新Android简易实战类博客文章.和以往专栏不同,此专栏只有实例.每个实例尽量按照知识点对应相应一章节的内容去写,循序渐进.有些实例可能会与另一个专栏有重复的文章. 开始本专栏的第一个简易案例: 首先设置两个布局文件,一个布局文件进行输入数据,获取加法运算:另一个布局文件进行显示最终结果.Activity1启动Activity2,并传递计算