本文详细讲述了Symfony2安装的方法,Symfony2将执行

本文实例讲述了Symfony2函数用法。分享给大家供大家参考,具体如下:

本文实例讲述了Symfony2创建页面的方法。分享给大家供大家参考,具体如下:

本文详细讲述了Symfony2安装的方法。分享给大家供大家参考,具体如下:

1.调用其他对象的方法。

在Symfony2中创建页面只需要两步:

一、Composer安装Symfony

$grobal_func=$this->container->get;//'global_func'函数所在的文件名$lot_data=$global_func->getDataFromFile;//getDataFromFile函数名

$conn = $this->em->getConnection();$sql_user="select * from lot_user where user_name=:param1 and user_id=:param2 limit 1";$params = array( 'param1' => $user, 'param2' => $uid);$ready = $conn->prepare;$ready->execute;$result_user = $ready->fetchAll();

$em->getConnection;try{ $lotuser = new LotUser; $lotuser->setUserId; $lotuser->setUserName; $lotuser->setPassword; $lotuser->setUserTele; $lotuser->setEmail; $lotuser->setRegDate; $lotuser->setIdNumber; $lotuser->setRealUsername;$em->persist;$em->flush();$em->getConnection;}catch{$e->getConnection;}

1、创建路由:路由定义你页面的URI并指定要执行的控制器。当传入的请求URL匹配该路由时,Symfony2将执行指定的控制器;

Composer安装Symfony方法在前面的文章《Symfony之十分钟入门》有介绍

希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。

2、创建控制器:控制器是一个PHP函数,它接受传入的请求并将其转换成Symfony2的Response对象。

二、Symfony Installer安装Symfony

我们喜欢这样简单的实现,因为它符合Web的工作方式。每一个Web交互都是由HTTP请求开始,应用程序的任务就是简单地解释请求并返回相应的HTTP响应。Symfony2遵循这一原则,并为你提供工具,以保证在应用程序的用户和复杂性增长时仍保持良好地组织性。

这里来着重介绍第二种Symfony Installer安装Symfony的方法

“Hello Symfony2” 页

1.安装Symfony Installer

让我们从经典的“hello,world”程序开始,当我们完成后,用户可以通过访问下列URL来得到一声问候:

[Sun@localhost html]$ curl -LsS http://symfony.com/installer > symfony.phar[root@localhost html]# mv symfony.phar /usr/local/bin/symfony[root@localhost html]# chmod a+x /usr/local/bin/symfony
http://localhost/app_dev.php/hello/Symfony

现在你可以用symfony作为系统全局命令来执行Symfony安装程序

其实,你可以将Symfony换成其它的名称来问候,要创建该页,我们只需简单地通过两个步骤来进行:

在web根目录下创建一个名为Blog的项目复制代码 代码如下:[Sun@localhost html]$ symfony new Blog这个命令创建一个名为Blog的新项目,基于最新的稳定的Symfony版本。此外,安装程序会检查你的系统是否满足技术要求执行Symfony应用程序。如果不是,你会看到需要满足这些需求的变化的列表。

本教程已经假定你下载了Symfony2,并且配置好了Web服务器。上述URL假设localhost指向你新的Symfony2项目。安装详情参见安装Symfony2。

这样名为Blog的Symfony应用程序就安装好了。至于如何配置,在《Symfony之十分钟入门》里都有详细介绍。

创建Bundle

本文永久地址: IT985博客 ,转载时请注明出处及相应链接。

在开始之前,你需要创建一个Bundle。在Symfony2中,Bundle相当于插件,你应用程序中的所有代码都需要放在Bundle中。Bundle只是一个目录,里面的内容都与某个特定功能相关。运行下列命令,创建AcmeStudyBundle。

更多关于PHP框架相关内容感兴趣的读者可查看本站专题:《php优秀开发框架总结》,《codeigniter入门教程》,《CI框架进阶教程》,《Yii框架入门及常用技巧总结》及《ThinkPHP入门教程》

php app/console Acme/StudyBundle[/]

希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。

接下来,在app/autoloader.php文件中添加了以下语句,以确保Acme名字空间被引导:

