您的位置:首页 > 其它

Symfony2快速指南(一)

2015-05-10 10:37 148 查看
刚转入互联网公司不久,街道的第一个项目就是为一个权限管理系统制作一个权限配置工具,要求使用symfony2这个框架,之前没有接触过使用框架,更没有接触到php。所以这个项目基本就是一边google,一边再做。在网上找资料的时候发现,现在的资料都不是很全,也不是很及时。symfony2本身自己的文档又不支持搜索(至少是在我写这篇文章的时候还不支持搜索,可以当你以后看到这篇文章时,官网或许已经支持搜索了)。写着篇文章的目的就是希望一个完全不懂symfony2框架,或者是第一次接触mvc框架的人,可以快速上手该框架。

官网

http://symfony.com/

不用多说,上面的肯定有很多document,如果你认真的扒这个官网,肯定可以收获很多。但是个人感觉这个官网上面的文档并没有规范化,好像是不同的开发人员写的,每个文档都有自己的行文风格。当然有一些文档并没有跟着现有的symfony2的版本走,所以就滞后于它自己的产品,导致的结果嘛,就是按照它上面的说法并不能解决问题,那么这时提供给你一下三个方案:

最后还得去问万能的google

直接到stackoverflow去问

自己研究下它的源代码,自行解决

这三种方法解决问题的速度大家一看便知。当然了,如果当你熟读了它的源代码之后,就没有什么问题是你解决不了的啦~~

1. 版本要求

个人感觉,symfony2这个框架是融了很多一些其他的php库,如doctrine,twig等,当然了其中每个库都不一定非要依赖于symfony而存在,如果你再你自己的项目中直接操作数据库,直接用doctrine这个库就好了(这个也是我在网上google的结果)。

symfony2的每个项目都是使用composer来管理它所依赖的包的。如果你使用ubuntu或者mac的话,你一定会比较熟悉apt-get或者homebrew,那么这个composer就是php界的apt-get(homebrew)了。如果对composer还不是很了解,可以到它的官网先去了解下。

为了明确我这个文档的适用范围,我把我自己项目里所依赖的包列到了下面。

"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.6.*",
"doctrine/orm": "~2.2,>=2.2.3,<2.5",
"doctrine/dbal": "<2.5",
"doctrine/doctrine-bundle": "~1.2",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~3.0,>=3.0.12",
"sensio/framework-extra-bundle": "~3.0,>=3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"justinrainbow/json-schema": "~1.3",
"friendsofsymfony/jsrouting-bundle": "~1.5"
},


1. Symfony2的安装

前提条件

php的版本的要在5.4(或以上)。如果没有满足,还请自行升级

下载

$ curl -LsS http://symfony.com/installer > symfony.phar
$ sudo mv symfony.phar /usr/local/bin/symfony
$ chmod a+x /usr/local/bin/symfony


新建一个自己的项目

# Linux and Mac OS X
$ symfony new myproject


这样新建好的项目会包含一个示例项目,你可以直接运行它来感受下symfony2。

那么问题来了,symfony2只是一个mvc框架,我是不是还得配置一些http server才能用啊。这种担心是对的,但是对于自己开发symfony2项目,现在来说还有点太早。那是因为symfony2自身携带了一个小型的server,这样在开发过程中,你完全可以只是用它自带的这个server就可以了。

真正到了测试或者发布阶段,那个时候在配置http server(Apache/Nginx)也不迟。具体的配置,我后面会提到。

运行项目

$ cd myproject/
$ php app/console server:run
Server running on http://127.0.0.1:8000 
Quit the server with CONTROL-C.


打开你的浏览器,输入上面的网址,感受下symfony2吧。

对git的支持

现在使用git管理开源项目那真是首选啊,symfony2也默认支持git。

ls -a
一下你刚才新建的那个项目目录就可以看到有一个
.gitignore
文件吧。所以当你完成你项目的开发,要发布到git(github/gitlab)上去时,并不是把你项目下的所有东西都放上去,而是直选所需。

在这里就可以看出,根据
.gitignore
还有
composer.json
两个文件实现了symfony2项目的轻量管理。太方便了,我想这也许就是开源社区的魅力之一吧。

使用他人的symfony2项目

好了,经过上面的步骤,或许你已经把代码发布到git上去了,虽然现在你一行代码还没有写。或许你只是想尝试下symfony2这里的开发流程。

好了,git已经管理了一份代码,现在要把它clone下来。这个不多说。

拿到代码后,为了运行这份代码,你需要做的就是

composer install


That’s it! composer就会根据composer.json这个文件里的东西为你下载该项目所依赖的包。

下载完成后,使用上面的那个命令运行该项目。Oh, yeah~~你可以开始跟别人一起合作了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Symfony2