Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    pooling & filters & DAO in php

    PREMESSA: mi voglio solo informare, non voglio scatenare un flame "php vs java"

    Vengo dal mondo Java e mi sono da poco avvicinato al php.
    E' chiaramente un linguaggio molto semplice, ma rispetto alle
    applicazioni web Java sento molto la mancanza di:

    1) connection pooling (perche' aprire una nuova connessione ogni volta?)

    2) filters: in java posso definire dei filtri che preprocessano (o post-processano) una richiesta. Ad esempio posso aggiungere o modificare i permessi di accesso alle pagine senza toccare una singola pagina, semplicemente cambiando il filtro

    3) DAO framework: la possibilita' di popolare oggetti dal db senza scrivere codice ma semplicemente l'sql (vedi www.ibatis.org o www.hibernate.org). Il framework si preoccupa di costruire gli oggetti dal db.

    Esistono librerie che fanno queste cose in php?

    Piu' in generale mi sembra (ma, ripeto, non conosco bene il php) che in php manchi l'idea di "applicazione web", cioe' mi sembra che in php non si possano che fare "una collezione di pagine" piuttosto che un'applicazione vera e propria.

    Ripeto per l'ultima volta: non e' una provocazione, e' una richiesta di aiuto...

  2. #2

    Re: pooling & filters & DAO in php

    Originariamente inviato da ultimoamore
    PREMESSA: mi voglio solo informare, non voglio scatenare un flame "php vs java"
    Ciao,
    faccio anch'io una premessa che ultimamente faccio spesso:
    php è un linguagggio specializzato nelle applicazioni WEB (in ciò forse è unico nel suo genere) e orientato alla praticità (in questo è in buona compagnia con altri linguaggi interpretati)

    Detto questo, ogni confronto costruttivo tra i linguaggi è sempre interessante

    Vengo dal mondo Java e mi sono da poco avvicinato al php.
    E' chiaramente un linguaggio molto semplice,
    Io preferisco dire che è "pratico"

    1) connection pooling (perche' aprire una nuova connessione ogni volta?)
    Infatti non è necessario ci sono le connessioni persistenti


    2) filters: in java posso definire dei filtri che preprocessano (o post-processano) una richiesta. Ad esempio posso aggiungere o modificare i permessi di accesso alle pagine senza toccare una singola pagina, semplicemente cambiando il filtro
    Se ami la programmazione a oggetti te li puoi realizzare anche in PHP, fai una ricerca in google e troverai qualche articolo.
    Un buon posto dove guardare è www.phppatterns.com

    3) DAO framework: la possibilita' di popolare oggetti dal db senza scrivere codice ma semplicemente l'sql (vedi www.ibatis.org o www.hibernate.org). Il framework si preoccupa di costruire gli oggetti dal db.
    Questa è una cosa che a me non entusiasma, però se cerchi in pear.php.net trovi DB_Dataobjects che fa più o meno quello che desideri. Ovviamente non avrai tutte le semplificazioni di ADO o dell'equivalente Java

    Piu' in generale mi sembra (ma, ripeto, non conosco bene il php) che in php manchi l'idea di "applicazione web", cioe' mi sembra che in php non si possano che fare "una collezione di pagine" piuttosto che un'applicazione vera e propria.
    Il fatto è che realizzare una "collezione di pagine" è quanto serve nel 70% dei casi. Le applicazioni le puoi realizzare tu, programmando a oggetti, oppure servendoti di un framework (sempre in google "framework php").
    A me piace molto PHRAME, ma ce ne sono una miriade anche di ben più complessi e "javizzanti" e costantemente in via di evoluzione.

    Se cerchi in PHP *tutto * quello che hai in Java non lo troverai...ma allora meglio usare Java.
    Se usi PHP è perchè per qualche ragione nel web hai bisogno della "praticità" di PHP

    Ultimamente sto lavorando molto con .NET (purtroppo non conosco Java e in azienda hanno preso questa decisione), devo dire che è imponente, ben fatto, facilita molte cose ma....se dovessi programmare senza visual studio o Web Matrix sarebbe tutt'altro che pratico e veloce: è spaventosamente prolisso (un mio amico dice "sbrodoloso")


    P.s.
    A PHP manca un vero e proprio application server, un ambiente di altamente integrato come Apache e mod_perl o ZOPE e Python...forse perchè se ne sente il bisogno fino a un certo punto o perchè boh
    per favore NIENTE PVT TECNICI da sconosciuti

  3. #3

    Re: Re: pooling & filters & DAO in php

    Ottima risposta, molto "politically correct", mi e' piaciuta

    Originariamente inviato da Fabio Heller
    Infatti non è necessario ci sono le connessioni persistenti

    Ma posso specificare quante ne voglio aperte come minimo e come massimo? Oppure se mi si collegano 100 utenti poi le connessioni mi rimangono aperte anche se non c'e' nessuno in linea?

  4. #4
    .NET ha anche qualche altro "piccolo" difetto, a parità di sistema è più lento .NET+SQLServer rispetto a PHP+mySQL, è un attimino più costoso.
    D'altra parte è più facilmente integrabile con ciò che non è direttamente Web rispetto a PHP+mySQL.

  5. #5
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093

    Re: pooling & filters & DAO in php

    Originariamente inviato da ultimoamore
    PREMESSA: mi voglio solo informare, non voglio scatenare un flame "php vs java"

    Vengo dal mondo Java e mi sono da poco avvicinato al php.
    E' chiaramente un linguaggio molto semplice, ma rispetto alle
    applicazioni web Java sento molto la mancanza di:

    1) connection pooling (perche' aprire una nuova connessione ogni volta?)

    2) filters: in java posso definire dei filtri che preprocessano (o post-processano) una richiesta. Ad esempio posso aggiungere o modificare i permessi di accesso alle pagine senza toccare una singola pagina, semplicemente cambiando il filtro

    3) DAO framework: la possibilita' di popolare oggetti dal db senza scrivere codice ma semplicemente l'sql (vedi www.ibatis.org o www.hibernate.org). Il framework si preoccupa di costruire gli oggetti dal db.

    Esistono librerie che fanno queste cose in php?

    Piu' in generale mi sembra (ma, ripeto, non conosco bene il php) che in php manchi l'idea di "applicazione web", cioe' mi sembra che in php non si possano che fare "una collezione di pagine" piuttosto che un'applicazione vera e propria.

    Ripeto per l'ultima volta: non e' una provocazione, e' una richiesta di aiuto...
    l'approccio che ha java con le applicazioni web è molto diverso da quello che puoi avere con php, tutto questo se ti riferisci alle servlet, altrimenti le jsp concettualmente sono qualcosa di molto simile alle pagine php, cioè una collezzione di pagine. E' anche vero che l'application server quando trova delle pagine in jsp le traduce in servlet e le ricarica in memoria, ma questo al programmatore medio interessa poco.

    Come ti è già stato risposto, per rendere comune a più processi una connessione ad un database ci sono le connessioni persistenti. Nel php.ini puoi specificare il numero massimo di connessioni persistenti e il timeout di ogni connessione in modo da non tenere troppe connessioni aperte inutilmente.

    Tuttavia come ti è già stato detto dal buon fabio, php non può emulare tutte le funzionalità di java, o non sempre può farlo con semplicità (come in questo caso). Se senti davvero la mancanza di java ritorna a java

  6. #6

    Re: Re: pooling & filters & DAO in php

    Originariamente inviato da Fabio Heller
    (riguardo ai filtri)
    Se ami la programmazione a oggetti te li puoi realizzare anche in PHP, fai una ricerca in google e troverai qualche articolo.
    Un buon posto dove guardare è www.phppatterns.com
    Non credo che mandare tutte le richieste ad un url (tipo index.php) si possa chiamare filtro...

  7. #7

    Re: Re: Re: pooling & filters & DAO in php

    Originariamente inviato da ultimoamore
    Ma posso specificare quante ne voglio aperte come minimo e come massimo? Oppure se mi si collegano 100 utenti poi le connessioni mi rimangono aperte anche se non c'e' nessuno in linea?
    Puoi specificare sia il numero, sia la durata della connessione inutilizzata.
    Devi settare alcuni parametri sia nelle impostazioni del database che utilizzi, sia in php.ini
    http://cvs.php.net/co.php/php-src/php.ini-dist

    Un buon punto di partenza per capire ogni pro e contro è questo
    http://it.php.net/features.persistent-connections
    per favore NIENTE PVT TECNICI da sconosciuti

  8. #8

    Re: Re: Re: pooling & filters & DAO in php

    Originariamente inviato da ultimoamore
    Non credo che mandare tutte le richieste ad un url (tipo index.php) si possa chiamare filtro...
    Hai preso il primo articolo che hai trovato e hai deciso che in PHP si fa così
    per favore NIENTE PVT TECNICI da sconosciuti

  9. #9

    Re: Re: pooling & filters & DAO in php

    Originariamente inviato da kuarl

    Tuttavia come ti è già stato detto dal buon fabio, php non può emulare tutte le funzionalità di java, o non sempre può farlo con semplicità (come in questo caso). Se senti davvero la mancanza di java ritorna a java
    No, diciamo che sono due cose MOLTO diverse e che vanno usate per cose diverse (in java solo per far partire Tomcat ti serve mezzo gigas di ram... :di56: )
    Cmq mi interessava molto la storia delle connessioni.

    Grazie

  10. #10

    Re: Re: Re: Re: pooling & filters & DAO in php

    Originariamente inviato da Fabio Heller
    Hai preso il primo articolo che hai trovato e hai deciso che in PHP si fa così
    Ho deciso che se li' lo fanno cosi' non ci sono modi molto diversi di farlo.
    Chiaramente fino a che qualcuno non mi dimostrera' il contrario...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.