技术文章库 - 编程教程与技术分享平台
PHP 对象继承
简介继承是面向对象编程方法论中的一个重要原则。利用这一原则,可以定义两个类之间的关系。PHP在其对象模型中支持继承。PHP使用extends关键字来建立两个类之间的关系。语法classBextendsA其中A是基类(也称为父类),B称为子类或子类。子类继承父类的公共和受保护方法。子类可以重新定义或覆盖任何继承的方法。否则,继承的方法在与子类对象一起使用时,将保留其在父类中定义的
PHP 对象接口
简介接口是面向对象编程的一个重要特性,通过它,可以指定类需要实现的方法,而无需定义这些方法应该如何实现。PHP通过interface关键字支持接口。接口类似于类,但其方法没有定义主体。接口中的方法必须是公共的。实现这些方法的继承类必须使用implements关键字(而不是extends关键字)来定义,并且必须提供父接口中所有方法的实现。语法<?phpinterfacetest
PHP 对象迭代
简介从PHP5开始,可以迭代对象所有可见项的列表。迭代可以使用foreach循环以及iterator接口执行。PHP中还有一个IteratorAggregate接口可用于此目的使用foreach循环示例<?phpclassmyclass{private$var;protected$var1;public$x,$y,$z;publicfunctio
PHP 魔法方法
简介PHP中的魔法方法是用于执行特定任务的特殊方法。这些方法以双下划线(__)作为前缀命名。所有这些函数名都是保留的,除了相关的魔法功能外,不能用于任何其他用途。类中的魔法方法必须声明为public。这些方法充当拦截器,在满足特定条件时自动调用。PHP目前提供以下魔法方法__sleeppublic__sleep(void):array类中的serialize()方法会检查
PHP 对象和引用
简介在PHP中,对象默认通过引用传递。这里,引用是一个别名,允许两个不同的变量写入相同的值。对象变量不包含对象本身作为值。它只包含一个对象标识符,可以使用该标识符找到实际的对象。当对象通过参数传递、返回或赋值时,不同的变量不再是别名,而是持有标识符的副本,指向同一个对象。示例PHP有一个spl_object_hash()函数,它返回对象的唯一哈希ID。在下面的代码中,两个引用同一个对象
PHP 重载
简介PHP对重载的理解与其他面向对象语言(例如C++或Java)不同,后者指的是一个类可以多次使用同名方法,但参数和/或返回类型不同。而PHP中,动态创建属性和方法的特性被称为重载。PHP的魔术方法(方法名以双下划线开头)用于设置动态属性和方法。以下魔术方法用于重载属性−语法public__set(string$name,mixed$value):
PHP 作用域解析运算符 (::)
简介在PHP中,双冒号::被定义为作用域解析运算符。它用于访问在类级别定义的常量、属性和方法。在类定义之外引用这些内容时,需要使用类名和作用域解析运算符。该运算符也称为PaamayimNekudotayim,在希伯来语中意为双冒号。语法<?phpclassA{constPI=3.142;static$x=10;}echoA::PI;echoA::$x;$var=&
PHP 对象序列化
简介PHP中的serialze()函数可以获取任何对象以字节流形式表示的字符串。对象的所有属性变量都包含在字符串中,方法不会被保存。该字符串可以存储在任何文件中。要从字节流中检索对象,可以使用unserialize()函数。在调用unserialize()函数之前,必须先定义相应的类。示例首先,让我们序列化以下类的一个对象,并将字符串存储在文件中。<?phpclasstest
PHP 静态属性和方法
简介在PHP类中,使用static关键字声明的属性和方法无法通过->运算符在其对象中访问。实际上,对象无需访问类的任何实例。类中静态项的默认可见性为public静态属性要从类外部访问静态属性,我们需要使用作用域解析运算符(::)以及类名。取值为类名的字符串变量也可以提供给静态属性<?phpclasstestclass{static$name="test
PHP 后期静态绑定
简介PHP中的后期静态绑定特性用于在静态继承中引用被调用的类。调用静态方法时,类名会附加作用域解析运算符(::);而对于其他实例方法,我们则使用对象名称调用它们。static::不会使用定义方法的类进行解析,而是使用运行时信息进行计算。对当前类的静态引用将使用函数所属的类进行解析,而不是使用其定义位置进行解析。示例在下面的代码中,父类使用self::前缀调用静态方法。当使用子类调用相同的
PHP Traits
简介PHP不支持多重继承。traits特性在一定程度上克服了这一限制。它是一种代码重用的机制。trait的定义类似于类。但是,它不能直接实例化。相反,trait的功能是通过use关键字提供给类使用的。因此,类可以使用trait中定义的方法,甚至可以覆盖它们。这是对它可能继承的任何其他父类的补充。trait也类似于接口。区别在于接口不提供内部方法的定义,而必须通过实现类来实现。然而
PHP 可见性模式
简介在PHP中,可以使用class关键字创建用户定义的复合数据类型。类的新实例是一个对象。对象的特征与类的定义一致,可能包含属性、常量和方法成员。类成员的可访问性(也称为可见性)取决于其定义中附加的可见性前缀关键字。PHP有三个可见性关键字-public、private和protected。使用public关键字声明的类成员可以从任何地方访问。protected成员可以从其
PHP $_SERVER
简介$_SERVER是一个超全局变量,它包含有关HTTP标头、路径和脚本位置等信息。所有与服务器和执行环境相关的信息都包含在这个关联数组中。该数组中的大多数条目由Web服务器填充。PHP5.4.0之前的版本包含$HTTP_SERVER_VARS,其中包含相同的信息,但现已被删除。以下是该数组的一些主要成员PHP_SELF−存储当前正在执行的脚本的文件名。例如,本地服务
PHP 超全局变量
简介除了用户定义的变量外,PHP还在全局命名空间中填充了一些预定义变量,这些变量称为超全局变量。这些变量始终可以在任何函数或方法中访问,而无需指定global关键字。超级全局变量列表如下−$GLOBALS引用全局范围内的所有可用变量$_?SERVER服务器和执行环境信息$_?GETHTTPGET变量$_?POSTHTTPPOST变量$_?FILESHTTP文件上传变量$_
PHP 引用
简介在PHP中,引用允许使用不同的名称访问相同的变量内容。它们与C/C++中的指针不同,因为无法使用它们执行算术运算。在C/C++中,它们是实际的内存地址。相比之下,在PHP中,它们是符号表的别名。在PHP中,变量名和变量内容不同,因此相同的内容可以具有不同的名称。引用变量是通过在原始变量前添加&符号来创建的。因此$b=&$a表示$b是$a的引
PHP 引用传递
简介在PHP中,函数的参数可以按值传递或按引用传递。默认情况下,实际参数的值按值传递给形式参数,形式参数在函数内部成为局部变量。因此,修改这些变量不会改变实际参数的值。当参数按引用传递时,形式参数值的改变会反映在实际参数变量中,因为前者是对后者的引用。因此,按引用传递机制有助于间接操作全局空间中的数据。它还有助于克服函数只能返回一个变量的问题。按值传递在下面的示例中,两个变量被传递给swap(
PHP 按引用返回
简介在PHP中,函数也可以返回引用。这对于查找应将引用绑定到哪个变量非常有用。要定义返回引用的函数,请在其名称前添加&符号。示例在以下示例中,myfunction()定义为按引用返回。它包含一个静态变量,该变量的引用被返回并赋值给一个全局变量。局部静态变量的值也会改变其引用,并被赋值给外部变量。示例<?phpfunction&myfunction(){stati
PHP 引用识别
简介PHP中的许多语法结构都是通过引用机制实现的。如果在函数中取消设置对全局变量的引用,则全局命名空间中的相同变量不会被删除。示例<?php$var1='HelloWorld';functionmyfunction(){global$var1;$var2=&$var1;echo"$var1,$var2";$var2="Hell
PHP 取消引用
简介可以使用unset()函数解除内容和变量之间的绑定。unset()函数不会销毁内容,而只是将变量与内容解耦。示例<?php$a=10;$b=&$a;echo"beforeunsetting:",$a,"",$b,PHP_EOL;unset($b);echo"afterunsetting:"
PHP – 使用 mb_ereg_match() 匹配正则表达式
在PHP中,mb_ereg_match()函数用于将给定字符串与正则表达式模式进行匹配。此函数仅从字符串的开头进行匹配,无需匹配到字符串结尾。如果匹配成功,则返回true或1,否则返回False或0。语法boolmb_ereg_match(str$pattern,str$string,str$options)参数它接受以下三个参数−$pattern&m

