Newsgroup: it.comp.www.php
Titolo: framework e/o cosa?

Buongiorno,
avrei bisogno di un consiglio.
 
Premessa:
Le mie competenze sono prettamente su sviluppo software desktop 
windows.
Ho un po di esperienza su siti web con l'utilizzo di cms quali 
wordpress.
Ho una sufficiente conoscenza di php, con il quale ho sviluppato alcuni 
servizi o backend.
Detto che lo sviluppo web non è il mio pane quotidiano, non escluderei 
che in futuro possa assumere maggiore rilievo nel mio lavoro.
 
Premesso questo, quale o quali strumenti (ide, framework o quant'altro) 
mi conviene approcciare?
 
Altri elementi da tenere in considerazione:
Devo fare tutto io (niente team di programmatori, niente grafico, etc).
Niente applicazioni "enterprise", almeno per ora, quindi vorrei evitare 
di sparare ad una mosca con un cannone :)
Mi piacerebbe (ma mi pare di aver capito che questo approccio non è per 
niente web-oriented) lavorare con uno strumento che permetta il 
drag&drop degli elementi per "disegnare" la grafica.
 
Ovviamente ho già fatto un po di ricerche, ma prima di esporre alcune 
mie "preferenze" vorrei una vostra risposta :)
 
Grazie a quanti vorranno consigliarmi
 
-- 
Emanuele Desideri

 drag&drop degli elementi per "disegnare" la grafica.
 
Che c'entra l'essere web-oriented con un IDE che offre lo
sviluppo visuale?! Sì può benissimo sviluppare una web app
anche con un un IDE che offre una palette strumenti con
cui piazzare sulla pagina i vari elementi. Quello che sarebbe
necessario è fare un'analisi dei costi, benefici e pro/contro
di adottare un metodo di sviluppo simile.
 
 
 

 di adottare un metodo di sviluppo simile.
 
Qualche esempio?
 
-- 
Emanuele Desideri

 Qualche esempio?
 
Eclipse PDT: sviluppo classico (costruzione interfacce via codice);
 
Delphi for PHP: sviluppo visuale (costruzione interfacce via palette).
 
 
 
 
 

 smarty, CodeIgniter, CakePHP, Zend Framework, Slim, Kohana, ecc...
 
Qualche precisazione, sorry :)
 
smarty non e` un framework, e` un motore di templating, ed e` sempre 
meno usato. Meglio twig.
 
CodeIgniter, CakePHP e Kohana li eviterei.
 
Una lista di framework "moderni" potrebbe essere (in ordina alfabetico, 
cosi` non faccio torti):
 
Microframeworks:
- Silex 2
- Slim 3
 
Full-frameworks:
- Laravel
- Symfony 3
- Yii 2
- ZendFramework 3
 
Ne sto dimenticando a decine, ma non sono sicuro che sia una grande 
perdita... :P
 
Bye.
 

 
 
Come mai meglio twig?
Dopo anni di smarty l'idea di dover migrare mi fa stare maluccio
 
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
 
www.robyt.eu
 
 

 Dopo anni di smarty l'idea di dover migrare mi fa stare maluccio
 
Smarty e` praticamente in maintenance mode.
 
Se lo usi e ti trovi bene non c'e` motivo di cambiare, visto che 
comunque ogni 6-8 mesi riceve bugfixes, ma non si puo` dire che sia 
molto attivo, e non ci sono comunque funzioni aggiunte (tranne 
l'inheritance, pare, che comunque twig aveva gia`).
 
Per iniziare da zero con un templating engine, meglio twig, che e` 
attivamente mantenuto e vengono aggiunte funzionalita` a ritmo costante.
 
Bye.
 

 
 
Eh, me la chiami! :)
 
Quindi aggiungo il mio:
- pqwe
 
Non sono il tipo che trascina popoli a scrivere codice sui suoi progetti o che
scrive documentazione, ma non per questo la qualità del progetto in se è
inferiore alla top-tier.
 
Sì, insomma, se non è usabile è colpa mia, non del framework ;)
 
Ciao!

 inferiore alla top-tier.
 
