我目前正在研究一個腳本,我有以下情況。將類加載到函數中?
function somnicefunction()
{
require 'someexternalclass.php';
$somevar = new SomeExternalClass();
}
由於某種原因,上面的內容打破了該功能。我不知道爲什麼,我沒有在php.net上看到太多的文檔,加上谷歌沒有返回真正的結果。 有沒有人有任何想法?
我目前正在研究一個腳本,我有以下情況。將類加載到函數中?
function somnicefunction()
{
require 'someexternalclass.php';
$somevar = new SomeExternalClass();
}
由於某種原因,上面的內容打破了該功能。我不知道爲什麼,我沒有在php.net上看到太多的文檔,加上谷歌沒有返回真正的結果。 有沒有人有任何想法?
先嚐試申報對象,然後將它作爲參數傳遞給函數:
require 'someexternalclass.php';
$somevar = new SomeExternalClass();
function somnicefunction(SomeExternalClass $somevar)
{
// Do function stuff
}
這是一個wordpress安裝,我正在開發一個插件,所以我需要破解所有的關卡才能通過這個變量(我認爲這是你的想法) – 2010-03-30 00:24:23
如果您多次調用該函數,您可能會遇到錯誤,試圖包含相同的文件。
嘗試使用require_once()
代替。除此之外,你的榜樣沒有什麼內在的「非法」。
我沒有提到我使用require_once。 – 2010-03-30 00:24:44
那麼,在PHP的眼中,你所做的一切都是錯誤的。沒有其他代碼,就不可能給你一個解決方案。 – 2010-03-30 12:26:33
你的代碼是完全有效的。我在localhost上測試過它,它工作得很好。我用下面的代碼段:
function.php
function loadClass()
{
include_once "include.php";
new SomeExternalClass();
}
loadClass();
include.php
class SomeExternalClass {
public function __construct() {
echo "loads...";
}
}
你確定你沒有任何錯字嗎?如果您沒有收到任何錯誤,則可能表示您沒有在任何地方使用該功能。
這會拋出什麼錯誤信息? – 2010-03-30 00:16:16
沒有任何錯誤。但是,無論腳本的身體如何執行,它都無法運行。 – 2010-03-30 00:23:19