php如何获取父类下所有子类Id

php如何获取父类下所有子类Id,第1张

今天做项目时遇到php如何获取父类下所有子类Id??,把代码分享给大家。

 

复制代码代码如下:

function getChildrenIds ($sort_id)

   {

       $db = $this->loadDB();

       $ids = '';

       $sql = "SELECT  FROM t_dept WHERE `parent_id` = '{$sort_id}'";

       $query = $db->query($sql);

       $result = $query->result_array();

       if ($result)

       {

           foreach ($result as $key=>$val)

           {

               $ids = ','$val['id'];

               $ids = $this->getChildrenIds ($val['id']);

           }

       }

       return $ids;

}

self对应static$this是非static这两者总和相当于Java里面的thisparent相当于Java里面的super我问你

你要在子类中执行父类的构造器怎么执行TankMe

发表于

2009-9-9

16:19[i]self是这个类。this是这个类现在创建的对象。而不是单纯的只指静态非静态。self从理论上在php里是可以调用任何东西的。。。php6可以支持直接调用静态和非静态。因为他是和::符配合的。。。只要是这个类里面的任何成员和方法都能调用。。。你把php所有错误提示关闭。就可以执行。。。我记得我以前测试过一下的。。。php5貌似会抛出一个warring。。我忘记当时测试的结果了。但是从文档上看到得这理论是可行的

父类的魔术方法:

function __construct()

{

echo '我是父类的构造函数(魔术方法)';

}

function __unset()

{

echo '我是父类的销毁方法(魔术方法)';

}

子类调用

function index()

{

parent::__construct();

parent::__unset();

}

输出:

我是父类的构造函数(魔术方法)

我是父类的销毁方法(魔术方法)

<php

class Perpon {

private $Pid;

private $Pname;

private $Page;

private $Psex;

private $Pbirthday;

public function __construct($Pid,$Pname,$Page,$Psex,$Pbirthday)//PHP5中间的构造函数

{ $this->Pid=$Pid;

$this->Pname=$Pname;

$this->Page=$Page;

$this->Pbirthday=$Pbirthday;

echo "创建了一个对象""<br>";

}

public function __set($name,$value) {

$this->$name=$value;

}

function show(){

echo ("我的姓名:$this->Pname,我的年龄:$this->Page,我的性别是:$this->Psex,我的生日是$this->Pbirthday <br>"); }

public function __get($name) { return $name; }

public function dining() { echo "$this->Pname 正在吃饭 <br>"; }

public function shuohua() { echo "$this->Pname喜欢说话 <br>"; }

public function gaosu() { echo "我的姓名叫做$this->Pname <br>"; }

public function IT() { echo $this->Pname"的工作是IT行业 <br>"; }

}

class Student extends Perpon {

public function __construct()//PHP5中间的构造函数

{ echo "子类的构造函数"; }

public function IT()//PHP5中间的构造函数

{ parent::IT();

echo $this->Pname"的工作是学生<br>";

}

}

$perpon=new Perpon('1','zhangsan','18','男','9月23'); $perpon->show(); $perpon->dining(); $perpon->shuohua(); $perpon->gaosu(); $perpon->IT();

echo "<hr>";

$student=new Student(); $student->IT();>

调不到的原因是:

private $Pname;

记住:private只能自己调用,其他是不行的,这一点你自己记住即可。

以上就是关于php如何获取父类下所有子类Id全部的内容,包括:php如何获取父类下所有子类Id、php中self的真正含义是什么为什么可以调用父类 的成员和方法 - PHP进阶讨论、PHP怎么在子类用父类的魔术方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9657185.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存