2009-03-21 18 views
13

Un preambolo: Ho usato PHP per oltre 8 anni di tanto in tanto, ma non ho mai usato un framework, ho solo scritto script e addon. Principalmente ho usato generatori di codice come CodeCharge Studio o codice personalizzato per app intranet. Dato che sto bene con i modelli di progettazione, Zend framework non sembra troppo difficile da imparare.Come aumentare la velocità di apprendimento di Zend Framework?

A partire da ZF: Ho letto il manuale di QuickStart e mi chiedo che cosa può farmi avanzare con lo sviluppo di applicazioni web Zend di base. Come ho capito, ci sono attività ripetitive che richiedono molto tempo.

Domande: Ad esempio, per quasi tutti i siti che sviluppo ci deve essere il processo di registrazione degli utenti e non voglio reinventare la ruota e trascorrere una settimana per i moduli Login/profilo.

1) Gli sviluppatori di Zend utilizzano qualche tipo di prototipo che hai scritto per implementare rapidamente un sito di base?

2) O ci sono dei codici sorgente del sito su cui costruire già disponibili?

3) Esiste qualche generatore di app o strumento secondario per pagine con griglie, record, ecc.?

P.S. Ho smesso di studiare EJB oltre 6 anni fa perché non avevo nessuno che facesse domande simili. TIA!

risposta

20

1) Evitare gli sviluppatori di ZF utilizzare alcuni tipo di prototipi per roll-out di un sito di base in fretta?

Zend Framework è un po 'troppo giovane per i componenti in quest'area, tuttavia c'è an unofficial PEAR channel. A partire dal marzo 2009 i leader del pensiero sembrano ancora discutere i modi migliori per organizzare tutto. Personalmente sono molto entusiasta del domain-driven initiatives in quanto saranno i più robusti.

2) Esistono già dei codici sorgente del sito già disponibili?

Le migliori fonti al momento sono i blog, i siti e i repository dei leader di pensiero di ZF. Ecco alcuni link per iniziare:

3) C'è qualche generatore di app o strumento minore per le pagine con le griglie, record ecc?

C'è uno scaffolding-generator as a part of Zend_Tool previsto per il rilascio in ZF v1.8. È attualmente nell'incubatore, l'ho provato la settimana scorsa e funziona, ma non ci sono molti componenti generati nel suo stato attuale.

La settimana scorsa ho finalmente trovato il tempo di raccogliere le fonti insieme (che include il feed delle domande ZF Stack Overflow). Li ho messi sotto un Zend Framework tag in Google Reader e nel tempo si affineranno le fonti di feed. Nel caso in cui preferiresti gestirli da soli, ecco l'OPML corrente.

Buona fortuna! -Matt

