[MUSIK BERMAIN] Allison Buchholtz-AU: Baiklah, semua orang, selamat datang kembali ke bahagian. Mudah-mudahan anda semua memiliki besar Hujung minggu Halloween, atau Halloweekend, kerana saya ingin mengatakan, semua berehat dan sembuh. Dan bersyukur kerana ia tidak turun salji lagi. Ini sebenarnya cerah di luar. Saya adalah nyata gembira dengan keadaan itu. Tidak bersedia untuk mengheret keluar but musim sejuk saya. Mudah-mudahan, pset6 berjalan cukup baik. Jika anda bosan C, saya gembira untuk mengatakan anda selesai dengan C untuk saat ini. Kami telah beralih sepenuhnya ke dalam pengaturcaraan web, jadi anda akan bekerja dalam HTML, PHP, mungkin sedikit JavaScript. Saya tidak tahu apa yang minggu depan Serangga adalah, jadi saya tidak boleh menjamin apa Serangga anda yang seterusnya akan berkenaan, tetapi Serangga minggu ini adalah CS50 Kewangan, yang pada dasarnya melaksanakan jenis halaman web yang membolehkan anda untuk membeli dan menjual saham, dan menjejaki mereka. Dan itu cukup sejuk, kerana semua dari ia dihasilkan secara dinamik. Anda boleh mempunyai pengguna yang berbeza yang masing-masing mempunyai maklumat mereka sendiri, dan anda akan menjadi melaksanakan semua itu. Ia mengambil masa beberapa saat. Saya pasti rasa ini adalah lebih mudah daripada C pşet, tetapi ia mengambil masa lebih lama. Anda belajar bahasa baru, PHP, yang sangat mirip dengan C, tetapi sudah tentu akan memerlukan Anda untuk mencari sintaks dan memahami bagaimana untuk menukar antara bahasa. Tetapi saya tidak fikir ada apa-apa super konseptual keras tentang Serangga ini. Ia baru belajar bahasa baru dan mendapatkan melalui semua potongan-potongan kecil. Jika kalian telah membaca spec, itu cukup panjang. Saya rasa ini adalah seperti 21 halaman, jika saya ingat dengan betul. Ini spec yang panjang. Jadi, jika anda tidak membaca itu-- 22. 32. Wow. Jadi saya kira sebanyak 50% di sana. Jadi, 32 halaman. Jadi ia adalah panjang. Ada banyak buah, tetapi tidak ada dari potongan-potongan boleh yang buruk. Ia hanya banyak. Jadi pasti bermula awal jika boleh, seperti biasa, tetapi saya fikir ia harus merasa sedikit lebih bagus daripada terutama pşet seperti pulih dan mengubah saiz yang hanya amat sukar untuk membalut kepala anda sekitar. Maka dengan itu, kami akan menyelam dalam. Saya tidak mempunyai agenda anda slaid hari ini, tetapi kami akan bercakap tentang PHP. Saya akan memberikan anda jenis yang kursus kilat pada beberapa perkara yang anda mungkin ingin tahu tentang PHP. Perkara sintaks yang berbeza, perkara yang perlu anda perhatikan. Kami akan bercakap sedikit tentang SQL. Hanya hal-hal yang sangat mudah di sana, dan kemudian juga MVC adalah Model View Controller, yang Serangga adalah bagaimana anda ditetapkan, begitu memahami bagaimana yang kerja-kerja akan menjadi super berguna. Baik. Jadi PHP. Kalian patut dilakukan sesuatu yang sangat, sangat mudah dengan PHP, yang perkara ini bawah di sini, di mana anda menghantar borang beberapa di atas di sini yang mempunyai beberapa nama yang anda input, dan ia akan mengatakan seperti hello, Ben, atau Halo, Allison, dan ia akan muncul. Jadi, ini adalah benar-benar apa yang ia harus telah melihat seperti dari Serangga anda, dalam kes anda semua ingin tahu atau tidak cukup mengetahuinya. Tetapi kita mempunyai tanda tanya di sini yang menunjukkan bahawa ini adalah PHP. Mereka membungkusnya, dan kemudian htmlspecialcharge, ingat, adil, memastikan bahawa anda akan selamat daripada mana-mana serangan suntikan gila atau jika seseorang cuba untuk meletakkan watak gila berniat jahat ke lapangan nama anda, ia tidak suka server atau barang kecil anda. Kemudian kalau kita lihat, HTML ini mana borang memiliki kaedah $ _GET,, jika kita ingat superglobals kami dari PHP, $ _GET, $ _POST, kita akan pergi ke mereka yang sedikit. Tetapi kita tahu bahawa kita mempunyai beberapa nama di sini yang sepadan dengan nama yang kami ajukan. Jadi, ini adalah hanya jenis seperti sangat mudah kerjasama PHP HTML yang kalian dapati dari Serangga enam. Tetapi itu tidak benar-benar menjawab apa yang PHP. Jelas itu bahasa, tetapi kita tidak mempunyai benar-benar berbicara tentang hal itu dalam bagian ini, jadi ada sedikit lebih tentang apa PHP sebenarnya. Jadi PHP hanya PHP preprocessor hiperteks. Ia benar-benar dianggap bahasa pengaturcaraan kerana ia mempunyai logik, sedangkan jika kita ingat berbicara tentang HTML, kita disebut bahawa bahasa markup berbanding bahasa pengaturcaraan kerana HTML adalah semata-mata mengubah cara benda kelihatan pada halaman. Hanya saja mengubah suai apakah ada sesuatu yang berani, atau apakah itu borang, elemen, atau sesuatu seperti itu. Ia tidak mempunyai apa-apa logik. Ia tidak mempunyai gelung atau syarat. Anda tidak boleh kesalahan memeriksa hal-hal. Sama ada anda akan menampilkan hal-hal dengan cara tertentu atau meminta hal-hal dari pengguna. Itu saja. Jadi dengan PHP, ia sebenarnya tidak memungkinkan kita untuk melakukan semua perkara-perkara ini lebih logik, seperti mengesahkan input atau memanipulasinya dalam beberapa cara. Kita boleh menggabungkan ia dengan HTML, seperti yang kita hanya lihat dalam Serangga terakhir anda dan saat ini, dan ia membolehkan kita untuk membuat laman-laman web dinamik. Oleh itu, jika kalian ever-- Saya tidak tahu apakah Anda seperti saya, tetapi di sekolah menengah mereka telah kami mengambil kelas IT ini di mana kita buat hanya halaman web HTML, dan mereka statik dan klik di kepada perkara-perkara lain, tetapi mereka tidak pernah berubah. Dengan yang dinamik, apa yang kita boleh lakukan adalah, seperti dengan CS50 Kewangan, Anda akan mempunyai pengguna yang berbeza. Bergantung kepada para pengguna ' keutamaan, dan apa yang mereka membeli atau apa yang mereka jual untuk saham mereka, Anda akan memaparkan perkara yang berbeza. Jadi, jika ada beberapa kecirian untuk pengguna anda menggunakan ini laman web, kita boleh secara dinamik memutuskan apa yang akan ditampilkan untuk mereka. Ia bukan perkara yang sama bagi tiap-tiap satu orang, yang jika kita hanya memiliki HTML, halaman yang akan sama bagi setiap orang yang melawat. PHP membolehkan kita untuk memperibadikan halaman. Dan kemudian kita sama ada boleh memasukkannya ke dalam fail yang sama, yang, seperti dalam kes sebelum di sini, kita melihat bahawa kita mempunyai semua di sini HTML dan kemudian kita mempunyai sedikit kecil ini PHP. Kita boleh melakukan seperti itu, atau dengan CS50 Kewangan, jika kalian telah melihat files-- dan kita harus mempunyai masa untuk langkah melalui beberapa daripada mereka bersama-sama di akhir kami di seksyen ini- dapat melihat bagaimana anda boleh benar-benar menjaga mereka terpisah, yang sebenarnya adalah satu perkara yang baik untuk dilakukan. So. Kursus kilat. Semua perkara-perkara mudah yang cepat Anda mungkin perlu tahu untuk PHP. Mengisytiharkan pembolehubah. Biru yang sedikit menjengkelkan, tapi mudah-mudahan kalian dapat melihatnya. Jika tidak, aku akan menulisnya di papan kapur. Pembolehubah mengisytiharkan. Satu perkara yang perlu tahu adalah bahawa, tidak seperti C, PHP adalah longgar atau dinamik ditaip, yang bermakna anda tidak perlu memberitahu pembolehubah jenis itu. Anda boleh hanya cukup mengatakan beberapa variabel adalah sama dengan apa sahaja yang anda inginkan, dan akan menentukan jenis variabel yang pada waktu berjalan untuk anda. Seperti yang anda akan lihat, ini boleh membuat beberapa perkara yang sangat menarik. Tetapi bagi kebanyakan tujuan, anda tidak perlu untuk menentukan jenis. Anda boleh, dan anda boleh menaip membuang hal-hal seperti yang anda biasa tidak akan melihat jika anda mahu memaksa untuk menjadi jenis tertentu, tetapi anda tidak perlu. Ia tidak akan berteriak pada Anda jika anda hanya menyatakan pembolehubah dan tidak menentukan jenis untuk itu. Jadi jika anda tidak boleh membaca this-- saya tahu ia bukan yang terbaik. Saya fikir ia akan muncul better-- yang cara anda memulakan apa-apa ubah hanyalah dengan tanda dolar, apa yang Anda mahu ia dipanggil, dan kemudian apa yang anda menetapkannya. Jadi dalam hal ini, ini adalah kira-kira $ var = 3. Oleh itu, jika kita pernah menggunakan $ var di suatu tempat, ia akan hanya sama dengan meletakkan 3 di sana. OK? Jadi, mana-mana berubah-ubah, hanya tanda dolar, apa pun anda mahu panggil pembolehubah anda, dan apa sahaja yang anda mahu ia sama. Sedikit sejuk. Kurang menulis untuk Memulakan berubah, kan? Adakah ini masuk akal untuk semua orang? Hanya perbezaan sintaks cepat antara C dan PHP. Array adalah lebih sejuk di PHP. Kita boleh bagi mereka kunci. Jadi cara untuk berfikir tentang itu adalah bahawa, jika kita pernah ingin mengakses elemen dalam array, yang kita perlu tahu yang Indeks itu, bukan? Oleh itu, kita tahu bahawa dengan C, kita boleh mengakses elemen pertama dengan melakukan pelbagai kurungan sifar, atau jika kita mahu elemen pertama, pelbagai kurungan satu. Dan jika kita mahukan sesuatu di sana, kita mungkin hanya perlu beralih melalui, kecuali kita benar-benar tahu indeks. Satu perkara yang benar-benar sejuk dengan tatasusunan PHP adalah bahwa mereka apa kita panggil asosiatif. Oleh itu, kita dapat mengaitkan beberapa kunci untuk beberapa nilai, dan kami benar-benar akan supaya- saya akan menunjukkan kepada anda bagaimana kita boleh menggunakan ini dalam satu saat. Tapi pada dasarnya, jika anda ingin untuk memulakan pelbagai seperti itu, anda mempunyai $ array. Jadi dengan cara yang sama, ia hanya beberapa pembolehubah yang kita buat. Ini boleh dipanggil apa sahaja yang anda mahu. Ini boleh menjadi $ contoh. Hanya satu lagi berubah-ubah. Apa yang membuatnya array adalah sintaks braket yang ada di sini. Sama seperti biasa C. Dan kita mempunyai beberapa kunci untuk beberapa nilai. Jadi key1 pergi ke value1, key2 dua pergi ke nilai2. Pasangan ini dipisahkan dengan koma, seperti array biasa. Namun. Besar. Kunci adalah pilihan. Anda tidak perlu menggunakannya. Dan jika anda tidak, maka ia hanya biasa. Soalan? Atau, oh. PENONTON: Nah, kira-kira yang betul. Di mana memori itu berasal? Bolehkah ia juga sama seperti [Terdengar] dan dari stack? Adakah itu juga menggunakan PHP? Seperti apabila kita menghubungkan mereka? Allison Buchholtz-AU: Dengan PHP, Kami tidak cenderung perlu bimbang tentang di mana kami memori berasal. Kami tidak menghabiskan banyak masa bercakap tentang itu, jadi ia tidak benar-benar apa-apa anda perlu bimbang tentang. Jadi kunci adalah pilihan. Dengan cara yang sama, jika anda tidak ingin membuat ini yang berkaitan, anda hanya mahu array biasa di mana pelbagai sifar adalah elemen pertama dan array satu adalah yang kedua elemen, anda boleh melakukannya dengan tepat seperti yang anda lakukan dalam C. Anda mempunyai beberapa variabel yang akan menjadi array, dan itu sama dengan kurung ini di sini. Ya. PENONTON: Adakah ia mempunyai titik yang sama dengan notasi. Seperti, yang boleh saya lakukan seperti array ++, dan yang menunjuk kepada yang kedua. Allison Buchholtz-AU: Anda boleh do-- Nah, anda boleh mempunyai beberapa iterator, i, yang boleh anda lakukan i ++ dan melakukan array i dengan cara yang sama. Tetapi itu sahaja. Jadi, seperti dalam kes ini, array 1 akan sama dengan 20. Sama dengan notasi pengindeksan. Ini adalah pada dasarnya hanya satu perkara yang tersirat di sini, di mana dikatakan sifar, sifar hingga 10, untuk 1 hingga 20, 2 hingga 30. Ia hanya kunci tersirat untuk itu. Apakah perubahan dengan PHP bahawa anda kini mempunyai kuasa untuk menetapkan kembali kunci-kunci untuk melakukan apa sahaja yang anda suka. Jadi satu perkara yang di sini. Jadi saya mempunyai hanya beberapa contoh di sini bahawa saya menulis untuk kalian kerana saya merasa seperti contoh selalu membantu lebih daripada sekadar abstrak. Jadi, dalam hal ini di sini, kita mempunyai beberapa larik yang iaitu nama pertama saya, nama terakhir saya, dan saya sedang bergema, yang hanya bagi segala maksud di sini akan mencetak untuk output di sini. Dan ia berkata, OK. Cetak nilai yang sepadan dengan pelbagai kunci di Allison. Dan saya juga boleh menghantar kalian semua kod ini selepas kelas. Jadi, apabila kita menjalankan ini, apa yang anda berfikir yang akan berlaku? Apa yang berlaku untuk mencetak? PENONTON: nama akhir anda. Allison Buchholtz-AU: Nama terakhir saya. Tentu saja. Di sini. Mencetak. Jadi jika kita mengubah ini dan kami adalah untuk menambahkan orang lain untuk list-- kami Jadi, bila kita mempunyai Emma sini, dan kita kaitkan name-- terakhir anda Mari kita lihat jika saya mengeja hak ini. PENONTON: Ya. Allison Buchholtz-AU: Ya. PENONTON: pekerjaan yang baik. Allison Buchholtz-AU: Lovely. Jadi jika kita mempunyai di sini dan kami ingin mencari nama akhir anda, anda mempunyai di sana. Jadi anda hanya boleh memikirkan ia sebagai menggantikan kunci ini di sini. Kau hanya menggantikan indeks. Oleh itu, ia membolehkan anda untuk hanya mencari melalui array lebih mudah. Anda tidak perlu tahu indeks. Selama kunci ini yang anda cari untuk ada di suatu tempat dalam array, PHP akan menemuinya dan ia akan kembali nilai yang berkaitan dengannya. Jadi ia memberikan anda lebih banyak kuasa dengan pameran anda. Ya. PENONTON: Jika anda mempunyai dua kunci yang sama, ia akan memberi anda satu kesilapan? Allison Buchholtz-AU: Ia harus memberikan ralat, yeah. Apakah yang membuat sedikit yang lebih berkesan untuk anda semua? Dan dengan cara yang sama, kami mempunyai array di sini yang tidak mempunyai kunci. Juga ini adalah sintaks yang bahawa anda mungkin mahu untuk menyedari, kerana anda akan harus menggunakan ini di Serangga anda. Setiap kali anda melakukan echo, anda mempunyai kutipan ini, dan setiap kali anda merujuk kepada sebahagian daripada array, anda perlu mempunyai ini pendakap kerinting di sekeliling mereka. Ini semacam menjengkelkan, tetapi Anda hanya perlu melakukannya. Jadi, sesuatu yang perlu diingat. Jika anda menjalankan ke dalam kesalahan, Saya tahu bahawa ini ada dalam array saya tetapi ia melemparkan kesalahan pada saya, cuba meletakkan kawat gigi di sekitarnya dan ia harus bekerja. Jadi dalam kes ini di sini, ini adalah C pelbagai wajar jika kita terbiasa. Mempunyai tiga, lima, dan enam, dan kami hanya ingin mencetak elemen pertama, jadi ini harus mencetak tiga. Dan saya menjalankan semua ini, sehingga mudah-mudahan tidak ada yang berubah. Kita melihat di bahagian bawah di sini, ia hanya mencetak tiga. Sejuk. Yang masuk akal untuk semua orang? Array bersekutu. Lebih sejuk daripada array biasa. Ini adalah why-- Adakah David menunjukkan pelaksanaan PHP dari pset6 selama kuliah di semua? OK. Jadi, saya akan menunjukkan kepada anda. Saya tidak tahu ia di luar T-- yang PENONTON: Dia lakukan minggu lalu. Allison Buchholtz-AU: Apakah itu minggu lalu? PENONTON: Ya. Allison Buchholtz-AU: Ya. Jadi ejaan boleh dilakukan dalam seperti enam baris dengan PHP, dan sebahagian daripada kuasa yang adalah array ini bersekutu di mana Anda hanya boleh memuatkan setiap kata dalam, dan anda mempunyai ia sama dengan benar atau salah. Dan supaya anda boleh berkata, oh. Kamus kembali di beberapa kata, dan jika ia ada di sana, ia akan kembali benar. Jika tidak, ia tidak akan menemukan itu dan ia akan kembali salah. Jenis Jadi dari satu perkara yang sejuk sedikit. Baik. Jadi mereka adalah array bersekutu. Mereka cukup sejuk. Saya benar-benar seperti mereka. Dan jelas this-- Ah. OK. Sekarang bekerja. Mungkin. OK. Satu lagi perkara. Jadi, sama rata, hanya Perkara yang sejuk yang perlu diingat. Dengan PHP, kerana ia secara dinamik ditaip, jenis yang boleh berubah bergantung kepada apabila Anda menjalankannya, bagaimana anda menjalankannya. Saya sebenarnya mempunyai beberapa sejuk contoh yang saya akan menunjukkan kepada anda semua. Tetapi == hanya memeriksa kesetaraan selepas jenis juggling. Jadi jika anda mempunyai sesuatu yang seperti watak 1 dan angka 1, PHP akan memberitahu anda bahawa mereka adalah sama kerana ia boleh sulap jenis yang dua daripada mereka sehingga itu sama, yang mungkin untuk kes anda baik-baik saja. Jika anda perlu untuk melihat apakah mereka adalah yang sama nilai dan jenis yang sama, Anda ingin === ini. Dan saya tidak fikir anda mempunyai apa-apa kes di mana anda perlu menggunakan yang di Serangga anda, tetapi untuk banyak orang-orang yang akan pergi untuk melakukan halaman web bagi projek-projek akhir anda dan perkara-perkara, itu satu perkara yang baik untuk tahu == itu dan === adalah berbeza, dan ia adalah baik yang perbezaan difahami. OK. So. Gelung Foreach. Mereka adalah cara untuk beralih melalui array. Jadi, sama seperti tatasusunan menjadi jadi lebih sejuk di PHP, cara anda untuk beralih melalui array, saya fikir, juga menjadi lebih sejuk dan jauh lebih kuat. Jadi, daripada harus membuat ada yang untuk saya sama dengan 0 dan apa sahaja, dan kemudian mengemas kini i seperti yang anda pergi melalui, kita mempunyai gelung foreach mengagumkan. Jadi, inilah umum standard struktur kedua-dua. Sehingga Anda juga harus foreach beberapa pelbagai dengan nilai yang anda mahu untuk beralih sebagai. Jadi, ini adalah nama array pembolehubah yang anda mahu untuk rujukan, dan ini adalah apa yang anda mahu menyebutnya dalam loop. OK? Jadi ini adalah sejajar dengan setiap elemen array, dan anda menggunakan nilai ini dalam lingkaran ini. Saya mempunyai contoh. Saya tahu contoh adalah jauh lebih baik. Dan sebagainya ini adalah jika ada tiada kekunci, jadi ini adalah seperti jika kita hanya mempunyai satu di mana kunci adalah indeks biasa untuk array anda. Atau ini juga dinyatakan dalam kes itu jika anda tidak gunakan untuk kunci. Jika anda tidak mengambil berat tentang kunci dan anda hanya ingin beralih melalui dengan nilai-nilai untuk masing-masing dalam apa jua perintah, bahawa apa-apa. Anda boleh menggunakan struktur. Jika tidak, jika ada kunci, kami $ Value hanya berubah kepada $ nilai utama. Oleh itu, ia hanya berubah kepada pasangan nilai utama. Dan kemudian kita boleh merujuk kepada $ key dan $ nilai dalam gelung kami. OK? So. Contoh. Membuatnya lebih baik. OK. Jadi kita mempunyai satu ini di sini, yang kita mempunyai beberapa are-- Anda juga boleh membuat array seperti ini dengan memiliki beberapa variabel yang sama untuk array dengan tanda kurung, atau anda hanya boleh melakukan kurungan. Anda perlu melakukan pendakap, tetapi ini adalah satu lagi cara untuk melakukannya. Jadi di sini kita mempunyai beberapa array tiga unsur-unsur satu, dua, dan tiga, dan kami mempunyai foreach kami. Perhatikan yang ini sesuai dengan array kami iterasi, dan ini adalah apa yang kita panggil setiap perkara yang sedang kita. Dan semua ini adalah melakukan itu akan mencetak setiap nilai. Jadi jika kita menjalankannya, kita dapati bahawa kita mempunyai nilai satu, dua nilai, nilai tiga. Dan dengan cara yang sama yang biasanya array perlu dari satu jenis, array tidak perlu semua sebagai jenis yang sama di sini. Jadi sekarang kita mempunyai beberapa int. Kami mempunyai dua tali. Jadi array anda boleh mendapatkan jauh lebih kuat dan mungkin sedikit berantakan sedikit, bergantung dalam perjalanan anda ingin melihatnya. Oleh itu, kita boleh mengubah ini untuk apa sahaja yang kita mahu. Kami menggunakan nilai. Itulah perkara standard yang kita gunakan. Tetapi, penting untuk mengetahui bahawa kita boleh memanggil kaunter seperti ini jika kita ingin. Dan selama mereka cocok, jelas semua orang gembira. Jika anda mahu menjalankan PHP menjalankan sesuatu seperti perintah ini talian anda tahu ini di sini, anda hanya melakukan PHP, dan kemudian apa sahaja fail yang anda hendak berjalan. Jadi jika anda ingin main-main dengan PHP, dan lebih logik dan anda tidak benar-benar perlu melihat seperti dalam pelayar web, Anda hanya boleh berjalan di baris arahan seperti itu dan gema akan mencetak keluar apa sahaja yang anda suka. OK. Cara lain yang kami miliki adalah seperti ini. Jadi ini adalah satu kes di mana mungkin anda mahu menggunakan kedua-dua utama dan nilai, Saya tahu ini adalah seperti contoh super-buat tetapi saya berharap mereka membuat ia sedikit lebih jelas. Jadi di sini kita mempunyai beberapa pelbagai sekali lagi, tetapi kali ini, bukan hanya memiliki Anda tahu tidak ada kunci. Kami mempunyai kunci untuk masing-masing. Jadi adalah akan menjadi satu, b akan sesuai kepada dua, dan c akan sesuai dengan tiga. Dan dalam hal ini, jika kita menulis dengan cara ini, kita mempunyai akses kepada kedua-dua kunci dan nilai masing-masing. Oleh itu, apabila kita menjalankan ini, kita akan mendapat masing-masing. Jadi ia akan mencetak kunci kami dan nilai-nilai yang sesuai. Satu lagi perkara yang sejuk adalah bahawa, dan saya tahu berkata seperti ini tidak mempunyai kunci, tetapi ia selalu tersirat mempunyai penting kerana jika anda tidak mewakilkan kunci, sudah tentu, anda kunci hanya indeks Anda atau indeks sehingga kami bisa selalu juga melakukan salah satu ini. Seperti ini. Saya akan mencetak. Jadi dalam hal ini, jika anda perhatikan, kita mempunyai kunci tersirat kami sifar, satu, dan dua di sini. Dan dengan cara yang sama dengan yang satu ini, anda boleh sentiasa hanya mengatakan r sebagai nilai, dan anda hanya mempunyai akses kepada nilai. Anda tidak mengambil berat tentang anda kunci, walaupun anda mempunyai kunci, jika anda tidak mengambil berat tentang mereka, anda tidak semestinya perlu memasukkannya ke dalam gelung foreach anda. Adakah yang masuk akal untuk semua orang? PENONTON: Bolehkah anda hanya memanggil kunci, juga? Allison Buchholtz-AU: Ya anda benar-benar boleh melakukannya juga. Sebenarnya, tunggu. Tunggu. akan itu-- No. Jika anda ingin kekunci, kemudian yang perlu anda lakukan kunci untuk nilai. PENONTON: Tambah nilai. Allison Buchholtz-AU: Ya. Dan anda tidak pernah menggunakan nilai sahaja. PENONTON: OK. Allison Buchholtz-AU: Jika anda hanya meletakkan satu perkara di sana, ia akan menganggap bahawa anda bercakap tentang nilai, bukan kunci. Pertanyaan yang bagus. Baik. Sejuk. Sebenarnya, tunggu sebentar. Biarkan saya melihat apa yang saya ada. Jadi sebelum kita masuk ke dalam pos dan mendapatkan, saya hanya ingin menunjukkan kalian sedikit tentang bagaimana hal itu secara dinamik ditaip, yang merupakan jenis sejuk. Saya mempunyai semua ini. Aku punya seperti empat contoh di sini, dan saya akan menghantar semua kod ini selepas kelas. Jadi di sini kita mempunyai beberapa variabel. Itu hanya 1 campur 1, kan? Dan kita akan mencetak apa yang sama dengan, dan kemudian kita mempunyai beberapa jenis. Dan ada yang punya tekaan tentang apa jenis itu akan menjadi? PENONTON: Sebuah int. Allison Buchholtz-AU: Ya, itu int. Jadi itu hanya menambah mereka bersama-sama. Ini int. Semua baik. Jadi yang berikutnya ini, kita harus apa yang kelihatan seperti tali. Apabila kita menjalankan ini, ia berpikir, oh. Anda benar-benar cuba untuk hanya menambahkan sesuatu. Anda baru saja keliru. Jadi, saya hanya akan menetapkan untuk anda. Anda berarti int. Saya tahu yang anda maksudkan int. Jadi, ini adalah salah satu cara yang anda boleh lihat, PHP mempunyai pikiran sendiri. Walaupun kita dengan jelas berkata, lihat, orang-orang ini adalah wayang. Saya maksudkan rentetan satu. Tetapi ia berkata, oh, tapi anda cuba untuk menambah mereka, jadi anda mesti bermakna ia integer. Hanya kepercayaan pada saya ini. Jadi ia mengatakan itu integer, dan ia menambahkan mereka seperti biasa. Sungguh baik sejuk jika anda akan untuk mendapatkan malas dengan barang-barang anda, atau anda ingin menambah sesuatu. Satu perkara yang besar adalah bahawa, jika anda berfikir kembali ke pset2, sesuatu yang pengguna dimasukkan, ke kanan, yang kita fikir adalah arang atau string pada awalnya. Sekarang kita tidak perlu jelas berkata, oh, membuat int. PHP hanya akan menjadi seperti, oh yeah. Saya tahu yang anda maksudkan int. Bodoh anda. Anda tidak bermaksud string. Jadi dalam hal ini, kini yang kita ada ini, apa yang yang kalian fikir ia akan lakukan di sini? Kami mempunyai tali dan int sekarang. PENONTON: Ia masih int. Allison Buchholtz-AU: Ia masih int. Dan alasannya is-- saya akan meletakkan lebih banyak contoh, tetapi menyeronokkan ini seseorang. Sebab itu melakukan itu karena ia seperti yang anda cuba untuk menambah sesuatu. Jadi, jika anda cuba untuk menambah perkara, saya akan mengambil alih, cukup, anda mempunyai sesuatu munasabah bahawa anda boleh menambah. Saya hanya akan membuat ia int, dan kita hanya akan menambahkannya, seperti biasa. Kemudian dengan cara yang sama, saya pikir kalian mendapat idea. Kami juga mempunyai satu ini di sini, yang hanya karakter, dan ia melakukan perkara yang sama. Ia seperti, anda bodoh pengguna. Anda tahu anda mahu int. PENONTON: Jika kita meletakkan huruf a, akan ia melakukan [terdengar] nilai atau tidak? Allison Buchholtz-AU: Oh, itu adalah satu soalan yang baik. Mari kita lihat. Tidak, masih int. Jadi ia sedikit gila. Ini adalah hanya jenis menampilkan PHP kadang-kadang boleh bertindak dalam irrational-- Tidak benar-benar tidak masuk akal, tetapi ia mungkin berkelakuan cara-cara yang anda tidak benar-benar harapkan. Jadi, ketika ragu-ragu, semak jenis-jenis perkara. Fungsi ini gettype akan menjadi sangat berguna. Biasanya, jika anda melakukan apa-apa dengan plusses atau mana-mana pengendali matematik, ia akan menganggap apa-apa wajar hanya int. Jadi, anda mempunyai char 1, atau tali 1, atau int sebenar 1, ia akan menganggap bahawa. Jika anda ingin typecast apa-apa, anda benar-benar boleh. Anda boleh melakukan sesuatu seperti dua kali lipat di sini, saya percaya. Dan dalam hal ini, ia akan berkata, oh. Saya akan membuat ini menjadi berganda kerana Anda dengan jelas berkata itu adalah dua kali ganda. Anda boleh sentiasa jelas membuat PHP melakukan sesuatu, tetapi. PENONTON: Tunggu, mengapa Ditambah 1 di sana? Allison Buchholtz-AU: Oh. Ada. Itu hanya gema. Itu adalah salah saya. Jadi, anda dengan jelas dapat kirim ke membuat sesuatu dari jenis tertentu, tetapi kebanyakan masa, ia akan dinamik memutuskan bahawa pada masa jalanan. Jadi ia akan terus melalui dan ia akan menjadi seperti, OK. Apa yang paling rasa yang selama ini menjadi? Sekiranya ia benar-benar menjadi string? Apakah harus int? Apakah harus apungan? Apakah harus ganda? Dan ia akan memutuskan untuk Anda. Anda boleh memaksanya untuk melakukan apa yang anda mahu, tapi-- PENONTON: Apakah yang membuat ia lebih perlahan? Allison Buchholtz-AU: Baik, Maksud saya, C adalah sangat cekap. Saya rasa ia pasti lebih perlahan kerana ia mempunyai untuk proses ini kerana ia akan pergi. C, aku hampir pasti adalah lebih cepat. Tapi jelas ada banyak perkara yang sejuk di sini bahawa kita tidak perlu bimbang tentang. Jadi, jika kita mencari melalui array, kami tidak perlu untuk benar-benar membuat beberapa carian melalui array. Kita hanya boleh meminta kunci PHP dan akan menjaga ia. Sejuk. Awesome. Kelihatan seperti akhir contoh saya. Kalian tidak akan pernah lupa bahawa sekarang. Anda akan menjadi seperti, oh, PHP adalah hanya seperti itu ibu yang seperti tidak, tidak, tidak. Saya tahu apa yang anda maksudkan. Saya tahu apa yang anda mahu. OK. Jadi ini, mudah-mudahan, berguna untuk anda Serangga, sekurang-kurangnya di peringkat awal lagi, kerana anda adalah semua tentang berurusan dengan bentuk dan perkara-perkara dari pengguna. Jadi ada dua cara yang kita menyebarkan maklumat dengan PHP dan HTML apabila kita melewati antara kedua-dua perkara. Oleh itu, kita mempunyai $ _GET, yang dilewatkan melalui URL, dan kami mempunyai $ _POST, yang diluluskan dalam mesej badan dan oleh itu kami menganggap ia tersembunyi. Tapi satu hal yang harus dipahami adalah bahwa tak satu pun dari ini dianggap selamat. Jika anda mempunyai seseorang yang memintas mesej yang akan bolak-balik antara anda dan pelayan, mereka masih boleh mendapatkan data ini. Mereka hanya perlu melihat sedikit lebih keras. Ia tidak benar-benar bahawa- itu hanya tersembunyi dari URL. Ia masih di dalam badan mesej, walaupun, jadi jika mereka mempunyai akses kepada itu, ia benar-benar hanya like-- Ia seperti perbezaan antara sesuatu yang ditulis di bahagian luar sampul surat dan sesuatu makhluk ditulis pada sehelai kertas di dalam. Ia bukan sukar untuk membuka sampul surat dan mendapatkan sekeping kertas di dalamnya. Memang, ia akan menjadi lebih mudah hanya membaca di luar. Tetapi itu adalah cara anda boleh jenis memikirkan ini. Baik ini adalah benar-benar dianggap selamat. OK? Memang, tidak benar-benar perkara untuk Serangga anda kerana anda tidak berurusan dengan rahasia dagang, tetapi ia biasanya satu perkara yang kita benar-benar ingin menekankan kerana orang berfikir, oh, baik, ia tersembunyi. Ia harus super selamat. Tidak. Ia tidak selamat. Ia hanya sedikit kurang tidak selamat, saya kira. Atau yang tidak terjamin. Oleh itu, kita sebenarnya mempunyai contoh. Seperti yang anda tahu, saya suka mengajar lebih dengan contoh-contoh. Saya rasa seperti ini membantu lebih baik. Jadi, ada juga yang sederhana di sini yang sebenarnya, jika anda semua pernah bingung mengenai PHP, ini adalah benar-benar kecil, tetapi php.net sebenarnya dokumentasi benar-benar baik. Saya benar-benar suka. Saya telah menggunakannya untuk mempersiapkan ini seksyen, jadi saya boleh menyemak untuk anda. Ini adalah contoh dari mereka tentang bagaimana $ _POST dan $ _GET kerja. Satu-satunya perbezaan antara kedua-dua ini, selain di mana maklumat adalah dipaparkan, sama ada di URL atau dalam tubuh, juga apa kaedah ini. Jadi dalam borang anda untuk HTML-- ini adalah satu bentuk HTML yang sangat sederhana. Bolehkah sesiapa beritahu saya apa yang dilakukannya? PENONTON: Minta nama dan umur anda. Allison Buchholtz-AU: Tepat sekali. Oleh itu, kita mempunyai beberapa tindakan bentuk. Yang membolehkan kita tahu ia adalah satu bentuk tindakan. Dan apa yang akan berlaku adalah, apabila kita memukul Hantar ia akan memanggil adidas.png, yang adalah apa yang ini adalah, dan ia akan menyebutnya dengan kaedah $ _POST. Jadi dalam kes ini, anda maklumat tersembunyi. dan itu hanya nama, beberapa Jenis input disebut nama, umur tertentu, input type = "text" yang kami juga menyeru usia. Dan kemudian jika kita memukul Hantar Kirim akan memanggil adidas.png. Oleh itu, apabila kita benar-benar memukul Hantar, kami tahu bahawa ia telah diposkan, per se, dan kita benar-benar akan melihat ini dalam anda permasalahan yang yang mudah-mudahan kita akan harus berjalan melalui sedikit. Dan semua yang dilakukannya di sini adalah POST beberapa pembolehubah superglobal yang kita bicarakan dalam kuliah. Dan bagaimana anda boleh berfikir kira-kira $ _POST adalah bahawa itu hanya sebuah array bersekutu. OK? Jadi ini adalah beberapa kunci, ini adalah beberapa kunci, dan apa pun input pengguna menjadi Nilai untuk masing-masing. OK? Jadi, jika kita hendak menulis apa array ini sebenarnya kelihatan seperti tepat setelah kami menghantar borang ini, kami akan memiliki, ini adalah $ _POST kami, dan ada pelbagai di mana kita mempunyai beberapa nama. Mari kita mengatakan bahawa kita akan melakukan yang nama saya, dan kemudian kita mempunyai umur tertentu, 21. Woo. Jadi, ini adalah semua $ _POST adalah. $ _POST hanya array bersekutu, OK? Ia hanya mengatakan, OK. Apakah perkara yang kita sudah minta dari pengguna? Apakah pembolehubah bahawa kita lewat di sekitar bahawa kami telah minta dalam borang ini? Kemudian apakah nilai-nilai yang berkaitan dengan itu? Jadi dalam hal ini, jika aku menyerahkan dengan nama Ally dan umur 21 tahun, ini adalah apa yang $ _POST kelihatan seperti. OK? Dan ini adalah apa ini File PHP mempunyai akses kepada. -Baik saja? Jadi dalam hal ini, ini adalah sama seperti mendapat apa-apa benda lain daripada array kita. Bukan indeks dalam kami array, kita mempunyai beberapa kunci. Jadi ini akan memberikan saya nilai pada nama kunci. Jadi ini akan menjadi Ally, dan hak ini di sini akan memberi saya nilai pada $ _POST mana utama adalah usia, yang akan 21. Anda akan berada melakukan hal ini cukup sedikit. Ya, yang sebahagian? PENONTON: Apabila anda berada menghala ke arah bahagian bawah. Allison Buchholtz-AU: Bahagian bawah? OK. Jadi, anda memahami ini adalah HTML kami membentuk, dan kita mempunyai beberapa kaedah $ _POST, yang penting. Ini juga boleh menjadi $ _GET, tetapi untuk tujuan ini, kita hanya akan mengatakan itu $ _POST. Apabila kita menyerahkan borang ini, ini adalah sebahagian dari fail PHP yang dipanggil. Jadi fail PHP ini sekarang akan melaksanakan diberi maklumat dari HTML kami bentuk. Jadi apa yang dilakukannya adalah, apabila kita memukul Hantar borang HTML kami, ia melewati Anda superglobal ini, yang hanya array bersekutu. Itu ini. Ini seperti yang lulus ke fail. Dan apa yang dikatakannya adalah, OK, inilah $ _POST. Ini associative array anda. Adakah dengan itu apa yang anda mahu. Dan kami katakan, OK. Berikan saya nilai pada nama, dan memberikan saya nilai pada usia. Jadi ini adalah kunci, dan ini adalah array kita. Adakah ini masuk akal? PENONTON: Mhmm. Allison Buchholtz-AU: Awesome. PENONTON: Jika anda perlu menghantar semula yang bentuk ia hanya menulis atas data? Allison Buchholtz-AU: Ya. Mhmm? PENONTON: Mengapa anda mempunyai untuk menentukan bahawa itu int? Allison Buchholtz-AU: Dalam kes ini, pengguna hanya memaksanya untuk int an. PENONTON: OK. Allison Buchholtz-AU: Saya tidak tahu jika anda benar-benar memerlukan itu, tapi untuk tujuan mereka, mereka mengambil keputusan bahawa mereka mahu ia menjadi int. Mereka hanya typecasting itu. Mungkin mereka menggunakannya sebagai sesuatu yang lain di kemudian hari. Ini hanyalah salah satu potongan. Ya? PENONTON: Bagaimana sekiranya mereka menaip 12, T-W-E-L-V-E, untuk usia? Allison Buchholtz-AU: Jika mereka cuba untuk menaip itu sebagai int? PENONTON: Ya. Allison Buchholtz-AU Saya lupa apa yang tidak. Saya fikir ia mungkin cuba untuk menukar watak pertama yang int an, atau mengambil nilai dan menukar , tetapi saya lupa apa yang ia. Menjadi hal yang menyenangkan untuk menulis program dan cuba. Melakukan beberapa baris. OK, jadi ini adalah salah satu utama perkara-perkara yang anda akan lakukan. Saya akan berjalan mudah-mudahan melalui beberapa fail dari Serangga ini dengan kalian. Ia kelihatan seperti kita akan mempunyai masa, jadi kita boleh berbuat demikian. Tapi kau akan menjadi melakukan banyak perkara-perkara seperti ini, di mana anda sedang melintas sesuatu dari bentuk HTML ke dalam bentuk PHP ini yang kemudian akan menjalankan beberapa set arahan data yang telah disediakan. Yang secara harfiah inti dari Serangga anda. Yeah. PENONTON: Jenis = "submit", yang membuat satu butang di bentuk HTML. Adakah terdapat cara untuk memanggil bahawa butang sesuatu? Oleh itu, anda akan menjadi seperti name = "submit"? Atau butang yang hanya akan menjadi kosong sekarang, kerana anda hanya memberikannya sejenis, bukan nama. Allison Buchholtz-AU: Saya rasa itu hanya akan menjadi kosong sekarang. Kita pasti dapat melihat di Serangga, kerana kita pasti akan akan melihat mendaftar semacam itu. Tapi ya, anda pasti dapat menentukan teks yang anda mahu pada butang anda. OK, jadi SQL. Apabila anda membeli dan menjual saham, Anda perlu menjejaki mereka. Jadi cara kita akan melakukan yang dengan SQL, yang hanya database. Anggap saja sebagai sebuah meja di mana Anda menyimpan semua maklumat ini tentang pengguna yang berbeza anda. Dan kalian adalah benar-benar akan membuat salah satunya. Ia agak sejuk. Dan ada empat perkara utama yang anda perlu tahu untuk Serangga ini, dan mereka adalah kemas kini, jadi anda pada dasarnya mengemaskini data. Yang menganggap bahawa itu sudah ada. Jika tidak ada, ia akan untuk memukul anda dengan ralat, jadi mungkin anda mahu untuk memeriksa. Dan anda akan mengemas kini on-- saya harus Sebenarnya- saya mempunyai masa, Saya akan menulis beberapa ini. Saya benar-benar akan memberikan kalian yang beberapa sampel, perintah SQL penuh, kerana ini adalah hanya utama orang-orang, tetapi anda boleh bergabung dengan mereka bersama-sama. Jadi saya akan melakukan itu dan saya akan menghantar bahwa untuk anda dengan nota ini. Jadi jika anda mahu untuk mengemaskini sesuatu, perlu beritahu apa yang anda mengemas kini dan di mana anda meng-update itu. Jadi perintah SQL khas akan menjadi kemas kini ID di mana sesuatu yang sama dengan sesuatu. Atau seperti alamat kemas kini di mana ID sama dengan 3, dan ini akan mengemaskini medan alamat pengguna yang mempunyai ID tiga. OK? Jadi, jika anda pergi ke SQL dan W3Schools, mereka mempunyai contoh-contoh yang menggerunkan. Malah, saya mungkin menarik beberapa di sedikit. Dan kemudian masukkan ke dalam, anda hanya memasukkan nilai-nilai tertentu di sana. Jadi, jika anda cuba untuk membuat beberapa baru masuk, sehingga anda mencipta pengguna baru, anda boleh melakukan masukkan ke apa sahaja pangkalan data anda dipanggil, dan anda akan mempunyai semua nilai-nilai ini. Kemudian anda perlu memilih, memilih nilai untuk melihat. Jadi, jika anda cuba untuk memeriksa untuk melihat jika pengguna ada atau anda cuba untuk merebut tertentu maklumat tentang pengguna yang Anda akan menggunakan pilih. Dan kemudian memadam, saya fikir, ini agak mudah di sana. Kau hanya memotong sesuatu dari meja. Dan sebenarnya, biarlah saya benar-benar menarik beberapa contoh untuk kalian. Oh, lihat, ia adalah halaman 61 saya. Jadi, jika kita pergi ke W3Schools, mudah-mudahan ia kembali. Ya, cinta itu. Kami pergi ke SQL. Jadi, ini adalah sesuatu di sini. Jadi, ini adalah SELECT sangat mudah. Man, saya suka fungsi ini. Jadi, anda boleh mempunyai SELECT beberapa bidang DARI pelanggan. Dalam hal ini, pelanggan merujuk kepada pangkalan data dalam talian yang anda gunakan, jadi apa pun jadual anda dipanggil, dan bintang hanya bermakna memilih semuanya. Berikan saya setiap satu. Jadi, saya hanya ingin memberikan anda semua sebuah beberapa contoh di mana hal ini. Jadi kita mempunyai SELECT, UPDATE. Jadi di sini adalah jenis sintaks umum. Jadi UPDATE, apa sahaja yang anda Nama jadual, dan kemudian SET adalah di mana anda benar-benar akan menjadi apa data yang anda sedang berubah. Jadi ini boleh adalah-- Let saya membuat contoh di sini. Jadi ini akan adalah-- OK. Jadi saya membuat sebuah pangkalan data kecil bagi kita. Kita akan mempunyai beberapa ID, beberapa tahun, dan beberapa nama. Jadi ID satu akan menjadi tahun '15, dan kami hanya akan membuat saya. Siapa yang mahu menjadi yang kedua orang di meja kami? Sesiapa sahaja. Saya hanya akan memilih Emma kerana cepat nama anda. Emma, ​​tahun berapa anda? PENONTON: Tahun berapa? Allison Buchholtz-AU: Ya. PENONTON: '16. Allison Buchholtz-AU: '16. Kau hanya akan menjadi babi guinea saya untuk hari ini. OK, jadi sekarang kita mempunyai dua orang. Sebenarnya, biarlah saya melakukan ini. Katakanlah saya dengar dia salah, dan saya sebenarnya kata dia setahun lebih muda. Dia '17. Apa yang kami ingin lakukan di sini, jika kita ingin mengemaskini tahun Emma betul menggunakan itu, apa yang telah kami lakukan adalah kita akan mengatakan data UPDATE di sini. Dan ini semua boleh berada pada satu baris, tetapi karena aku dimampatkan untuk ruang di sini, Saya akan menulis di sini. Dan kami ingin ditetapkan. Jadi, ini adalah jadual kami meng-update. SET akan menjadi apa kolom atau data apa yang kita benar-benar berubah. Apa yang kami berubah adalah tahun, sehingga kita akan mengatakan bahawa tahun SET = 16, dan kemudian MANA memberitahu kita yang pengguna atau apa yang berturut-turut yang kita benar-benar mengemaskini ini. Jadi di mana? Kami mempunyai dua pilihan di sini. Apakah dua? Ini adalah unik, bukan? Jadi nama-nama kami yang unik dan ID kami adalah unik, jadi apakah dua pilihan untuk di mana kita boleh melakukan ini? Saya akan memberikan anda satu. Kami boleh melakukannya MANA ID = 2, atau kita boleh melakukan apa jika kita pergi paradigma ini di sini. PENONTON: [didengar]. Allison Buchholtz-AU: Tepat sekali. Oleh itu, kita juga boleh melakukan name = Emma. Dan salah satu dari ini akan bekerja. Dan kita berlari ini, ia akan menjadi seperti, OK. Kami akan mengubahnya. Anda benar-benar 16, jadi sekarang kau benar lagi. OK, jadi ini akan menjadi super berguna dalam Serangga anda mana mungkin ada orang yang cuba untuk membeli 100 saham Apple, dan kemudian mereka seperti, hanya main-main. Saya hanya mahu 90 saham. Dan sehingga mereka menjual 10 daripada mereka, jadi anda perlu mengemas kini jumlah saham yang mereka miliki. Jadi, mengemaskini stok, mengemaskini jadual. OK. Jadi itulah salah satu contoh di sana. Itu sintaks kemas kini. DELETE. Oh. Masukkan ke dalam adalah salah satu kami yang lain. Jadi, yang satu ini di sini adalah sangat mirip. Kami hanya boleh berkata, dalam hal ini kes mari kita tambahkan seseorang. Kita boleh menambah Ben masa ini. Kami INSERT INTO, dan kami mahu nama meja kami. Dalam hal ini ia data. Dan kemudian kami hanya mahu, anda akan mengatakan NILAI, dan apa yang anda akan lakukan adalah, anda benar-benar perlu memastikan bahawa anda mempunyai sesuatu untuk setiap baris yang anda mahu. Anda hanya meletakkan mereka dalam rangka. Jadi dalam hal ini, kita akan mengatakan 3. Kau 18, kan Ben? PENONTON: 19. Allison Buchholtz-AU: 19? PENONTON: 19. Allison Buchholtz-AU: '19 tahun Anda? Anda lulus dalam '18, kan? PENONTON: Oh. Allison Buchholtz-AU: Tahun Kelulusan. PENONTON: OK. Allison Buchholtz-AU: Aku seperti, adakah anda telah merancang untuk cuti setahun di sini? Jadi, '18, kami mempunyai Ben. Jadi dalam kes ini, ia akan pergi melalui, ia akan membuat entri baru di sini. Sejuk. Tidak terlalu buruk, kan? Banyak hal seperti ini akan menjadi sintaks untuk kalian. Konsep harus datang, mudah-mudahan, dengan mudah. Perintahnya adalah satu-satunya perkara yang boleh menjadi sedikit rumit. Dan kemudian yang terakhir kita adalah DELETE, dan seperti yang anda perhatikan, Saya sangat mengesyorkan laman web ini. Ia hebat. Ada satu tan barang. Jadi, dengan cara yang sama bahawa kita mempunyai beberapa UPDATE, DELETE sangat mirip. Sebaliknya, kita telah Hapus dari Data. Jadi dalam hal ini, lalu kami yang saya akan menulis di sini. Katakanlah kita ingin memadam saya. Saya tidak boleh menulis hari ini. DELETE dari apa pun meja kami di, data. Dan sebenarnya ada tiga cara kita boleh memilih untuk memadam saya. Bolehkah kalian beritahu saya apa yang tiga cara ini, bagaimana anda boleh memadam saya? ID sama dengan 1, di mana ID sama dengan 1. Kita boleh lakukan di mana tahun sama 15, atau jika nama sama Allison. tentu saja, hanya ada tiga cara yang berbeza, kerana semua ini adalah unik. Biasanya dalam jadual anda, dan terutamanya di Serangga anda, Anda akan menetapkan salah satu ruangan ini untuk menjadi unik. Ia mungkin akan menjadi ID unik nombor, kerana jika anda have-- sebenarnya, ia sebenarnya mungkin membiarkan anda mempunyai dua. Saya tidak ingat apakah itu akan memberitahu anda mempunyai dua perkara yang sama. PENONTON: Kemudian ia akan mengubah tingkah laku mereka. Allison Buchholtz-AU: Ia akan. Ini akan menyebabkan tingkah laku yang tidak diduga, bahawa anda tidak boleh benar-benar meramalkan. Oleh itu, anda pasti akan mempunyai satu lajur dalam pangkalan data anda yang akan menjadi unik, dan ia biasanya anda boleh menetapkan sehingga ia seperti ID yang unik, dan ia hanya akan mengemas kini setiap masa anda memasukkan ke dalam jadual. Setiap kali anda membuat yang baru berturut-turut, ia akan secara automatik kenaikan dan memberikan ID unik. Jadi petunjuk untuk Serangga anda. OK. Jadi itulah SQL. Jadi sekarang kita akan bercakap tentang perkara yang terakhir, yang mengikat di sebenarnya cukup baik dengan anda Serangga, jika ia akan pergi ke hadapan. Jadi MVC, pandangan model pengawal. Ini sebenarnya adalah cara yang untuk menjaga hal-hal yang dianjurkan. Dengan cara yang sama dengan C kami meminta anda semua untuk membuat fungsi dan perkara yang berasingan keluar, ini adalah hanya satu cara untuk memisahkan kod apabila anda melakukan pembangunan web. Sehingga membuat perkara yang lebih lebih elegan dan mudah, dan ini sebenarnya cara Serangga yang anda sebenarnya mengatur, jadi sama ada anda suka atau tidak, anda akan belajar, walaupun anda tidak berfikir Anda sedang belajar itu. Dan satu hal, ia juga membolehkan anda untuk berbuat banyak lebih seperti kerjasama pengguna. Oleh itu, apabila saya mengambil CS50, saya melakukan laman web untuk projek akhir saya, dan saya adalah seperti, saya akan menangani hal-hal pangkalan data. Saya akan melakukan hal-hal yang kembali akhir, dan saya rakan sebilik yang saya telah mengambil dengan itu sangat berseni. Dia melakukan reka bentuk pentas, dan dia ingin membuat semuanya cantik. Jadi aku seperti, OK. Anda boleh menjaga semua hal hadapan ke hujung. Dan perkara yang adalah, seperti kita akan melihat tidak lama lagi, bahawa pengawal pandangan model membolehkan anda benar-benar memisahkan kod yang begitu bahawa saya boleh bekerja pada melaksanakan halaman kami, dan maklumat memanipulasi dalam pangkalan data kami, dan dia hanya boleh membuat hal-hal cantik, dan kami berdua benar-benar gembira, kerana kita harus melakukan apa yang kami berdua inginkan dan kami tidak perlu berurusan dengan satu yang lain. Oleh itu, kita bergaul bersama-sama. Kami suka bergaul. Saya tidak mahu berurusan dengan semua CSS dan hal-hal HTML. Aku seperti, anda membuat ia cantik. Saya akan berurusan dengan pangkalan data. Jadi kita mempunyai ini benar-benar sejuk, meja besar sedikit. Saya suka jadual. Dan pada dasarnya, model yang anda boleh berfikir tentang hanya pangkalan data anda. Saya adalah seorang model untuk projek saya. Ia mengenai penyimpanan maklumat dan menyusun data. Jadi ia adalah apa yang kita suka untuk memanggil kembali akhir. Jadi kalian akan berhadapan dengan pangkalan data SQL dan fail data. Itulah model anda. Pandangan anda, seperti yang mungkin berfikir, jenis masuk akal, adalah apa yang pengguna anda benar-benar melihat. Ini antara muka pengguna. Ini yang menghadap ke depan komponen. Jadi itulah yang rakan sebilik saya harus bekerja pada setiap masa. Dia adalah super gembira. Jadi itu sahaja dari HTML, dan ada sedikit PHP. Jika anda baru bercakap tentang apa yang dipaparkan kepada pengguna, kita berbicara tentang hiperteks. Kami bercakap tentang bagaimana ia kelihatan. Kami tidak bercakap mengenai logik, atau syarat, atau yang lainnya. Semua itu akan ditangani oleh controller, OK? Jadi yang menangani permintaan pengguna dan mendapat maklumat. Jadi satu perkara yang anda perlu tahu mengenai Serangga anda adalah bahawa, pada pandangan anda, apa-apa yang sebenarnya maklumat memaparkan tidak boleh membuat panggilan untuk model anda. Semua itu ditangani di controller. Pengawal anda adalah salah satu yang menengahi antara kedua-dua. Ini akan meminta model untuk maklumat tertentu. Ia boleh beralih di atas bahawa maklumat, memikirkan apa yang anda benar-benar perlu dari itu, apa yang perlu dilakukan dengan itu, dan kemudian akan meneruskan hanya maklumat yang anda perlu berpendapat untuk anda untuk mencetak keluar atau memaparkannya kepada pengguna, OK? Kerana kita melihat pemandangan seperti apa saja yang dihadapi pengguna, maka ia akan menjadi lebih mudah bagi mereka untuk mencari tahu, oh, jika anda membuat beberapa panggilan untuk model anda dan anda meminta untuk semua pengguna yang bermula dengan huruf A, dan yang anda lakukan bahawa memandangkan anda, Orang yang dapat melihat laman web anda berpotensi mengakses. Anda tidak perlu menginginkan hal itu. Anda tidak mahu orang ramai untuk melihat lebih ke dalam pangkalan data daripada apa yang mereka harus melihat. Hanya keutamaan khusus mereka. Jadi pengawal yang mengendalikan semua itu. Jadi semua fail php anda bahawa kita akan melihat Anda boleh mempertimbangkan fail controller. Dan di situlah anda benar-benar akan menjadi meminta sesuatu daripada pangkalan data anda, dan iterasi atau memanipulasi ia seperti yang diperlukan sebelum menyerahkannya ke dilihat. Ini Serangga yang benar-benar sejuk, pada pendapat saya. Saya fikir ia adalah lebih sedikit seperti kepuasan segera, kerana anda melaksanakan banyak sedikit perkara-perkara kecil, dan setiap perkara yang perlu bekerja sendiri. Tidak suka, melakukan segala-galanya dan kemudian melihat jika ia berfungsi. Seperti dengan perisian di mana anda seperti, saya benar-benar berharap ini adalah betul, kerana jika tidak, ada banyak dari meletakkan ia boleh menjadi salah. Baik. Hanya memastikan bahawa saya berkata semua yang saya perlu untuk mengatakan mengenai MVC. Yeah. Sejuk. Jadi dalam CS50 Kewangan, kita mempunyai model kita, kerana saya hanya di sini. Ia akan menjadi MySQL dan phpMyAdmin. Saya pasti dapat menarik mereka sehingga kalian mendapatkan kesempatan untuk melihatnya. Seperti yang saya katakan sebelum ini, ia SQL anda bertindak sebagai pangkalan data model anda, dan anda boleh menghantar apa yang kita panggil pertanyaan, yang hanya ini macam hal. Ini dipanggil query. Ini adalah permintaan, di mana anda hanya meminta pangkalan data anda untuk sesuatu, atau anda menukar anda pangkalan data dalam beberapa cara. Itu semua itu. Dan anda melakukannya dengan fungsi kami telah memberikan di sini. Anda juga boleh memanipulasi mereka dengan tangan melalui phpMyAdmin, yang kita pasti boleh kita lihat. Saya akan membuat sampel pangkalan data dengan kalian. OK. Jadi, pengawal. Jadi dalam hal ini, jika anda notis, ini semua PHP. Notis itu semacam anda Perkara utama pengawal anda ialah ia harus kebanyakannya PHP. Jika anda mempunyai HTML dalam kawalan anda, tidak benar-benar pasti apa yang sedang berlaku di sana. Dengan cara yang sama seperti yang saya katakan, jika anda berjaya [terdengar] dengan HTML, Saya tertarik sebenar. Jadi apa yang kita ada di sini adalah anda mempunyai beberapa pertanyaan. Query adalah fungsi yang kami rancang untuk anda semua. Ia seperti pembungkus untuk membuat pertanyaan kepada pangkalan data anda sedikit lebih mudah. Jika anda tidak mempunyai bahawa, sintaks untuk sebenarnya bercakap kepada pangkalan data SQL akan berbeza, jadi kami hanya membekalkannya untuk kalian. Kami suka untuk membuat hidup mudah. Jadi dalam hal ini, dapat kalian beritahu saya apa baris ini lakukan? * SELECT dari meja beberapa. PENONTON: Pilih segala-galanya daripada jadual ini. Allison Buchholtz-AU: Tepat sekali. Jadi ia berkata, berikan aku segala-galanya daripada jadual ini. Dan ia menyimpannya dalam beberapa hasil berubah-ubah. Dan ini berkata, jika hasilnya tidak sama kepada palsu, maka kita melakukan setiap perkara ini. Jadi, jika ada apa-apa di sini, jika anda meja yang kosong atau hanya tidak wujud, ia akan kembali salah. Jadi dalam hal ini, kami hanya membuat pasti sesuatu yang benar-benar dikembalikan kepada kami. Dan kemudian di sini, kami mempunyai gelung foreach besar kita bahawa kita iterasi kami hasil, dan kami menyebutnya baris, dan kita katakan membuat template ini di mana data anda adalah hasil ini. OK? Jadi ia hanya memproses deretan hasilnya. Jika tidak, ia berteriak. Jadi, ini adalah satu contoh controller. Seperti yang anda lihat, ini adalah hanya place-- Ya, maaf? PENONTON: Mengapa ada ampersand sebelum berturut-turut? Allison Buchholtz-AU: Ampersand sebelum baris. Kami hanya iterasi. Itu juga alamat daripada- PENONTON: Jadi ia seperti C rujukan. Allison Buchholtz-AU: Ini memastikan bahawa anda benar-benar memodifikasi asli dan tidak satu salinan. Ada dalam cara yang sama dengan C di mana kita lulus dengan merujuk di sini, hanya untuk memastikan. PENONTON: Tidakkah == bukan tidak = dalam PHP? Allison Buchholtz-AU: Ia bukan == tersebut. PENONTON: Kerana sama di C adalah hanya-- Allison Buchholtz-AU: Ia hanya tidak =. Ya, tidak. Ia tidak ==. Kerana == dalam PHP memeriksa kesetaraan dengan Toggling, diberikan, tetapi kualiti tambahan. Jadi, ia tidak == dalam PHP. Ia adalah salah satu kecil perbezaan sintaks. Yeah. Jadi kita hanya iterasi melalui setiap baris, dan membuat, jika kalian membaca spec anda, hanya beberapa fungsi lain yang benar-benar akan memproses semua HTML dan menampilkannya dalam anda pelayar web untuk anda. OK. Jadi, kita suka berpikir tentang pengendali Anda seperti apa yang mengendalikan logik perniagaan. Seperti yang anda lihat di sini, ini adalah di mana kami mengambil data kami dari meja, kami memproses dalam beberapa cara, dan kemudian kami lewat itu. Apabila kita melakukan membuat beberapa template, beberapa template adalah pandangan kami, dan kami lewat itu hanya data yang ia dapatkan. Tidak semua data. Hanya data yang kita inginkan untuk mendapatkan. OK? Pada asasnya data selepas diproses. Jadi, ini adalah pandangan, ini template jumlah yang kita ada, dan semua ini adalah melakukan iaitu, anda boleh mempunyai sedikit PHP memandangkan anda. Ini tidak seperti yang ada PHP memandangkan. Anda hanya perlu mempunyai PHP sangat minimum memandangkan, dan anda tidak harus query dalam pandangan anda. Anda tidak boleh bercakap kepada pangkalan data anda dalam pandangan anda. Itulah perbezaan yang besar. Jadi apa yang berlaku di sini ialah, kita mempunyai PHP yang iterasi melalui baris. Jadi dalam hal ini, kerana kami iterasi melalui setiap baris dan menjadikan sesuatu, ini adalah mungkin seperti dimensi array dua di mana kita mempunyai baris beberapa yang adalah, dalam dirinya sendiri, array, kerana kita iterasi melaluinya lagi. Dan kami hanya mencetak nama berturut-turut, kemudian mengakhirinya. Anda tidak perlu ini di foreach. Saya tidak pernah melihat bahawa sebelum benar-benar. Saya hanya melakukan foreach. OK, jadi itu pandangan. Mari kita lihat jika kita boleh berjalan melalui sedikit Serangga anda. Kami mempunyai 15 minit, jadi saya yakin anda lelaki akan seperti itu lebih daripada sekadar berakhir awal. Biar saya lihat jika saya boleh membawa hal ini. Jadi, saya tidak tahu berapa banyak dari kalian telah dimuat turun dan barang kecil lagi, tetapi kita mempunyai nama pengguna di sini, dan kami mempunyai beberapa kata laluan. Dan malangnya, kan kini pangkalan data kosong, sehingga kita benar-benar perlu untuk membuat database. Nah, itu pelik. Tidak berharap itu. Kesilapan teknikal. Masalah teknikal. Kami mempunyai beberapa pset7. Sejuk. Jadi, satu perkara yang boleh anda lakukan adalah, dengan query-- yang saya akan membuat tabel. Jadi ini akan menjadi users-- apa yang boleh anda lakukan di sini adalah, jika kita mempunyai some-- Benar-benar sekarang? OK. Jelas Saya tidak melakukan begitu panas. Oh. Aku tahu mengapa. Kerana saya tidak pernah membuat jadual sebenar saya. Oleh itu, apabila anda mula-mula bermula dengan pangkalan data, anda jelas perlu memutuskan apakah perkara yang saya perlu ada dalam sini? Jadi, jika kita hanya pergi jadual data kami di sini, kami mempunyai beberapa ID, yang hanya boleh tinggal int. Dan jika kita lihat di sini, ada satu perkara yang sejuk bahawa- Jadi indeks. Jika anda melakukan rendah, ia akan membuatnya menjadi perkara yang meja anda dianjurkan oleh, dan ia juga akan menjadikan ia unik. Jadi dalam hal ini, kami akan membuatnya rendah, dan saya akan membuat nama ini, maka kita hanya akan membuatnya varchar seperti 26 huruf, kerana mengapa tidak? Dan kemudian anda boleh pergi ke Simpan, dan kemudian jika anda lihat, kita mempunyai beberapa pengguna di sini. Jadi jika kita ingin melakukan sesuatu memasukkan, kita boleh melakukannya Dengan cara ini, atau jika anda mahu amalan dengan anda queries-- Oh boy. Saya belum pernah menggunakan ini selama-lamanya. Saya mengambil kembali ini. Anda boleh menyunting laman ini pada anda sendiri sama ada hanya dengan secara manual memasukkan maklumat dengan sesuatu seperti, anda boleh menukar mana-mana jika anda ingin make-- Jika anda ingin tiba-tiba menghilangkan nama, anda boleh turun, Anda boleh melakukan semua perkara-perkara tersebut. Jika anda perlu pernah secara manual menukar jadual anda, Saya cadangkan melakukannya di phpMyAdmin berbanding cuba untuk memikirkan SQL pertanyaan pada umumnya. Saat pertama kali Serangga anda, Anda akan perlu bekerja di sini, oleh itu digunakan untuk itu. Dan kemudian apabila anda benar-benar ingin memasukkan sesuatu ke dalam table-- anda Saya benar-benar ingin tahu di mana iaitu, kerana there's-- Ini dia. Itu yang saya mahu. Jadi, jika anda pergi ke SQL, anda boleh benar-benar melihat, seperti yang kita lihat di sini, kita mempunyai pertanyaan SQL. Jadi jika kita ingin memilih sesuatu atau jika kita ingin masukkan sesuatu, yang boleh kita lakukan masukkan ke pengguna, bukan? Saya fikir anda perlu garis miring terbalik. Satu perkara yang perlu tahu ialah, jika Anda pernah menggunakan ini, anda perlu menggunakan kembali apostrof, yang biasanya, jika anda menggunakan Mac, tepat di atas tab. Jadi satu perkara yang baik untuk tahu. Anda boleh memasukkan ke dalam pengguna, dan kami mempunyai nilai-nilai kita, kan? Oleh itu, kita mempunyai nilai-nilai, dan nilai-nilai kita dalam kes ini hanya akan menjadi, kami hanya mempunyai satu ID jadi kami boleh melakukan satu jika kita ingin. Itu yang pelik. OK. Jadi itu hanya seperti yang singkat perkara yang sedikit dengan SQL, tetapi ia mungkin akan lebih berguna untuk benar-benar melihat beberapa gambar-gambar yang di sini. Jadi pergi ke muat turun. Oh, tidak turun. Jadi, langkah-langkah cepat dari apa yang ada di setiap folder ini. Ia termasuk, kita hanya mempunyai perkara-perkara bahawa konfigurasi penyemak imbas anda, kita mempunyai pemalar ini, dan kami mempunyai fungsi-fungsi ini. Jika anda berminat dalam mana-mana daripada mereka, Saya sarankan melihat fungsi. Salah seorang daripada mereka yang super berguna, sebenarnya adalah salah satu ini di sini, pembuangan. Jadi, jika anda menggunakan ini, ia akan benar-benar hanya mencetak apa sahaja yang boleh ubah yang anda mahu ia. Jadi, jika anda mengalami kesulitan mencari apa array ini kelihatan seperti, atau apa data ini sebenarnya, bagaimana ia diformat, ini adalah satu perkara yang besar untuk digunakan. Terutama apabila anda mempunyai pengguna dengan saham berganda, ini akan menjadi sesuatu yang besar untuk digunakan. Kerana ia mungkin formatted-- Saya tahu sekurang-kurangnya bagi saya ketika saya melakukan Serangga ini, ia diformat dengan cara yang bahawa saya tidak menjangka. Jadi saya cuba untuk beralih di atas dan cuba untuk memanipulasi, tetapi saya tidak benar-benar memahami apa yang saya lakukan. Jadi jika anda hanya membuangnya, ia akan mencetaknya ke browser, dan anda boleh melihat dengan jelas bagaimana ia diformat. Ini biasanya akan mencetaknya sebagai array dengan kunci dan nilai-nilainya. Sehingga dapat membantu di sana. Ia juga boleh membantu untuk membuat memastikan bahawa anda benar-benar meraih data yang anda fikir anda adalah. Jadi, jika anda seperti, meja saya pasti mengatakan ada pengguna dengan ID ini, tetapi apabila anda pergi untuk membuang berubah-ubah, ia tidak ada di sana, Anda jelas tahu itu di mana kesilapan akan menjadi. Ini adalah salah satu alat yang terbaik untuk debugging, pada pendapat saya. Dan kemudian ada yang beberapa hal yang lain di sini, tetapi bagi sebahagian besar, itulah yang saya ingin menarik perhatian anda kepada, kerana ia amat membantu. Awam, apa yang kita ada di sini adalah, ini semua barangan CSS kami. Jadi CSS, huruf, gambar kita, barang kecil. Ini semua hal-hal yang Anda tidak perlu mengubah suai. Bolehkah anda semua berfikir tentang apakah ini mempunyai hal-hal seperti CSS dalam huruf, ini akan menjadi model, atau pandangan, atau pengawal? PENONTON: [didengar] Allison Buchholtz-AU: Akan lebih pandang, kan? Ini mengendalikan semua sesuatu, bagaimana benda kelihatan. Jadi, jika kita buka ini di sini, kita lihat bahawa semua yang berlaku di sini adalah kami memberikan sesuatu. OK? Jadi ini akan sanagat memenuhi syarat sebagai pandangan untuk ini. Jadi ini hanya mengambil beberapa, ia memanggil beberapa portfolio.php yang kita ada, dan ia lulus dalam hakmilik dan portfolio. Dan ia hanya menjadikan itu. Sebenarnya, saya mengambil kembali itu. Ini adalah pengawal, kerana menyebabkan, ingat, membuat pemandangan. Jadi portfolio.php dalam ini kes akan menjadi pandangan Anda. Maaf, guys. Portfolio.php akan menjadi pandangan anda, dan ini akan hanya sebagai pengendali anda untuk itu. Dan jika kita melihat pada ini terakhir di sini, template, template semua pandangan anda di sini. Jadi kalau kita lihat, jelas kita melihat banyak HTML di sini. Jadi yang satu ini hanya menunjukkan kepada anda apa yang halaman login akan terlihat seperti. Anda melihat kita mempunyai beberapa kumpulan bentuk, mempunyai selamat. Berikut adalah cara anda membuat keputusan apa yang dipaparkan di sana. Anda mempunyai beberapa butang type = "submit", dan kemudian anda mempunyai apa yang anda mahu untuk memaparkan di butang. Jadi itulah bagaimana anda akan membuat muncul sebagai apa sahaja yang anda suka. Dan kita lihat di sini kita mempunyai beberapa nama pengguna, beberapa kata laluan, dan apabila kita benar-benar memukul Hantar ia akan menjadi beberapa pos, dan ia akan menghantar mesej ke apa? Apa pengawal kerana pandangan ini? Apabila kita mencapai Hantar apa yang akan disebut? Adakah kita tahu? Ada di sini, jadi login.php. Sesuatu yang kalian akan dilaksanakan. Jadi, anda sentiasa boleh memberitahu apa yang akan menjadi dipanggil setelah anda menekan Hantar dengan baris pertama ini di sini. Apakah tindakan yang bentuk itu. Apabila borang ini dihantar, apakah tindakan yang kita ambil? Kami menyeru login.php, dan kami menyebutnya dengan kaedah ini jawatan, yang mempunyai maklumat tersembunyi. OK? Jadi, ini adalah pandangan anda, dan kemudian jelas jika kita pergi ke login.php-- Do kita ada belum? Yeah. Jadi seperti yang kita lihat di sini, ini mempunyai logik lebih banyak. Ini semua PHP kami di sini. Kami cuba untuk melihat jika ia adalah $ _GET, jika itu adalah $ _POST, mengesahkan perkara-perkara, query, semua barang-barang ini. Jadi mereka hanya tiga perkara yang berbeza di sini. Anda tidak perlu mengubah keadaan. Anda akan membuat perkara-perkara dalam template, mungkin, tetapi sejauh HTML atau styling dari mana-mana ini pergi, Anda boleh meninggalkan sebagai kosong atau sebagai rumit seperti yang Anda inginkan. Beberapa orang menjadi benar-benar ke dalamnya dan membuat beberapa laman web yang cukup mengagumkan. Anda tidak perlu berbuat demikian. Jika anda mempunyai masa, itu satu perkara yang benar-benar sejuk. Anda boleh main-main dengan CSS dan HTML dan mendapatkan rasa yang lebih baik untuk itu, tetapi tidak merasa tertekan untuk. Terdapat banyak untuk anda lakukan pada belakang dengan penerapan log masuk, dan mendaftar, dan semua perkara-perkara ini. Jadi mudah-mudahan dapat membantu sedikit. adakah anda mempunyai sebarang pertanyaan tentang apa-apa yang kami telah pergi ke atas, mana-mana sumber-sumber lain? Saya pasti akan menghantar semua contoh kod PHP saya kepada anda semua, dan kemudian berasa bebas untuk mengambil gambar atau barang kecil ini. Juga ini adalah dalam talian. Anda boleh sentiasa hanya menonton lagi. Jadi, jika itu sahaja, semua orang yang baik? Ya. PENONTON: Saya hanya ingin untuk mengesahkan, apabila kami melakukan pilih dalam SQL, bintang bermakna segala-galanya, bukan? Allison Buchholtz-AU: Ya. PENONTON: Dan kemudian jika anda tidak mempunyai bintang, jika anda mahu ia mengambil dari tertentu berturut-turut, maka anda hanya meletakkan nama daripada- Allison Buchholtz-AU: Nama barisan dan apa yang ingin anda ingin nilai. PENONTON: Dan kemudian tarikh. Allison Buchholtz-AU: Apa jua Anda cari, ya. Dengan cara yang sama, jika anda DELETE * dari jadual tertentu, ia akan memadamkan segala-galanya. Jadi, * hanya liar kad untuk segala-galanya. PENONTON: OK. Allison Buchholtz-AU: Cool. Awesome. Nah, memiliki besar Isnin, guys. Saya akan jumpa minggu depan. Nasib baik pada Serangga anda.