怎么创建一个Symfony2框架项目

  介绍

怎么创建一个Symfony2框架项目?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强>一、下载与环境设置

1。如何于centos上面建立开发环境不再详述,当然也可以在windows上面建立开发环境。

2。关于使用symfony代替127.0.0.1在liunx系统中修改/etc/主机文件,这个系统中修改C:\Windows\System32\drivers\etc\host文件(需要用管理员权限打开)

加入类似于IP别别名1名2的内容即可,如:

代码如下:

#/etc/hosts 127.0.0.1 symblog dev symfony

3。手动下载symfony2,也可以参照这个页面用作曲家进行安装.北京://symfony.com/doc/current/book/installation.html

唯一需要注意的是:app/缓存和app/日志目录需要设置成777权限.windows的开发环境应该不存在这个问题。

4。修改apache或者nginx配置文件symfony域名指向下载的symfony文件的web目录。

此时应该可以通过http://symfony/app_dev。php访问到symfony的默认页面,有几个演示可以参照学习。

怎么创建一个Symfony2框架项目

app_dev。php默认加载了一个开发工具条在下面,显示了当前页面的一些信息,极大地方便了程序的调试,只有当环境变量为dev时才会显示。

5。使用作曲家安装时,会提示输出mysql等相关信息,需要修改这些信息,或者是直接下载的文件,可以进入页面的“配置”进行相关设置。

包(也许可以称之为包、束,程序集,或者项目,还是用英文吧)是symfony的基础东东,一个个分享出来可重复利用的代码封装,甚至于symfony本身是作为一个包运行的只包括控制器,模块,模板,甚至于图像与js, css样式表等资源只,很杂乱的东西,区别不同的包使用了php5.3以后的命名空间,大部分cpenal, da虚拟主机好像只有php5.2版本吧,无法运行symfony2了。

<强>二、创建一个包

在下面的例子中将创建一个博客,,Symfony提供了大量工具来快速地创建项目。比如我们可以用它来快速创建一个博客的基础包。

代码如下:

php应用程序/控制台生成:包名称空间=博客/BlogBundle格式=yml

运行后直接采用所有的默认设置即可。可以方便地创建我们所需要的基本控制器,模块与模板等。包含了下面的行为:

<强>注册包

在symfony中所有使用的包都要求先被注册,有些包只会使用于开发测试环境(开发或测试),如前文提及的开发工具条。下面这断代码显示了包创建命令如何注册BloggerBlogBundle这个包。

//, app/AppKernel.php
  class  AppKernel  extends  Kernel  {
  public  function  registerBundles (), {
  $ bundles =,阵列(//,. .
  new 博客\ BlogBundle \ BloggerBlogBundle (),
  );//,. .,return 美元包,,},//,. .
  }
  }

<>强路由

作为一个框架,路由功能被打包机创建器创建于app/config/路由。yml, symfony是用yml格式来保存配置信息。

代码如下:


# app/config/路由。yml
BloggerBlogBundle:
资源:“@BloggerBlogBundle/资源/config/routing.yml"前缀:
/

前缀前缀选项允许我们可以将其放置于如博客、新闻等子目录下。
文件
除了以上配置文件外,其它大部分文件生成为src目录下,如同大部分mvc框架。在src下生成博主目录,并有BlogBundle子目录存放着各种相关东东。不同的是类似于博客的目录对应着php命名空间。

<强>默认控制器

束生成器在src下面生成了默认了控制器。通过访问:http://symfony/app_dev。php/hello/世界可以看到简单的问候。关于这个页面是如何生成:

<强>路由

还是路,由不同的是前面的路由是在整个程序里面注册使用,这里的路由是控制具体页面使用,src/博客/BlogBundle/资源/config/路由。yml控制了BloggerBlogBundle,包含以下程序片断:

代码如下:


# src/博客/BlogBundle/资源/config/路由。yml
BloggerBlogBundle_homepage:
模式:/hello/{name}
违约:{_controller: BloggerBlogBundle:默认值:指数}

参数:进行url检测,符合/hello/{名称}结构的任意值将被赋予给{name},
方式:没有对形式进行限制,理论可以把,,,删除所有的操作都可以进行。
后续:如果符合以上两条,那么{name}将会传导至特定文件,以上为src/博客/BlogBundle/控制器/DefaultController。php文件中默认的控制器的索引行为将被使用。

怎么创建一个Symfony2框架项目