`
bardo
  • 浏览: 381865 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11913
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10218
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9579
社区版块
存档分类
最新评论
文章列表
在http://bardo.iteye.com/blog/914110这篇文章中,我们已讲了 PHP memcached 的安装方法。 PHP memcached的Session的使用,有哪些问题,这里简述一下: memcached的session,第一大优点是比PHP session要高效,快速。其次是可以方便实现多主机session共享使用以下方式使用memcached的session:单一站点的服务器,可以在php.ini中使用:session.save_handler "memcached"session.save_path  "host1:11211,h ...
                  面对大型的开源程序,我们如果要在此基础上修改,二次开发,或者简单的读懂代码。那是非常有难度的。 非常好的是,PHPXref是一个相当好的工具,它能够使你快速读懂代码。这是因为,经过它处理后生成的文档中,你鼠标指针所到之处,它就会显示,这个函数在哪定义,哪些地方用到,包括是不是PHP函数,它都告诉你。对于变量,类也一样,并且,文件清单中,同时把文件中的注解也提取出来,让你一看就知此文件是做什么用的。                   当然,它也不是万能的,仍有一项不足,那就是,对于完全面向对象的程序,对象的流程,它是不能表示出来的。比不上ROSE的反向工程功能 ...
        所谓Cross domain PHP Sessions,即不限于同一域名,不限于同一服务器,不限于同一IP的多个网站共享Session。         这种情况之下的Session共享,是一种极端情况,但却经常遇到。这是因为,我们常常有多站点单点登录,或共用用户数据库。一次登录多站可访问的通行证模式,是普遍受欢迎的方式。         实现的方法如下:         1、首先,你要使用memcache,memcached保存session, 从而能够使得session数据能够保存到不同域名,不同IP的服务器上。关于这一点,与多服务器共享Session的方法完全一样。所以,这 ...
        Addendum PHP Reflection Annotations 是一个PHP的开源,它的网址在:  http://code.google.com/p/addendum/         Addendum PHP Reflection Annotations是什么?如果你会JAVA,那么,你肯定了解 JAVA Reflection Annotations。 对于不懂JAVA的人,需要 ...
UA:user-agent 这在PHP提供的服务器变量中就能得到。user-agent 识别的目的是什么? 1、是什么浏览器?这已不需要了。CSS的HACK可以帮助你按浏览器正确渲染。 2、浏览器类型:这是肯定要的,我们最想要的,就是了解它是PC机中的 ...
    有人认为,PHP是每次请求都要初始化资源,这个开销非常大。由此,PHP不适合使用开发框架。    对于PHP,确实没有类的持久化,使得每次请求都要初始化资源,但是,这并不是开销的主要问题所在。最主要的问题,是在 ...
 用缓存为网页加速,这是极妙的主意。并且现在有各种缓存可用。memcahce,memcached,apc,xcache,wincache,还有不依赖于扩展的secache. 然而,缓存中只能保存字串。这就需要将数组,对象进行序列化,或者转换成JSON。 也许你会说,简单 ...
 PHP数组,是相当快的,巧妙运用数组函数,可以省去很多FOR循环。并且能加快程序的速度。 基本的数组函数是如何使用,我们就不讲了,完全可以查文档。但是,PHP数组中的函数array_filter则是一个很慢的函数。 为什么会慢,想想便知。我们都清楚,FOR循环中执行正则表达式都是很慢的,何况FOR循环中执行一个你写的函数呢?更不用想,一个初学者写的函数了。 然而,象array_filter这样的算法,是很多场合要用到的。有没有办法加快呢?办法是有的,并且,很多场合是不需要使用array_filter的。 比如,我们用scandir获取了文件列表。如何按我们的要求过滤扩展名呢?如果用array_ ...
    State(状态):允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。    状态对于程序而言,实际上可以算是全局变量。但它是一些特定的类所用的参数。假如我们作为参数传入,则有一个 ...
三、行为型模式——调用行为的传递问题。 我们在前面已讨论了12种设计模式。其中涉及的是:变与不变,对变化如何处理,以及调用关系,对不可调用,如何方便实现成为可以调用。剩下的11个模式,都是与行为传递有关的, ...

PHP5的类型约束

    博客分类:
  • PHP
PHP中函数参数有类型约束。那就是,明确要求参数的类型。比如以下代码:     <?php //如下面的类 class MyClass { /** * 测试函数 * 第一个参数必须为类OtherClass的一个对象 */ public function test(OtherClass $otherclass) { echo $otherclass->var; } /** * 另一个测试函数 * 第一个参数必须为数组 */ p ...
二、结构型模式——类与方法的调用控制问题     Adapter(适配器):将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。        实现方式:创建一个 ...
6、具体设计模式讨论。 (说明,这一部分是本人在此网站(iteye.com)的博客文章《设计模式应用浅述》基础上修改的。其目的是使其更易于理解与掌握。)一、创建型模式——特别的变量问题     Factory Method(工厂方法):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。    什么是工厂?工厂是按订单生产不同的产品。当然,这些产品都是同一类的,或同一系列的。工厂方法就是指类中有一个成员函数,即方法,它是用来按你的指令创建你所需要的对象的。    实现方式:我们可以看出,其中,拥有工厂方法的类是核心代码,产品是相对 ...
5、其它面向对象的原则 CARP: The Composite/Aggregate Reuse Principle 合成聚合复用原则合成聚合复用原则的定义:在一个新对象中使用一些已有的对象,使之成为新对象的一部分。新的对象通过向这些对象的委派达到复用的目的。提出 ...
4、SOLID原则浅述 SRP:The Single Responsibility Principle   单一责任原则单一责任原则,要求,一个函数只完成一个功能,一个类,只实现一类具体的对象。这样说仍很抽象。但更具体一些,对于一个函数,应当是一个输入与输出单元 ...
Global site tag (gtag.js) - Google Analytics