SlideShare a Scribd company logo
Introduzione agli eZ
Components
Gaetano Giunta
PHP Day 2008
Rimini, 24/5/2008
www.ez.no
Agenda
Introduzione
Architettura / design degli eZ Components
Funzionalità delle ultime release
Esempi di utilizzo
Domande / altro
eZ Systems
Società creatrice di eZ Publish e degli eZ Components
Fondata in Norvegia nel 1999
85 Dipendenti - 23 nazionalità
HQ a Skien / Norvegia, cinque uffici regionali
Nordics : Oslo – Copenhagen -Skien
Central and eastern Europe : Dortmund
Western Europe : Paris – Lyon – Bruxelles
Nothern America : Vancouver - Chicago
A breve ... London & Tokyo
100% Open Source
100% PHP
eZ Components – di cosa si tratta?
« Una piattaforma enterprise ready di componenti php general
purpose »
cioè
Non è un framework
... ma un insieme di componenti debolmente accoppiati. Si
possono usare insieme o singolarmente
Non è dedicata esclusivamente allo sviluppo web
... ma soprattutto allo sviluppo web
Disponibile con licenza New BSD e con supporto eZ Systems
Obiettivi della libreria
Costruire una piattaforma solida che semplifichi lo sviluppo
di applicazioni PHP 5 permettendo allo sviluppatore di non
“reinventare la ruota” ogni volta
API semplice e consistente, design OO « pulito »
Non forzare una struttura obbligata: non è un framework
Mantenere a lungo la compatibilità binaria e delle API
Mantenere la stabilità e limitare le regressioni
100% Open Source, con chiara attribuzione dei diritti di PI
Sviluppata, manutenuta e supportata da eZ Systems
Metodologia di sviluppo
Pieno utilizzo delle librerie e funzionalità disponibili da
PHP 5.1 (versione minima supportata: 5.1.6, a volte +)
Discussione e documentazione di tutte le API prima della
loro implementazione
Utilizzo pervasivo di unit testing – scrittura dei test
PRIMA del codice
Documentazione sia inline (phpdoc à gogo) che offline
(tutorials, reference, guida di installazione). La
documentazione si scrive durante lo sviluppo, non dopo
Architettura: naming delle classi
Utilizzazione di un prefisso, a causa della mancanza di
namespacing (in attesa di PHP 5.3): ezcXXX
Leggibili: meglio nomi lunghi ma parlanti che criptici
Talvolta « aggiustati » per una migliore leggibilità
eg: ezcMailSmtpTransport vs. EzcMailSMTPTransport
ezcTestSuite vs. PHPUnit2_Framework_TestSuite
...e molte altre regole su
http://ezcomponents.org/contributing/coding_standards.html
Architettura: dipendenze
Meno ce n'è, meglio è...
... evitando però la duplicazione del codice
solo dove necessario
Componenti separati
che le implementano
Schema generale
Le classi sono
raggruppate in
Packages
Roadmap
Release 2008.1 (expected: Giugno 2008)
Nuovi componenti:
Document – conversione tra differenti formati di dati
ExtendedReflection
Feed
Search – front-end per Solr e altri motori di ricerca
Ultime novità
2008.1 alpha1
Nuovo: Cache gerarchica multilivello
PersistentObject supporto per più datatypes
Nuovo componente: Search
Migliorie a: Archive, Authentication, Configuration,
ConsoleTools, Database, DatabaseSchema, EventLog,
Graph, Mail, Tree e Workflow
2008.1 alpha2
Nuovo componente: Document
Migliorie a: Base, EventLog, Search e Userinput
2008.1 beta: a partire dal 27 maggio
Requisiti di sistema
PHP versione 5.1.6 (per Tree e Webdav PHP 5.2.1)
Alcune estensioni php sono necessarie per alcuni componenti,
oppure ne aumentano le capacità
es: Archive necessita di zlib (presente nell'installazione
standard di PHP) e bz2, opzionalmente può utilizzare
« posix » per la gestione dei permessi dei file
Elenco esaustivo: su
http://ezcomponents.org/overview/requirements.html
(c'è anche un quick reference su come compilare le estensioni
mancanti)
Ambiente di sviluppo: suggerimenti
Sempre sviluppare con display_errors = On, log_errors = On,
error_reporting = E_ALL
Dove si trova il log degli errori di PHP? E del webserver?
XDebug - l'amico del PHP OOP (e non solo):
stack traces completi
Debugging step-by-step (con IDE adeguati)
Analisi della code coverage (con tool di visualizzazione)
Profiling (con kcachegrind/wincachegrind)
Ambiente di sviluppo: altri suggerimenti
● Imprescindibile per lo sviluppo web: Firebug
● altre estensioni Firefox utili: « Web developer »,
« YSlow », « LiveHTTPHeaders », « IETab »,
« Console2 », « Selenium IDE »
● Per gli sviluppatori windows: UNXUTILS
● In produzione:
● Sempre utilizzare una opcode cache (APC, Eaccelerator,
Xcache, Zend)
● Utili nel troubleshooting: Phpinfo, server-status e
server-info
Installazione 1: via PEAR
1. Avere una installazione di PHP 5.1 e PEAR funzionante
2. Aggiungere il canale components.ez.no all'installer PEAR
pear channel-discover components.ez.no
3. Scaricare effettivamente i componenti
pear install -a ezc/eZComponents
Per aggiornare una installazione esistente:
pear upgrade ezc/eZComponents
pear help <nomecomando> è vostro amico!
Installazione 2: via SVN
Per chi è interessato allo sviluppo della libreria o ha bisogno
di una patch appena rilasciata
1. Avere una installazione di PHP 5.1 e un client SVN
2. Creare una directory dove installare i componenti e ivi
svn co http://svn.ez.no/svn/ezcomponents/trunk
3. Scaricare lo script che imposta l'ambiente di sviluppo
svn co http://svn.ez.no/svn/ezcomponents/scripts
./scripts/setup-env.sh (o scriptssetup-env.bat)
E' ovviamente possibile fare un checkout limitato di solo
qualche componente – attenzione alle dipendenze!
Installazione 3: old school (a.k.a. "a mano")
1. Scaricare e decomprimere la tarball
wget
http://ezcomponents.org/files/downloads/ezcomponents-2007
tar -xjf ezcomponents-2007.2.1.tar.bz2
3. Impostare correttamente l'Include Path (manca il 2!)
Configurazione
Include path: settato in automatico da PEAR, altrimenti
va messa la directory radice in cui si è scaricato il software
Autoload: in automatico tutte le classi degli
eZComponents vengono caricate da ezcBase
require_once "Base/base.php";
function __autoload( $className )
{
ezcBase::autoload( $className );
}
NB: per installazioni via SVN o tarball
require_once "Base/src/base.php";
E ora passiamo al codice...
Domande?
Grazie dell'attenzione!
Gaetano Giunta
Senior consultant
eZ Systems Western Europe
26 rue de la république
69002 Lyon
tel : +33 (0)4.78.37.01.56
email : gg@ez.no
http://ezcomponents.org
http://ez.no/community/forums/ez_components
http://lists.ez.no/mailman/listinfo/components

