【php面向对象中一些类的代码实例汇总】教程文章相关的互联网学习教程文章

PHP面向对象-内置标准类和普通数据类型转为对象类型

内置标准类  PHP中,有很多“现成的类”,其中有一个被称为“内置标准类”。这个类“内部”可以认为什么也没有。class stdclass{ }<?php$obj1 = new stdclass(); var_dump($obj1);class A{}$obj2 = new A(); var_dump($obj2);?>  运行结果:object(stdClass)[1]object(A)[2]  可以看到和普通类没什么区别。  内置标准类的作用是,用于存储一些临时的简单数据,如:$obj1->pp1 = 1;$obj2->port = 3306;  也可以在类型转换...

PHP面向对象-类型约束的示例代码详解

什么是类型约束  就是要求某个变量只能使用(接受,存储)某种指定的数据类型;php属于”弱类型语言“,通常不支持类型约束;相应的,强类型语言,类型约束却是其“基本特征”。php中,只支持局部的部分类型约束  php中,只支持在函数(或方法)的形参上,设定类型的约束目标,形式如下:function 方法名( [要求使用的类型] $p1, [要求使用的类型] $p2, ......){//....}说明:定义一个函数(方法)时,一个形参,可以使用类型约...

PHP面向对象-__tostring()和__invoke()的代码实例详解

tostring()魔术方法  将一个对象当做一个字符串来使用时,会自动调用该方法,并且在该方法中,可以返回一定的字符串,以表明该对象转换为字符串之后的结果。该魔术方法比较常用。   注意:如果没有定义该方法,则对象无法当做字符串来使用!类里面未定义tostring()方法的例子:<?php ini_set(display_errors, 1); class A{public $name; public $age; public $sex; function construct($name, $age, $sex){$this->name...

PHP面向对象-对象串行化serialize(),__sleep(),__wakeup()的代码详解

有时候需要把一个对象在网络上传输,为了方便传输,可以把整个对象转化为二进制串,等到达另一端时,再还原为原来的对象,这个过程称之为串行化(也叫序列化)serialization, 就像我们现在想把一辆汽车通过轮船运到美国去,因为汽车的体积比较大,我们可以把汽车拆开成小的部件,然后我们把这些部件通过轮般运到美国去,到了美国再把这些部件组装回汽车。   通俗来说,序列化就是将一个变量所代表的“内存”数据,转换为“字符串”...

PHP面向对象-对象克隆clone和魔术方法__clone()的详解

1.对象克隆 clone  PHP4面向对象功能一个很大的缺点,是将对象视为另一种数据类型,这使得很多常见的OOP方法无法使用,如设计模式。这些方法依赖于将对象作为引用传递给其他类方法,而不是作为值传递,而按值传递却是PHP的默认做法。幸好,PHP5解决了这个问题,现在所有对象在默认情况下都被视为引用。但是,由于所有对象都被视为引用而不是值,所以现在复制对象更为困难。如果尝试复制一个引用的对象,这只会指向原对象的地址位...

PHP面向对象-实现自动加载类__autoload()的代码案例

在设计面向对象的程序开发时,通常为每个类的定义都单独建立一个PHP源文件。当你尝试使用一个未定义的类时,PHP会报一个致命错误。可以用include或require包含一个类所在的源文件,毕竟你知道要用到那个类。如果一个页面需要使用多个类,就不得不在脚本页面开头编写一个长长的包含文件的列表,将本页面需要的类全部包含进来。这样处理不仅繁琐,而且容易出错。   PHP提供了类的自动加载功能,这可以节省编程的时间。当你尝试使用...

PHP面向对象-对象的遍历的代码分享

对象的遍历和数组的遍历一样,对象的遍历指的是实例属性的遍历。    下面遍历出来的属性,是在该范围中的“可访问属性”(要考虑访问权限)。<?phpclass A{public $p1 = 1; protected $p2 = 2; private $p3 = 3; static $p4 = 4; }$obj1 = new A();foreach($obj1 as $key => $value){//$key表示对象的属性,$value是其对应的值echo "<br />属性$key :" . $value; }?>运行结果:属性p1 :1  可见只有public修饰的属...

PHP面向对象-子类扩展父类(子类重新载入父类)的示例代码分享

在PHP中,会遇到这样的情况,子类继承父类,但是又需要对父类的属性和方法进行一定的扩展,这时子类可以对属性和方法进行重写,覆盖与父类同名的属性和方法,但是如果父类的方法中的内容比较多,比如上百成千行代码,这时只需使用”父类类名::方法” 或“parent::方法“来调用父类中被覆盖的方法,有就是重新载入父类,然后再加上需要扩展的语句。 方法的重写<?phpclass Person{public $name; public function construct($n...

PHP面向对象-详细介绍重载(overloading)的示例代码

重载  PHP中的”重载”与其它绝大多数面向对象语言不同,只是他们都是用的相同的名词而已。传统的”重载”是用于提供多个同名的 类方法,但各方法的参数类型和个数不同。 PHP所提供的”重载”(overloading)是指动态地”创建”类属性和方法。当调用当前环境下未定义或不可见的类属性或方法时,重载方法会被调用。是通过魔术方法(magic methods)来实现的。   一般来说,把类中的成员属性都定义为private的,这更符合现实的逻辑...

PHP面向对象-详细介绍模拟一般面向对象语言中的方法重载(overload)

在一般的面向对象设计语言(如C++,Java)中的方法重载就是定义相同的方法名,通过“参数的个数”不同或“参数的类型”不同,来访问我们的相同方法名的不同方法。但是PHP 中,方法是不能重载的,因为PHP 是弱类型的语言,所以在方法的参数中本身就可以接收不同类型的数据,又因为PHP 的方法可以接收不定个数的参数,所以通过传递不同个数的参数调用不相同方法名的不同方法也是不成立的。所以在PHP 里面没有传统上的重载(overload)方...

PHP面向对象-构造方法和析构方法的代码案例分享【图】

构造方法和析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关。构造方法是对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因。而析构方法是对象在销毁之前最后一个被对象自动调用的方法,这也是我们在对象中使用析构方法的原因。所以通常使用构造方法完成一些对象的初始化工作,使用析构方法完成一些对象在销毁之前的清理工作。1.构造方法  在每个声明的类中都有一个呗称为构造方法的特...

php使用面向对象来连接mysql数据库的详情

本文主要介绍了php连接mysql数据库的方法步骤。具有很好的参考价值,下面跟着小编一起来看下吧连接数据库:使用面向对象的方法;1.造一个mysqli对象,造连接对象2.准备一条SQL语句3.执行SQL语句,如果是查询语句。成功返回结果及对象4.从结果集对象里找到数据;查询属性代码:<?php //造一个mysqli对象,造连接对象 $db=new MySQLi("localhost","root","12345678","heiheihei"); //括号里面填的是IP地址域名,用户名,密码,数据库的...

深入了解PHP面向对象、模式与实践-高级特性(一)

静态方法和属性我们不仅可以通过对象访问方法和属性,还可以通过类来访问它们。这样的方法和属性是“静态的”(static),必须用static关键字来声明。class StaticExample{ static public $aNum=0; static public function sayHello() { self::$aNum++; print "hello (".self::$aNum.")/n"; } } print StaticExample::$aNum;StaticExample::sayHello();静态方法是以类作为作用域的函数。静态方法不...

深入了解PHP面向对象、模式与实践-高级特性(二)

抽象类抽象类不能被直接实例化。抽象类只定义(或部分实现)子类需要的方法。子类可以继承它并且通过实现其中的抽象方法,使抽象类具体化。你可以用abstract关键字定义一个抽象类。大多数情况下,抽象类至少包含一个抽象方法。抽象方法用abstract关键字声明,其中不能有具体内容。abstract class ShopProductWriter{protected $products = array(); public function addProduct(ShopProduct $shopProduct){$this->products[] = $...

PHP内核-类和面向对象的代码详解

在最开始接触PHP的时候,都是面向过程的方法来自己做一些很简单的网站在玩,写PHP代码就是堆砌,拓展性与维护性太差改个逻辑极不方便。后来发现PHP是支持面向对象的,忽然觉得自己那是后还真是年轻,真是孤陋寡闻呀,毕竟PHP是用C来实现,也不足为奇。前言:从我们接触PHP开始,我们最先遇到的是函数:数组操作函数,字符串操作函数,文件操作函数等等。这些函数是我们使用PHP的基础,也是PHP自出生就支持的面向过程编程。面向过程...

实例 - 相关标签