文档章节

Symfony2框架实战教程

雍雍_yoyo
 雍雍_yoyo
发布于 2015/06/11 14:15
字数 1106
阅读 44
收藏 0

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都可以运行的方式来讲解。

得益于Symfony2.6的Symfony installer,我们目前可以很方便的初始化一个Symfony2项目。首先,你得有一个Symfony installer。

随便创建一个目录:比如www,然后在此目录下先安装Symfony installer(注意$为命令提示符,只是为了好看,实际操作的时候是不需要输入$的,不再赘述):

$ php -r "readfile('http://symfony.com/installer');" > symfony.phar

然后运行以下命令确认文件可执行

$ php symfony.phar

如果文件无损坏,应该会显示symfony installer的版本号,以及如何使用symfony installer的简单介绍:

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好了:

$ php symfony.phar new news

如果网络没有问题的话,应该会出现进度条,此时Symfony installer在当前目录创建了news目录,并且初始化好Symfony2框架的工作目录,以及下载所需要的第三方PHP库。

Downloading Symfony... 85.81 KB/4.89 MB ▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1%

当下载完成后,进入news目录,我们可以看到Symfony installer为我们初始化的工作目录。这里我们可以把一些对开发来说没有必要的文件删除掉(UPGRADE-***,LICENSE,README.md)。

不出意外,我们便可以通过一下命令开启一个Web server监听在 localhost:8000上(注:此命令只能运行在PHP5.5版本之上):

$ php app/console server:start localhost:8000

在浏览器里访问http://localhost:8000,应该就可以看到Symfony Framework安装好之后的欢迎页面了

symfony acme

至此,Symfony2项目初始化工作已经完成

我们可以使用Symfony2框架自带的脚本工具,来确认当前的环境是否已经足够顺利运行Symfony:

$ php app/check.php

比如我这里显示的结果,推荐我安装intl扩展

screen shot symfony check console

另外我们也可以看到提示说因为命令行加载的php.ini可能和web服务器加载的不一样(常见的php-fpm一般都跟命令行下的php加载的不是同一个php.ini文件),建议在浏览器里查看/config.php复查一下。

symfony check web

本文转载自:http://www.chrisyue.com/symfony2-in-action-day-1.html

共有 人打赏支持
雍雍_yoyo
粉丝 11
博文 139
码字总数 52609
作品 0
大连
原创linux以及rails,symfony2,web前端等多部视频教程,感兴趣的朋友可以看下哦

原创rails和linux视频教程发布啦,54程序员最新原创视频教程包括基础系列(Linux服务器视频,php视频,前端视频,ruby视频),以及实战系列(Symfony2视频,CI框架视频)正在陆续更新中,请大家多多...

翁宇杰
2013/01/11
633
2
自己制作了一套symfony2视频教程和laravel4视频教程,分享一下

symfony2框架是PHP所有框架中最纷繁复杂,但也是最强大的框架,没有之一,zend framework2模仿symfony2,laravel4使用sf2作为底层,可想而知,symfony2是什么。自己一直在用symfony2进行各种项...

翁宇杰
2013/10/18
7.5K
10
symfony2的项目实战

用symfony2 + angularjs开发的大型项目,前期准备的多,开发量也很大,功能模块也很多,开发了一年还没有开发完成呀! client端是以 nodejs + angularjs + bootstrap等支持完成。 server端是...

AnJie-php
2013/11/03
335
0
2015 年最好的 PHP 框架调查统计

一个月前,我们就开始了一年一度SitePoint框架人气调查。现在月份已经到期, 这需要时间来看看结果。 共收到的回应是7800+个(项),至今远远超过其他任何以前开展的调查,甚至在过滤掉无效的...

phpmy56
2015/04/09
82.2K
83
2015年最好的PHP框架调查统计

2015年最流行的框架,Laravel框架获得赢家! 正如预期的那样,Laravel这次又一次高出了一大截。 有一些人可能会担心,部分框架分裂版本可能影响Laravel的调查结果,并给它一个不公平的优势,...

酱醋茶丶
2015/12/28
364
3

没有更多内容

加载失败,请刷新页面

加载更多

71.告警系统主脚本 配置文件 监控项目

20.20 告警系统主脚本(main.sh) 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本(main.sh): ~1.约定:把以后所有的shell脚本放在/usr/local/sbin下,也方便我们查...

王鑫linux
10分钟前
0
0
装饰者模式

装饰者模式 Q:何为装饰模式? ()地给一个对象添加一些额外的(),并且()时,并不影响原对象。扩展功能来说,装饰器模式相比生成子类更为灵活。 Q:使用场景? 1.想要在不影响其他对象的情况下...

阿元
30分钟前
0
0
GO 切片(slice)相关语法

package mainimport("fmt")func main() {var intArr [5]int = [...]int{1,2,3,4,5} //定义一个数组slice := intArr[2:4] //第二个(包含)下标到第四个下标(不包含)fmt.Println...

汤汤圆圆
32分钟前
0
0
活动招募 HUAWEI HiAI公开课·北京站-如何在4小时把你的APP变身AI应用

人工智能和机器学习是全球关注的新趋势,也是当前最火爆、最流行的话题。当你拿手机用语音助手帮你点外卖,智能推荐帮你把周边美食一网打尽;当你拿起P20拍照时,它将自动识别场景进行最美优...

华为终端开放实验室
46分钟前
1
0
匹配两位小数,js正则

var regex = /^\d*(\.[1-9]|\.\d[1-9])*$/ console.log(1.2,regex.test(1.2)); console.log(0.3,regex.test(0.3)); console.log(1.03,regex.test(1.03)); ......

微信小程序-暗潮
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部