More Related Content

Similar to php day 2008 - Introduzione agli ez components

Da DotNet a DotNetCore
Da DotNet a DotNetCoreDa DotNet a DotNetCore
Da DotNet a DotNetCore
Raffaele Rialdi
 
Php for ASP.NET Developers
Php for ASP.NET DevelopersPhp for ASP.NET Developers
Php for ASP.NET Developers
Emanuele Bartolesi
 
Corso linux base
Corso linux baseCorso linux base
Corso linux base
Beniamino Ferrari
 
Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.
Filippo Matteo Riggio
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
Dominopoint - Italian Lotus User Group
 
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSMAU
 
Node.js - Server Side Javascript
Node.js - Server Side JavascriptNode.js - Server Side Javascript
Node.js - Server Side Javascript
Matteo Napolitano
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
Vincenzo Paolo Fraddosio
 
Grasso Frameworks Ajax
Grasso Frameworks AjaxGrasso Frameworks Ajax
Sistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente LinuxSistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente Linux
Truelite
 
Infrastructure as Data
Infrastructure as DataInfrastructure as Data
Infrastructure as Data
Francesco Collova'
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
Felice Pescatore
 
Conferenza Pymaemo
Conferenza PymaemoConferenza Pymaemo
Conferenza Pymaemo
Andrea Grandi
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazione
Daniele Costarella
 
phpday 2006 - SEA case study
phpday 2006 - SEA case studyphpday 2006 - SEA case study
phpday 2006 - SEA case study
Gaetano Giunta
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecmedoardo fraioli
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMI
NaLUG
 
Da 0 all'open per PA e PMI
Da 0 all'open per PA e PMIDa 0 all'open per PA e PMI
Da 0 all'open per PA e PMI
Francesco Taurino
 
