I assume you have properly installed and configured Zend Server CE from the repository.

First of all you need to install automake:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install automake

Install Xdebug with PECL as root:

# pecl install xdebug

Note: if you don’t have PECL in your path you can prepend the absolute path before the command

# /usr/local/zend/bin/pecl install xdebug

Now you must edit php.ini file.

sudo nano /usr/local/zend/etc/php.ini

Add these lines at the end of file:

; Xdebug
zend_extension = /usr/local/zend/lib/php_extensions/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

Note: Xdebug is incompatible with theZend Debugger extension. To disable this component you can log into Zend Server control page at https://localhost:10082 and navigate to tab Server Setup > Components then turn off Zend Debugger. Remember to click the Restart PHP button to apply the changes.

Links:

Se vogliamo iniziare a conoscere il fantastico mondo di Zend Framework sarà necessario creare un ambiente di sviluppo adatto alle nostre esigenze. In questa guida vedremo come configurare la nostra distribuzione Ubuntu per poter lavorare in locale con tutti gli strumenti necessari.

Lo scopo di questo tutorial è quello di ottenere un sistema di sviluppo per Zend Framework

Configurazione del sistema operativo

Quello che noi vogliamo ottenere è un server LAMP configurato ah hoc per le nostre applicazioni web. Per prima cosa installiamo MySQL:

sudo apt-get install mysql-server mysql-client

Se vogliamo rendere accessibile il server MySQL dall’esterno dobbiamo modificare il file /etc/mysql/my.conf

sudo nano /etc/mysql/my.conf

e commentare la linea

#bind 127.0.0.1

Questa configurazione del sistema utilizzerà Zend Server CE che comprende la propria versione di PHP e le librerie vere e proprie di Zend Framework. Fortunatamente Zend ha messo ha disposizione i repository contenenti tutti i pacchetti per le varie distribuzioni di Linux tra cui Debian/Ubuntu. Seguiamo quindi le indicazioni fornite aggiungiamo il nostro repository al file /etc/apt/source.list.

deb http://repos.zend.com/zend-server/deb server non-free

Read the rest of this entry

, , , , ,

La gestione di un menu e delle relative pagine è molto semplice grazie alla classe Zend Navigation.
Il manuale di Zend Framework spiega molto bene come utilizzare questo componente. In breve il principio di funzionamento consiste nel creare oggetti pagina (Zend_Navigation_Page) che a loro volta possono contenere altre pagine. Questa struttura dati verrà poi data in pasto alla classe Zend_Navigation che si occuperà di mettere a disposizione tutti i metodi necessari per la gestione del menu.

Possiamo creare un metodo privato all’interno del nostro Bootstrap per inizializzare il menu e renderlo disponibile agli helper nella view.

protected function _initNavigation()
    {
        $this->bootstrap('layout');
        $layout = $this->getResource('layout');
        $view = $layout->getView();
 
        // create pages
        $pages = array(
                array(
                        'label'         => 'Home',
                        'module'        => 'default',
                        'controller'    => 'index',
                        'action'        => 'index',
                        'order'         => -100 // first page
                ),
                array(
                        'label'         => 'Posts',
                        'module'        => 'default',
                        'controller'    => 'posts',
                        'action'        => 'index',
                        'visible'       => true,
                        'pages'         => array(
                                array(
                                        'label'         => 'Add',
                                        'module'        => 'default',
                                        'controller'    => 'posts',
                                        'action'        => 'add'
                                )
                        )
                ),
                array(
                        'label'      => 'Administration',
                        'module'     => 'admin',
                        'controller' => 'index',
                        'action'     => 'index',
                        'resource'   => 'mvc:admin', // resource
                )
        );
 
        // create container from array
        $navigation = new Zend_Navigation($pages);
        Zend_Registry::set('Zend_Navigation', $navigation);
        $view->navigation($navigation);
    }
, ,