我include了一个文件,里面已经包含了一个对象$obj,现在要为这个对象增加一个方法,可行吗?比如在a.php文件中代码是这样:class P
{
function sub($a, $b)
{
return $a-$b;
}
}$obj = new P();在b.php文件中是这样,
include("a.php");要为$obj对象增加一个加法功能,以便在b.php中进行加法运算,如:
$sum = $obj->add(3,67);
但是不能对a.php中的类P进行修改,有什么办法吗?
{
function sub($a, $b)
{
return $a-$b;
}
}$obj = new P();在b.php文件中是这样,
include("a.php");要为$obj对象增加一个加法功能,以便在b.php中进行加法运算,如:
$sum = $obj->add(3,67);
但是不能对a.php中的类P进行修改,有什么办法吗?
解决方案 »
- fetch_array函数的问题
- 寻求一个比较复杂的图片滚动
- 请问怎么用正则取出HouseNO的值啊、
- 请教一个类似coolcode插件
- 关于PHP操作ORACLE数据库的问题,希望大家帮帮忙
- php连接mysql出错 Table 'test.user' doesn't exist
- 求一个替换的正则
- 请问这个页面能得几分?6分及格 10分满分。
- 大家来帮看一个这个网页http://www.searchfans.info/search/abs/1-1.html都不是*.PHP的文件它到低是怎么运行的呢,真是想不明白~
- 哪位有关于PHPLIB的教程???
- $id = "#@id"里面的#@是什么意思?
- memcache一个问题
include("a.php");
class B extends P
{
function add($a, $b)
{
return $a+$b;
}
}
$obj = new B();
$sum = $obj->add(3,67);
{
}
报语法错误,而且也不能对文件a.php进行修改。其实是使用adodb时没有GetList功能,我想为adodb增加一个GetList功能,可以在adodb源码中加代码实现,只是不想对adodb进行任何修改,因为以后可能要用adodb新版本,修改源代码后每次升级都要再改源代码。
class P
{
function sub($a, $b)
{
return $a-$b;
}
}
$obj = new P;$cls = get_class($obj);$temp = <<< TPL
class FixedClass extends $cls {
function add(\$a, \$b)
{
return \$a+\$b;
}
}
TPL;
eval("$temp");$p = new FixedClass;print_r(get_class_methods($p));
class Example {
function foo() {
echo "foo!\n";
}
}// create an Example object
$e = new Example();// Add a new public method
classkit_method_add(
get_class($e);,
'add',
'$num1, $num2',
'return $num1 + $num2;',
CLASSKIT_ACC_PUBLIC
);// add 12 + 4
echo $e->add(12, 4);需要安装相关的classkit pecl扩展