Introduzione a .Net Core
Introduzione a .Net CoreIntroduzione a .Net Core
Introduzione a .Net Core
Antonio Di Motta
 

Similar to php day 2008 - Introduzione agli ez components (20)

Da DotNet a DotNetCore
Da DotNet a DotNetCoreDa DotNet a DotNetCore
Da DotNet a DotNetCore
 
Php for ASP.NET Developers
Php for ASP.NET DevelopersPhp for ASP.NET Developers
Php for ASP.NET Developers
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
Corso linux base
Corso linux baseCorso linux base
Corso linux base
 
Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del cero
 
Node.js - Server Side Javascript
Node.js - Server Side JavascriptNode.js - Server Side Javascript
Node.js - Server Side Javascript
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
 
Grasso Frameworks Ajax
Grasso Frameworks AjaxGrasso Frameworks Ajax
Grasso Frameworks Ajax
 
Sistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente LinuxSistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente Linux
 
Infrastructure as Data
Infrastructure as DataInfrastructure as Data
Infrastructure as Data
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
 
Conferenza Pymaemo
Conferenza PymaemoConferenza Pymaemo
Conferenza Pymaemo
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazione
 
phpday 2006 - SEA case study
phpday 2006 - SEA case studyphpday 2006 - SEA case study
phpday 2006 - SEA case study
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecm
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMI
 
Da 0 all'open per PA e PMI
Da 0 all'open per PA e PMIDa 0 all'open per PA e PMI
Da 0 all'open per PA e PMI
 
Introduzione a .Net Core
Introduzione a .Net CoreIntroduzione a .Net Core
Introduzione a .Net Core
 

More from Gaetano Giunta

phpday 2006 - WS in PHP
phpday 2006 - WS in PHPphpday 2006 - WS in PHP
phpday 2006 - WS in PHP
Gaetano Giunta
 
Powerful Automation Made Simple
Powerful Automation Made SimplePowerful Automation Made Simple
Powerful Automation Made Simple
Gaetano Giunta
 
Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish Database
Gaetano Giunta
 
Symfony vs. Message Brokers
Symfony  vs.  Message BrokersSymfony  vs.  Message Brokers
Symfony vs. Message Brokers
Gaetano Giunta
 
Designing a Docker Stack for Symfony apps: lessons learned
Designing a Docker Stack  for Symfony apps: lessons learnedDesigning a Docker Stack  for Symfony apps: lessons learned
Designing a Docker Stack for Symfony apps: lessons learned
Gaetano Giunta
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
Rabbits, indians and... Symfony meets queueing brokers
Rabbits, indians and...  Symfony meets queueing brokersRabbits, indians and...  Symfony meets queueing brokers
Rabbits, indians and... Symfony meets queueing brokers
Gaetano Giunta
 
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studySymfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Gaetano Giunta
 
Making Symfony Services async with RabbitMq (and more Symfony)
Making Symfony Services async with RabbitMq (and more Symfony)Making Symfony Services async with RabbitMq (and more Symfony)
Making Symfony Services async with RabbitMq (and more Symfony)
Gaetano Giunta
 
EzPerformancelogger & Graphite
EzPerformancelogger & GraphiteEzPerformancelogger & Graphite
EzPerformancelogger & Graphite
Gaetano Giunta
 
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Gaetano Giunta
 
eZPublish meets Simfony2 - phpDay2013
eZPublish meets Simfony2  - phpDay2013eZPublish meets Simfony2  - phpDay2013
eZPublish meets Simfony2 - phpDay2013
Gaetano Giunta
 
Ez performance measurement
Ez performance measurementEz performance measurement
Ez performance measurement
Gaetano Giunta
 
Ez Content Staging for the rest of us
Ez Content Staging for the rest of usEz Content Staging for the rest of us
Ez Content Staging for the rest of us
Gaetano Giunta
 
An eZ Publish Craftsman's toolchest
An eZ Publish Craftsman's toolchestAn eZ Publish Craftsman's toolchest
An eZ Publish Craftsman's toolchest
Gaetano Giunta
 

More from Gaetano Giunta (15)

phpday 2006 - WS in PHP
phpday 2006 - WS in PHPphpday 2006 - WS in PHP
phpday 2006 - WS in PHP
 
Powerful Automation Made Simple
Powerful Automation Made SimplePowerful Automation Made Simple
Powerful Automation Made Simple
 
Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish Database
 