$loader->registerNamespaces(array( 'Acme' => __DIR__.'/../src', // ...));

最后在app/AppKernel.php文件的registerBundles()方法中初始化Bundle。

// app/AppKernel.phppublic function registerBundles(){ $bundles = array( // ... new AcmeStudyBundleAcmeStudyBundle; // ... return $bundles;}

现在你已经设置好你的Bundle,并可以在你Bundle中构建你的应用程序了。

创建路由

缺省状态下,Symfony2的路由配置文件放置在app/config/routing.yml目录中。在Symfony2中所有的配置文件也可以采用PHP或XML格式编写。

# app/config/routing.ymlhomepage: pattern: / defaults: { _controller: FrameworkBundle:Default:index }hello: resource: "@AcmeStudyBundle/Resources/config/routing.yml"

路由配置文件的前几行定义了用户请求”/”资源所调用的代码,更有趣的是最后一部分,它导入了位于AcmeStudyBundle中的其它路由配置文件。

# src/Acme/StudyBundle/Resources/config/routing.ymlhello: pattern: /hello/{name} defaults: { _controller: AcmeStudyBundle:Hello:index }

路由由两个基本部分组成,pattern确定哪个URI匹配本路由,defaults数组指定要运行的控制器。在pattern中的占位符{name}是个通配符,它表示诸如/hello/Ryan, /hello/Fabien或其他相似的URI匹配该路由。{name}占位参数也被发送到控制器,以便我们可以使用它的值去问候用户。

路由系统在创建应用程序强大、灵活的URL结构方面有着许多令人惊叹的功能,详情请参见《Symfony2学习笔记之系统路由详解》

创建控制器

当象/hello/Ryan这样的URI被应用程序处理时,hello路由被匹配,并且AcmeStudyBundle:Hello:index控制器通过Symfony2框架被执行。创建页面过程的第二步就是创建这个控制器

实际上控制器也不过是由你创建并通过Symfony2执行的PHP函数,这个定制的应用程序代码使用请求信息去构建和准备所需资源。除了一些高级案例外,控制器最终的输出都是相同的:一个Response对象。

// src/Acme/StudyBundle/Controller/HelloController.phpnamespace AcmeStudyBundleController;use SymfonyComponentHttpFoundationResponse;class HelloController{ public function indexAction { return new Response('Hello '.$name.'!'); }}

控制器很简单,它创建一个新的Response对象,该对象的第一个参数是它返回的响应内容。

恭喜你,仅仅只是在创建了一个路由和控制器之后,你就已经得到了一个全功能页!如果你的设置没有问题的话,你的应用程序就可以跟你打招呼了:

http://localhost/app_dev.php/hello/Ryan

一个可选但却被经常用到的步骤就是创建一个模板。

在创建页面时控制器是主入口和关键部分,更多信息可以在控制器章节找到。

创建模板

模板允许你把所有的展示都放到单个文件中,并且重用页面布局的不同区块。下面代码就是使用模板来替换控制器中的HTML代码。

// src/Acme/StudyBundle/Controller/HelloController.phpnamespace AcmeStudyBundleController;use SymfonyBundleFrameworkBundleControllerController;class HelloController extends Controller{ public function indexAction { return $this->render('AcmeStudyBundle:Hello:index.html.twig', array; // 渲染PHP模板 // return $this->render('AcmeStudyBundle:Hello:index.html.php', array; }}

为了使用render()方法,你必须继承Controller类,该类添加了一些常见任务的快捷方法。

render()方法创建一个Response对象,该对象使用特定的内容填充并通过模板渲染的。与其它控制器一样,你最终得到的是一个Response对象。

注意,这里有两种不同渲染模板的例子,缺省情况下,Symfony2支持两种渲染模板的方式:传统的PHP模板和简洁强大的Twig模板。你可以随意选择使用其中的一种,也可以在同一项目中混用它们,这都不成问题。

控制器渲染AcmeStudyBundle:Hello:index.html.twig模板,该模板使用以下命名约定:

Bundle名:Controller名:Template名

在本例中,AcmeStudyBundle是Bundle名,Hello是控制器,index.html.twig是模板名。

{# src/Acme/StudyBundle/Resources/views/Hello/index.html.twig #}{% extends '::layout.html.twig' %}{% block body %} Hello {{ name }}!{% endblock %}

本文由美高梅游戏网站登录发布于美高梅棋牌游戏,转载请注明出处:本文详细讲述了Symfony2安装的方法,Symfony2将执行

您可能还会对下面的文章感兴趣: