在实验的时候发现是可以的,代码如下
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了德清免费建站欢迎大家使用!
?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()一样
file_get_contents或者curl都可以
接收到数据后,可以使用php函数json_decode()把json转换成数组或对象格式
你好,有两种方式可以解决问题。
1,将$m设置为超级全局变量..........****这种方法不推荐使用****
$GLOBALS['m']="mmmmmmm";//将m设置为超级全局变量
$a=$GLOBALS['m'];//在类的方法体中将m的值赋给a
2,将m的值作为参数传给link 方法
function link($par){//设置形参
$a=$par;//赋值
}
link($m);//在调用link方法时,将$m传给方法体
如有其它问题可Q22940449
不行的,没有权限
还不如用下面的方法:
直接配置到本地?
1.php里面的的内容可以echo出来,不过要做好安全认证,然后就可以读取了
看样子你是windows平台的web服务器,关键是你对服务器有多少控制力。
如果你完全可以控制服务器,并且就是要用这种不安全的操作,那么php配置中不要禁用exec/system/passthru 这些函数,如果不需要test.exe的返回结果,那就用exec,否则用passthrr
如果你完全可以控制服务器,打算使用标准扩展方式,那么应该把你的代码做成dll,然后在php配置中加载dll。这个网上别人写过的资料有,就是你需要php的源码,然后自己搞定。没办法,开源的东西就是如此。这应该是推荐的做法。
你的描述感觉服务器在你控制之下,否则就不可能用exe文件,只能把你的exe的功能用php实现,或者用文件之类作为媒介传递。
很不习惯PHP中的变量作用域,PHP中函数变量和全局是完全隔绝的,也就是无法相互访问。
比如下面这样:
复制代码代码如下:
$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
echo($test);
}$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
echo($test);
}
如果,你想在函数内部访问外部变量,你需要这样:
复制代码代码如下:
$test = 123;
abc(); //输出123
function abc(){
global $test;
echo($test);
}$test = 123;
abc(); //输出123
function abc(){
global $test;
echo($test);
}
也就是说,你使用全局变量就可以在函数内调用外部定义过的变量