2009-09-10 15 views
7

Mi chiedevo se qualcuno sapeva come utilizzare alcuni componenti di Zend Framework senza dover effettivamente utilizzare il framework. Ad esempio, vorrei utilizzare i loro componenti Zend_Validate, ma non voglio il sovraccarico del framework poiché si tratta di un piccolo script di una pagina.Utilizzare i componenti di Zend Framework senza il framework effettivo?

Questo può essere fatto facilmente, e se sì, ci sono guide/tutorial su come realizzarlo?

+0

Non avrai mai il sovraccarico del framework, perché è davvero più di una libreria. Comprenderà solo ciò di cui ha bisogno. Se usi solo 'Zend_Validate', lo includerai sempre e le sue dipendenze nel tuo script. – jason

risposta

11

I componenti di struttura Zend sono intenzionalmente progettati per essere liberamente accoppiati alla struttura stessa.

La struttura dei componenti di Zend Framework è univoca; ogni componente è progettato con alcune dipendenze su altri componenti. Questa architettura ad accoppiamento libero consente agli sviluppatori di di utilizzare i componenti individualmente. Spesso lo chiamiamo design "use-at-will" . [from here]

Here's a tool for pulling out specific components and their dependencies da utilizzare nella propria applicazione.

2

Ho appena preso l'intero pacchetto Zend e ne ho usato alcuni pezzi. Sembra che finisca sempre per usarne di più man mano che il tempo passa, quindi continuo a tenerlo aggiornato anche se non sto usando alcune delle cose MVC in un progetto o in un altro. Tenersi aggrappati a tutto ciò non ti fa preoccupare delle dipendenze (e di come potrebbero cambiare strada).

+0

upvote per il pragmatismo :-) – namespaceform

1

I componenti della struttura Zend mentre sono accoppiati senza stringere sono ancora accoppiati. Se si desidera utilizzare Zend_Mail componente per esempio - che in realtà richiederebbe anche:

  1. Zend_Mime
  2. Zend_Exception
  3. Zend_Validation

Zend_Validation sarà caricato per il solo motivo di e-mail convalidare indirizzo dominio.

Quindi, la soluzione migliore sarebbe includere l'intera libreria Zend. Tirando solo diversi componenti, finirai presto in "dipendenza da inferno", specialmente con le modifiche API (anche se ciò non accade troppo spesso).

Inoltre, a partire dalla versione 2.0, è necessario utilizzare alcuni auto-loader per caricare i componenti di Zend poiché tutte le chiamate richieste verranno rimosse dalle classi PHP.