`

php中的方法链

    博客分类:
  • PHP
阅读更多
在如zend,cakephp等不少框架中,会看到如下面的类的调用方式,如
$obj->foo()->bar()->anotherMethod(); 
这个其实是利用了PHP中的方法链的调用方法,下面看个例子就明白了:
class Person  
{  
    private $name;  
    private $age;  
      
    public function setName($Name)  
    {  
        $this->name = $Name;  
    }  
      
    public function setAge($Age)  
    {  
        $this->age = $Age;  
    }  
      
    public function findMe()  
    {  
echo "My name is ".$this->name." and I am ".$this->age. " years old.";  
    }  


正常方式的调用:
$myself = new Person();  
$myself->setName('Arvind Bhardwaj');  
$myself->setAge('22');  
$myself->findMe(); 

用方法链的话:
class Person  
{  
    private $name;  
    private $age;  
      
    public function setName($Name)  
    {  
        $this->name = $Name;  
return $this;//Returns object of 'this' i.e Person class  
    }  
      
    public function setAge($Age)  
    {  
        $this->age = $Age;  
return $this;//Again returns object of 'this' i.e Person class  
    }  
      
    public function findMe()  
    {  
echo "My name is ".$this->name." and I am ".$this->age. " years old.";  
    }  

调用时就可以:
$myself = new Person();  
$myself->setName('Arvind Bhardwaj')->setAge('22')->findMe(); 


1
2
分享到:
评论

相关推荐

    PHP中其实也可以用方法链

    在PHP编程语言中,"方法链"是一种设计模式,它允许连续调用对象的方法,使得代码更加简洁且可读性更强。标题所提及的“PHP中其实也可以用方法链”表明了PHP支持这种编程风格,尽管它不像某些其他语言(如Java、...

    PHP命令链模式

    本文将详细介绍PHP中的命令链模式。 #### 二、命令链模式简介 命令链模式(Chain of Responsibility Pattern)属于行为型模式之一,它提供了一种方法来传递请求。在这种模式中,多个处理对象被链接在一起形成一条...

    PHP生成迅雷、快车、QQ旋风下载链接的方法代码

    PHP生成迅雷、快车、QQ旋风下载链接的方法代码PHP生成迅雷、快车、QQ旋风下载链接的方法代码

    PHP数据库链接类

    【PHP数据库链接类】是PHP开发中一个重要的概念,它允许程序员通过编程方式与各种数据库进行交互,如MySQL、PostgreSQL、SQLite等。在PHP中,数据库连接类通常被用来封装数据库操作,提供统一的接口,使得代码更易于...

    php视频播放隐藏地址+防盗链简单示例.rar

    本示例通过"php视频播放隐藏地址+防盗链简单示例.rar"提供的文件,我们可以学习如何使用PHP来实现视频播放的安全策略,包括隐藏视频的真实地址以及防止非法盗链。下面将详细解释这个过程。 首先,我们要理解为什么...

    采集破解防盗链图片显示的方法

    在提供的压缩包中,`getimg.php`是一个关键文件,它可能是用来处理防盗链问题的核心代码。这个PHP脚本可能包含以下功能: 1. 检查`Referer`字段:首先,脚本会检查HTTP请求中的`Referer`字段,如果该字段为空或者...

    PHP生成带自定义链接的二维码

    在PHP开发中,生成二维码是一种常见的需求,例如用于创建快速扫描的链接,或者在网站上提供一键分享功能。本文将详细介绍如何使用提供的PHP类库来生成带自定义链接的二维码。 首先,我们要介绍的是`PHPQRcode`这个...

    wordpress的固定链接修改静态:去index.php的方法404.php的制作

    wordpress的固定链接修改静态:去index.php的方法404.php的制作,这个永久链接修改太麻烦了,我终于找到方法,请参考www.vip.13shou.com的链接,上面只剩下:分类目录+文章序号了,为了这个代码,我花了2小时,现在...

    PHP模拟baidu蜘蛛抓取网站链接

    在这个场景中,我们关注的是如何使用PHP来模拟百度蜘蛛的行为,抓取指定网站的链接,并将这些链接保存到TXT文本中。这一过程涉及到多个PHP编程和网络爬虫的相关知识点。 首先,我们需要了解PHP的基础语法和网络请求...

    php获取URL中带#号等特殊符号参数的解决方法

    使用这种方法,即使URL参数值中包含如井号(#)这样的特殊符号,我们也能够正确地获取完整的值。 最后,需要提醒的是,虽然escape函数能够解决特殊符号带来的问题,但自ECMAScript 5起,escape函数已被废弃,现代...

    PHP防盗链的基本思想 防盗链的设置方法

    另一种方法是在服务器配置文件中设置防盗链规则。例如,可以通过设置apache服务器的.htaccess文件来实现。在此配置中,可以设置一个允许访问资源的白名单(okaysites),以及一个错误页面地址(defaulturl)。服务器...

    php当访问你不想让他看的URL网址时,就返回个404,即禁止访问某些PHP页面的方法.zip

    在PHP开发中,有时我们需要对特定的URL进行访问限制,以保护网站的安全性和隐私。当用户尝试访问我们不希望公开的页面时,我们通常会返回一个404 Not Found错误,提示用户请求的资源不存在。以下是一些实现这一功能...

    php适用于各种数据库链接类.zip

    在PHP编程中,数据库连接是不可或缺的部分,尤其是在构建动态网站时。标题提到的"php适用于各种数据库链接类.zip"提供了一个通用的解决方案,允许开发者轻松地与多种类型的数据库进行交互,如MySQL、PostgreSQL、...

    php匹配字符中链接地址的方法

    本文实例讲述了php匹配字符中链接地址的方法。分享给大家供大家参考。具体如下: 判断一个字符串是否含有超级链接,代码如下: 复制代码 代码如下:$str=”ssdsf<a>sdf</a>sdfss”; if(preg_match(“/]*>|<//[^a]*a...

    无视图片防盗链php单文件.zip

    需要注意的是,这种防盗链破解方法可能引发版权问题和法律风险,因为它可能被用于非法获取和展示他人的图片资源。在使用类似技术时,应确保遵循合法、合规的原则,尊重他人的知识产权。 总结:这个压缩包提供的PHP...

    php连接oracle数据库的方法(测试成功)

    解决方法是将php/ext目录下的php_oci8.dll文件拷贝到system32目录下,如果问题依旧,尝试将Oracle Instant Client安装目录下/product/10.2.0/db_2/BIN目录中的oci.dll文件也复制到system32目录。 2. 如果遇到...

    php简单防盗链实现方法

    PHP简单防盗链实现方法的知识点主要包括以下几个方面: 1. PHP服务器端预定义变量的使用: 在PHP中,$_SERVER是一个包含了诸如头信息(header)、路径(path)和脚本位置(script locations)等信息的数组,是PHP服务器...

    PHP生成WORD文件,带连接

    在IT行业中,PHP是一种广泛使用的服务器端脚本语言,尤其在网页开发中有着重要的地位。当我们需要在PHP中生成带有链接的Word文档时,这通常涉及到处理Microsoft Office Open XML(OOXML)格式,也就是.docx文件。这...

Global site tag (gtag.js) - Google Analytics