Non mi riferivo tanto alla qualita` del codice, ma al fatto che la gran 
parte dei framework MVC (o simili) ormai sono tutti piu` o meno uguali, 
e non vedo molti motivi sostanziali per usare un framework che abbia 
meno di 1 milione di download su packagist, semplicemente perche` 
significa che ha meno occhi che lo guardano e quindi meno bug saltano fuori.
 
Credo che quelli che ho elencato presentino abbastanza variazioni uno 
dall'altro da coprire le esigenze della maggior parte delle persone.
 
Bye.
 


Sacrosanto, anch'io di solito faccio così.
Mi rimane da svelare il mistero di come certi progetti arrivino a quella cifra
di donwloads, a dir la verità ;)
 
Ciao!

 di donwloads, a dir la verità ;)
 
Da statistiche recenti sembra che PHP sia su circa l'85% dei siti web.
 
Se anche solo l'1% usa uno dei 6 framework che ho elencato, sono 
comunque decine di milioni. :)
 
Da quel che so packagist tiene traccia per un certo tempo se un certo IP 
ha scaricato una certa versione di un pacchetto, e non conta i download 
multipli, ma se hai un cluster con 4 webserver che scaricano la stessa 
versione, lo conta come 4 download, e lo stesso se aggiorni lo stesso 
server 4 volte con 4 versioni diverse, o se installi la stessa versione 
dopo un tot di tempo.
 
Bye.
 

 - ZendFramework 3
 
Intanto grazie dei tuoi suggerimenti e di ciccio_the_best.
 
Ho scaricato Eclipse per php come suggerito da ciccio, e ho proseguito 
con un po di ricerche, concentrando maggiormente l'attenzione sui 
prodotti che avete menzionato, anche se in realtà preferirei un 
consiglio più "personale".
 
Ho scartato l'idea di scrivere qualcosa da zero, vorrei quindi 
appoggiarmi ad un framework (o microframework). A questo punto però 
diventa fondamentale la scelta e qui vorrei un vostro "personale" 
consiglio.
 
Dalle ricerche che ho fatto quelli che mi attirano di più sono slim 3 e 
Laravel.
Scartato Symfony 3 e Zend perchè mi pare di aver capito sono più adatti 
a progetti enterprise.
 
Esperienze dirette?pro-contro e limiti?
 
Grazie!
 
-- 
Emanuele Desideri

 
eclipse č un vero mattone.. netbeans non ti piace?


 a progetti enterprise.
 
Questa e` la mia opinione personale e le scelte che ho fatto io in base
alle mie esigenze. Le tue potrebbero essere diverse.
 
Io ormai faccio tutto con Slim. Due anni fa facevo tutto con Silex. 10
anni fa con Zend Framework 1.
 
Il perche` di Slim:
 
- supporta (si basa su) PSR-7
- e` minimale (solo Request, Response, un router e un DIC)
- e` veloce e configurabile.
 
I contro, dopo due anni di uso:
 
- Abusa del $this per rendere semplici alcune operazioni nel router, e
questo porta a complicarne delle altre e a rendere poco leggibile il codice
- In generale non mi piacciono i DIC, e in particolare l'uso di magic
methods per accederci come fosse un array rende il codice un po' fumoso.
 
Il problema degli altri framework e` che hanno praticamente gli stessi
difetti (e anche di piu`) e non abbastanza pregi aggiuntivi per
giustificarne l'uso.
 
Laravel in particolare abusa del "suo Facade pattern" rendendo quasi
tutto una chiamata statica, ma e` molto semplice per iniziare con un
framework non minimale.
 
Zend e Symfony soffrono ancora della "malattia da configuration file",
nel senso che piu` che scrivere codice scrivi file YAML (o JSON o array
in PHP o...) per configurare le interazioni tra i componenti.
La puoi chiamare "Javite", se vuoi. :P
 
Silex e` troppo lento a innovare. Sono anni che si parla della nuova
versione, e non mi pare supporti ancora PSR-7 se non attraverso un
wrapper per i componenti di Symfony.
 
Tieni conto, tra l'altro, che e` stato appena standardizzato dal FIG
l'accesso ai DIC, e si sta lavorando sui middleware, quindi
probabilmente per fine anno ci sara` uno Slim 4 in cui il 50% del
framework cambiera` per supportare questi nuovi standard, e nel giro di
2 anni molti middleware che trovi in giro verranno riscritti per i nuovi
standard.
 
Quindi inizia a pianificare una migrazione da qualsiasi framework tu
scelga oggi. :)
 
Bye.
 
 

 eclipse è un vero mattone.. netbeans non ti piace?
 
mah, ho installato eclipse neon pure su di un pentium 3 1000Mhz
e gira. Dipende sempre da che macchina hai e sopratutto se il pc
è intasato di roba e/o mal configurato e customizzato.
 
 
 

scelga oggi. :)
 
Grazie del consiglio, inizio a mettere da parte per le mutande di bandone :-D
 
Leonardo
-- 
 
A terrible beauty is born.
                                     - W. B. Yeats, Easter 1916