📄 test_script.php
字号:
<pre>
<?php
include "classes.inc"; //包含定义类的文件
/***************************************
function: 输出一个对象的所有属性及对应值
$param: $obj 类的一个对象
***************************************/
function print_vars($obj) {
$arr = get_object_vars($obj); //取得$obj的所有属性并保存到数组$arr中
while (list($prop, $val) = each($arr)) //逐个输出$arr数组的值
echo "\t$prop = $val\n";
}
/***************************************
function: 输出一个对象的所有方法
$param: $obj 类的一个对象
***************************************/
function print_methods($obj) {
$arr = get_class_methods(get_class($obj)); //取得$obj对象的所有方法并保存到数组
//$arr中
foreach ($arr as $method) //逐个输出对象的方法
echo "\tfunction $method()\n";
}
/**************************************************
function: 判断一个对象所属的类是否为某一个类的子类
$param: $obj 类的一个对象
$param: $class 类的名称
***************************************/
function class_parentage($obj, $class) {
global $$obj;
if (is_subclass_of($$obj, $class)) //如果$obj所属的类是$class的子类
{
echo "Object $obj belongs to class ".get_class($$obj);
echo " a subclass of $class\n";
} else //如果不是
{
echo "Object $obj does not belong to a subclass of $class\n";
}
}
//初始化两个类的对象
$veggie = new Vegetable(true,"blue");
$leafy = new Spinach();
// 输出两个对象的信息
echo "veggie: CLASS ".get_class($veggie)."\n";
echo "leafy: CLASS ".get_class($leafy);
echo ", PARENT ".get_parent_class($leafy)."\n";
// 输出$veggie的所有属性
echo "\nveggie: Properties\n";
print_vars($veggie);
// 输出$leafy的方法
echo "\nleafy: Methods\n";
print_methods($leafy);
echo "\nParentage:\n";
class_parentage("leafy", "Spinach");
class_parentage("leafy", "Vegetable");
?>
</pre>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -