symfony2 controller
1、基本概念
一次http请求 输入(Request):header信息、get信息、post数据等
输出(Response):symfony经过处理返回的信息,包括页面、json字符串、URL跳转等
2、Request
$this->getRequest()
httpie工具
HTTPie (读aych-tee-tee-pie)是一个 HTTP 的命令行客户端。其目标是让 CLI 和 web 服务之间的交互尽可能的人性化。
安装参考http://blog.csdn.net/pzw_0612/article/details/46521965
http://www.cnblogs.com/huangjacky/archive/2012/03/28/2421866.html
用httpie模拟表单提交(post)
>http -f post http://localhost:8000/app_dev.php/page/test name=lily
3、Response
<?php namespace Scource\WebBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;//注意不要引用错
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\RedirectResponse; class DefaultController extends Controller
{
/**
* @Route("/page/test1")
*/
public function test1Action(){
//不使用模板,直接输出内容或者跳转
//return new RedirectResponse('http://www.cnblogs.com/tianxintian22/');重定向
//return new JsonResponse(array('a'=>'abcdef'));返回json串
return new Response('11111111111');
}
}
4、session
$this->getRequest()->getSession()->set('b', 'ni hao!');
$this->getRequest()->getSession()->get('b');
如果不能正确获取到session的值,可能是app/cache/dev目录下session的权限不对。
//调用flashmessage,只能显示一次就被抛弃,一般用在表单用户信息提示
//php
$this->getRequest()->getSession()->getFlashBag()->add('notice','you have something wrong'); //twig
{% for flashMessage in app.session.flashbag.get('notice') %}
<div class="flash-notice">
{{ flashMessage }}
</div>
{% endfor %}
5、Service -- 服务
程序架构的方式
作用:把特定事情的类或方法独立于当前代码单独存在并通过Service进行调用。
获取服务:$this->get();....
symfony2 controller的更多相关文章
- Xdebug bad Zend API Version Number
I am having trouble upgrading xdebug for MAMP. I was running version 2.2.0 and there was a known iss ...
- symfony2取得web目录绝对路径、相对路径、网址的函数是什么
对于你的需求,Symfony2通过DIC提供了kernel服务,以及request(请求)的封装. 在controller里(在其他地方你可以自行注入kernel,这个服务是HttpKernel库里的 ...
- Symfony2模版引擎使用说明手册
一.基本使用 {{ demo }}输出一个demo变量; {% func %}通常是包含一个twig函数例如 for; 举个for循环的例子: {% for i in 0..10 %} <em& ...
- symfony2 路由工作原理及配置
1.路由是程序的方法和URL的一一映射.
- symfony2 安装并创建第一个页面
1.安装和配置 参考 http://symfony.cn/docs/book/installation.html 使用安装工具: windows系统 Open your command console ...
- 第一章:Symfony2和HTTP基本原理
恭喜你!通过学习Symfony2,你将用你自己的方式开发出更加高效.全面和流行的Web应用(当然,要受到用人单位或同行的欢迎,还是得靠你自己).Symfony2的存在是为了要解决最根本的问题:即提供一 ...
- Symfony2 学习笔记之内部构件
Symfony2内部是怎样工作的以及我们如何来扩展它呢?从外部整体上看,symfony2代码是由许多独立的层构成,每一层都是建立在前一层基础之上.其中,自动加载时不受框架直接管理的,它完全是在Univ ...
- Symfony2 学习笔记之插件格式
一个bundle类似于其它框架中的插件,但是比插件表现更好.它跟其它框架最主要的不同是在Symfony2中所有东西都是bundle,包括核心框架功能和你写的所有应用程序代码.Symfony2中,bun ...
- Symfony2学习笔记之表单
对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战的任务.Symfony2集成了一个Form组件,让处理表单变的容易起来.在这一节里,我们将从基础开始创建一个复杂的表单,学习表单类库中最 ...
随机推荐
- 【转载】Visaul Studio 常用快捷键的动画演示
在进行代码开发的时候,我们往往会频繁的使用键盘.鼠标进行协作,但是切换使用两种工具会影响到我们的开发速度,如果所有的操作都可以只用键盘来完成,那开发效率将得到大幅度的提升.因此,灵活地应用 Visua ...
- 对于 ThreadLocal 的理解和应用
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...
- xpath学习积累
"//comment()":“所有注释节点”
- SignalR入门之基本介绍
SignalR是微软对web开发技术的扩充,它是一种框架,方便用来创建实时应用程序. 有一些即时消息系统,实时协作工作集,多人在线游戏,信息广播服务等其他需要在信息产生时就能进行发送的任务系统. 对于 ...
- C#自定义特性实例
元数据,就是C#中封装的一些类,无法修改.类成员的特性被称为元数据中的注释. 1.什么是特性 (1)属性与特性的区别 属性(Property):属性是面向对象思想里所说的封装在类里面的数据字段, ...
- 关于 Servlet 和 Web
文中也只是对Servlet和Web作简单的了解,有个初步的认识,深入的内容有待于进一步去研究. T. T _ . _ Servlet Servlet(Server Applet),全称J ...
- jquery练习
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- FreeBSD pkg仓库有台湾的镜像了
http://pkg.freebsd.org/ 在这个页面上可以看到: pkg0.bme.freebsd.org pkg0.nyi.freebsd.org pkg0.twn.freebsd.org p ...
- Java主要知识结构
Java基础(建议看java编程规范): Java语言基础:数据类型,命名规则,权限控制符,注释 操作符:算术操作符,逻辑操作符,关系操作符,移位操作符,按位操作符 流程控制 数组 字符串 Java高 ...
- [javascript] 对象拷贝
Object.prototype.clone = function() { var copy = (this instanceof Array) ? [] : {}; for (attr in thi ...