2014-06-24 45 views
0

叫我已經在我的網站這些錯誤:嚴格的標準:非靜態方法modJumiHelper :: getCodeWritten()不應該靜態

嚴格的標準:非靜態方法modJumiHelper :: getCodeWritten()不應該被稱爲靜態地在第17行的/home/kmxsiksf/www/modules/mod_jumi/mod_jumi.php

嚴格標準:非靜態方法modJumiHelper :: getStorageSource()不應該在/ home/kmxsiksf/www/modules中靜態調用第18行的/mod_jumi/mod_jumi.php

這裏是mod_jumi.php(第17行和第18行分別用$ code_written和$ storage_source)

defined('_JEXEC') or die('Restricted access'); 
if(!defined('DS')){ 
    define('DS',DIRECTORY_SEPARATOR); 
} 
// Include the functions only once 
require_once(dirname(__FILE__).DS.'helper.php'); 


$code_written = modJumiHelper::getCodeWritten($params); //code written or "" 
$storage_source = modJumiHelper::getStorageSource($params); //filepathname or record id or "" 

if(is_int($storage_source)) { //it is record id 
    $code_stored = modJumiHelper::getCodeStored($storage_source); //code or null(error] 
} 

require(JModuleHelper::getLayoutPath('mod_jumi')); 

我發現這個問題的功能轉變爲一個非靜態的,但因爲我不知道很多關於PHP,我無法找到一種方法,使他們的工作很多解決方案。

非常感謝您的幫助!

回答

1

此錯誤是由於函數getCodeWritten和getStorageSource不是靜態函數而引起的。

而不是被宣佈像這樣:

public static function getCodeWritten() 

他們被聲明如下:

public function getCodeWritten() 

被警告說, 「固定」,這可能會導致其他問題。您最好的選擇是聯繫創建擴展的人員。

+0

感謝您的幫助!你的意思是getCodeWritten和getStorageSource在另一個.php – Enora

+0

@Arone是聲明的。如果我是你,我會看看名爲modJumiHelper的類文件。 –

+0

非常感謝,它的工作! (對於另一個在/modules/mod_jumi/helper.php中的第14行和第18行替換),以及如果您有類似的注意事項:嚴格標準:只有變量應該通過引用分配...刪除所有這些「&」線。 – Enora

相關問題