摘要: 基本组件:xtypeClass描述buttonExt.Button按钮splitbuttonExt.SplitButton带下拉菜单的按钮cycleExt.CycleButton带下拉选项菜单的按钮buttongroupExt.ButtonGroup编组按钮(Since 3.0)sliderExt.Slider滑动条progressExt.ProgressBar进度条statusbarExt.StatusBar状态条,2.2加进来,3.0 又去了colorpaletteExt.ColorPalette调色板datepickerExt.DatePicker日期选择面板容器及数据类组件xtypeC 阅读全文
posted @ 2014-02-19 15:05 王天泽博客 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 1.封装变化2.多用组合,少用继承3.针对接口编程,不针对实现编程4.为交互对象之间的耦合设计而努力5.对扩展开发,对修改关闭 阅读全文
posted @ 2014-02-19 15:03 王天泽博客 阅读(77) 评论(0) 推荐(0) 编辑
摘要: Symfony2在正式发布之后,对其命令做了一定的修改,现将2.0.1版本的命令罗列如下,以备今后查用:用法: [选项] 命令 [参数]选项: --help -h 显示本帮助信息。 --quiet -q 不输出任何信息。 --verbose -v 增加信息的详细程度。 --version -V 显示本程序的版本号。 --ansi 迫使 ANSI 输出。 --no-ansi 禁止 ANSI 输出。 --no-interaction -n 不进行任何交互问题的询问。 --shel... 阅读全文
posted @ 2014-02-19 14:03 王天泽博客 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Symfoy2 是什么?PHP世界里又一广受关注的web MVC框架? Fabien Potencier 却不这么说!Fabien Potencier这样定义Symfoy2 是个什么东西: 首先,Symfony2 是一个独立,松散的,有组织严密的PHP组件集合,它可以为你解决一些web开发中遇到的一般性问题。 其次,基于这些组件,Symfoy2 也可以作为一个独立的web框架使用。那么Symfony2 是一个MVC框架吗?Fabien Potencier说Symfony2从来没有把自己定义为一个MVC框架!那它是什么?Fabien Potencier 我们从来不关心MVC模式,关心的只有... 阅读全文
posted @ 2014-02-19 13:47 王天泽博客 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 什么是依赖注入? 从PHP实现角度来分析依赖注入,因为PHP主要用于web开发,所以我们就看Web应用例子。 为了克服HTTP协议的无状态性,web应用程序需要有一个途径来在web请求之间存储用户信息。最简单的方式是使用cookie或者采用更好一点的PHP内建的Session机制。$_SESSION['language']='en'; 上面这句代码就实现了把语言存储到Session变量language里。从此之后,同一用户一些后续的请求都可以使用这个值了。因为$_SESSION 数组是个全局的变量。调用方式如下:$user_language = $_SESSIO 阅读全文
posted @ 2014-02-19 13:43 王天泽博客 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 现在的PHP应用程序都是面向对象开发,所以主要是由对象构成。有的对象可以方便的分发邮件信息而有的可能帮你把信息写入到数据库中。在你的应用程序中,你可能创建一个对象用于管理你的产品库存,或者另外一个对象处理来自第三方API的数据。重要的是现在应用程序要做的这些事情都是被组织到许许多多的对象中来处理它的每一项任务的。 我们将套路一下Symfony2中一个特殊的PHP对象,它帮助我们实例化,组织和获取你应用程序汇总的许多对象。这个对象叫做服务容器,它可以帮助你使用标准统一的方式来创建你程序中的对象。它能简化你的繁杂的初始对象工作,并且拥有超快的执行速度,强调该框架提高了可重用性和降低了代码耦合... 阅读全文
posted @ 2014-02-19 13:37 王天泽博客 阅读(225) 评论(0) 推荐(0) 编辑
摘要: fony2 学习笔记之内部构件 Symfony2内部是怎样工作的以及我们如何来扩展它呢? 从外部整体上看,symfony2代码是由许多独立的层构成,每一层都是建立在前一层基础之上。其中,自动加载时不受框架直接管理的,它完全是在UniversalClassLoader类和src/autoload.php文件的帮助下独立完成的。HttpFoundation 组件 最深层次的是HttpFoundation组件,它提供了处理HTTP所需的主要对象。是一个对一些PHP函数和变量的面向对象抽象。包括: Request 类,抽象了PHP中主要的全局变量$_GET,$_POST,$_COOKIE,$_... 阅读全文
posted @ 2014-02-19 13:33 王天泽博客 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 一个bundle类似于其它框架中的插件,但是比插件表现更好。它跟其它框架最主要的不同是在Symfony2中所有东西都是bundle,包括核心框架功能和你写的所有应用程序代码。Symfony2中,bundle可是一等公民。这给了你使用其它第三方开发的内容包或者分发你自己的bundle更多灵活性。你可以方便的选择哪些内容可以应用到你的程序中那些不用,来根据你的想法优化它们。 一个bundle就是一个目录,它具有很好的结构性,它能存放从类到controller和web资源等任何东西。 一个bundle仅仅是一个结构化的文件目录集合,它实现一个单一的内容。 你可以创建一个BlogBundle... 阅读全文
posted @ 2014-02-19 13:32 王天泽博客 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 富web应用程序的本质意味着它们的动态。无论你的应用程序多么有效率,每个请求比起静态文件来说总会存在很多的耗费。对于大多数web程序来说,这没什么。 Symfony2非常的轻快,无论你做些严重超载的请求,每个请求将会得到很快的回复,而不会对你的服务器造成压力。但是随着你站点的成长,负载将成为一个严重的问题。对每个请求处理应该只被正常执行一次。这就是缓存真正要达成的目标。站在巨人肩膀上的缓存: 提高一个应用程序执行效率的最有效方法是缓存一个页面的所有输出然后让后续的请求绕开整个应用程序。当然,这对于高动态性的站点来说并不是总是可能的。Symfony2 缓存系统是比较特别的,因为它依赖于在H... 阅读全文
posted @ 2014-02-19 13:24 王天泽博客 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 一个controller是你创建的一个PHP函数,它接收HTTP请求(request)并创建和返回一个HTTP回复(Response)。回复对象(Response)可以是一个HTML页面,一个XML文档,一个序列化的JSON数组,一个图片,一个重定向,一个404错误或者任何你想要的内容。controller中可以包含任何渲染你页面内容的所需要的逻辑。下面是一个controller最简单的例子,仅仅打印一个Hello world!use Symfony\Component\HttpFoundation\Response;public function helloAction(){ re... 阅读全文
posted @ 2014-02-19 11:45 王天泽博客 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 校验在web应用程序中是一个常见的任务。数据输入到表单需要被校验。数据在被写入数据库之前或者传入一个webservice时也需要被校验。 Symfony2 配备了一个Validator 组件,它让校验工作变得简单易懂。该组件是基于JSR303 Bean校验规范。一个Java规范用在PHP中。基本验证 理解校验的最好方法是看它的表现。首先,假设你已经创建了一个用于你应用程序某个地方的PHP对象。//src/Acme/BlogBundle/Entity/Author.phpnamespace Acme\BlogBundle\Entity;class Author{ public $n... 阅读全文
posted @ 2014-02-19 11:33 王天泽博客 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战的任务。Symfony2集成了一个Form组件,让处理表单变的容易起来。在这一节里,我们将从基础开始创建一个复杂的表单,学习表单类库中最重要的内容。 Symfony2 的Form组件是一个独立的类库,你可以在Symfony2项目之外使用它。创建一个简单的表单: 假设你要创建一个应用程序的todo列表,需要显示一些任务。因为你的用户需要编辑和创建任务,所以你需要创建一个表单。在你开始之前,首先来看通用的Task类,用来表示和存储一个单一任务的数据:// src/Acme/TaskBundle/Entity/Task.phpn... 阅读全文
posted @ 2014-02-19 10:52 王天泽博客 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 我们知道,controller负责处理每一个进入Symfony2应用程序的请求。实际上,controller把大部分的繁重工作都委托给了其它地方,以使代码能够被测试和重用。当一个controller需要生成HTML,CSS或者其他内容时,它把这些工作给了一个模板化引擎。模板: 一个模板仅仅是一个文本文件,它能生成任意的文本格式(HTML,XML,CSV,LaTex...)。最著名的模板类型就是PHP模板了,可以被PHP解析的文本文件,它混合了文本和PHP代码。 Welcome to Symfony! ... 阅读全文
posted @ 2014-02-19 10:34 王天泽博客 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 漂亮的URL绝对是一个严肃的web应用程序必须做到的,这种方式使index.php?article_id=57这类的丑陋URL被隐藏,由更受欢迎的像 /read/intro-to-symfony 来替代。 拥有灵活性更为重要,如果你要改变一个页面的URL,比如从/blog 到 /new 怎么办? 有多少链接需要你找出来并更新呢? 如果你使用Symfony的router,这种改变将变得很简单。 Symfony2 router让你定义更具创造力的URL,你可以map你的应用程序的不同区域。 创建复杂的路由并map到controllers并可以在模板和controllers内部生成URL... 阅读全文
posted @ 2014-02-19 10:20 王天泽博客 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 数据库和Doctrine 让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中读取和持久化数据信息。幸运的是,Symfony和Doctrine进行了集成,Doctrine类库全部目标就是给你一个强大的工具,让你的工作更加容易。 Doctrine是完全解耦与Symfony的,所以并不一定要使用它。 一个简单例子:一个产品,我们首先来配置数据库,创建一个Product对象,持久化它到数据库并把它读回来。 首先我们需要创建一个bundle:$php app/console generate:bundle --namespace=Acme/StoreBundle配置数据库 ... 阅读全文
posted @ 2014-02-19 09:48 王天泽博客 阅读(170) 评论(0) 推荐(0) 编辑
摘要: http://www.csdn.net/article/2014-02-18/2818443-15-best-bootstrap-tools-for-designers 阅读全文
posted @ 2014-02-19 09:40 王天泽博客 阅读(77) 评论(0) 推荐(0) 编辑