文档章节

Symfony2框架实战教程

雍雍_yoyo
 雍雍_yoyo
发布于 2015/06/11 14:15
字数 1106
阅读 46
收藏 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
博文 140
码字总数 52912
作品 0
大连
私信 提问
原创linux以及rails,symfony2,web前端等多部视频教程,感兴趣的朋友可以看下哦

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

翁宇杰
2013/01/11
645
2
symfony2的项目实战

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

AnJie-php
2013/11/03
335
0
自己制作了一套symfony2视频教程和laravel4视频教程,分享一下

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

翁宇杰
2013/10/18
8K
10
2015 年最好的 PHP 框架调查统计

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

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

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

酱醋茶丶
2015/12/28
400
3

没有更多内容

加载失败,请刷新页面

加载更多

centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
5
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0
大数据教程(11.8)Hive1.2.2简介&初体验

上一篇文章分析了Hive1.2.2的安装,本节博主将分享Hive的体验&Hive服务端和客户端的使用方法。 一、Hive与hadoop直接的关系 Hive利用HDFS存储数据,利用MapReduce查询数据。 二、Hive与传统数...

em_aaron
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部