2013-02-01 11 views
14

in PHP 5.3 o meno Sarà fornire un errore simile al seguente:PHP 5.2 Avviso: l'uso di indefinito __DIR__ costante - ha assunto '__DIR__

Notice: Use of undefined constant __DIR__ - assumed '__DIR__ 

È perché sto usando la costante magica __DIR__. C'è un'alternativa all'utilizzo di __DIR__ in 5.3 o meno ??

Ecco il codice che è la causa:

<?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); 
+2

Migliore idea: aggiornamento. PHP5.2 non viene più mantenuto. E presto o tardi e l'aggiornamento è comunque una buona idea;) – KingCrunch

+0

@KingCrunch true stavo pensando che dall'inizio; ma è come un problema di Internet Explorer 6. Le persone non vogliono arrendersi – chrisjlee

+1

IE6 non è supportato dalla stessa MS, sai? ;) PHP5.2 deve essere considerato non sicuro. Dall'altro lato 5.4 è fuori per un po 'ora e anche il 5.5 arriverà da qualche parte tra aprile e giugno. Secondo me non è utile dare a "questa gente" dei motivi per restare sulla 5.2 – KingCrunch

risposta

44

usare il vecchio trucco:

dirname(__FILE__) 

Ma, se possibile, l'aggiornamento ad una nuova versione di PHP.

+1

Questo è accettabile da usare anche dopo 5.3? – chrisjlee

+1

@chrisjlee Sì, produce lo stesso risultato – Tchoupi

+1

"accettabile", forse, ma si dovrebbe preferire "__DIR__" per la leggibilità. – KingCrunch

Problemi correlati