① 父类如何获得子类的类名 - 技术问答
..单纯的直接获取。父类无法读取/设置子类的任何东西(因为父类不知道谁继承了他。囧。)yafeikf 发表于 2009-7-23 23:42[i][/url][/b]我的意思是 我现在有一个Model类??一个SubModel类我在SubModel类中调用 find方法, 该方法重Model类中继承过来的那么调用find方法时, 不传任何参数, 我怎么查询Sub表呢?
② php类继承派生
你的$name $sex $age 这三个属性都是私有的,而在子类student中是无法继承私有的属性的,所以即使你在子类中用extends继承了父类,也无法把 $name $sex $age 继承过来,所以你实例化student类的时候,这三个自然就没有赋值。所以就是空了。。。http://cn.php.net/manual/zh/keyword.extends.php 这是官网的教程,感觉还不错。。你要多看手册和官网,很不错。很专业。。
③ php写函数根据子类(id)递归查找顶级父类(id)返回父类名字(表结构:idnamepid)
这个问题很简单!你肯定得是两张表吧一张是table1(idnamepid)一张是table2(pidname)多表联查:selecttable2.nameasp_name,pidasp_.pid=table2.pidwhereid='输入你的子类ID'就可以查询了,望采纳
④ php 知道父类id查找所有子类id,怎么写。
楼主,可以参考这个文档http://www.doc88.com/p-989614539176.html里面有php递归函数遍历所有子分类id
⑤ php怎么实现一张表中子类ID归于父类ID
先查出父类,也就是说先把SupMoleId里面值为-1的按升序全部select出来,再用foreach或者while查询子类SupMoleId=筛选出来的父类MoleId就可以了。
代码如下:
$sql_f="SELECT*FROMtmole_confWHERESupMoleId=-1ORDERBYMoleIdASC";
$result_f=mysql_query($sql_f);
while($row=mysql_fetch_array($result_f)){
$f_id=$row['MoleId'];
echo$row['MoleName']."<br/>";
$sql_c="SELECT*FROMtmole_confWHERESupMoleId=".$id;
$result_c=mysql_query($sql_c);
$arr_c=mysql_fetch_array($result_c);
foreach($arr_cas$res){
echo"---".$res['MoleName']."<br/>";
}
}
⑥ php父类如何调用子类的静态方法或变量
<?php
classA{
staticpublic$m=1;
staticpublicfunctionm(){
echostatic::$m,'<br/>';
}
staticpublicfunctionn(){
static::n();
}
}
classBextendsA{
staticpublic$m=111;
staticpublicfunctionm(){
parent::m();
}
staticpublicfunctionn(){
echoparent::$m,'<br/>';
}
}
B::m();
B::n();
⑦ php写函数 根据子类(id)递归查找顶级父类(id) 返回父类名字 (表结构:id name pid)
你肯定得是两张表吧 一张是 table1 (id name pid ) 一张是 table 2(pid name)
多表联查:select table2.name as p_name , pid as p_id from table1 right join table2 on table1.pid=table2.pid where id=' 输入你的子类ID'
就可以查询了 ,望采纳
⑧ PHP中如何获得当前类的名称,而实例化后获取子类的名称
php 4.3以后新增了一个魔术常量__CLASS__,用来获得当前class名称。但是在下面的代码中,却不work。class A {
function showclass() {
echo __CLASS__;
}
}
class B extends A {}
A::showclass();
B::showclass(); 这段代码会打出两个A,而不是预想中的AB。下面这段代码,利用debug_backtrace来获得当前class名,可惜只能在php4上面work,到了php5以上,测试结果全部都是AA-___-class A {
function showclass() {
$backtrace = debug_backtrace();
echo $backtrace[0]['class'];
}
}
class B extends A {} 补充一个可以在php4/php5下work的代码class A {
function showclass() {
$backtrace = debug_backtrace();
echo ((int)PHP_VERSION> 4) ?
get_class($backtrace[0]['object']) : $backtrace[0]['class'];
}
}
class B extends A {}
⑨ PHP获取类名的一个问题(基类获取子类名)
这样吗?
<?
class A{
function __construct(){
echo 'child class name is:'.$this->getClassname();
}
function getClassname(){
return $this->name;
}
}
class B extends A{
protected $name = 'B';
}
$obj = new B();
?>
⑩ php 如何在父类访问子类的属性
可以
用$this就可以了。
静态的属性直接用类名访问