Symfony vs. Message Brokers
Symfony  vs.  Message BrokersSymfony  vs.  Message Brokers
Symfony vs. Message Brokers
 
Designing a Docker Stack for Symfony apps: lessons learned
Designing a Docker Stack  for Symfony apps: lessons learnedDesigning a Docker Stack  for Symfony apps: lessons learned
Designing a Docker Stack for Symfony apps: lessons learned
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
 
Rabbits, indians and... Symfony meets queueing brokers
Rabbits, indians and...  Symfony meets queueing brokersRabbits, indians and...  Symfony meets queueing brokers
Rabbits, indians and... Symfony meets queueing brokers
 
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studySymfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case study
 
Making Symfony Services async with RabbitMq (and more Symfony)
Making Symfony Services async with RabbitMq (and more Symfony)Making Symfony Services async with RabbitMq (and more Symfony)
Making Symfony Services async with RabbitMq (and more Symfony)
 
EzPerformancelogger & Graphite
EzPerformancelogger & GraphiteEzPerformancelogger & Graphite
EzPerformancelogger & Graphite
 
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
 
eZPublish meets Simfony2 - phpDay2013
eZPublish meets Simfony2  - phpDay2013eZPublish meets Simfony2  - phpDay2013
eZPublish meets Simfony2 - phpDay2013
 
Ez performance measurement
Ez performance measurementEz performance measurement
Ez performance measurement
 
Ez Content Staging for the rest of us
Ez Content Staging for the rest of usEz Content Staging for the rest of us
Ez Content Staging for the rest of us
 
An eZ Publish Craftsman's toolchest
An eZ Publish Craftsman's toolchestAn eZ Publish Craftsman's toolchest
An eZ Publish Craftsman's toolchest
 

