【php基础知识:类与对象(3)构造函数和析构函数_PHP教程】教程文章相关的互联网学习教程文章

PHP类与对象,构造函数和析构函数,加上this绑定详解

一、类与对象 不仅在PHP中,在所有面向对象程序设计语言中,类都是抽象的,对象是类的一个实例。所有抽象就是:”抽取出相像的”。 在生活中,人是一个类,抽出相像的是:人都有五官,头发,手脚,会吃饭睡觉等等。 看一下PHP中的类与对象代码的实现 构造函数和析构函数 构造函数是在new一个对象的时候执行的方法,析构函数是对象被销毁的时候执行的方法。 对象的销毁可以显式销毁或者等代码页面执行完毕后自动销毁。...

php在一个类中new自己代表什么意思?是构造函数

一个类在他类方法new了本身 代表什么? 是构造函数?? 回复讨论(解决方案) new 类名 用于创建一个这个类的实例,这在哪里都一样,并没有使用上的差异 你的 DB 类声明了私有的构造函数,所以这个 DB 类不可能在外部被实例化 所以要写在内部 你把编辑器设置的花里胡哨的,不费眼吗? 这样说构造函数也返回过去了! 面对这比面对一片白一片黑的好多了 这个是桌面背...

发布两个不用递归的树形数组构造函数,该如何处理

发布两个不用递归的树形数组构造函数发布两个不用递归的树形数组构造函数PHP code /*** 创建父节点树形数组* 参数* $ar 数组,邻接列表方式组织的数据* $id 数组中作为主键的下标或关联键名* $pid 数组中作为父键的下标或关联键名* 返回 多维数组**/ function find_parent($ar, $id=id, $pid=pid) { foreach($ar as $v) $t[$v[$id]] = $v;foreach ($t as $k => $item){if( $item[$pid] ){if( ! isset($t[$item[$pid]][parent][$ite...

PHP构造函数解决思路

PHP构造函数现在在写一个类,遇到这样一个问题,如果在构造函数中发现该对象不符合构造条件,如何让对象构造停止,并返回false通知外围对象。。。在线等。。。------解决方案--------------------请码点马贴上来啊 ------解决方案--------------------你可能需要重载 new,不过 php 并不支持重载

关于xuzuning版主发的非递归树形数组构造函数有关问题

关于xuzuning版主发的非递归树形数组构造函数问题之前自己使用过循环或者递归构建树型数组。今天搜索的时候看到之前xuzuning版主发的非递归树型数组构建函数。PHP code/*** 创建子节点树形数组* 参数* $ar 数组,邻接列表方式组织的数据* $id 数组中作为主键的下标或关联键名* $pid 数组中作为父键的下标或关联键名* 返回 多维数组**/ function find_child($ar, $id=id, $pid=pid) {foreach($ar as $v) $t[$v[$id]] = $v;foreach (...

php中类的构造函数参数有关问题

php中类的构造函数参数问题详细代码如下:final class Registry { private $data = array(); public function get($key) { return $this->data[$key]; } public function set($key, $value) { $this->data[$key] = $value; }}abstract class Controller { protected $registry; public function __construct($registry) { $this->registry = $registry; }}class Cont...

怎么在类的构造函数中终止类的运行

如何在类的构造函数中终止类的运行比如一个class class car { public $name; function __construct() { if ($name= end ) //这里要设置终止类的执行 } function showname() { echo name is .$this-> name; } } 然后 $aaa= new car(); $aaa-> name= test1 ; $aaa-> showname();...

PHP中SESSION传对象时,该对象居然不能有构造函数

PHP中SESSION传对象时,该对象竟然不能有构造函数下午想把一个CLASS整理一下,精炼一点,用了一个__construct()构造函数,过了几个小时重新登录的时候怎么也登录不了,查了半天程序,原来是php中session传class对象时,该对象不能有构造函数,真是搞死我了。不过这是为什么呢,难道是有构造函数的对象不能够序列化吗?

构造函数中的摘引

构造函数中的引用刚开始学php 在php手册上看到 构造函数中的引用这一节 下面是我按照手册上写的 但是测试的结果 和手册上说的却不一样 实在是看不出来是哪里出错了 class Foo{function Foo($name){global $globalref;$globalref[] = &$this;$this->setName($name);$this->echoName();}function echoName(){echo '',$this->name;}function setName($name){$this->name = $name;} } ?>$bar1 = new Foo('set the name is php');$bar1-...

构造函数有关问题?

构造函数问题???大概情况是这样的,B类方法里面大量用到A类的对象实例,于是我在B类构造函数里面直接实例化A类class A{ public $mes="ok"; }class B{public function __construct(){ //下面很多方法都要用到A的对象,于是我在B类构造方法里面直接对象一个,方便下面调用 $a=new A(); } //下面B的成员方法开始调用A对象的方法 public function test(){ $mes=$a->mes; //代码运行到这里提示$a不知道是个什么东西,即没有实例化,...

怎么通过变量的形式向类中的构造函数传值

如何通过变量的形式向类中的构造函数传值代码如下,因为构造函数中需要传入多个值,而每次传入的值个数可能不固定,如果没有传入,就使用构造甘薯中默认的值,所以这里我采用数组传入,在下面我已经通过implode将数组切成字符串并用","连接了,为什么传进去后 都转入了$host的变量下,结果是 host:192.168.1.1,1212 port:80也就是说post传到了$host里而port还是用的类中默认的class test{public function __construct($host="12...

codeigniter中,Model构造函数能不能带参数,如果能如何调用

codeigniter中,Model构造函数能不能带参数,如果能怎么调用?如题codeigniter中,Model构造函数能不能带参数,如果能怎么调用?如:class Test extends CI_Model{ function __construct($id){ $q = $this->db->query("Select * From test Where id='".$id."'")->row_array(); $this->name = $q["name"]; }}调用时,怎么将id传进model并且直接初始化$this->load->model("Test", "mytest");------解决思路----------------------看...

PHP类继承,相关构造函数

PHP类继承,有关构造函数header("Content-Type:text/html;charset=utf-8");class Class1 extends Class2{ public static $a = Class1;}class Class2 extends Class3{ public static $a = Class2; public function __construct(){ echo Class2; }}class Class3{ public static $a = Class3; public function __construct(){ echo Class3; }}$obj = new Class1();为什么这段代码出错这里面构造函...

PHP中__construct(),类的构造函数详解

PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。__construct(),类的构造函数php中构造方法是对象创建完成后第一个被对象自动调用的方法。在每个类中都有一个构造方法,如果没有显示地声明它,那么类中都会默认存在一个没有参数且内容为空的构造方法。1、 构造方法的作用通常构造方法被用来执行一些有用的初始化任务,如对成员属性在创建对象时赋予初始值。2、 构造方法的在类...

ThinkPHP中__initialize()和类的构造函数__construct()用法分析_php实例

本文实例分析了ThinkPHP中的__initialize()和类的构造函数__construct()。分享给大家供大家参考。具体分析如下: thinkphp中的__construct是不可以随便用的,因为你的模块类继承上级类,上级类有定义好的; 1、__initialize()不是php类中的函数,php类的构造函数只有__construct(). 2、类的初始化:子类如果有自己的构造函数(__construct()),则调用自己的进行初始化,如果没有,则调用父类的构造函数进行自己的初始化。 3、当子类和...

构造函数 - 相关标签
析构函数 - 相关标签