<?xml version="1.0" encoding="UTF-8"?> 
<opml version="1.0"> 
    <head> 
     <title>expertseries | Zend Framework | Google Reader</title> 
    </head> 
    <body> 
     <outline title="Zend Framework" text="Zend Framework"> 
      <outline text="A.J. Brown" title="A.J. Brown" type="rss" 
       xmlUrl="http://feeds.feedburner.com/ajbrowns_blog" htmlUrl="http://ajbrown.org/blog"/> 
      <outline text="Armando Padilla" title="Armando Padilla" 
       type="rss" xmlUrl="http://www.armando.ws/?feed=rss2" htmlUrl="http://www.armando.ws"/> 
      <outline text="Benjamin Eberlei" title="Benjamin Eberlei" 
       type="rss" 
       xmlUrl="http://www.whitewashing.de/about/rss/all" htmlUrl="http://www.whitewashing.de"/> 
      <outline text="Bradley Holt" title="Bradley Holt" type="rss" 
       xmlUrl="http://bradley-holt.blogspot.com/feeds/posts/default" htmlUrl="http://bradley-holt.blogspot.com/"/> 
      <outline text="Cal Evans" title="Cal Evans" type="rss" 
       xmlUrl="http://blog.calevans.com/feed/" htmlUrl="http://blog.calevans.com"/> 
      <outline text="Chris Hope" title="Chris Hope" type="rss" 
       xmlUrl="http://feedproxy.google.com/ElectricToolboxBlog" htmlUrl="http://www.electrictoolbox.com"/> 
      <outline text="Codecaine.co.za" title="Codecaine.co.za" 
       type="rss" xmlUrl="http://www.codecaine.co.za/rss/" htmlUrl="http://www.codecaine.co.za/"/> 
      <outline text="Douglas Brown" title="Douglas Brown" 
       type="rss" xmlUrl="http://www.brownphp.com/feed/" htmlUrl="http://www.brownphp.com"/> 
      <outline text="Federico Cargnelutti" 
       title="Federico Cargnelutti" type="rss" 
       xmlUrl="http://blog.fedecarg.com/feed/" htmlUrl="http://blog.fedecarg.com"/> 
      <outline text="Jani Hartikainen" title="Jani Hartikainen" 
       type="rss" xmlUrl="http://codeutopia.net/blog/feed/" htmlUrl="http://codeutopia.net/blog"/> 
      <outline text="Juozas Kaziukėnas" title="Juozas Kaziukėnas" 
       type="rss" xmlUrl="http://dev.juokaz.com/feed/rdf" htmlUrl="http://dev.juokaz.com"/> 
      <outline text="Matthew Turland" title="Matthew Turland" 
       type="rss" xmlUrl="http://ishouldbecoding.com/atom/1" htmlUrl="http://ishouldbecoding.com/"/> 
      <outline text="Matthew Weier O'Phinney" 
       title="Matthew Weier O'Phinney" type="rss" 
       xmlUrl="http://weierophinney.net/matthew/feeds/index.rss2" htmlUrl="http://weierophinney.net/matthew/"/> 
      <outline text="Michelangelo van Dam" 
       title="Michelangelo van Dam" type="rss" 
       xmlUrl="http://www.dragonbe.com/feeds/posts/default" htmlUrl="http://www.dragonbe.com/"/> 
      <outline text="Mike Rötgers" title="Mike Rötgers" type="rss" 
       xmlUrl="http://www.roetgers.org/feed/" htmlUrl="http://www.roetgers.org"/> 
      <outline text="Nick Lo" title="Nick Lo" type="rss" 
       xmlUrl="http://www.ingredients.com.au/nick/feed/" htmlUrl="http://www.ingredients.com.au/nick"/> 
      <outline text="Pádraic Brady" title="Pádraic Brady" 
       type="rss" 
       xmlUrl="http://blog.astrumfutura.com/feeds/index.rss2" htmlUrl="http://blog.astrumfutura.com/"/> 
      <outline text="Raphael Stolt" title="Raphael Stolt" 
       type="rss" 
       xmlUrl="http://raphaelstolt.blogspot.com/feeds/posts/default" htmlUrl="http://raphaelstolt.blogspot.com/"/> 
      <outline text="Rob Allen" title="Rob Allen" type="rss" 
       xmlUrl="http://akrabat.com/feed/" htmlUrl="http://akrabat.com"/> 
      <outline text="Robert Basic" title="Robert Basic" type="rss" 
       xmlUrl="http://feeds2.feedburner.com/robertbasic/blog/" htmlUrl="http://robertbasic.com/blog"/> 
      <outline text="Stack Overflow ZF" title="Stack Overflow ZF" 
       type="rss" 
       xmlUrl="http://stackoverflow.com/feeds/tag/zend-framework" htmlUrl="http://stackoverflow.com/questions/tagged/zend-framework"/> 
      <outline text="Thomas Weidner" title="Thomas Weidner" 
       type="rss" 
       xmlUrl="http://www.thomasweidner.com/flatpress/feed/rss2/" htmlUrl="http://www.thomasweidner.com/flatpress/"/> 
      <outline text="Tom Graham" title="Tom Graham" type="rss" 
       xmlUrl="http://www.noginn.com/feed/" htmlUrl="http://www.noginn.com"/> 
      <outline text="Zend Dev Zone" title="Zend Dev Zone" 
       type="rss" 
       xmlUrl="http://feeds.feedburner.com/ZendDeveloperZone" htmlUrl="http://devzone.zend.com/"/> 
     </outline> 
    </body> 
</opml> 
+0

Grazie per tutte le risorse. Ho programmato ColdFusion per 5 anni e sono stato inserito in php e Zend allo stesso tempo, quindi questi aiuteranno .. – JasonBartholme

+0

risposta fantastica, perché non l'ho trovato prima. – markus

1

Sono nella tua esatta situazione in questo momento (poco meno anni con PHP: P)

Attualmente sto usando Zend Framework in azione come riferimento e per quello che ho visto fino ad ora è abbastanza facile riutilizzare la struttura da vecchi lavori. Una volta che hai impostato le tue opzioni preferite e la struttura ad albero, puoi riutilizzarla più e più volte.