php day 2008 - Introduzione agli ez components

  • 1. Introduzione agli eZ Components Gaetano Giunta PHP Day 2008 Rimini, 24/5/2008 www.ez.no
  • 2. Agenda Introduzione Architettura / design degli eZ Components Funzionalità delle ultime release Esempi di utilizzo Domande / altro
  • 3. eZ Systems Società creatrice di eZ Publish e degli eZ Components Fondata in Norvegia nel 1999 85 Dipendenti - 23 nazionalità HQ a Skien / Norvegia, cinque uffici regionali Nordics : Oslo – Copenhagen -Skien Central and eastern Europe : Dortmund Western Europe : Paris – Lyon – Bruxelles Nothern America : Vancouver - Chicago A breve ... London & Tokyo 100% Open Source 100% PHP
  • 4. eZ Components – di cosa si tratta? « Una piattaforma enterprise ready di componenti php general purpose » cioè Non è un framework ... ma un insieme di componenti debolmente accoppiati. Si possono usare insieme o singolarmente Non è dedicata esclusivamente allo sviluppo web ... ma soprattutto allo sviluppo web Disponibile con licenza New BSD e con supporto eZ Systems
  • 5. Obiettivi della libreria Costruire una piattaforma solida che semplifichi lo sviluppo di applicazioni PHP 5 permettendo allo sviluppatore di non “reinventare la ruota” ogni volta API semplice e consistente, design OO « pulito » Non forzare una struttura obbligata: non è un framework Mantenere a lungo la compatibilità binaria e delle API Mantenere la stabilità e limitare le regressioni 100% Open Source, con chiara attribuzione dei diritti di PI Sviluppata, manutenuta e supportata da eZ Systems
  • 6. Metodologia di sviluppo Pieno utilizzo delle librerie e funzionalità disponibili da PHP 5.1 (versione minima supportata: 5.1.6, a volte +) Discussione e documentazione di tutte le API prima della loro implementazione Utilizzo pervasivo di unit testing – scrittura dei test PRIMA del codice Documentazione sia inline (phpdoc à gogo) che offline (tutorials, reference, guida di installazione). La documentazione si scrive durante lo sviluppo, non dopo
  • 7. Architettura: naming delle classi Utilizzazione di un prefisso, a causa della mancanza di namespacing (in attesa di PHP 5.3): ezcXXX Leggibili: meglio nomi lunghi ma parlanti che criptici Talvolta « aggiustati » per una migliore leggibilità eg: ezcMailSmtpTransport vs. EzcMailSMTPTransport ezcTestSuite vs. PHPUnit2_Framework_TestSuite ...e molte altre regole su http://ezcomponents.org/contributing/coding_standards.html
  • 8. Architettura: dipendenze Meno ce n'è, meglio è... ... evitando però la duplicazione del codice solo dove necessario Componenti separati che le implementano
  • 9. Schema generale Le classi sono raggruppate in Packages
  • 10. Roadmap Release 2008.1 (expected: Giugno 2008) Nuovi componenti: Document – conversione tra differenti formati di dati ExtendedReflection Feed Search – front-end per Solr e altri motori di ricerca
  • 11. Ultime novità 2008.1 alpha1 Nuovo: Cache gerarchica multilivello PersistentObject supporto per più datatypes Nuovo componente: Search Migliorie a: Archive, Authentication, Configuration, ConsoleTools, Database, DatabaseSchema, EventLog, Graph, Mail, Tree e Workflow 2008.1 alpha2 Nuovo componente: Document Migliorie a: Base, EventLog, Search e Userinput 2008.1 beta: a partire dal 27 maggio
  • 12. Requisiti di sistema PHP versione 5.1.6 (per Tree e Webdav PHP 5.2.1) Alcune estensioni php sono necessarie per alcuni componenti, oppure ne aumentano le capacità es: Archive necessita di zlib (presente nell'installazione standard di PHP) e bz2, opzionalmente può utilizzare « posix » per la gestione dei permessi dei file Elenco esaustivo: su http://ezcomponents.org/overview/requirements.html (c'è anche un quick reference su come compilare le estensioni mancanti)
  • 13. Ambiente di sviluppo: suggerimenti Sempre sviluppare con display_errors = On, log_errors = On, error_reporting = E_ALL Dove si trova il log degli errori di PHP? E del webserver? XDebug - l'amico del PHP OOP (e non solo): stack traces completi Debugging step-by-step (con IDE adeguati) Analisi della code coverage (con tool di visualizzazione) Profiling (con kcachegrind/wincachegrind)
  • 14. Ambiente di sviluppo: altri suggerimenti ● Imprescindibile per lo sviluppo web: Firebug ● altre estensioni Firefox utili: « Web developer », « YSlow », « LiveHTTPHeaders », « IETab », « Console2 », « Selenium IDE » ● Per gli sviluppatori windows: UNXUTILS ● In produzione: ● Sempre utilizzare una opcode cache (APC, Eaccelerator, Xcache, Zend) ● Utili nel troubleshooting: Phpinfo, server-status e server-info
  • 15. Installazione 1: via PEAR 1. Avere una installazione di PHP 5.1 e PEAR funzionante 2. Aggiungere il canale components.ez.no all'installer PEAR pear channel-discover components.ez.no 3. Scaricare effettivamente i componenti pear install -a ezc/eZComponents Per aggiornare una installazione esistente: pear upgrade ezc/eZComponents pear help <nomecomando> è vostro amico!
  • 16. Installazione 2: via SVN Per chi è interessato allo sviluppo della libreria o ha bisogno di una patch appena rilasciata 1. Avere una installazione di PHP 5.1 e un client SVN 2. Creare una directory dove installare i componenti e ivi svn co http://svn.ez.no/svn/ezcomponents/trunk 3. Scaricare lo script che imposta l'ambiente di sviluppo svn co http://svn.ez.no/svn/ezcomponents/scripts ./scripts/setup-env.sh (o scriptssetup-env.bat) E' ovviamente possibile fare un checkout limitato di solo qualche componente – attenzione alle dipendenze!
  • 17. Installazione 3: old school (a.k.a. "a mano") 1. Scaricare e decomprimere la tarball wget http://ezcomponents.org/files/downloads/ezcomponents-2007 tar -xjf ezcomponents-2007.2.1.tar.bz2 3. Impostare correttamente l'Include Path (manca il 2!)
  • 18. Configurazione Include path: settato in automatico da PEAR, altrimenti va messa la directory radice in cui si è scaricato il software Autoload: in automatico tutte le classi degli eZComponents vengono caricate da ezcBase require_once "Base/base.php"; function __autoload( $className ) { ezcBase::autoload( $className ); } NB: per installazioni via SVN o tarball require_once "Base/src/base.php";
  • 19. E ora passiamo al codice...
  • 20. Domande? Grazie dell'attenzione! Gaetano Giunta Senior consultant eZ Systems Western Europe 26 rue de la république 69002 Lyon tel : +33 (0)4.78.37.01.56 email : gg@ez.no http://ezcomponents.org http://ez.no/community/forums/ez_components http://lists.ez.no/mailman/listinfo/components