PHP 一个类里能直接调用类外部的函数吗?
PHP 一个类里能直接调用类外部的函数吗?
PHP 一个类里能直接调用类外部的函数吗?
PHP 一个类里能直接调用类外部的函数吗?
PHP 一个类里能直接调用类外部的函数吗?
在实验的时候发现是可以的,代码如下
<?php
function func(){ echo "I'm a external function <br />"; }
class Test {
function doExternalFunction($_externalFunc, $_param){
func();
$_externalFunc($_param);
}
}
function sayHello($_param){
echo "hello, $_param";
};
$name = "HanMeiMei";
$test = new Test();
$test->doExternalFunction("sayHello", $name);
?>
在调用Test类实例的doExternalFunction()方法时,外部的func()方法是可以运行的,因为它是全局的。但是建议不要这样使用,
因为Test::doExternalFunction()对func()函数有依赖,当项目比较大时,而func()和Test类没有同时引入到一个文件中来,会引
起错误。比较理想的情况是,使用回调函数的形式来调用外部函数,就像执行在Test::doExternalFunction()执行sayHello()一样
是可以的。
外部函数对于类是全局的。
我好奇的是 為什麼要在類裏調用外部的函數,如果這個函數非常重要 你就放到類裏去好了。而不是在類裏調用外部的函數...哪怕用基類來繼承呢...
可以,全局的,但不建议,重要的话可以放在父类或者其他静态方法,
$link = memcache_init(); //初始化sae_memcache
像sae中就直接调用了。