在PHP 5.3或更小,它會提供類似如下的錯誤:PHP 5.2注意:未定義的常量__DIR__用途 - 假設「__DIR__
Notice: Use of undefined constant __DIR__ - assumed '__DIR__
這是因爲我使用魔法不變__DIR__
。在5.3或更低版本中是否有替代使用__DIR__
?
下面是導致它的代碼:
<?php
/**
* Load template files
*
* $files Contains alphabetized list of files that will be required
*/
$files = array(
'elements.inc',
'form.inc',
'menu.inc',
'theme.inc',
);
function _zurb_foundation_load($files) {
$tp = drupal_get_path('theme', 'zurb_foundation');
$file = '';
// Workaround for magic constant; for now because of php 5.2 issue
// http://drupal.org/node/1899620#comment-6988766
if(!defined(__DIR__))define(__DIR__, dirname(__FILE__));
// Check file path and '.inc' extension
foreach($files as $file) {
$file_path = __DIR__ .'/inc/' . $file;
if (strpos($file,'.inc') > 0 && file_exists($file_path)) {
require_once($file_path);
}
}
}
_zurb_foundation_load($files);
更好的主意:更新。 PHP5.2不再被維護。而且遲早要更新是個好主意;) – KingCrunch
@KingCrunch真實的我在想,但它就像一個Internet Explorer 6的問題。人們不想放棄它 – chrisjlee
IE6不受MS本身支持,你知道嗎? ;)PHP5.2必須被視爲不安全。另一方面,5.4現在已經有一段時間了,甚至5.5將會在四月到六月之間。在我看來,給「這個人」的理由是無用的5.2 – KingCrunch