Quindi penso che sia meglio non affidarsi a generatori di terze parti e creare il proprio scheletro. In questa modalità sarai molto più a tuo agio con la struttura del codice, e avrai una migliore comprensione del codice.

+0

anzi, sembra un'evoluzione incrementale del proprio progetto di base, è il caso qui come metodo di prototipazione di base – AlexA

1

Come ho capito ci sono compiti ripetitivi che richiedono molto tempo.

Questo è vero, e come hai affermato, quasi ogni sito Web ha un processo di registrazione e simili.Anche se sono d'accordo sul fatto che l'implementazione di tali funzionalità possa ripetersi ripetutamente, in una certa misura, ciascuna applicazione avrà i propri requisiti univoci - il che significa che ci sarà almeno un po 'di lavoro di personalizzazione, anche se si sta riutilizzando il codice da un vecchio progetto basato su ZF. Passo ora avere un bash a rispondere alle vostre domande numerate

Ti, gli sviluppatori Zend, utilizzare un qualche tipo di prototipi che hai scritto a rotolare un sito di base in fretta?

Non proprio. Non sceglierei ZF per un sito "di base", né utilizzerei alcun framework MVC. La mia ipotesi attuale è che un sito di base consista di circa 8-12 parti separate, senza funzionalità davvero speciali e requisiti finiti. Ricorda che una volta che diciamo "framework", c'è quasi sempre un notevole impatto sulle prestazioni, oltre a qualsiasi bug e problema che potrebbe essere inerente a quel framework. I "prototipi" di cui parli si trovano nelle classi disponibili all'interno di Zend Framework, ad esempio Zend_Auth per la creazione di un sistema di autenticazione con funzionalità complete in circa 15 minuti.

2) O ci sono già alcuni codici sorgente del sito già disponibili?

Probabilmente, anche se devo dire, il mio peggior incubo sarebbe dover supportare un'applicazione costruita su un tipo di framework che racchiuda un altro framework. Immagine quanto sarebbe divertente il debugging. Immagina quanto sarebbe divertente insegnare a qualcuno a sostenerlo. Stai già usando un framework, non diventiamo avidi adesso.

3) C'è qualche generatore di app o strumento minore per le pagine con le griglie, record ecc?

Non sono abbastanza sicuro di cosa intendi con questo, ma se dovessi azzardare un'ipotesi, forse Zend Studio?

+0

3- di solito si riferisce a Scaffolding, penso. –

+0

Buon punto, stavo pensando a una cosa basata sulla GUI, suppongo, come i controlli basati sui dati in Visual Studio – karim79

2

Se sei già familiarità con MVC e modelli di progettazione, allora perché non guardare in strumenti a ti aiuta a codice più veloce?

Anche se generalmente mi piacciono gli strumenti gratuiti, devo dire che l'uso di IDE di Zend Studio (basato su Eclipse) aiuta ad andare più veloce (prova gratuita di 30 giorni).

I punti principali (a parte il debugger/profiler):

  • può generare uno scheletro per le applicazioni MVC
  • scheletri codice predefinito per i mattoni di base (controllori, visualizzazioni, modelli)

e -Last ma non ai minimi

  • completamento automatico per tutte le classi Zend (ed è possibile Ctrl + clic sui nomi delle classi per aprirle). Molto conveniente, devo dire.

Assicurati di avere un computer con un sacco di memoria!

0

C'è un buon libro tedesco, è possibile trovare un'applicazione di avviamento in un archivio su questo sito e studiare il codice: http://www.zend-framework-buch.de/

0

Abbiamo uno strumento che può aiutare: nWire for PHP analizza il codice, consente di navigare attraverso e rappresenta visivamente componenti e associazioni. Alla fine dovrai leggere il codice e con nWire questo diventa molto più facile.

0

Per l'avvio rapido è possibile leggere il libro "Learn ZF2". È stato scritto con l'aiuto dei membri principali del team Zend Framework 2 (ZF2) e dei creatori di corsi ZF2 ed è probabilmente la soluzione migliore per ottenere una buona conoscenza di Zend Framework 2 e delle sue funzionalità. I libri sono accompagnati dal codice sorgente e ti guidano passo dopo passo attraverso i diversi concetti. Lettura interessante che migliora con ogni pagina.

Problemi correlati