- 博客(28)
- 资源 (3)
- 收藏
- 关注
原创 api独立出来优点
api独立出来优点1.可做服务器集群2.不让web直接连接数据库, 比较安全. 相当于多一层参数过滤.3.对外统一接口, 可针对某功能做缓存, 方便做优化
2014-05-27 10:58:40
1115
原创 zend framework 2 更换布局模板(layout)和内容模板
项目中不少模块需要更换模板, 由于没有找到 zf1 中很方便的 $this->render. 在zf2中略微繁琐一些.在zf2开发中, 经常接触的view层大致分为两个方面, 布局(layout)和内容展现, 默认模式如下所示.//class TestController .. public function testAction() { //对应到 view/
2013-09-29 15:11:17
2527
原创 zend Framework 2 bug 收集
1. 使用 session 时, 不能在 flashmessenger 之下. 否则session将清空.
2013-09-26 16:55:00
850
原创 zend framework 2 过滤器的使用
数据过滤是phper一大硬问题. zf2提供了一套过滤的功能即inputFilter. 使用方式有两种在zf2提供的例子中filter 和form交替使用, 这当然算是一种使用方法. 但是当我们使用zf2于接口的项目中时, 就不会涉及form的部分, 故此时我们单独使用filter.以下是zf2提供的方式. Form相当于容器, 并且托管了filter的过滤功能.$a
2013-09-12 18:26:20
1467
原创 zend framework 2 前端过滤器
有时, 我们需要在mvc执行之前处理一些事务. 比如过滤某些敏感词语, 某些ip等.这就需要在zend framework 2 中添加统一过滤器.方法是在模块的 module.php 中添加如下修改public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication
2013-09-12 17:26:15
1009
原创 zendframework 2 Model 数据模型的使用方法
刚认识zf2 对数据模型比较陌生. 接触一段时间后, 才能慢慢上手. 故留下笔记供大家参考. /** * select 获取一条记录 * * @param array|string $where : 兼容getRow(1) * @param array $extra * @return Array */ public function getRow($wh
2013-08-30 09:35:59
1160
原创 zend framework 2 参数接收及校验与过滤
1.参数的接收例url如:http://test.com/user/getUser/1?a=3 //从路由配置中获取参数$uid = $this->params()->fromRoute('id', 0); //获取?后面的参数$a = $this->params()->fromQuery('a', 0); //获取post提交的参数fromPost
2013-08-20 09:39:28
1982
转载 jquery表单验证插件jquery.validate的使用
jquery.validate.js是jquery下的一个验证插件,功能比较强大,早就有所耳闻但是一只没有动手用过,现在在于能够研究一下了。这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录。 先贴一个国内某大公司的代码: 复制代码代码如下: function lang(key) { mylang = { 'ls_input_my
2013-08-20 09:30:57
894
原创 Zend Framework 2 临时消息器 flashmessenger 的使用
Zend Framework 2 的 FlashMessenger 存储于 SESSION 中.它有四种类型的消息. 分别为 1.'default'2.'info'3.'success'4.'error'使用方法://设置消息$this->flashmessenger()->addMessage($this->getErr('user_login_paramErr'
2013-08-16 11:36:12
839
原创 PHP session 的运行流程
一直在使用session存储数据,一直没有好好总结一下session的使用方式以及其工作原理,今天在这里做一下梳理。这里的介绍主要是基于php语言,其他的语言操作可能会有差别,但基本的原理不变。在php中如何操作sessionsession_start(); //使用该函数打开session功能$_SESSION //使用预定义全局变量操作数据unset(
2013-08-01 10:21:18
983
原创 PHP 垃圾回收机制
每一种计算机语言都有自己的自动垃圾回收机制,让程序员不必过分关心程序内存分配,php也不例外,但是在面向对象编程(OOP)编程中,有些对象需要显式的销毁;防止程序执行内存溢出。 一、PHP 垃圾回收机制(Garbage Collector 简称GC) 在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁;这是PHP的GC垃圾处理机制,防止内存溢出。 当一
2013-08-01 10:15:17
673
原创 简述PHP运行机制
大家通过对PHP语言的学习,可以了解到,这是一款适合于WEB开发中的语言。我们可以利用功能强大的PHP语言来为自己实现许多功能。先看看下面PHP运行机制这个过程:1. 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的;2. PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);3. PH
2013-08-01 10:03:35
1005
原创 PHP底层的运行机制与原理
PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能。
2013-08-01 10:01:35
713
原创 Linux下cron的使用
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sb
2013-07-31 15:35:29
629
转载 php 操作数组 (合并,拆分,追加,查找,删除等)
1. 合并数组array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为:Php代码 1. array array_merge (array array1 array2…,arrayN) 这个函数将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作
2013-07-31 15:23:14
693
转载 InnoDB与MyISAM的六大区别
MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MYI (MYIndex)。 基于磁盘的资源是InnoDB表空间数
2013-07-26 09:38:14
594
转载 MyISAM 和 InnoDB 讲解
InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。 以下是一些细节和具体实现的差别:
2013-07-25 22:07:10
704
转载 php模块memcache和memcached区别分析
1.目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的。与之对应的带d的memcached是建立在libmemcached的基础上,所以相对来说,memcached版本的功能更全一些。 memcache:http://cn2.php.net/manual/en/book.memcache.php memcached:h
2013-07-25 22:04:19
733
转载 白话BigPipe
所谓BigPipe,指的是Facebook开发的用来改善客户端响应速度的技术。本质上讲,其实它并不是新事物,原理上等同于Yahoo在Best Practices for Speeding Up Your Web Site里提出的Flush the Buffer Early,不过BigPipe的实现更灵活,所以有必要了解一二。我们平常浏览网页时的体验通常是串行的:浏览器发起请求,
2013-07-22 13:13:57
899
转载 BigPipe学习研究
1. 技术背景 FaceBook页面加载技术试想这样一个场景,一个经常访问的网站,每次打开它的页面都要要花费6 秒;同时另外一个网站提供了相似的服务,但响应时间只需3 秒,那么你会如何选择呢?数据表明,如果用户打开一个网站,等待3~4 秒还没有任何反应,他们会变得急躁,焦虑,抱怨,甚至关闭网页并且不再访问,这是非常糟糕的情况。所以,网页加载的速度十分重要,尤其对于拥有遍布全球的5亿用户的F
2013-07-22 13:10:44
644
转载 [译]BigPipe:高性能的“流水线技术”网页
原文地址:http://www.facebook.com/note.php?note_id=389414033919译文地址:http://isd.tencent.com/?p=2419作者:蒋长浩Facebook的网站速度做为最关键的公司任务之一。在2009年,我们成功地实现了Facebook网站速度提升两倍 。而正是我们的工程师团队的几个关键的创新使它成为可能。在本文中,我将向
2013-07-22 13:09:24
849
转载 Payment Express 简述
paymentexpress.com 为 Direct Payment Solutions Ltd. 所有。所以网站总是到处引用DPS, 实为公司名称缩写。 总的来说DPS支付接口有两种方式: I. DPS Hosted 简单讲就是当在商家下订单支付时,跳转到DPS的网页,支付成功后返回商家网站,非常类似Paypal Standard支付方法。 对于此种方式,DPS提供了两种A
2013-06-03 22:57:34
1710
转载 Memcached 一致性hash原理
memcache 是一个分布式的缓存系统,但是本身没有提供集群功能,在大型应用的情况下容易成为瓶颈。但是客户端这个时候可以自由扩展,分两阶段实现。第一阶段:key 要先根据一定的算法映射到一台memcache服务器。第二阶段从服务器中取出缓存的值。但是有一个问题,比如其中一台服务器挂了,或者需要增加一台服务 的时候,这个时候第一阶段的算法就很重要了,怎样使得原来的数据尽可能的继续有效,减少扩展节点
2013-06-03 22:56:56
916
转载 动态变量和静态变量的区别,堆和栈的区别
动态变量和静态变量的区别:1、存储位置动态变量:存储在内存出栈数据区静态变量:存储在全局数据区(静态数据区)2、生命期动态变量:根据你定义的位置确定,比如你在一个函数中定义的,那么超出该函数范围变量将失效静态变量:程序结束时才释放3、作用域动态变量:同样的要根据你定义的位置才能确定,和第二点的一样静态变量:当前文件中有效堆和栈的区分:堆(Heap)栈(S
2013-06-03 22:55:46
919
转载 单例模式与静态变量在PHP中
在PHP中,没有普遍意义上的静态变量。与Java、C++不同,PHP中的静态变量的存活周期仅仅是每次PHP的会话周期,所以注定了不会有Java或者C++那种静态变量。所以,在PHP中,静态变量的存在意义仅仅是在某个结构体中(方法或者类)中传递一个变量,其作用域在此文件内。看个例子好了1234567891011
2013-06-03 22:54:41
836
转载 Php静态变量和方法
静态变量1.静态变量是只存在于作用域的变量,不过,在函数执行完成以后,这种变量的值不会丢失,也就是说,在下一次调用这个函数时,变量仍会记得原来的值2.将表达式计算出来的结果付给静态变量是不合法的。表达式是指自身的值会发生变化的任何语句,例如(1+1),$variable,anyfunc()都是表达式3.你也许会想,定义静态变量似乎并不是很有用,因为可以用全局变量轻松地获取同样的结果。然
2013-06-03 22:53:56
957
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人