[Powered by Google Translate] [PHP per lo sviluppo Web] [Tommy MacWilliam] [Questo è CS50.] [CS50.TV] In questo video, impareremo sull'utilizzo di PHP per lo sviluppo web. PHP è un linguaggio di script che può essere utilizzato per implementare siti web su un server web. Un server web è essenzialmente una macchina dedicata a fornire contenuti che si può accedere via Internet. Quando si accede a una pagina web come Facebook.com / home.php il codice nel file chiamato home.php che vive su un server web Facebook da qualche parte sarà eseguito sul server. Questo codice sarà probabilmente genererà un output che a sua volta inviate dal server al vostro browser web. Useremo l'apparecchio CS50 come un server web. La macchina probabilmente non sarà quasi potente come le macchine in un data center di Facebook, ma non avrete alcun problema ad utilizzare per lo sviluppo web. Quando navighiamo a un URL del tipo http://localhost/hello.php configuriamo l'apparecchio tramite un'applicazione chiamata il server HTTP Apache per cercare un file chiamato hello.php interno della casa / jharvard / vhosts / LocalHosts / html per impostazione predefinita. Se questo file esiste quindi Apache userà l'interprete PHP per eseguire il codice PHP in hello.php. Se tale file non esiste allora Apache genererà un errore non trovato o un errore 404, che probabilmente avete visto durante la navigazione sul web. Diamo uno sguardo a hello.php. Possiamo vedere qui che hello.php genera una linea di uscita del segnale. Quando abbiamo finito hello.php alla riga di comando tramite php hello.php che la produzione è stata stampata al terminale. Ora, quando si accede il file tramite una URL nel browser web la sua uscita sarà inviato al browser web, così voce alla URL, http://localhost/hello.php, possiamo vedere l'output nel nostro browser web. Proviamo aggiungendo un altro printf al nostro programma ciao mondo. Ok, Torniamo al browser web e vedere quello che abbiamo. Interessante. Piuttosto che stampare un'altra linea sulla propria linea, come avreste visto nel terminale, sembra che ottenuto smushed sulla stessa linea come l'altro printf, quindi forse nuove linee non funzionano in PHP. Non proprio. Ricordate che l'HTML viene in genere utilizzato per creare pagine web che può essere visualizzato dai browser web. Non solo è la stringa ciao da php non valido HTML, ma ricordiamo che non possiamo usare il carattere \ n in HTML per creare un'interruzione di riga. Invece di emissione di un let stringa di output HTML valido. Utilizzando i tag di paragrafo ognuna delle nostre chiamate printf verrà visualizzato sulla propria linea, così ora quando visitiamo la punta URL valid.php http://localhost/valid.php vediamo l'output che stiamo cercando. Ora, se consideriamo la fonte di questa pagina possiamo vedere che ora stiamo guardando HTML valido, che abbiamo creato da PHP. Mettendo tutto il nostro HTML all'interno chiamate printf sta ovviamente andando ottenere davvero fastidioso. Per fortuna possiamo facilmente mescolare HTML e PHP nello stesso file php.. Ricordate, tutto il nostro codice PHP deve essere racchiuso tra . Tutto ciò che non è racchiuso all'interno di questi delimitatori semplicemente essere inviati come output al browser piuttosto che essere giustiziato. Ciò significa che possiamo fare qualcosa di simile. Possiamo semplicemente scrivere HTML all'interno del nostro file php. e poi inserire blocchi PHP ovunque ci piacerebbe un po 'di codice php da eseguire. Qui definiamo alcune variabili all'inizio del file, e poi noi li stampiamo all'interno del nostro HTML. Ora, se si visita questo URL, http://localhost/mixed.php possiamo vedere la nostra PHP valutata all'interno del nostro HTML. Ora diamo un'occhiata a come possiamo passare i dati tra le nostre varie pagine PHP. Piuttosto che dire possiamo semplicemente dire . Diamo ora un'occhiata a come possiamo passare i dati tra le nostre varie pagine PHP. Un modo in cui possiamo farlo è quello di codificare informazioni nella URL di una pagina. Durante la navigazione sul Web, avrete notato che alcuni URL contengono un? seguito da una stringa contenente e commerciali e segni uguali. Questa parte dell'URL è conosciuta come la stringa di query, e questo permette di passare in modo efficace argomenti allo script PHP. La stringa di query è composta da coppie di valori chiave, proprio come una tabella hash. Un segno di uguale separa una chiave e il suo valore corrispondente mentre ampersands separano coppie. Un URL che assomiglia http://localhost/get.php?foo=bar&baz=qux ha 2 coppie di valori chiave nella stringa di query. La foo chiave associa al bar valore, e il baz chiave associa al valore qux. Siamo in grado di accedere facilmente a queste coppie di valori di chiave utilizzando una variabile speciale in PHP, $ _GET. $ _GET È un array associativo che viene automaticamente compilato con i dati di stringa di query. Ciò significa che, dato questo URL $ _GET ["pippo"] sarà uguale alla stringa bar. Diamo uno sguardo a get.php vedere $ _GET in azione. Qui stiamo usando una funzione chiamata var_dump, che una volta dato un array o di altre variabili stamperà fuori per noi. Ora, se noi semplicemente accediamo http://localhost/get.php poi vedremo una matrice vuota perché non abbiamo fornito una stringa di query. Se facciamo fornire una stringa di query tramite http://localhost/get.php?foo=bar&baz=qux allora possiamo vedere che la variabile $ _GET conterrà coppie di valori chiave della stringa di query. Ma cosa succede se non vogliamo mettere i nostri dati all'interno della URL di una pagina? Per grandi quantità di dati, questo può risultare in alcuni URL piuttosto brutti che stanno andando a rendere il nostro sito sguardo lucido zoppo. Possiamo invece mettere la stringa di query nel corpo delle richieste HTTP anziché l'URL della richiesta. Poi possiamo usare $ _POST variabile di PHP accedere le coppie di valori di chiave. Un modo per farlo è tramite un form HTML. Qui abbiamo un semplice form HTML. Si noti qui che l'attributo metodo di questa forma è post. Questo dice al browser di mettere coppie di valori chiave del modulo nel corpo della richiesta anziché l'indirizzo. Se dovessimo utilizzare il valore arrivare per questo attributo poi coppie di valori chiave del modulo sarebbero invece andare nella stringa di query, così li abbiamo potuto accedere tramite $ _GET di nuovo. L'attributo action del modulo indica al browser dove inviare i dati. Qui i nostri due elementi di input hanno gli attributi di nome. Il valore degli attributi name servirà come chiavi nei nostri dati, ei valori degli ingressi di testo diventeranno valori di tali chiavi. Ora diamo uno sguardo a post.php, il file che questa forma presenta al. Proprio come abbiamo fatto prima, stiamo semplicemente visualizzando il contenuto della variabile $ _POST. Facciamo navigare per il modulo con http://localhost/form.php. Ora, quando sottoponiamo il modulo possiamo vedere che i dati da form.php è passato a post.php senza aggiungere una stringa di query all'URL. Ora che abbiamo visto due modi diversi di passaggio dei dati tra le pagine PHP, GET e POST. Nei nostri esempi, abbiamo utilizzato due diversi tipi di richieste HTTP. Come ci si potrebbe aspettare, una richiesta GET è stato usato quando abbiamo popolato $ _GET Dall'URL, e una richiesta post è stato utilizzato quando abbiamo popolato $ _POST. Nel progettare le vostre applicazioni web è una buona regola da utilizzare richieste GET quando la vostra applicazione leggerà solo i dati e richieste POST quando la vostra applicazione sarà scrivere i dati. Ad esempio, una query di ricerca leggerà i dati dal vostro app, così una richiesta GET senso. D'altra parte, la vostra applicazione scrive dati attraverso qualcosa di simile a un modulo di registrazione, così una richiesta POST avrebbe più senso, e questo è una panoramica di alcune delle tecniche useremo in CS50 per creare siti web con PHP. Il mio nome è Tommy, e questo è CS50. [CS50.TV]