重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
在實驗的時候發現是可以的,代碼如下
網站建設哪家好,找成都創新互聯公司!專注于網頁設計、網站建設、微信開發、成都小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了德清免費建站歡迎大家使用!
?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);
}
也就是說,你使用全局變量就可以在函數內調用外部定義過的變量