Domanda

Sto cercando di aggiornare il mio progetto attuale dall'1.7 all'1.8. Cosa devo cambiare in modo che non si rompa?

È stato utile?

Soluzione

la maggior parte delle funzionalità funzionerà comunque con il codice legacy. provalo nel tuo ambiente di test e leggi il registro delle modifiche di ZF. una cosa importante è che ora il caricatore funziona diversamente. soprattutto se stai usando il caricamento automatico.

Fino all'1.7

require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();

Dal 1.8

require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('Namespace_');

Altri suggerimenti

Risposta breve:
Esegui la tua suite di test e controlla i risultati;)

Risposta lunga:
Ricordo due punti in cui la compatibilità con le versioni precedenti era interrotta:

  1. Se il bootstrap non imposta correttamente Zend_Locale, ZF > = 1.7.2 genererà un'eccezione che non è in grado di rilevare le impostazioni internazionali del browser se si esegue uno script tramite console .

  2. Zend_View cambia in 1.7.5

In Zend Framework 1.8 è stato modificato il costruttore di Zend_Controller_Action.

Devo menzionarlo, perché ha rotto la mia applicazione fino a quando non ho scoperto questo errore dopo ore di debug (per qualche motivo xDebug né PHP stesso mi hanno mostrato che il costruttore nella mia classe Controller_Action personalizzata non era più lo stesso di Zend_Controller_Action ).

Quindi devi cambiare il tuo costruttore da

public function __construct(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response, $invokeArgs = array())

a

public function __construct(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response, array $invokeArgs = array())
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top