Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    zend framework1.8 problemi con lo Zend_Loader

    ciao ho un problema con gli esercizi del libro sviluppare applicazioni 2.0 con php praticamente usando la versione 1.8 dello zend framework mi compare questo:"Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in..."
    questo è il pezzo di codice interessato ma non so come modificarlo non ho trovato una spiegazione di come modificarlo da nessuna parte spero qualcuno sappia aiutarmi grazie

    Codice PHP:
    require_once('Zend/Loader.php');    
    Zend_Loader::registerAutoload();
    // load the application configuration    
     
    $config = new Zend_Config_Ini('../settings.ini''development');     
    Zend_Registry::set('config'$config); 

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    ultimamente lavoro principalmente con lo Zend Framework.
    Con l'uscita della versione 1.8 ( tra l'altro oggi è uscita la versione 1.8.1 ) sono cambiate molte cose, soprattutto per quanto riguarda l'approccio iniziale.

    Infatti adesso è disponibile Zend_Tool, un componente che non fa nulla di per se all'interno della tua applicazione, ma serve per generare un progetto di base ZF.

    Ti ho parlato di questo perchè il tuo problema, come mi pare di aver capito, non riguarda solamente Zend_Loader, ma dell'applicazione in generale, sviluppata con le precedenti versioni.

    In ogni caso, a questo link trovi un tutorial scritto da me su come utilizzare Zend Tool e creare la base per un progetto basato su ZF1.8.

    Il progetto generato conterrà sia il lato 'pubblico' che 'privato', con la classe bootstrap vuota ed il file di configurazione application.ini con al suo interno le voci di base.

    Il mio consiglio è quindi prendere la tua attuale applicazione e portarla sulla nuova piattaforma, è stato il mio lavoro della settimana scorsa .

    Per l'autoload, dovrai modificare così il bootstrap:

    Codice PHP:
      class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
      
    {
        protected function 
    _initAutoloader()
        {
          
    $autoloader = new Zend_Application_Module_Autoloader(array(
            
    'namespace' => '',
            
    'basePath'  => APPLICATION_PATH,
          ));
          return 
    $autoloader;
        }
       } 
    Ciao

  3. #3

    Re: zend framework1.8 problemi con lo Zend_Loader

    Te lo dice lui stesso come correggere.

    Originariamente inviato da firefox81
    Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in..."
    In questi casi, il primo passo da fare è leggere la documentazione del componente citato.
    http://framework.zend.com/manual/en/...utoloader.html

    Nella documentazione sono anche presenti esempi su come utilizzare il componente.

  4. #4
    nel file di bootstrap devi semplicemente sostituire:

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

    con

    require_once 'Zend/Loader/Autoloader.php';
    Zend_Loader_Autoloader::getInstance();


  5. #5
    grazie a tutti per i consigli

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    Originariamente inviato da Gianni_T
    nel file di bootstrap devi semplicemente sostituire:

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

    con

    require_once 'Zend/Loader/Autoloader.php';
    Zend_Loader_Autoloader::getInstance();

    Ciao sto affrondando lo stesso problema. Passo dalla 1.6 alla 1.8
    La tua soluzione e' parziale cosi facendo l'auto load carica di default solo le classi che iniziano per Zend_ e ZendX_ perchè il valore di default.

    L'autoloader nuovo consente di caricare in automatico le classi fornendogli lo space name ... il nome iniziale della classe come ad esempio tutte le classi zend.
    Purtroppo questa finezza non e' stata implementata nel mio progetto e dovrei modificare i nomi di un sacco di classi :/

    La soluzione più veloce che ho trovato che però rimane un accrocchio che sarebbe meglio evitare se si hanno le classi con gli space name fatti bene e' la segue.

    Codice PHP:
    require_once 'Zend/Loader/Autoloader.php';
    $loader Zend_Loader_Autoloader::getInstance();
    $loader->registerNamespace(array('A','B','C','D','E','F','G','H','I','L','M','N','O','P','Q','R','S','T','U','V','Z')); 
    forse c'e' un metodo piu elegante se c'è e qualcuno puo fornirmelo ben venga altrimenti quando ho un po più di tempo mi studierò meglio lo zend loader.

    CIao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.