返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >怎么在php中使用链式
  • 121
分享到

怎么在php中使用链式

2023-06-15 05:06:11 121人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关怎么在PHP中使用链式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。链式写法在很多面向对象的编程语言都存在,个人简单理解就是链表,确实和链表的使用很相识。this

这篇文章将为大家详细讲解有关怎么在PHP中使用链式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

链式写法在很多面向对象编程语言都存在,个人简单理解就是链表,确实和链表的使用很相识。this指针是链式操作的基础。
this指针在不同的编程语言中的功能差不多,具体的小细节不一样。但是有一个基础就是指向对象/函数/类本身。基于这个基础就可以实现链式写法。
php为例。
在php类中this指针($this)指向类/对象本身,它就像一个绳子把类/对象和类的属性、函数连接起来。并可以通过它来调用对应的相应的属性和函数(方法)。如下图所示:
怎么在php中使用链式

php程序的demo:

<?phpclass Tree{    private  $id ;    private  $name;    private  $age;        public function  _construct()    {        //构造函数    }        public function  init( $arr = array() )    {        //初始化函数        $arrs = array();        //设置默认参数        $arrs = [            'id'=> 1,            'name'=> 'user',            'age' => 18        ];        if( !(is_array($arr)) )        {        //如果传进来的数据不是数组则默认是id            $this->id = intval( $arr );        }        $arrs = array_merge( $arrs , $arr );//合并数组        //给类的属性赋值        $this->id = $arrs['id'];        $this->name = $arrs['name'];        $this->age = $arrs['age'];    }        public function  setID(  $data = 0 )    {        //判断是不是数字        $this->id =is_numeric( $data )? $data : intval($data)  ;//判断是否是数字,是赋值,否则转为数字在赋值        return $this;//返回this指针    }        public function  setName(  $data = 'user' )    {        //判断是不是数字        $this->name =is_string( $data )? $data : strval($data)  ;//判断是否是字符串,是赋值,否则转为字符串在赋值        return $this;//返回this指针    }        public function  setAge(  $data = 18 )    {        //判断是不是数字        $this->age =is_numeric( $data )? $data : intval($data)  ;//判断是否是数字,是赋值,否则转为数字在赋值        return $this;//返回this指针    }};$tree = new Tree();$array = array();$array['id'] = 10;$array['name'] = 'admin';$array['age'] = 20;$tree->init($array);var_dump($tree);//打印结果$tree->setAge()->setID()->setName();//链式写法var_dump($tree);//在打印看链式写法是否有效?>

输出结果:

怎么在php中使用链式

这上面这个demo中,用php类建了一棵树tree,有id和name和age。通过初始化函数init去初始化属性。然后通过链式写法来给属性赋值,最后打印结果验证是否成功。
函数/方法能实现链式写法的前提是返回值是this指针(php中return $this,js中return this,其他语言也类似)。只有这样才能实现调用这个函数后返回this指针,冲逻辑来说,此时返回的是类本身,然后接着继续调用函数,又返回this指针,如此循环。
当然各个编程语言有不同的地方,比如c++是->,php->,而js或者jq则是. ;调用的形式不同但是原理一样。

一点,有this指针,返回this指针,然后就能实现链式写法并能循环使用->fun1(return this)->fun2(return this )->fun3(return this)…… 。

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。

关于怎么在php中使用链式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么在php中使用链式

本文链接: https://lsjlt.com/news/277722.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在php中使用链式
    这篇文章将为大家详细讲解有关怎么在php中使用链式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。链式写法在很多面向对象的编程语言都存在,个人简单理解就是链表,确实和链表的使用很相识。this...
    99+
    2023-06-15
  • 责任链模式在SpringAOP中怎么用
    小编给大家分享一下责任链模式在SpringAOP中怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  当一个对象在一条链上被多个拦截器拦截处理时,我们这样的设...
    99+
    2023-06-02
  • PHP中如何使用责任链模式?
    责任链模式允许将处理请求的对象串联成链,请求沿着链条传递,直到有对象能处理它,其好处包括:模块化:可轻松添加和删除处理程序。灵活:可方便地更改处理顺序。可扩展性:可随时添加新处理程序,无...
    99+
    2024-05-22
    php 责任链模式
  • Python链式映射怎么使用
    本文小编为大家详细介绍“Python链式映射怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python链式映射怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。认识ChainMapPython的所提...
    99+
    2023-07-06
  • php中链接符是什么及怎么使用
    这篇文章主要讲解了“php中链接符是什么及怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中链接符是什么及怎么使用”吧!在php中,链接符指的是链接字符串的符号,作用是拼接字符,...
    99+
    2023-06-30
  • 在 PHP 中使用 CSS 样式
    本文将介绍三种方法,如何在 PHP 中使用 CSS 样式。 第一种方法是通过仅包含 PHP 的文件,第二种是将 PHP 嵌入到 HTML+CSS 文件中。 然后第三种方法将在 PHP echo 语句...
    99+
    2024-02-27
  • trait怎么在php中使用
    本篇文章给大家分享的是有关trait怎么在php中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP...
    99+
    2023-06-14
  • preg_match怎么在PHP中使用
    这篇文章给大家介绍preg_match怎么在PHP中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。语法:preg_match ( string $pattern , ...
    99+
    2023-06-14
  • switch在php中怎么使用
    这篇文章主要讲解了“switch在php中怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“switch在php中怎么使用”吧!在php中,switch语句用于根据多个不同条件执行不同动...
    99+
    2023-06-22
  • fetch在php中怎么使用
    今天小编给大家分享一下fetch在php中怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。用法:1、“mysql_fe...
    99+
    2023-06-30
  • 怎么在css中设置超链接样式
    这篇文章将为大家详细讲解有关怎么在css中设置超链接样式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。伪类用于定义元素的特殊状态。例如,它可以用于:设置鼠标悬停在元素上时的样式为已访问和未访...
    99+
    2023-06-15
  • 怎么使用PHP实现长链接
    这篇文章主要介绍了怎么使用PHP实现长链接的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用PHP实现长链接文章都会有所收获,下面我们一起来看看吧。长链接(Long Connection),也称为持久连接(...
    99+
    2023-07-05
  • 责任链模式如何在Java项目中使用
    责任链模式如何在Java项目中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。责任链模式主要包括以下几个角色1、处理者:处理者是一个接口,负责规定具体处理者处...
    99+
    2023-05-31
    java 责任链模式 ava
  • 如何在PHP中使用MVC模式?
    随着软件开发需求的不断增加,软件开发模式也有了很大的改变。其中,MVC模式是一个独特的模式,它将应用程序划分为模型、视图和控制器三个组件,以提高开发和维护的可靠性和可维护性。 在本文中,我们将讨论MVC模式的概念并介绍如何在PHP中使用MV...
    99+
    2023-05-14
    PHP MVC模式 使用技巧
  • 怎么在html5中利用外链式实现加减乘除
    这篇文章将为大家详细讲解有关怎么在html5中利用外链式实现加减乘除,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。<!DOCTYPE html><html>...
    99+
    2023-06-09
  • 在 PHP 中实现链表
    本文将介绍 PHP 中链表的实现。使用 SplDoublyLinkedList 类在 PHP 中实现链表链表是在许多编程语言中实现的常见数据结构。它是线性的,包含相互链接的节点。每个节点都包含数据和到相邻节...
    99+
    2024-02-27
  • 怎么在excel中使用格式刷
    在Excel中使用格式刷,可以将一个单元格的样式应用到其他单元格或区域。下面是使用格式刷的步骤:1. 打开Excel并选择一个单元格...
    99+
    2023-10-07
    excel
  • mvp模式怎么在Android中使用
    这篇文章将为大家详细讲解有关mvp模式怎么在Android中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Control...
    99+
    2023-05-31
    android mvp模式 roi
  • array_unique函数怎么在php中使用
    array_unique函数作用:php中array_unique函数的作用是删除数组中的重复值,并返回结果数组。array_unique函数语法:array_unique(array);参数:array:需要删除重复值的数组。array_...
    99+
    2024-04-02
  • array_fill函数怎么在php中使用
    array_fill函数怎么在php中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。说明array_fill()函数用于使用给定索引,从给定索引中填充数组中...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作