
今天做项目时遇到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怎么在子类用父类的魔术方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)