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

    Riassunto delle "recenti" evoluzioni del php

    Dunque, sono praticamente 2-3 anni che sto fermo allo stesso punto con PHP (che in effetti ho usato solo saltuariamente e per cose ormai di routine)... adesso in vista di un piccolo progetto che devo sviluppare ho deciso che è ora di dare una svecchiata al mio stile di programmazione PHP e alle mie conoscenze di tutti gli ammenicoli annessi e connessi.

    Morale: chi mi fa un megariassuntone di dove sta e dove va il PHP?

    In particolare una cosa che ho un po' perso di vista è stato il proliferare di versioni di mysql e driver di accesso: mysqli, pdo, sdo e chi più ne ha più ne metta.

    Vediamo se ho seguito almeno alla lontana le cose:
    mysqli -> interfaccia analoga a mysql, ma anche a oggetti, che serve (necessariamente?) per mysql > 4.1, supporta le prepared query.
    PDO -> driver universale per l'accesso ai DBMS, supportale transazioni. Giusto? A partire da che versione di mysql? La 5? (comunque necessita di tabelle innodb, no?)
    Ed SDO che d'è?
    C'è altro in merito?

    Con PDO mi sfugge una cosa: a quanto ho capito è un driver universale ma non è in grado di interpretare e tradurre dialetti sql specifici.. per cui come si fa a rendere un'applicazione che usa pdo realmente indipendente dalla piattafrma in mdo scalabile e semplice? ho qualche vaga ideama meglio che parli chi sa già per esperienza.

    In ultimo, almeno per quanto riguarda il mondo dei database: a me una cosa delle ultime versioni di Mysql non è mai andata giù. Le collation. Non ci ho mai capito niente, e in qulche caso ci ho avuto problemi. C'è qualcosa da sapere per conviverci pacificamente?

    Su altri fronti, che mi sono perso? Fate conto che forse l'ultima versione PHP che ho installato era la 5.1, ma giusto perchè avevo formattato.. altrimenti probabilmente avevo la 5.0.5 o giù di lì


    Grassie

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Posso rispondere solo in piccola parte...

    1) Non è vero che mysqli serve necessariamente con mysql > 4.1. Nel senso che puoi usare mysql > 4.1 anche con la vecchia estensione. In questo caso però il server deve girare in modalità old-passwords, perché il vecchio client ovviamente non supporta le nuove (in realtà questo non è esatto al 100%... se vuoi capire fino -quasi- in fondo guarda qui e cerca 'memorizzazione delle password'.).
    Non saprei dirti invece se mysqli possa funzionare con versioni di server mysql < 4.1

    2) La gestione dei caratteri è in effetti un po' ostica, ma oramai imprescindibile nel mondo globalizzato...
    Non ho capito però se parlando di "collation" ti riferivi proprio a quelle, o non piuttosto ai character set, visto che le collation sono in realtà la parte più semplice.
    Se non hai già dato un'occhiata qui potresti farlo adesso... poi magari chiedi cosa non è chiaro.

    Su tutto il resto non ho nulla da dire


  3. #3
    ok, grazie.. mi documento pian pianino...

    per il punto 2 sì scusami, sono stato impreciso.. mi riferivo a tutto il cucuzzaro

    Ho sentito che con PHP6 ci sarà un supporto Unicode molto potente che permetterà, a quanto ho capito, di non preoccuparsi di conversioni e similia.. quand'è che escxe php6?

    Altre novità di PHP?
    Ho visto che c'è una nuova libreria, Filter, altro?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    Uppo
    ho letto in giro anche articoli sul blog e guide e differenze
    ma tutto e' fermo al 2006 non trovo notizie recenti

    Ma il progetto del PHP6 e' ancora vivo ?


    Andrea

  5. #5
    Originariamente inviato da }gu|do[z]{®©
    ok, grazie.. mi documento pian pianino...

    per il punto 2 sì scusami, sono stato impreciso.. mi riferivo a tutto il cucuzzaro

    Ho sentito che con PHP6 ci sarà un supporto Unicode molto potente che permetterà, a quanto ho capito, di non preoccuparsi di conversioni e similia.. quand'è che escxe php6?

    Altre novità di PHP?
    Ho visto che c'è una nuova libreria, Filter, altro?
    Che è a mio parere uno spettacolo dai un occhio

    qui e qui ah dai pure un occhio a questo mio handler

    Altro la libreria Dom e simplexml tutta la nuova
    gestione OOP (ma penso che questo tu lo sappia già con setter getter overloading e __autoload tra i tanti)


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Originariamente inviato da }gu|do[z]{®©
    Altre novità di PHP?
    Ho visto che c'è una nuova libreria, Filter, altro?
    http://forum.html.it/forum/showthrea...readid=1169661 PHP 5
    http://blog.html.it/archivi/2007/11/...-di-php-53.php PHP 5.3
    http://us.php.net/spl PHP SPL (una delle eccellenti novità di PHP 5)

  7. #7
    Originariamente inviato da }gu|do[z]{®©
    Ho sentito che con PHP6 ci sarà un supporto Unicode molto potente che permetterà, a quanto ho capito, di non preoccuparsi di conversioni e similia.. quand'è che escxe php6?
    Semplicemente il PHP6 avrà il supporto a Unicode nativo, ma se devi lavorare con diversi charset, sempre dovrai avere a che fare con le conversioni.
    Con qualche piccolo accorgimento già ora puoi utilizzare UTF-8 con PHP5 senza particolari problemi. Il problema più ostico che c'è rispetto ai charset, è non tanto il supporto da parte dei linguaggi, quanto che in tanti non sappiano cosa siano e come funzionino.

  8. #8
    Originariamente inviato da skidx
    ....Il problema più ostico che c'è rispetto ai charset, è non tanto il supporto da parte dei linguaggi, quanto che in tanti non sappiano cosa siano e come funzionino.
    compreso in effetti il sottoscritto... cioè.. ho solo delle vaghe idee

    dove posso documentarmi meglio?

  9. #9
    Originariamente inviato da }gu|do[z]{®©
    dove posso documentarmi meglio?
    Ovunque, più o meno, da wiki in poi.

    Comunque, ti faccio uno schemino veloce:
    - byte != carattere
    Ogni carattere dentro il computer ha una certa rappresentazione in bit (come ogni informazione digitale). Lo stesso carattare, in diversi charset ( = set di caratteri) può avere rappresentazioni binarie differenti. Queste rappresentazioni possono occupare sempre un solo byte (come nell'ISO-8859-1) oppure più byte, come ad esempio in UTF-8.
    - per agire bene deve esserci concordanza tra charset usato in memorizzazione e charset usato in visualizzazione. Memorizzazione significa anche salvare i sorgenti con il giusto charset affinché le costanti stringa siano interpretate correttamente, non solo nel database.
    Quindi se hai un file HTML in iso-8859-1, hai voglia a settare il browser in UTF-8, non basta quello per cambiare il suo charset, così come non basta dichiarare un metatag "utf-8" o un header HTTP analogo per rendere quel documento realmente in utf-8. Ci deve essere concordanza in tutti questi aspetti.
    - quasi tutte le funzioni di manipolazione delle stringhe di PHP < 6 non funzionano su charset multibyte, (UTF-8 è multibyte), ma esistono librerie ed estensioni per risolvere questo problema.
    - il collation riguarda l'ordinamento alfabetico delle stringhe. Ad esempio in Germania, dove vi sono più caratteri rispetto all'alfabeto latino standard, anche l'ordinamento alfabetico cambia di conseguenza. Quindi il collation da specificare in MySQL serve appunto ad ottenere un corretto ordinamento dei risultati testuali nelle query. In genere è molto semplice, perché c'è un collation di default per ogni charset. Quindi se usi UTF-8 come charset ti basta prendere il collation UTF-8 case insensitive e sei a posto.

    Dubbi, perplessità?

  10. #10
    Originariamente inviato da skidx
    Ovunque, più o meno, da wiki in poi.

    Comunque, ti faccio uno schemino veloce:
    - byte != carattere
    Ogni carattere dentro il computer ha una certa rappresentazione in bit (come ogni informazione digitale). Lo stesso carattare, in diversi charset ( = set di caratteri) può avere rappresentazioni binarie differenti. Queste rappresentazioni possono occupare sempre un solo byte (come nell'ISO-8859-1) oppure più byte, come ad esempio in UTF-8.
    - per agire bene deve esserci concordanza tra charset usato in memorizzazione e charset usato in visualizzazione....
    e fin qui c'ero..

    ....Memorizzazione significa anche salvare i sorgenti con il giusto charset affinché le costanti stringa siano interpretate correttamente, non solo nel database.
    Quindi se hai un file HTML in iso-8859-1, hai voglia a settare il browser in UTF-8, non basta quello per cambiare il suo charset, così come non basta dichiarare un metatag "utf-8" o un header HTTP analogo per rendere quel documento realmente in utf-8. Ci deve essere concordanza in tutti questi aspetti.
    - quasi tutte le funzioni di manipolazione delle stringhe di PHP < 6 non funzionano su charset multibyte, (UTF-8 è multibyte), ma esistono librerie ed estensioni per risolvere questo problema.
    - il collation riguarda l'ordinamento alfabetico delle stringhe. Ad esempio in Germania, dove vi sono più caratteri rispetto all'alfabeto latino standard, anche l'ordinamento alfabetico cambia di conseguenza. Quindi il collation da specificare in MySQL serve appunto ad ottenere un corretto ordinamento dei risultati testuali nelle query. In genere è molto semplice, perché c'è un collation di default per ogni charset. Quindi se usi UTF-8 come charset ti basta prendere il collation UTF-8 case insensitive e sei a posto.

    Dubbi, perplessità?
    eh.. è qui che mi incarto.. l'aspetto pratico del cosa settare dove quando e come..

    fondamentalmente mi pare di capire che ci deve essere una concordanza di charset tra:
    editor di testi (quindi file html etc)
    charset dichiarato nel'html
    database
    connessioni al database

    scordo qualcosa?

    Detto questo: che charset usare?

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.