加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Symfony页面的基本创建实例介绍

发布时间:2022-07-01 15:54:16 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了Symfony页面的基本创建实例详解,详细分析了Symfony页面的具体创建流程与注意事项,需要的朋友可以参考下 本文实例分析了Symfony页面的基本创建方法。分享给大家供大家参考。具体如下: 创建一个模块框架 Symfony将页面组织为模块。在创建一
  这篇文章主要介绍了Symfony页面的基本创建实例详解,详细分析了Symfony页面的具体创建流程与注意事项,需要的朋友可以参考下
 
  本文实例分析了Symfony页面的基本创建方法。分享给大家供大家参考。具体如下:
 
  创建一个模块框架
 
  Symfony将页面组织为模块。在创建一个页面之前,我们需要创建一个模块,并且初始化为一个Symfony可以识别的文件结构的空壳。
 
  Symfony命令行自动化处理模块的创建。我们只需要调用init-module任务,并且使用程序名以及模块名作为参数。在创建了一个myapp程序之后,要向这个程序中添加一个mymodule模块,我们可以输入下面的命令:
 
  > cd ~/myproject
  > symfony init-module myapp mymodule
  >> dir+      ~/myproject/apps/myapp/modules/mymodule
  >> dir+      ~/myproject/apps/myapp/modules/mymodule/actions
  >> file+     ~/myproject/apps/myapp/modules/mymodule/actions/actions.class.php
  >> dir+      ~/myproject/apps/myapp/modules/mymodule/config
  >> dir+      ~/myproject/apps/myapp/modules/mymodule/lib
  >> dir+      ~/myproject/apps/myapp/modules/mymodule/templates
  >> file+     ~/myproject/apps/myapp/modules/mymodule/templates/indexSuccess.php
  >> dir+      ~/myproject/apps/myapp/modules/mymodule/validate
  >> file+     ~/myproject/test/functional/myapp/mymoduleActionsTest.php
  >> tokens    ~/myproject/test/functional/myapp/mymoduleActionsTest.php
  >> tokens    ~/myproject/apps/myapp/modules/mymodule/actions/actions.class.php
  >> tokens    ~/myproject/apps/myapp/modules/mymodule/templates/indexSuccess.php
  与actions/,config/,lib/,templates/,validate/目录相分离,这个命令只创建三个文件。位于test/目录中的一个为单元测试。actions.class.php指向默认的模块欢迎页面。templates/indexSuccess.php文件为空。
 
  在actions/actions.class.php文件中默认生成的动作:
 
  <?php
   class mymoduleActions extends sfActions
   {
     public function executeIndex()
       {
           $this->forward('default', 'module');
       }
     }
  ?>
  对于每一个新的模块,Symfony会创建一个默认的index动作。他是由一个名为executeIndex的动作方法以及一个名为indexSuccess.php的模板文件组成。我们可以通过下面的URL来浏览相应的页面:
 
 
  添加一个动作
 
  "Hello,world!"页面则会通过一个myAction的动作进行访问。要创建这个动作,只需要在mymoduleActions类中添加一个executeMyAction方法,如下所示:
 
  <?php
   class mymoduleActions extends sfActions
   {
     public function executeMyAction()
       {
       }
   }
  动作方法的名字总是execute'Xxx'()的形式,其中名字的第二部分是动作的名字,并且第一个字母大写。
 
  现在我们可以请求下面的URL:
 
 
  Symfony将会抱怨丢失了myActionSuccess.php模板。这是正常的。在Symfony中,一个页面通常是由一个动和与一个模板组成的。
 
  URL是响应的一部分
 
  Symfony包含一个路由系统允许我们在实际的动作名与需要调用的URL格式之间有一个完整的分隔。这允许自定义URL的自定义格式,就如同他是响应的一部分。我们不再为文件的结构或是请求的参数据限制,一个动作的URL看起来就我们所希望的解析。例如,到一个名为article模块的索引动作调用通常如下面的样子:
 
  Symfony知道如何为用户解析并生成URL。路由系统会自动从一个简洁URL中脱去所请求的参数,并使其为动作可用。他同时也会格式化响应中所包含的超链接,从而使其看起来更为简洁。我们将会在第九章了解这个特性的更多内容。
 
  总之,这就意味着我们命名程序的动作的方式不应受到调用他们的URL的样子的影响,而是受程序中动作的函数控制。一个动作的名了解释了动作实际所做的内容,而且通常为不定式格式中的一个动词(例如show,list,edit)。动作的名字可以做到对于终端用户完全不可见,从而不必担心使用显式的动作名。我们可以有效的利用代码注释来解释我们的函数功能,从而使代码更读。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读