2010-03-30 52 views
0

我目前正在研究一個腳本,我有以下情況。將類加載到函數中?

function somnicefunction() 
{ 
    require 'someexternalclass.php'; 
    $somevar = new SomeExternalClass(); 
} 

由於某種原因,上面的內容打破了該功能。我不知道爲什麼,我沒有在php.net上看到太多的文檔,加上谷歌沒有返回真正的結果。 有沒有人有任何想法?

+1

這會拋出什麼錯誤信息? – 2010-03-30 00:16:16

+0

沒有任何錯誤。但是,無論腳本的身體如何執行,它都無法運行。 – 2010-03-30 00:23:19

回答

0

先嚐試申報對象,然後將它作爲參數傳遞給函數:

require 'someexternalclass.php'; 
$somevar = new SomeExternalClass(); 
function somnicefunction(SomeExternalClass $somevar) 
{ 
    // Do function stuff 
} 
+0

這是一個wordpress安裝,我正在開發一個插件,所以我需要破解所有的關卡才能通過這個變量(我認爲這是你的想法) – 2010-03-30 00:24:23

2

如果您多次調用該函數,您可能會遇到錯誤,試圖包含相同的文件。

嘗試使用require_once()代替。除此之外,你的榜樣沒有什麼內在的「非法」。

+0

我沒有提到我使用require_once。 – 2010-03-30 00:24:44

+0

那麼,在PHP的眼中,你所做的一切都是錯誤的。沒有其他代碼,就不可能給你一個解決方案。 – 2010-03-30 12:26:33

1

你的代碼是完全有效的。我在localhost上測試過它,它工作得很好。我用下面的代碼段:

function.php

function loadClass() 
{ 
    include_once "include.php"; 
    new SomeExternalClass(); 
} 

loadClass(); 

include.php

class SomeExternalClass { 
    public function __construct() { 
     echo "loads..."; 
    } 
} 

你確定你沒有任何錯字嗎?如果您沒有收到任何錯誤,則可能表示您沒有在任何地方使用該功能。

相關問題