Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    PHP, pattern MVC, framework

    Ciao,

    sempre più mi sto impegnando per capire le logiche dei design pattern e dato che continuo a sviluppare web applications più complesso vorrei iniziare ad utilizzare le logiche MVC.

    Capito il concetto del MVC vorrei capire quale strada intraprendere per iniziare a sviluppare in questo modo. Mi conviene utilizzare un framework già pronto e se sì quale? Oppure meglio iniziare da zero con un mio framework?

    Non mi piace molto affidarmi a cose già pronte perchè poi ho difficoltà a dover metterci mani, ma è un vantaggio dare un'occhiata per capire come sono strutturati.

    Ho cercato in rete ma non trovo tutorial decenti che spieghino come iniziare a strutturare il proprio software seguendo il pattern MVC.

    Ho un gestionale abbastanza complesso (scritto in ASP classic) che ora devo rifare completamente riscrivendolo in PHP e vorrei partire con questo nuovo metodo di lavoro.

    Qualche aiuto su cosa/come partire?

    grazie

  2. #2
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053

    Re: PHP, pattern MVC, framework

    Originariamente inviato da aasmdaa
    Ho cercato in rete ma non trovo tutorial decenti che spieghino come iniziare a strutturare il proprio software seguendo il pattern MVC.
    Eccone uno, anche se in inglese

    Ciao
    Daniele
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

  3. #3
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Ciao aasmdaa,

    Anche io come te ho iniziato un paio di mesi fa a riscrivare le mie cose utilizzando i concetti dell'MVC, quindi mi iscrivo a questa discussione per ascoltare i pareri di chi ha più esperenzienza.

    Per quanto riguarda i framework ti dico le conclusioni a cui sono arrivato io, ma anche qui lo faccio solo per confrontare la logica dei miei ragionamenti con chi ha maggiore esperienza quindi prendi 'con le pinze' tutto ciò che dico.

    Personalmente ho dedicato un po di tempo, circa una decina di giorni (ammetto che forse sono pochi), a capire il funzionamento di Zend Framwork e sono arrivato alla conclusione (forse sbagliata) di non usarlo nella sua interezza ma di utilizzare di volta in volta la singola classe che eventualmente mi occorrerrà, questo per due ragioni:

    1 Francamente ho trovato il suo modo di gestione delle cartelle eccessivamente macchinoso, probabilmente sarà molto utile quando si sviluppa in team importanti (numericamente parlando) .... ma per chi come me lavora da solo o nella migliore delle ipotesi con altri 2 programmatori che sono abituati a usare la mia struttura cartelle e file che uso da anni ..... non vedo grossi vantaggi nel lasciare la strada vecchia (Fermo restando gli adattamenti per seguire i principi MVC).

    2 Mi piace sapere che cosa fa la mia applicazione ..... mi spiego meglio, usando 'in pieno' un framework è vero che ho la metà del lavoro già fatta .... ma ho come l'impressione di non averne il controllo, perchè non so che cosa c'è scritto in ogni singolo script, e daltronde non ptrei mai avere il tempo di andare a leggermi ogni script di un framework così importante ..... mentre usando le singole classi all'occorrenza posso andare a studiarmi quella singola classe e quindi usarla con 'più consapevolezza'


  4. #4
    l'approccio proposto da las non è sbagliato a mio avviso, ma è difficile capire cosa poter togliere o non utilizzare senza una conoscenza approfondita del framework.

    @aasmdaa
    Secondo me non ti conviene iniziare a scrivere un framework da zero, soprattutto se non hai conoscenza approfondita di diversi arigomenti (design pattern in primis). Inoltre devi mettere in conto i costi del mantenimento di un framework sviluppato da te, costi che molto spesso, purtroppo, si dimentica di prendere in considerazione accorgendosi troppo tardi dell'errore.

    Studiare un framework come ad esempio zend framework (ma va bene qualsiasi prodotto ben documentato e supportato) ti permette di vedere nella pratica tanti elementi teorici importanti e decisivi per lo sviluppo di applicativi web enterprise.

    Per una guida introduttiva su zend framework puoi vedere qui:

    http://php.html.it/guide/leggi/195/g...end-framework/

    cosa che ti permette di vedere in pratica una delle principali implementazione del pattern MVC

  5. #5
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Quando ho dovuto fare una scelta simile io ho optato per cakephp, in parte perchè dicevano è più semplice da apprendere, in parte perchè tutto sommato l'idea di "convention over configuration" mi intrigava non poco.. e ne sono rimasto decisamente soddisfatto. Ho scoperto in seguito che, quando inizi a capire come funziona, puoi ribaltarlo più o meno come ti pare e diventa molto flessibile. Personalmente non inizierei qualcosa da zero, perchè se è vero che mi piace sapere cosa sta succedendo nel mio programma, è vero anche che framework "conosciuti" sono molto testati e ti permettono di concentrarti di più sull'applicazione in se (per es. tutto ciò che riguarda la sicurezza e la validazione dei dati, per dirne una)

    Su internet è pieno di confronti fra framework php MVC, l'ultimo che ho trovato è questo:

    http://itworks.lt/blog/2010/10/cakep...-one-question/

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Sicuramente anche io come approccio sono sempre stato come las, ovvero mi piace avere il pieno controllo di quello che faccio e sapere "tutto" della mia applicazione.

    Capisco però che come dite voi sono progetti così complessi che non si può pretendere nè di fare tutto da zero, nè conoscere per filo e per segno un framework.

    Ad esempio non ho mai voluto adottare un CMS (Wordpress, Joomla o altri) e negli anni ho sviluppato una "piattaforma" abbastanza modulare che riutilizzo per tutti i miei progetti (tutti con codice procedurale e vista abbastanza separata dal codice motore vero e proprio).
    Ho sempre preferito il concetto "metto solo quello che mi serve", per quello l'idea di avere un framework con 1000 funzioni di cui utilizzo solo 10 non mi esalta particolarmente (da qui l'idea di fare sempre qualcosa da zero).

    Ad ogni modo proverò a capire come funzionano i framework. Ma quello che mi sfugge anche al momento è questo concetto: con l'utilizzo di un framework sono maggiormante guidato in uno sviluppo della web application seguendo il pattern MVC?

  7. #7
    si direi proprio di si: con zend framework, ad esempio, sei "forzato" ad usare una tipica struttura MVC, e ad utilizzare di default una struttura divisa per componenti!

  8. #8
    per quanto riguarda i frameworks, io sono due anni che mantengo e sviluppo un'applicazione con cakephp, e ti assicuro che come framework è facile e intuitivo all'inizio, ma quando poi ti metti a programmare usando una oop di buon livello, scopri che come framework è ben poca cosa. Zend non l'ho mai usato purtroppo, ma per quel poco che ho visto direi che sia il top, soprattutto pensando ad una programmazione OO fatta con tutti i crismi.

    Per il resto, l'mvc penso che sia il pattern piu semplice di tutti e anche il piu usato, si capisce tutto. Creare un framework da zero, apparte il mero esercizio di stile, è controproducente a meno che non si sia dei programmatori di una certa esperienza. E' cmq controproducente perchè

    a) per quanto tu possa essere bravo, farai sempre degli errori
    b) per quanto tu possa essere bravo, avrai sempre delle mancanze di funzionalità da implementare
    c) per quanto tu possa essere bravo, ci saranno sempre dei bug piu o meno nascosti da trovare
    d) non solo ti tocca poi mantenere la qua web app, ma devi pure metterti a mantenere il framework

    quindi, a meno che non hai taaaaaanto tempo a tua disposizione e taaaante conoscenze, parti dall'usare qualcosa di già pronto
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Originariamente inviato da Santino83_02
    per quanto riguarda i frameworks, io sono due anni che mantengo e sviluppo un'applicazione con cakephp, e ti assicuro che come framework è facile e intuitivo all'inizio, ma quando poi ti metti a programmare usando una oop di buon livello, scopri che come framework è ben poca cosa.
    in che senso?

  10. #10
    Originariamente inviato da lnessuno
    in che senso?
    nel senso che la concezione di model, l'uso di classi esterne che non rientrano in helpers o components, l'uso stesso dei vendors, è una cosa un pò ripugnante..

    due cavolate:

    per gestire le parti piu comuni di un'applicazione (leggasi file delle proprietà, gestione dei file, classi particolari per l'applicazione, gestione di indirizzi ip e netmask, etc) ho creato delle classi. Tra queste, una classe che aiuta a compiere operazioni con l'html.

    Ora, volevo eliminare l'helper obsoleto apposito e usare la mia classe. Problema: non si può usare un oggetto non derivato da Helper come helper nelle view. Dirai "eccerto".. bastava che l'oggetto potesse implementare un'interfaccia, ed ecco che potevo tranquillamente usare la mia classe... invece ho dovuto forzare la mia classe ad estendere Helper, cosa che rende piu complicato il suo riutilizzo in altri progetti non cake-centrici

    Un altro discorso è che non sopporto il fatto di dover lavorare con array quando si interroga il model e non con strutture dati piu potenti. W la flessibilità certo, ma ti lega le mani. Poi ho trovato molto scomodo (e infatti ho lasciato perdere) l'uso di classi, nel controller, che non fossero ne model nè components. O usi i vendors, oppure boh, li metti in include e poi te le includi a mano... non c'è una cosa organica per queste cose.

    Insomma, comodo per fare i sitarelli cake, ma sulle grandi cose lo trovo limitato. Vorrei infatti vedere con calma Zend e poi, se le mie aspettative risultassero appagate, migrare tutto da cake a Zend.

    Ah si, una cosa: hai visto come si fa la validazione di una form con zend, e come con cake? La flessibilità che ti dà quella di zend, cake se la sogna. Migrerei subito solo per quello guarda


    EDIT: cosa piu importante: la documentazione di cake fa schifo....documentazione? che documentazione?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.