[Powered by Google Translate] [PHP Pembangunan Web] [Tommy MacWilliam] [Ini adalah CS50.] [CS50.TV] Dalam video ini, kita akan belajar tentang menggunakan PHP untuk pembangunan web. PHP adalah bahasa skrip yang boleh digunakan untuk melaksanakan laman web di pelayan web. Pelayan web asasnya adalah mesin khusus untuk menyediakan kandungan yang boleh diakses melalui internet. Apabila anda menavigasi ke laman web seperti Facebook.com / home.php kod dalam fail yang dipanggil home.php yang tinggal di pelayan web Facebook di suatu tempat akan dilaksanakan pada pelayan itu. Kod ini mungkin akan menjana beberapa output yang seterusnya akan dihantar dari pelayan ke penyemak imbas anda. Kami akan menggunakan perkakas CS50 sebagai pelayan web. Mesin anda mungkin tidak akan hampir sekuat mesin di pusat data Facebook, tetapi anda akan mempunyai masalah menggunakannya untuk pembangunan web. Apabila kita pergi ke URL seperti http://localhost/hello.php kita mengkonfigurasi perkakas melalui permohonan dipanggil pelayan Apache HTTP untuk mencari fail yang dipanggil hello.php dalam rumah / jharvard / vhosts / localhosts / html secara lalai. Jika fail yang wujud kemudian Apache akan menggunakan jurubahasa PHP untuk melaksanakan kod PHP dalam hello.php. Jika fail yang tidak wujud maka Apache akan membuang kesilapan yang tidak dijumpai atau ralat 404, yang anda mungkin dilihat semasa menyemak imbas Web. Mari kita lihat hello.php. Kita boleh lihat di sini bahawa hello.php menjana garis isyarat output. Apabila kita berlari hello.php pada baris arahan melalui php hello.php output yang telah dicetak ke terminal. Sekarang, apabila kita mengakses fail ini melalui URL dalam penyemak imbas web keluarannya akan dihantar ke penyemak imbas web, jadi menuju ke URL, http://localhost/hello.php, kita boleh melihat output dalam pelayar web kami. Mari kita cuba menambah printf lain untuk program dunia hello kami. Baiklah, mari kita kembali ke penyemak imbas web dan melihat apa yang kita ada. Menarik. Daripada percetakan talian lain pada baris sendiri, seperti yang anda lihat di terminal, ia kelihatan seperti ia tidak perlu lagi smushed ke baris yang sama sebagai printf yang lain, garis supaya mungkin baru tidak bekerja dalam PHP. Tidak cukup. Ingat bahawa HTML biasanya digunakan untuk membuat laman web yang boleh dipaparkan oleh pelayar web. Bukan sahaja tali Hello dari php HTML tidak sah, tetapi ingat bahawa kita tidak boleh menggunakan \ n watak dalam HTML untuk mewujudkan satu baris. , Bukan sekadar keluarkan output HTML sah rentetan yang disewakan itu. Dengan menggunakan tag perenggan setiap panggilan printf kami akan dipaparkan pada baris sendiri, jadi sekarang apabila kita melawat menunjuk URL untuk valid.php http://localhost/valid.php kita lihat output yang kita cari. Sekarang, jika kita melihat sumber halaman ini kita dapat melihat bahawa kita sedang melihat HTML sah, mana kita diciptakan dari PHP. Meletakkan semua HTML kami di dalam panggilan printf adalah sudah tentu akan mendapat benar-benar menjengkelkan. Nasib baik kita dengan mudah boleh mencampurkan HTML dan PHP dalam sama. file php. Ingat, semua kod PHP kita hendaklah disertakan dalam . Apa-apa yang tidak terkandung dalam pembatas ini hanya akan dihantar sebagai output kepada pelayar bukannya dilaksanakan. Ini bermakna kita boleh melakukan sesuatu seperti ini. Kita hanya boleh menulis HTML dalam. Fail php kami dan kemudian masukkan PHP blok di mana sahaja kita ingin beberapa kod php yang akan dilaksanakan. Di sini kita menentukan beberapa pemboleh ubah di bahagian atas fail, dan kemudian kita cetak mereka keluar dalam HTML kami. Sekarang jika kita lawati URL ini, http://localhost/mixed.php kita dapat melihat PHP dinilai kami dalam HTML kami. Sekarang mari kita lihat bagaimana kita boleh hantar data di kalangan pelbagai laman PHP kami. Dan bukannya mengatakan kita hanya boleh mengatakan . Sekarang mari kita lihat bagaimana kita boleh hantar data di kalangan pelbagai laman PHP kami. Salah satu cara yang boleh kita lakukan iaitu untuk mengekod maklumat ke dalam URL halaman. Apabila menyemak imbas web, anda mungkin perasan bahawa beberapa URL mengandungi? diikuti dengan rentetan yang mengandungi ampersands dan tanda-tanda yang sama. Ini sebahagian daripada URL dikenali sebagai rentetan pertanyaan tersebut, dan ini membolehkan anda untuk lulus hujah-hujah secara berkesan kepada skrip PHP anda. Rentetan pertanyaan terdiri daripada pasangan nilai utama, sama seperti jadual hash. Satu tanda yang sama memisahkan kunci dan nilai sepadan manakala ampersands memisahkan pasangan. Satu URL yang kelihatan seperti http://localhost/get.php?foo=bar&baz=qux mempunyai 2 pasang nilai utama dalam rentetan pertanyaan. The foo utama peta ke bar nilai, dan Baz utama peta kepada qux nilai. Kita dengan mudah boleh mengakses pasangan nilai utama menggunakan pembolehubah khas dalam PHP, $ _GET. $ _GET Adalah pelbagai bersekutu yang secara automatik penduduk dengan Parameter. Ini bermakna bahawa ini diberikan URL $ _GET ["Anu"] akan sama dengan bar tali. Mari kita lihat pada get.php untuk melihat $ _GET dalam tindakan. Di sini kita menggunakan fungsi yang dipanggil var_dump, yang apabila diberi pelbagai atau pemboleh ubah lain akan mencetak untuk kita. Sekarang jika kita hanya mengakses http://localhost/get.php maka kita akan melihat pelbagai kosong kerana kami tidak menyediakan rentetan pertanyaan. Jika kita lakukan memberikan rentetan pertanyaan melalui http://localhost/get.php?foo=bar&baz=qux maka kita dapat melihat bahawa $ _GET ubah akan mengandungi nilai pasangan kunci rentetan pertanyaan ini. Tetapi bagaimana jika kita tidak mahu untuk meletakkan data kami di dalam URL halaman? Untuk jumlah data yang besar, ini boleh menyebabkan beberapa URL cantik hodoh yang akan membuat laman web kelihatan berkilat lumpuh kami. Kami bukannya boleh meletakkan rentetan pertanyaan ke dalam badan daripada permintaan HTTP dan bukan URL permintaan ini. Kemudian kita boleh menggunakan PHP ini $ _POST ubah untuk mengakses pasangan nilai utama. Salah satu cara untuk melakukan ini adalah melalui borang HTML. Di sini kita mempunyai satu bentuk HTML yang mudah. Perhatikan di sini bahawa sifat kaedah borang ini adalah pos. Ini memberitahu pelayar untuk meletakkan nilai pasangan kunci bentuk ini ke dalam tubuh permintaan dan bukannya URL. Jika kita menggunakan nilai mendapatkan untuk atribut ini maka nilai pasangan kunci bentuk ini sebaliknya akan pergi ke dalam rentetan pertanyaan, supaya kita boleh mengaksesnya melalui $ _GET lagi. Sifat tindakan borang yang memberitahu pelayar di mana untuk menghantar data. Di sini elemen input 2 kita mempunyai sifat-sifat nama. Nilai sifat-sifat nama akan menjadi kunci ke dalam data kami, dan nilai-nilai input teks akan menjadi nilai-nilai dari orang-orang kunci. Sekarang mari kita lihat post.php, fail borang ini mengemukakan kepada. Sama seperti kita lakukan sebelum ini, kami hanya memaparkan kandungan $ _POST berubah-ubah. Mari kita pergi ke borang dengan http://localhost/form.php. Sekarang apabila kita mengemukakan borang itu kita dapat melihat bahawa data dari form.php diluluskan untuk post.php tanpa appending rentetan pertanyaan kepada URL. Sekarang kita telah melihat 2 cara yang berbeza lulus data antara halaman PHP, mendapatkan dan hantar. Dalam contoh kami, kami menggunakan 2 jenis permintaan HTTP. Seperti yang anda jangkakan, permintaan mendapatkan digunakan apabila kita dengan penduduk $ _GET Dari URL dan permintaan pos telah digunakan apabila kita penduduk $ _POST. Dalam mereka bentuk aplikasi web anda ia satu peraturan yang baik ibu jari untuk menggunakan permintaan mendapatkan apabila aplikasi anda hanya akan membaca data, dan permintaan jawatan apabila aplikasi anda akan menulis data. Sebagai contoh, permintaan carian akan membaca data dari aplikasi anda, jadi permintaan mendapatkan masuk akal. Sebaliknya, aplikasi anda akan menulis data melalui sesuatu seperti borang pendaftaran, jadi permintaan pos akan lebih masuk akal, dan itulah gambaran beberapa teknik kami akan menggunakan dalam CS50 untuk mewujudkan laman web menggunakan PHP. Nama saya Tommy, dan ini adalah CS50. [CS50.TV]