SPEAKER 1: Semua, betul mengalu-alukan kembali. Ini adalah CS50. Dan ini adalah permulaan minggu sembilan. Dan ini adalah permulaan yang lain masa anda di CS50, di mana kita peralihan sekarang, akhirnya, untuk web aspek kursus, di mana anda akan mendapati bahawa banyak asas-asas yang kita telah mengeksport selama beberapa minggu masih kembali untuk melawat, atau menghantui, kita. Tetapi sekarang, anda akan mendapati bahawa ia adalah satu perintah magnitud lebih mudah untuk melaksanakan tugas-tugas tertentu dan menyelesaikan masalah-masalah tertentu - sehinggakan walaupun anda fikir set masalah tertentu yang menyeronokkan di mereka cara sendiri, saya berfikir bahawa anda akan menemui p yang ditetapkan 7, p menetapkan 8, dan kemudian, akhirnya, projek akhir akan semua lebih memuaskan kerana anda akan mendapati bahawa kita mula mengambil mudah kini perkara-perkara seperti pengurusan ingatan, dan petunjuk, dan apa yang berlaku di bawah hood. Dan sekali lagi, tema, semua di seluruh semester telah lapisan ini dan lapisan. Dan sekarang kita jenis sehingga di sini, berdiri di atas bahu minggu lalu. Sekarang, ingat dari masa lepas bahawa kita bercakap tentang bagaimana internet bekerja. Dan ini mungkin merupakan satu melampaui batas, tetapi ingat bahawa setiap komputer di dunia mempunyai IP menangani, walaupun itu sedikit daripada batas masih. Dan orang-orang alamat digunakan untuk unik mengenal pasti mesin supaya apabila anda menghantar maklumat, atau paket, jadi untuk bercakap, mereka boleh mempunyai sumber yang alamat dan alamat destinasi. Dan orang-orang alamat IP yang sama boleh digunakan kedua-dua yang baik dan juga untuk kejahatan, untuk mengesan anda, misalnya. Malah, setiap seorang daripada anda dengan komputer riba membuka sekarang, atau telefon dalam anda poket, mempunyai alamat IP pada rangkaian Harvard. Dan bukan semua yang sukar untuk mengaitkan bahawa siapa dan di mana anda adalah hari ini. Tetapi lebih kepada yang mungkin pada masa hadapan. Sekarang saya fikir saya akan membawa balik beberapa kenangan [? meningkatkan?] dan memberi anda klip lain dari persembahan anda mungkin mendapati biasa. Jika kita boleh meredupkan hanya beberapa saat. The Numb3rs menunjukkan. SPEAKER 2: Ia adalah satu alamat IPP4 32-bit. SPEAKER 3: IPP, seperti dalam internet? SPEAKER 2: rangkaian persendirian. Untuk rangkaian persendirian Amita ini. Dia begitu menakjubkan. SPEAKER 3: Datang pada, Charlie. SPEAKER 2: Ia. Satu alamat IP cermin. Dia membiarkan kita melihat apa yang dia lakukan dalam masa nyata. SPEAKER 1: OK, jadi beberapa perkara kena dengan gambar ini. Jadi satu, dan yang satu ini boleh diterima, ini sebenarnya bukan alamat IP yang sah. Satu alamat IP yang sah telah menjadi nombor bentuk w.x.y.z, di mana setiap surat yang adalah 0 hingga 255. Tetapi itu halus kerana hanya seperti filem di mana mereka nombor telefon palsu, mereka palsu alamat IP. Anda sebenarnya tidak memukul pelayan sebenar. Tetapi fikiran anda, ini adalah pelayar. Dan pelayar tidak mula keluarkan kod komputer seperti ini. Dan jika kita melihat sedikit lebih mendalam, notis bahawa bahasa yang mereka lihat pada skrin adalah bahasa yang dipanggil Objektif C, yang merupakan bahasa aplikasi iPhone yang ditulis, khususnya yang melibatkan krayon, seperti yang anda boleh lihat dari kod sumber di sini. OK, saya fikir ini adalah lucu. Jadi potongan kod ini telah benar-benar tiada kaitan dengan apa-apa ini episod tertentu adalah kira-kira. Jadi jenaka adalah jenis kepada orang mengambil ini diberikan. Tetapi ini tidak semua yang sukar untuk mendapatkan butir-butir teknikal yang betul. Dan saya akan menggalakkan anda. Dan sebenarnya, 50 sangat baik mungkin merosakkan banyak rancangan TV dan filem atau anda kerana anda akan mendapati bahawa ia hanya tidak mungkin apa yang mereka lakukan pada skrin. Tetapi sesungguhnya, ini adalah kod yang anda mungkin melihat ia dalam aplikasi iPhone atau Mac OS permohonan. Ia mempunyai apa-apa pada semua kaitan dengan keselamatan. Jadi memerhatikan keluar untuk lebih perkara yang menyeronokkan seperti seperti itu. Tetapi hari ini kita mula menyelam di benar-benar mendalam untuk pelbagai bahasa. Satu sesungguhnya, salah satu yang menyeluruh takeaways bahagian ini daripada Sudah tentu tidak belajar bagaimana untuk program dalam PHP, tidak belajar SQL per se, tidak belajar JavaScript per se, tetapi sebaliknya untuk mengajar diri sendiri bagaimana untuk mengajar diri bahasa baru kerana, sesungguhnya, kita mula mengambil kini roda latihan luar supaya selepas akhir kursus ini, anda tidak menjangkakan 20 spesifikasi halaman untuk memberitahu anda bagaimana untuk melaksanakan beberapa program. Anda mempunyai bahan-bahan yang cukup dalam anda fikiran, dan alat-alat yang cukup dalam alat anda kit, dengan yang mula membina penyelesaian kepada masalah yang menarik minat anda bagi kumpulan sesetengah pelajar, bagi sesetengah projek penyelidikan, atau benar-benar apa-apa menarik minat anda. Jadi ke arah itu, ingat bahawa ini adalah gambar kita menarik masa lalu. Dan ini adalah dua buah komputer, pelanggan dan memutuskan, bercakap dengan satu sama lain. Dan protokol, bahasa, jadi untuk bercakap, bahawa kedua-dua komputer berlaku untuk bercakap dipanggil HTTP. Dan itu hanya protokol yang digunakan oleh komputer untuk memindahkan maklumat melalui web di seluruh dunia. Web, sudah tentu, adalah hanya salah satu perkhidmatan yang berjalan di atas yang dipanggil internet. Apakah perkhidmatan yang lain boleh didapati di atas internet hari ini? Sesetengah protokol lain atau - apa itu? PENONTON: FTP. SPEAKER 1: FTP. Jadi File Transfer Protocol adalah satu lagi. Kebanyakan anda mungkin tidak menggunakannya. Tetapi kebanyakan anda mungkin telah digunakan perkara-perkara seperti GChat, atau segera mesej lebih amnya, pasti e-mel. Dan orang-orang, juga, adalah perkhidmatan yang berjalan pada atas internet kerana, pada akhir hari, internet itu sendiri benar-benar hanya mendapatkan data dari titik A ke titik B. Dan ia menggunakan beberapa zarah itu sendiri, salah seorang daripada mereka atau dua daripada mereka yang paling umumnya dipanggil TCP / IP, yang mengatakan bahawa salah satu komputer di internet yang benar-benar boleh melakukan perkara yang berbeza, e-mel, dan web, dan sebagainya. Google melakukan banyak ini. Jadi bagaimana perkhidmatan-perkhidmatan unik dikenal pasti, adakah kita katakan, pada komputer yang mungkin sebenarnya melakukan pelbagai perkara? Nombor port. Dan ini adalah hanya manusia sewenang-wenangnya konvensyen seperti 80 adalah web, 443 adalah web disulitkan, 25 adalah e-mel. Dan terdapat tandan orang lain. Dan orang-orang nombor hanya dimasukkan ke dalam paket maklumat mereka sampul surat maya, yang benar-benar mengandungi permintaan atau jawapan. Oleh itu, apabila anda kembali jawapan dari web, biasanya, anda tidak melihat apa-apa nombor apa jua dari segi kod status sambutan. Anda tidak benar-benar melihat mekanisme dalaman paket yang kembali. Tetapi 200 sememangnya bermakna OK. Dan ini bermakna semua adalah baik. Anda mungkin telah melihat sekumpulan ini. Yang mungkin yang paling biasa anda telah melihat di web? 404. Ia hanya bermakna fail tidak dijumpai. Ia bermakna seseorang kacau sehingga. Anda lakukan dengan salah taip URL, atau seseorang lain lakukan dengan memberi anda URL tidak sah, atau mereka dipadam fail dan URL yang masih yang digunakan oleh orang-orang. Jadi apa-apa bilangan sebab-sebab yang boleh menjelaskan mengapa fail tidak dijumpai. Dan anda akan lihat, pada minggu-minggu akan datang, kod ralat yang lain, dan anda akan mengambil kesempatan daripada beberapa daripada mereka. Yang paling teruk adalah 500. Jika anda mendapat ralat 500 dalam kod yang anda telah bertulis, memikirkan bahawa sebagai jenis yang analog seg kerosakan dalam dunia pengaturcaraan web. Ia tidak cukup sebagai buruk. Tetapi ia hanya bermaksud bahawa, tempat, anda kacau sehingga. Jadi sabar-sabar untuk mereka. Tetapi mari kita lihat jika kita boleh melihat ini dalam konteks. Biar saya pergi ke pelayar di sini dan melakukan yang berikut. Jadi ini adalah Chrome, yang berlaku dipasang di dalam perkakas. Tetapi yang paling setiap pelayar hari ini mempunyai beberapa fungsi yang sama. Saya akan naik menu Chrome, dan pergi ke Tools, dan saya akan pergi ke Alat Pemaju. Dan anda akan melihat bahawa panel ini sedikit dibuka di bahagian bawah tingkap. Jalan pintas yang lain, untuk bersikap jujur, bahawa saya biasanya menggunakan diri saya adalah untuk klik kanan atau Kawalan klik mana-mana sahaja di web halaman dan hanya pergi ke Memeriksa Unsur. Dan itu bukan sahaja akan membuka ini ada untuk anda. Ia juga akan membuka, khususnya, Unsur-unsur bahagian pada sebelah kiri. Jadi kita sudah tentu melihat Google. Mereka menukar logo mereka hari ini. Tetapi pada jika saya tatal ke bawah di sini, notis Unsur-unsur yang bawah, anda lihat apa yang dipanggil HTML, Hiperteks Markup Bahasa, dan ini adalah bahasa ini dan semua laman web, benar-benar, akan ditulis masuk Tetapi ia sebenarnya diformat untuk kita lebih banyak lagi readably daripada ia biasanya adalah. Malah, jika saya zum keluar, dan saya bukan hanya klik atau Kawalan Klik Kanan klik pada halaman, dan kemudian pergi ke Lihat Page Source, ini adalah benar-benar apa yang Google diturunkan kepada pelayar saya. Jadi beberapa orang atau orang-orang menulis Google.com menggunakan kod sumber ini. Kebanyakan ini tidak HTML. Ini sebenarnya bahasa yang dipanggil JavaScript, yang kami akan datang ke pada Rabu. Tetapi apa Chrome, dan apa yang pelayar setiap boleh lakukan untuk kita, adalah jenis melihat lalu semua gangguan daripada sintaks gila, dan masukkan semula ruang putih bagi kami, dan juga menyerlahkan sintaks, atau Colorize perkara untuk kita. Jadi, anda akan mendapati bahawa apa yang dipanggil alat pemaju yang dibina dalam pelayar akan membuat hidup anda demikian, lebih mudah kerana anda boleh meneroka, melalui menu ini muka, apa yang asas kod sumber adalah untuk mana-mana laman di internet. Dan sesungguhnya, ini adalah salah satu yang paling cara yang berkesan untuk mempelajari bagaimana untuk melakukan sesuatu yang baru, sekurang-kurangnya jika halaman tidak begitu kompleks seperti untuk mengatasi, adalah mula poking sekitar ia HTML, melihat di CSS yang dipanggil, yang kami akan datang untuk sedikit juga, untuk mendapatkan memahami bagaimana programmer yang melaksanakan beberapa tertentu ciri halaman. Tetapi yang lebih teknikal yang betul menarik kini ia akan menjadi ini. Jika saya pergi ke tab Network, mari kita kini jelas ini. Saya akan klik sedikit simbol salib di sini, dan kemudian pergi ke laman web yang lain. Dan saya hanya akan menaip di Facebook.com. Tiada HTTP, HTTPS tidak, tiada WWW. Mari kita benar-benar melihat apa yang berlaku di sini. Enter. Sekarang notis sejumlah besar barangan hanya muncul di panel bawah ini, Selain laman web yang terdapat di atas. Saya akan meninjau kembali ke Tab Network di sini, dan saya akan klik pada baris pertama. Apakah alat ini akan mendedahkan kepada kita tiap-tiap seorang daripada permintaan HTTP yang cepat hanya pergi ke belakang dan alik antara pelayar saya dan pelayan Facebook. Dan supaya setiap seorang daripada mereka baris merupakan salah satu permintaan itu atau tindak balas, satu atau lebih daripada mereka sampul surat maya. Atau lebih bersahaja, ia adalah seperti orang yang seperti orang, pelanggan di restoran, meminta sesuatu sekali lagi, dan sekali lagi, dan lagi. Dan pelayan terus membawa kembali pada satu masa. Jadi sekarang, jika saya zoom di atas ini, notis dan ini akan menjadi perkara seperti bahawa anda mengalu-alukan dan digalakkan untuk bermain dengan sendiri, kerana kita tidak akan pergi melalui segala-galanya secara terperinci. Tetapi notis terdapat beberapa tab kecil di sini - Tajuk, Preview, Response, Cookies, dan masa. Saya hanya akan melihat tajuk buat masa sekarang kerana ini adalah sedikit bahan-bahan di dalam sampul surat yang data membantu mendapatkan ke dan dari tempat. Jadi pertama, izinkan saya klik ini, Lihat Source sebelah Tajuk Permintaan. Terdapat permintaan yang pelayar saya, Chrome, dalam kes ini, yang dihantar dalam sampul surat yang maya. Anda akan ingat minggu lepas saya ditaip sambil manual berpura-pura menjadi pelayar. Kemudian ia mengingatkan pelayan yang ia mencari tuan rumah yang dipanggil Facebook.com. Dan kemudian ada sedikit lebih batin maklumat yang kita akan melambai tangan kita buat masa ini. Tetapi jika saya mula tatal ke bawah kini dalam tetingkap ini, izinkan saya sampai ke tajuk tindak balas. Ini adalah apa yang ada di maya sampul surat yang pulang dari Facebook.com. Dan jika saya klik Lihat Sumber hanya untuk melihat teks mentah itu, notis beberapa perkara. Satu, Facebook juga bercakap yang sama protokol, versi 1.1 itu. Jadi, itu bagus. Tetapi kod status 301, bergerak selama-lamanya. Nah, di mana palang pintu tidak Facebook pergi? Apa yang ini cuba untuk menyampaikan kepada kami? Well, melihat ke bawah di sini terdapat satu lagi header dipanggil Lokasi. Jadi mengapa Facebook memberitahu saya bahawa mereka berpindah secara kekal ke URL yang sebelah Lokasi? Saya terlupa www. Jadi itu adalah pilihan saya. Malah, kebanyakan kita jarang, mungkin, menaip www.whatever.com hari ini. Tetapi ternyata pentadbir sistem, seperti Facebook, boleh mengkonfigurasi pelayan mereka dalam apa-apa cara yang yang sama ada Facebook.com berfungsi, atau www.Facebook.com berfungsi, atau, benar-benar, mana-mana awalan seperti di hadapan mereka nama domain. Jadi mereka telah melakukan itu untuk kita. Dan mereka mengubah hala kami, mungkin untuk beberapa teknikal, beberapa sebab pemasaran. Mereka hanya mahu canonicalize di www.Facebook.com. Tetapi itu tidak cukup ia. Jika saya tatal ke bawah di sini, mari kita melihat apa yang berlaku. Ini memberitahu saya kita berpindah secara kekal ke http://www.Facebook.com. Jadi mari kita lihat di atas permintaan kedua bahawa pelayar saya menghantar. Malangnya, ia kelihatan seperti Facebook telah berpindah lagi kerana kedua permintaan, dengan memilih URL yang sebaliknya, mengatakan bahawa, terlalu, bergerak selama-lamanya. Dan biarlah saya tatal ke bawah di sini untuk tajuk tindak balas. Jika telah Facebook pergi sekarang? Jadi HTTPS. Jadi sekarang Facebook telah bermula, terutamanya dalam cahaya semasa peristiwa di bulan kebelakangan ini, khususnya dan juga dalam beberapa tahun yang lalu untuk memaksa semua pengguna mereka, yang baik cara untuk menggunakan HTTPS, yang lebih menjamin, walaupun tidak sepenuhnya selamat. Dan sehingga kini halaman saya, pelayar saya akan meminta URL ketiga ini. Dan kini, akhirnya, kita mendapat sebaliknya ghaib 200 OK. Jadi apa yang di dunia atau semua baris ini yang lain di sini. Saya benar-benar ditaip satu perkara, dan saya pelayar nampaknya telah diminta seperti 20 beberapa perkara ganjil. Apakah itu? PENONTON: Skrip? SPEAKER 1: Skrip, fail jadi lain ditulis dalam bahasa yang dipanggil JavaScript, yang, sekali lagi, kita akan melihat sedikit pada Rabu. Apa lagi? Gaya helaian. Jadi sesuatu dalam bahasa yang dipanggil CSS, yang kita akan melihat dalam sedikit. Gifs, dan JPEG, dan jumlah PNGS, dan imej, dan fail filem - apa sahaja laman web telah kemungkinan besar dalam bentuk fail. Dan supaya apa yang kita lihat di sebelah kiri sebelah ada semua fail-fail bahawa Chrome mempunyai untuk memuat turun, Recursively, jika anda akan, untuk mengarang keseluruhan halaman. Jadi apa yang kita lihat masa lalu dengan Google, jika saya klik pada Elemen tab, ini, pasti, HTML, yang bahasa yang dikomposisikan halaman ini. Tetapi ada tandan perkara-perkara lain. Terdapat logo. Ada orang-orang biru-ish ikon di sana. Dan ada unsur-unsur lain masih halaman yang diri mereka mungkin fail berasingan. Jadi apa yang baik tentang pelayar adalah bahawa ia kelihatan pada bahasa kita akan untuk mula menulis, atau anda telah pun penulisan bermula pada P set 7, angka di mana fail-fail hidup, dan pergi dan mengambil mereka juga. Dan saya tidak boleh menekankan cukup, walaupun walaupun sesetengah ini mungkin kelihatan sedikit batin atau besar pada pandangan pertama, belajar bagaimana untuk program permohonan untuk web, ia adalah yang tidak ternilai untuk memahami bagaimana alat sedikit bekerja. Ini adalah jenis seperti GDB seperti alat, tetapi lebih mudah, akhirnya, untuk digunakan - dan benar-benar memberi anda mata ke dalam apa kita telah mengambil untuk diberikan bagi sekian lama kini. Jadi apa yang boleh kita lakukan dengan maklumat ini? Nah, mari kita sebenarnya kita lihat konsep asas HTML. Dan kami akan menangguhkan, seperti yang kita sudah mempunyai, untuk bahagian minggu ini, kepada masalah menetapkan 7 spesifikasi, bagi sesetengah orang yang lebih butir-butir bahasa ini. Tetapi mari kita lihat jika kita tidak boleh cat gambar apa yang anda perlu memahami keseluruhan di sini. Jadi HTML, Hiperteks Markup Language, bukan bahasa pengaturcaraan. Apa yang benar-benar bermakna? Jadi HTML kelihatan seperti ini. Dan sesetengah daripada anda sudah tahu ini. Sebahagian daripada anda telah melakukan ini untuk beberapa ketika. Tetapi mari kita lihat jika kita tidak boleh mengisi di beberapa tempat kosong juga. Jadi notis beberapa perkara di sini. Satu, ia hanya teks. Jadi ia adalah sama seperti kod sumber dalam C, atau beberapa bahasa lain. Perhatikan bahawa terdapat seolah-olah menjadi corak di sini. Ada kasturi, tetapi secara teknikal lekukan hanya manusia konvensyen. A pelayar tidak peduli jika ada yang baru garis dan tab seperti kita lihat di sana. Tetapi notis bahawa terdapat simetri di sini. Ada apa yang saya akan memanggil, di bahagian atas fail ini, tag terbuka, atau permulaan tag, dipanggil HTML. Dan kemudian, turun ke bawah, sempurna berbaris up, sama seperti yang kita lakukan dengan pendakap kerinting, kita lihat kurungan terbuka, ke hadapan slash, HTML, kurungan rapat. Jadi yang dekat yang sama tag, atau akhir tag, untuk perkara itu. Bersama-sama, semua bahagian dalam yang dipanggil tag terbuka dan tag penutup mengarang apa yang kita akan memanggil unsur. Dan kita akan melihat, dalam hanya seketika, ia benar-benar suka nod dalam pokok. Kerana jika anda berfikir tentang kini lekukan itu tersirat di sini, anda jenis mempunyai, seperti, nenek a nod dipanggil HTML. Berapa ramai anak-anak anda mungkin berkata, berdasarkan pada gambar ini, elemen HTML mempunyai? Jadi mungkin dua. Satu adalah elemen kepala, nampaknya. Dan salah satu adalah elemen badan. Dan mengapa dua kanak-kanak? Well, saya hanya jenis membuat kesimpulan bahawa jika Saya mempunyai tag kepala terbuka dan kemudian tag kepala dekat, itulah unsur. Dan kemudian, jika terdapat satu lagi badan terbuka tag dan tag badan yang rapat, yang seperti elemen lain. Jadi, dalam erti kata bahawa jika saya jenis putar gambar di sebelah, ia seperti mempunyai tag HTML, dan kemudian tag kepala, dan kemudian tag badan dan maka beberapa teks, hello dunia, tergantung kira tag badan itu sendiri. Jadi kita boleh melukis gambar yang mungkin kelihatan seperti ini. Bentuk yang sewenang-wenangnya. Tetapi notis bahawa saya telah menggunakan jenis yang Bujur di atas untuk mewakili dokumen itu sendiri. Ternyata ada boleh menjadi barangan lain dalam sebuah laman web yang saya tidak telah disediakan di sini. Jadi kita akan juga menggantung HTML off nod nod dokumen kononnya. Dan maka kita mempunyai kepala dan badan dan tajuk, notis, yang bersarang lagi. Saya tidak mengganggu meletakkan garis tambahan rehat dalam tag tajuk. Ia hanya berasa seperti ia semakin terlalu sedikit lantung. Jadi, saya meninggalkan ia dalam satu baris di sana, dengan tajuk terbuka, hello dunia, tajuk dekat. Dan kemudian kita mempunyai beberapa teks tergantung kira di sini. Jadi gambar ini akan kembali kepada kita apabila kita menyelam ke dalam JavaScript. Dan memahami bahawa apabila anda menulis HTML seperti ini, apa yang adalah pelayar lakukan? Nah, kita tidak perlu bimbang tentang bagaimana ia berbuat demikian, atau dengan apa algoritma, tetapi pada akhir hari, apabila pelayar menerima HTML seperti bahawa, dari Facebook atau Google, ia mem-parsing , jadi untuk bercakap, ia membacanya, dengan sesuatu seperti fread, atas ke bawah, kiri ke kanan, dan kerana ia sedar, oh, tag terbuka, dan kemudian tutup tag, ia mula malloc, jadi untuk bercakap, nod dalam pokok. Dan apabila menghadapi, seperti yang kita telah tersirat di sini dengan kasturi, satu nod kanak-kanak, ia mallocs nod bagi dan dilampirkan bahawa pokok itu. Oleh itu, struktur pokok, pokok-pokok perduaan, pokok pertigaan, dan pokok-pokok yang lebih besar, yang kita memandang pada satu atau dua minggu yang lalu, notis bahawa prinsip yang sama datang kembali kepada kami. Dan sesiapa yang dilaksanakan, Chrome apa pasukan melakukannya, mungkin mempunyai untuk melaksanakan beberapa jenis struktur pokok di bawah hood. Dan itu sendiri mungkin dalam bahasa seperti C atau C + +, atau yang lebih rendah bahasa tahap yang kita akan kini menggunakan atas web. Jadi sekarang, mungkin, ini akan lebih masuk akal. Tatu sebenar dari beberapa lelaki yang mungkin menyesal akhirnya, jenis. OK, semua hak, jadi banyak jenaka web. Ia tidak benar-benar akan lebih begitu baik hari ini. Oleh itu, kita akan bergerak ke atas. Baiklah. Jadi mari kita lihat sekarang di beberapa contoh. Yang paling mudah perkara yang mungkin ini. Saya akan pergi ke hadapan dan membuka dalam gedit fail yang dipanggil hello.php. Dan di dalam sini, saya akan cepat hanya melakukan ini, printf, memetik unquote, "hello dunia." Jadi notis, dan saya akan melakukan n backslash saya, Saya tidak peduli untuk mengisytiharkan utama. Ternyata, dalam php, dan banyak bahasa, anda tidak perlu utama fungsi per se. Anda hanya boleh mula menulis program anda. Kini, apabila saya menyimpan fail ini, notis Saya akan perlu melakukan yang berikut. Saya tidak akan menggunakan membuat, dan saya tidak akan menggunakan dilafaz kerana PHP, tidak seperti C, bukan bahasa yang disusun. Ia adalah apa yang dipanggil ditafsirkan bahasa, yang bermakna bahawa anda berjalan sebagai input melalui program lain dipanggil jurubahasa. Dan program yang membaca itu, atas ke bawah, kiri ke kanan, dan tidak apa sahaja yang anda beritahu kepada lakukan. Jadi dalam kes ini di sini saya mempunyai satu baris yang mengatakan printf. Oleh itu, apabila saya menjalankan kod sumber ini, hello.php, walaupun program yang berlaku, mudah, yang akan dipanggil PHP, bahawa program PHP akan membaca fail ini, atas ke bawah, kiri ke kanan, dan ia akan melakukan apa yang saya beritahu lakukan - melaksanakan kod, dan jika ia tidak mengiktiraf sesuatu, hanya meludah keluar. Jadi, saya akan pergi ke hadapan dan menjalankan PHP daripada hello.php. Enter. Dan itu tidak cukup apa yang saya dimaksudkan. Nah, mengapa itu? Nah, PHP adalah bahasa yang sebenarnya direka untuk menjadi agak berkait rapat dengan web. Apabila membuat laman web dengan bahasa ini PHP, seperti yang kita akan melihat, kita akan mahu melakukan sesuatu seperti cetak keluar baris seperti ini. Jadi, saya akan melakukan ini. Kurungan terbuka, tanda tanya, PHP, dan sekarang saya hanya akan inden hanya untuk menjaga perkara yang baik. Dan sekarang saya akan melakukan satu soalan tanda kurungan rapat. Jadi ada sedikit ketidakseimbangan di sini. Anda tidak melakukan ini. Dan anda tidak melakukan slash, jadi PHP adalah sedikit berbeza. Tetapi sekarang, jika saya jalankan program ini, PHP hello.php, sekarang saya sebenarnya mendapat Hello World. Dan kita akan melihat mengapa ini adalah berharga. Satu, ia membolehkan saya untuk menentukan, super jelas, ini adalah kod, melaksanakan ini. Dan bahawa sesungguhnya apa yang tag khas membayangkan di sini. Tetapi ia juga bermakna bahawa jika saya hanya melakukan sesuatu seperti saya berhasrat di sini, bahawa bermakna, secara literal, yang akan hanya dicetak tanpa perlu sebenarnya panggilan printf, atau cetak, atau apa-apa fungsi yang sama. Oleh itu, kita akan kembali kepada yang dalam hanya seketika. Pertama, mari kita melakukan ini. Dalam perkakas, kita mempunyai direktori dipanggil Vhosts, untuk maya tuan rumah, mengurangkan host tempatan, mengurangkan awam. Jadi ia adalah satu lantung bit, tetapi cerita lama pendek, perkakas tidak direka sahaja untuk menyokong C. Ia juga direka untuk menyokong PHP. Tetapi ia juga direka untuk menjadi web pelayan, dan pelayan pangkalan data. Dan ia direka, dan benar-benar dikonfigurasikan, untuk mengingatkan mana-mana komersial syarikat web hosting yang anda boleh membayar $ 5 sebulan bagi, $ 100 sebulan untuk. Apa sahaja perkhidmatan ini, ia dikonfigurasi menjadi sangat serupa dengan sebenar server pengeluaran dunia. Dan apa yang bermakna bahawa berjalan di perkakas perisian pelayan web. Ia berlaku kepada dipanggil Apache. Ia hanya percuma dan sumber terbuka, dan sangat popular. Dan kita telah mengkonfigurasi Apache tahu bahawa jika saya melawat URL tertentu, dengan Chrome atau mana-mana pelayar bahagian dalam perkakas, untuk melihat ke dalam direktori ini untuk fail bahawa pengguna meminta. Dalam erti kata lain, biarlah saya pergi ke hadapan dan melakukan ini. Di dalam direktori awam saya, saya akan untuk pergi ke hadapan dan mencipta fail dipanggil index.html. Yang memberikan saya tab di sini. Dan saya akan pergi dengan cepat dan pergi ke hadapan dan bang program ini di sini. DOCTYPE HTML, yang buat masa ini, hanya menganggap anda perlu menaip. Ia hanya tag batin, yang tidak benar-benar sebuah tag HTML, yang menyatakan bahawa di sini datang beberapa HTML. Saya akan pergi ke hadapan dan mencipta apa yang kita lihat sebentar tadi. Berikut adalah kepala halaman. Di dalam kepala adalah - jadi tajuk. Oleh itu, kita akan bertanya khabar, dunia. Dan kemudian turun di sini adalah tag badan. Izinkan saya menutup tag badan. Dan kemudian di sini saya juga akan berkata, hanya untuk kejelasan, hello dunia. Jadi ini adalah, boleh dikatakan, yang paling mudah laman web yang mungkin anda boleh membuat itu sah. Ia sintaksis sah. Semua itu dibuka ditutup. Semuanya baik dalam gaya dan tersusun. Jadi mari kita lihat sekarang bagaimana saya boleh mengakses fail ini. Baiklah, biar saya pergi ke Chrome sini. Dan biarlah saya pergi ke http://localhost/index.html. Jadi apa yang tuan rumah tempatan? Nah, mana-mana komputer yang paling di dunia, Linux, Mac OS, Windows, mempunyai nama samaran dipanggil tuan rumah tempatan. Jadi jika anda pernah mahu bercakap ke komputer anda sendiri - walaupun, aneh reflexively - anda memanggil diri anda tuan rumah tempatan. Tidak kira apa yang komputer anda yang sebenarnya adalah dipanggil, sama ada ia adalah MacBook Daud Udara, atau sesuatu yang lebih lantung seperti itu. Jadi URL ini nampaknya akan menggunakan HTTP untuk bercakap dengan tuan rumah tempatan, komputer yang sama, perkakas, dan ia akan meminta, hanya mengambil rasa, apa yang fail? Index.html. Jadi perkakas telah ditetapkan di maju ke tahu bahawa jika saya meminta untuk sesuatu seperti index.html, mencari dalam folder yang dipanggil Vhosts, dalam folder dipanggil localhost, dalam folder dalamnya dipanggil awam. Itulah di mana semua orang awam saya fail akan menjadi. Jadi, saya kini akan tekan Enter. Dan bodoh, ada yang dilarang mesej, atau dikenali sebagai 403, yang kod angka untuk itu. Jadi apa yang salah di sini? Nah, ia tidak cukup untuk hanya meletakkan fail di dalam folder saya. Saya perlu untuk benar-benar melakukan yang berikut. Biar saya pergi ke direktori Vhosts saya, ke localhost, ke dalam orang ramai, dan membiarkan saya melakukan ls melontarkan l. Dan ada beberapa perkara lain di sini untuk tujuan hari ini. Tetapi notis di sebelah kiri, akan datang untuk index.html, kita hanya melihat satu RW. Dan pada masa lalu, apa yang telah RW berdiri? Hanya membaca atau menulis. Hakikat bahawa ia berkata rw di sebelah kiri bermakna saya, pemilik fail ini, boleh membaca atau menulis. Tetapi saya perlu memberitahu semua orang di dunia membaca ini, walaupun tidak menulisnya. Jadi, saya akan mengubah cara yang fail, chmod, semua plus r untuk memberi semua orang membaca kebenaran kepada fail yang dipanggil index.html. Dan jika saya kini Taip semula ls melontarkan l, notis itu, di sini, ada yang lebih R telah muncul. Dan sekarang, spesifikasi pergi ke lebih terperinci. Untuk P set 7, yang hanya bermakna semua orang kini boleh membaca fail ini. Jika saya kembali ke penyemak imbas saya sekarang dan tambah nilai, Voilà. Hello dunia. Dan saya juga boleh membuka alat Chrome saya dan lihat, sama seperti dengan Google dan Facebook yang ada HTML saya, diformat sedikit berbeza dan berwarna. Jika saya pergi ke tab rangkaian dan tambah nilai halaman, melihat bahawa ada mendapat meminta Chrome menghantar pada perkakas. Terdapat 200 bagi fail tertentu. Jadi ringkasnya, ini adalah bagaimana semua ini pelbagai keping yang datang bersama-sama. Ia hanya kebetulan bahawa pelayan web kita gunakan sekarang tidak jauh, seperti Facebook. Ia adalah betul-betul di komputer yang sama, yang betul-betul OK. Jadi apa lagi yang boleh kita lakukan di laman web? Nah, hanya, mari angin melalui beberapa perkara-perkara ini. Tetapi biarlah saya pergi ke hadapan dan membuka semula Gedit dengan index.html. Dan biarlah saya pergi ke hadapan dan bertanya khabar CS50, menyimpan fail ini, kembali ke pelayar, perubahan benar-benar underwhelming. Tetapi bagaimana jika kita mahu untuk benar-benar menghubungkan kepada sesuatu yang sekarang? Jadi ia ternyata bahawa kita boleh mempunyai pautan dalam HTML yang hanya tag diri mereka sendiri. Ia berlaku yang dikenali sebagai tag anchor. href sama https://www.cs50.net, www.cs50.net quote rapat, kurungan rapat. Dan sekarang mari kita lihat apa lain datang akan datang. Saya telah membuka tag. Saya kini perlu memberikan frasa seperti CS50. Izinkan saya menutup tag. Dan notis beberapa perkara. Walaupun ada perkara ini samar di sini, saya tidak berulang apabila anda menutup tag. Anda hanya menutup tag dengan namanya sahaja. Dan ini adalah apa yang dikenali sebagai sifat dengan nilai. Sifat-sifat hanya mengubah suai tingkah laku beberapa tag di dalam halaman. Jadi ini menyatakan bahawa hyper rujukan, cara mewah untuk mengatakan URL untuk anchor ini, kerana ini link, harus CS50.net. Dan teks yang kita mahu untuk menunjukkan pengguna tidak adalah bahawa URL mentah, tetapi yang CS50 perkataan. Jadi jika sekarang saya tambah nilai, izinkan saya zoom dalam untuk kejelasan, izinkan saya memuatkan semula halaman, melihat bahawa kita mempunyai sekolah lama ini biru yang digariskan link. Dan jika saya di atasnya, dan ia akan menjadi sukar untuk melihat, di bahagian bawah kiri sudut skrin, notis bahawa ia berkata URL yang Saya akan pergi. Dan jika saya klik di sana, Voilà, sekarang saya membuat laman web. Dan kami telah membawa diri ke halaman rumah. Tetapi notis apa yang berpotensi ini menawarkan kita. Keselamatan adalah amat menjadi tren hari ini. Bagaimana jika saya bukan mengatakan sesuatu seperti ini, dan saya bukannya pergi ke, katakan, mari kita lihat, fakeCS50.net. Muat semula laman ini. OK, jadi melihat ia masih kelihatan seperti saya akan CS50, melainkan mata bijak akan melihat saya akan CS50 palsu. Saya meneka domain ini tidak diambil. OK, jadi ia tidak ada. Jadi itulah yang baik. Tiada siapa yang benar-benar mempunyai domain tersebut. Tetapi mari kita menjadi sedikit lebih berniat jahat kerana itulah jenis bodoh. Bagaimana jika kita menukar ini kepada Paypal. Dan apa yang jika kita memanggil ini, seperti, www.paypal.badguy.com, apa sahaja domain itu. Yang mungkin wujud. Jadi sekarang biarlah saya memuat semula halaman. Dan di sini kita mempunyai jenis phishing serangan, P-H-I-S-H-I-N-G, yang merupakan perkataan bodoh diberikan untuk serangan yang cuba untuk maklumat ikan, atau, lebih baik lagi, wang, daripada rakyat dengan pembodohan mereka ke dalam memberikan maklumat yang mereka mungkin yang tidak dilakukan. Ini kelihatan benar-benar legit, bukan? Saya mesti mempunyai pautan ke sini untuk Paypal.com. Dalam keadilan, jika saya sexed ia dengan beberapa grafik, kita boleh membuat ia kelihatan lebih seperti PayPal. Betul? Kerana saya boleh, sebagai diketepikan, Saya boleh pergi ke Paypal.com. Dan kita baru sahaja melihat bagaimana saya boleh melihat semua HTML mereka. Saya hanya boleh menyalin dan mencipta estetika Paypal bukannya pergi sekolah lama di sini. Tetapi notis, sudah tentu, dan ia sedikit masih kecil, hanya di bawah sudut kiri, dalam seperti titik 10 font, adakah anda melihat apa URL anda sebenarnya akan membawa kepada. Dan jadi jika anda pernah mendapat spam berkata pergi ke hadapan, dan anda akaun telah dikompromi. Sila klik pautan ini dan marilah kita tahu kata laluan anda supaya kita boleh memastikan anda anda, tidak pernah berbuat demikian. Perkara-perkara ini harus pergi tanpa berkata. Tetapi ia adalah hebat lucu, dan tragis, bagaimana setiap tahun ini seolah-olah berlaku kepada beberapa bukan sifar beberapa orang. Dan itulah keindahan phishing serangan. Anda boleh menghantar satu juta e-mel. Dan walaupun 0.01% orang sebenarnya klik pada Paypal dan memberikan anda kata laluan, yang masih nombor bukan sifar orang-orang yang baru sahaja memberikan anda wang mereka. Dan menghantar e-mel, sudah tentu, adalah agak mudah dan, pada dasarnya, percuma hari ini. Jadi cerita panjang pendek, hebat idea yang indah, bukan? Tahun lalu, ini adalah yang terawal web, membolehkan web hyperlink antara sumber. Tetapi begitu cepat ia boleh menjadi digunakan untuk tujuan sakit. Dan e-mel, memadai untuk mengatakan, ini hari, telah HTML tertanam dalam. Baiklah, biar saya hanya satu perkara yang lain. Dan kami akan menangguhkan sebahagian besarnya kepada seksyen dalam masalah menetapkan tujuh untuk membolehkan anda meneroka butir-butir. Tetapi biarlah saya pergi ke hadapan dan melakukan beberapa perkara di sini. Saya akan masuk dan mengisytiharkan apa yang dipanggil div, atau bahagian, halaman. Izinkan saya menutup bahawa tag div. Dan saya akan berkata sehingga di sini atas halaman. Dan kemudian di bawah ini, saya akan melakukan sesuatu seperti span yang lain, menutup ini tag, dan melakukan bahagian bawah halaman. Dan mari kita menyimpannya. Jadi sekarang mari kita kembali ke fail saya. Sangat underwhelming. Tetapi apa yang bahagian digunakan untuk, di bawah hood, ia sebenarnya elemen struktur nice. Ia tidak mempunyai apa-apa estetika setakat kita dapat lihat, selain daripada, nampaknya, meletakkan sesuatu pada garis baru. Tetapi notis, sebagai diketepikan, hanya memukul Masukkan tidak dipotong dalam HTML seperti ia tidak di C. Anda mungkin berfikir bahawa itu akan meletakkan jurang yang besar di antara baik bahagian atas dan bawah halaman. Tetapi ia diabaikan. Ruang putih pada asasnya diabaikan dalam laman web selain dari yang pertama watak bar ruang, atau pulangan pengangkutan, yang anda memukul pada papan kekunci. Jika anda ingin rehat talian lebih, anda perlu menentukan sendiri. Jadi, saya akan melakukan beberapa perkara di sini untuk menunjukkan apa yang berlaku. Saya akan menambah sifat yang wujud Dan sekali lagi, cara anda belajar apa ciri-ciri wujud, apa yang tag wujud, benar-benar, adalah rujukan dalam talian. HTML adalah jenis bahasa - ia bukan bahasa pengaturcaraan. Ia adalah satu bahasa markup - bahawa selepas setengah jam baik, mungkin, satu jam dengan , anda pasti akan memahami, yang paling mungkin, idea asas. Dan kemudian carian Google jauh adalah tag mungkin bahawa anda mungkin tertarik Dan setiap spesifikasi, yang agak mengalu-alukan dan digalakkan di sini. Jadi sekarang biarlah saya pergi ke hadapan dan melakukan sesuatu seperti ini. Latar belakang warna. Dan sekarang, saya akan melakukan sesuatu seperti merah, koma bertitik. Dan anda boleh melakukan ini dalam beberapa cara yang berbeza. Saya hanya jenis menaip sebagai super jelas yang mungkin. Tetapi ternyata bahawa nilai ini di sini adalah apa yang dipanggil CSS, Cascading Style Kepingan, yang merupakan satu lagi bahasa sama sekali. CSS mempunyai apa-apa kaitan dengan membuka tag dan tag dekat. Ia mempunyai kaitan dengan ciri-ciri. Dan hartanah adalah nilai hanya utama pasangan, yang hanya bermaksud beberapa perkataan, kolon, dan kemudian beberapa perkataan lain. Dan jika anda mempunyai orang-orang yang pelbagai, atau hanya satu di sini, anda boleh berakhir dengan koma bertitik, hanya untuk kejelasan. Tetapi itu juga akan bekerja di sini. Sekarang ini apa yang akan lakukan? Anda mungkin boleh meneka. Biar saya pergi ke hadapan dan muat semula laman ini. Dan kini ia benar-benar datang bersama-sama. Jadi atas halaman saya adalah merah. Tetapi apa yang penting di sini ialah, saya nyatakan sebelum ini, p yang memberikan anda satu bahagian di halaman. Dan bahawa sesungguhnya apa yang ia. Ia pada asasnya membahagikan halaman ke segi empat tepat yang anda boleh kemudian memanipulasi. Dan idea ini daripada segi empat tepat adalah jenis menarik dalam bahawa, jika anda berfikir laman web yang paling mana-mana, tidak mungkin beberapa struktur kepadanya. Kebanyakan anda mungkin jarang dilihat Laman Facebook jika anda log masuk di sepanjang masa. Tetapi di halaman rumah Facebook, terdapat beberapa jenis span di bahagian atas. Dan ia mungkin tidak semudah sebagai salah satu div, tetapi ada rantau segi empat tepat di sana. Selebihnya halaman adalah seperti a div besar, seperti yang lebih rantau segi empat tepat yang lebih besar. Jadi cerita panjang pendek, hanya dengan mempunyai blok-blok bangunan yang sedikit, keupayaan kepada perkara-perkara seperti model segi empat tepat, sama ada luas atau sempit, anda boleh juga membuat tiang yang berpotensi, membolehkan anda untuk meletakkan muka surat, benar-benar, tetapi anda ingin. Kami benar-benar hanya menggaru permukaan di sini. Malah, jika saya lakukan salah satu yang lain, izinkan saya pergi ke hadapan dan melakukan gaya, latar belakang warna, kita akan melakukan sesuatu seperti biru, memetik dekat. Mari kita tambah nilai ini. Jadi sekarang ia semakin lebih uglier. Tetapi sekarang saya boleh jenis menunjuk-nunjuk P saya meletakkan lima kemahiran, bukan? Merah. Ia mengingatkan saya kepada RGB, Red Green Blue tiga kali ganda. Nah, ternyata dalam pengaturcaraan web, atau reka bentuk web, yang ini, kita telah belum apa-apa yang diprogramkan per se, anda boleh sebenarnya mempunyai kod perenambelasan. Jadi sesuatu sesuatu, sesuatu sesuatu sesuatu sesuatu. Jadi, anda boleh mempunyai enam perenambelasan watak-watak, atau tiga, dalam beberapa kes, dan setiap daripada mereka tanda tanya telah menjadi digit perenambelasan, sifar melalui f. Jika saya ingin mempunyai banyak merah, dan tidak hijau, dan tidak biru, apa bertentangan dengan sifar apabila menggunakan hex? Ia f. Jadi yang boleh saya lakukan seterusnya, sifar sifar, sifar sifar, menyelamatkan ini, dan kini datang ke sini. Dan saya tidak benar-benar melihat perubahan. Jadi quote unquote "merah" adalah jelas sinonim untuk semua merah, tidak hijau, tidak biru. Sementara itu, mari kita sengaja mengubah yang satu ini menjadi sesuatu rawak, seperti ABCDF. Mari kita lihat apa yang. Ia adalah benar-benar bagus biru, sebenarnya, biru bayi. Baiklah, jadi ini adalah tadi kombinasi agak rawak watak-watak. Oleh itu, kita tidak akan menjadi buntu di sini. Tetapi sekali lagi, ini bercakap dengan ketepatan yang bahawa anda boleh mula terpakai - walaupun anda sangat terharu oleh estetika. Malah, jika anda benar-benar mahu menjadi kagum, izinkan saya pergi ke hadapan dan mengubah saiz fon, misalnya. Dan notis koma bertitik, yang adalah perlu di sana. Saiz fon, kita boleh hanya tidak masuk akal di sini, 96 mata. Simpan itu. Wow, itu saiz fon yang besar. Baiklah, jadi ia sangat mudah. Dan sebenarnya, anda dasarnya melihat laman web pertama saya yang dibuat tahun lalu, apabila saya mula-mula belajar barangan ini. Ia amat mudah untuk membuat sangat perkara-perkara yang mengerikan dengan cepat. Dan jika anda sudah biasa dengan Wayback Mesin di archive.org, anda boleh menemui semua mengerikan saya laman web undergrad. Satu mempunyai Kermit Katak di hadapan. Saya pergi melalui fasa di mana saya fikir ia adalah sejuk untuk mengambil latar belakang tirai merah, apabila saya belajar bagaimana anda boleh imej jubin sekali lagi, dan sekali lagi, dan sekali lagi, untuk mengisi halaman dengan tirai merah lekat besar. Dan kemudian, di atas ini, adalah ikon yang anda terpaksa klik untuk memasuki rumah saya Laman kerana itu adalah sangat banyak dalam tren. Dan kemudian program pertama saya, saya pernah menulis tidak berada di dalam PHP, tetapi dalam bahasa yang dipanggil Pearl, menulis sebuah buku tetamu, yang adalah satu perkara yang benar-benar sejuk bahawa Ramai orang mengharapkan anda mempunyai di halaman rumah. Apabila anda sampai ke halaman, mereka mahu anda untuk mendaftar masuk, dan berkata, siapa anda, dan mengapa anda berada di sana. Ini sangat tahun 1990-an gaya reka bentuk web. Tetapi hari ini, sudah tentu, kita telah datang banyak lebih jauh. Dan anda akan melihat, di bahagian, dan juga dalam masalah yang ditetapkan tujuh, dengan memanfaatkan perpustakaan pada hari ini, ia adalah lebih mudah untuk membuat perkara-perkara yang cantik dengan cepat. Benar-benar di sini, kami hanya menggaru permukaan apa yang boleh anda lakukan stylistically. Dan sebenarnya, sudah, biarlah saya menekankan ini sudah mendapat hodoh, tidak hanya indah, tetapi dari segi gaya kod saya, atau reka bentuk kod saya. Saya kini comingled HTML, yang adalah tag terbuka kehijauan di sana, dengan Hartanah CSS, yang benar-benar legit. Ini benar-benar di mana bahasa mempunyai asal-usulnya. Tetapi demi kepentingan reka bentuk yang bersih, sama seperti kita mula barangan pemfaktoran keluar dari C fail ke. h fail, apatah saya benar-benar mengamalkan bahawa jenis prinsip dan mula melakukan ini sebaliknya. Izinkan saya meletakkan tag gaya di sini, yang juga wujud dalam HTML, dan biarlah saya nyatakan yang berikut. Biar saya memadam ini. Warna latar belakang akan menjadi merah. Saya akan memadam ini sepenuhnya. Saya akan menghilangkan gaya sifat, dan saya akan unik mengenalpasti div ini dengan kata - sewenang-wenangnya, tetapi munasabah, quote unquote "atas." Dan id adalah khas sifat yang unik mentakrifkan elemen HTML tertentu sebagai mempunyai id itu. Jika saya kini mahu bergaya itu, di sini di ketua halaman saya, di dalam satu tag gaya, melihat bahawa Boleh saya lakukan atas hash. Dan kemudian saya boleh meletakkan beberapa kerinting pendakap, mengingatkan C, dan biarkan saya paste dalam penyesuaian dgn mode itu. Dan biarlah saya pergi ke hadapan di sini dan menjangka di mana saya akan dengan ini. Biarlah saya juga mewujudkan satu untuk div bawah. Biar saya merebut kod ini mengerikan dari bawah di sini, meletakkan ia di sini, dan saya akan lebih sedikit dubur sekarang dan diolah ia dengan hanya meletakkan sesuatu pada mereka sendiri line, berakhir dengan koma bertitik. Biar saya menghilangkan tag gaya. Tetapi saya tidak dilakukan lagi. Saya perlu untuk melakukan satu perkara yang lain. Ya, id sama quote unquote, "bawah," atau apa sahaja id saya ingin memberikan elemen itu. Sekarang, mari saya kembali di sini. Dan ini adalah kejam. Saya tidak boleh berurusan dengan 96 mata. Mari kita buat 24 mata. Atau anda boleh menjadi lebih tepat. Anda sebenarnya boleh menggunakan piksel, px, jadi bahawa anda benar-benar mendapatkan bijirin halus kawalan ke atas halaman anda. Sebagai mengetepikan, yang tidak semestinya perkara yang terbaik jika pengguna, untuk sebab-sebab kemudahan, mahu dapat meningkatkan saiz. Jadi sedar bahawa terdapat cara untuk berbuat perkara-perkara yang tidak semestinya kod semua keras. Baiklah, jadi ia adalah lebih besar, 24 mata, daripada apa yang lalai itu. Tetapi sekarang ia adalah bersih sedikit. Dan izinkan saya mengambil ini satu langkah lagi. Sama seperti idea fail header, notis kita satu langkah lebih dekat untuk itu. Saya kira, tetapi masih kiri, dalam halaman saya, kaedah-kaedah CSS. Kenapa saya mahu mengambil satu langkah lagi, keluarkan ini sama sekali, dan memasukkannya ke dalam fail yang berasingan? Jadi saya boleh menggunakan semula ia, kan? Ini adalah hanya jenis gerak hati sekarang. Sebelum ini, saya mendakwa bahawa ia hanya semakin hodoh mempunyai gaya sifat-sifat di dalam satu divs sendiri. Tetapi hanya jenis berfikir bahawa melalui. Sebagai halaman anda mendapat lagi dan lagi, jika anda meletakkan di sini, dan di sini, dan di sini, dan di sini, semua ini berbeza warna, dan saiz fon, dan lain-lain sifat-sifat, halaman anda adalah sangat cepat akan menjadi tidak terurus untuk anda. Jika seseorang datang kepada kamu dan berkata, oh, anda tahu apa? Saya benar-benar ingin menukar saiz fon oleh dua titik tambahan, anda mungkin perlu pergi dan mencari dan menggantikan sejumlah besar baris kod. Ia lebih menarik untuk memusatkan semua estetika seperti di sini. Tetapi jika anda ingin menggunakan semula mereka estetika dalam laman-laman web, semua lebih menarik untuk, Contohnya, buat file dipanggil dengan mereka kandungan. Dan biarlah saya melakukan ini. Simpan fail ini. Saya katakan styles.css, sewenang-wenangnya, tetapi konvensional. Saya akan meletakkan di rumah John Harvard direktori sekarang untuk kesederhanaan. Dan apa yang boleh saya lakukan di laman web saya adalah mendapatkan menghilangkan tag gaya sama sekali, dan agak unintuitively, gunakan pautan tag, yang tidak memberi anda pautan dalam hyperlink, rasa diklik, tetapi di mana saya katakan link, href sama styles.css. Dan hubungan yang elemen ini telah dengan laman web ini adalah untuk berkhidmat sebagai lembaran gaya. Jadi bagaimana saya tahu ini? Satu, anda hanya membaca panduan ini, atau anda Google di sekitar, dan anda melihat pelbagai sumber. Maksud saya, yang benar-benar adalah bagaimana anda mengambil teknik seperti ini, dan, selaras dengan idea ini pengajaran diri baru bahasa, sekali lagi, anda akan mendapati bahawa hanya ada beberapa terhingga perkara kepada mana-mana bahasa itu, sebaik sahaja anda mendapat mereka, anda akan mendapati bahawa ia mendapat cepat dan lebih cepat untuk menulis. Malah, pembelajaran pengaturcaraan baru bahasa adalah begitu banyak lebih cepat daripada yang baru bahasa yang digunakan kerana perkara-perkara adalah lebih kecil dan banyak lagi tepat ditakrifkan. Tetapi saya telah menekankan sedikit anomali di sini. Mengapa saya menekankan ini italik di sini? Kerana saya perlu menutup tag. Saya perlu menutup tag. Dan anda akan mencari sumber-sumber yang begitu banyak online yang tidak semestinya tag dekat. Dan realistik, ia tidak betul-betul perlu untuk teknikal dan terdapat sebab realiti, pelayar hanya agak toleran kesilapan dalam web muka surat, untuk lebih baik atau lebih teruk lagi, tetapi kebanyakannya lebih teruk. Jadi ini di sini adalah hanya cara yang lebih bersih berkata sesuatu yang bodoh seperti ini, di mana jika anda mahu membuka tag link tetapi menutup, ada benar-benar ada tanggapan kandungan untuk tag link. Ia hanya bermakna beban ini fail dan letakkan di sini. Ia seperti tajam termasuk di C. Anda boleh membuka dan menutup tag sekaligus dalam tag yang sama. Dan ada contoh-contoh lain ini. Ini bukan cara untuk melakukan ini, tetapi yang br tag, untuk berehat line, jika saya benar-benar mahu mencapai apa yang saya cuba sebelum ini dengan menekan Enter, jika Saya tegas mengatakan hentian baris, satu baris, hentian baris, satu baris, dan muat semula laman ini, kini anda akan notis yang bawah halaman ini, sesungguhnya, lebih jauh ke dalam bahagian bawah halaman. Tetapi yang boleh dilakukan lebih bersih dengan CSS, dan dengan margin, dan dengan yang lain seperti estetik teknik. Jadi untuk sekarang, takeaways adalah ini. Dalam HTML, kita mempunyai ini perkara-perkara yang dipanggil tag. Dalam CSS, kita mempunyai perkara-perkara dipanggil hartanah. Kami boleh comingle kedua-dua bahasa, sama ada dengan menggunakan sifat gaya, atau tag gaya, atau terbaik lagi, pemfaktoran ia keluar sama sekali, seperti yang kita lakukan dalam masalah yang ditetapkan 7. Soalan, kemudian, kira-kira asas-asas konsep di sini? PENONTON: Saya mempunyai satu soalan. SPEAKER 1: Oh, maaf. PENONTON: Mengapa tidak ia berwarna - SPEAKER 1: Oh, dalam tab yang lain? Ini di sini? PENONTON: Tidak, ia seperti - SPEAKER 1: Oh, itu kerana Saya telah menjadi ceroboh. Saya meletakkan fail di tempat yang salah. Jadi jika saya benar-benar meletakkan ia di sini, dan saya chmod, semua r + untuk styles.css, dan kini memuatkan semula halaman, kini kita mendapatkan penyesuaian dgn mode belakang. Dan kerana saiz fon yang yang berbeza, kita tidak melihat cukup banyak ruang putih. Kami bukannya melihat apa yang yang lalai adalah sebaliknya. Baik soalan. Ya? PENONTON: Mengapa adalah pautan tag dalam kepala? SPEAKER 1: Mengapa pautan tag dalam kepala - jawapan pendek, hanya kerana. Itulah apa yang telah diputuskan. Itulah di mana tag link pergi apabila anda mempunyai apa yang dipanggil lembaran gaya luaran. Soalan-soalan lain? Baiklah, mari kita juga melakukan ini. Kami mempunyai menyeronokkan begitu banyak di hadapan kita hari ini. Yang hanya menggaru permukaan CSS. Mari kita melakukan ini. Mari kita rehat minit lima di sini kerana, setiap e-mel saya, mari kita gantung di di sana sehingga 02:30-ish hari ini. Tetapi jika anda perlu cuti, itulah denda. Tetapi kita akan melangkah ke hadapan selepas rehat lima minit. Dan kita akan belajar sesuatu yang sedikit kira-kira PHP, MySQL, dan banyak lagi. Baiklah, jadi mari kita cuba, sekarang, untuk mengikat beberapa idea-idea ini bersama-sama dan membuat, berkata, enjin carian kami sendiri. Saya perhatikan, sebaliknya ingin tahu, berikut. Apabila anda berada di Google.com, anda biasanya di URL seperti ini di sini dengan apa-apa selepas dot com. Tetapi jika saya mencari sesuatu yang bodoh seperti kucing, dan tekan Enter, kita akan mendapat - tidak bodoh, tetapi anda tahu. OK, jadi perasan, di bahagian atas halaman, sekarang, URL telah, sudah tentu, berubah. Dan ini tidak apa-apa baru kepada mana-mana daripada kita. Anda klik link dan barangan berlaku di web. Tetapi apa yang menarik di sini adalah seperti berikut. Terdapat banyak keseluruhan kekusutan, tetapi biarlah saya buang barangan yang saya tidak begitu faham atau tidak benar-benar kelihatan relevan. Biar saya menghilangkan ini. Biar saya menghilangkan ini. Dan biarlah saya menghilangkan semua ini. Dan kini melihat bahawa kucing adalah dalam URL, diikuti dengan q, maka yang sama menandatangani di hadapannya. Jadi ternyata ini ialah bagaimana Cara ia berfungsi apabila ia datang untuk input dan output. Kami telah lama bercakap tentang kotak hitam, bukan? Jadi, jika ini adalah satu fungsi dilaksanakan di sini sebagai kotak hitam, ia mengambil input dan menghasilkan output, baik, bermakna di mana anda memberi input kepada laman web adalah dengan cara, selalunya, URL itu. Anda hanya perlu meletakkan tanda tanya dan kemudian kunci sama nilai. Dan kemudian mungkin satu Ampersand, dan kemudian utama yang lain sama dengan nilai, maka mungkin Ampersand lain, masukkan sama dengan nilai. Itulah bagaimana anda lulus dalam kunci dan nilai, pasang input. Jadi jika saya tekan Enter sekarang, apa yang menarik tentang Google adalah bahawa semua kekusutan yang saya dipadam tidak muncul dengan tegas perlu. Apa yang saya perlu hantar ke Google adalah soalan tanda q sama kucing untuk mendapatkan menyokong beberapa kucing. Nah, implikasi itu, maka, adalah jika saya tarik sehingga gedit, saya telah memulakan membuat enjin carian saya sendiri di sini dalam fail yang dipanggil seach0.html. Dan biarlah saya pergi ke hadapan dan memadam satu baris lagi yang anda tidak sepatutnya untuk melihat. Dan sekarang, saya pergi ke dalam pelayar saya sendiri, supaya tidak Google, dan pergi ke http://localhost. Dan itu akan mendapat di jalan. Jadi, kita akan mempunyai untuk mengucapkan selamat tinggal kepada buat masa sekarang, bergerak ini di sini, oh, sekarang kita akan perlu mengucapkan selamat tinggal kepada fail tersebut. Apabila anda mempunyai fail yang dipanggil index.html atau index.php dalam direktori, jika pelayan web adalah dikonfigurasikan dengan cara ini, apa yang anda akan lihat, secara lalai, adalah kandungan yang file bukannya satu senarai direktori, kerana saya mahu di sini. Lanjut mengenai ini dalam spesifikasi. Anda tidak melihat bahawa. Jadi ini adalah apa yang saya benar-benar mahu. Tetapi masa yang lalu, terdapat fail di dalam folder ini dipanggil index.html dan index.php. Dan sebagainya pelayan web adalah menunjukkan saya fail-fail. Sebaliknya, saya ingin direktori ini penyenaraian di sini. Jadi, saya akan pergi ke CSS dan pergi ke search0. Dan saya mendakwa bahawa ini adalah ia akan menjadi permulaan yang kompetitif saya sendiri mencari enjin. Dan untuk melakukan ini, saya akan pergi di sini, ke dalam CSS, dan membuka dengan gedit, carian 0. Tetapi malangnya, ada tidak banyak yang berlaku di sini. Apa yang saya lakukan ialah menggunakan tag tajuk, yang berlaku akan dipanggil h1, yang asasnya bermakna besar dan berani, dan itu sahaja. Tetapi cara-cara yang kita boleh memberikan input adalah melalui ini perkara-perkara yang dipanggil bentuk. Jadi biarlah saya pergi ke hadapan dan membuka dan menutup, preemptively, tag borang di sana. Dan biarlah saya pergi ke hadapan dan melakukan sesuatu seperti ini. Input, jenis sama teks. Dan kemudian mari kita menutup tag dalam kurungan diri mereka sendiri. Saya tidak perlu untuk memulakan medan teks dan berhenti medan teks. Ia hanya akan berada di sana atau tidak. Dan kemudian di bawah itu, mari kita buat Jenis input sama hantar. Simpan ini. Dan sekarang mari kita hanya melakukan kewarasan cepat menyemak. Mari kita tambah nilai. OK, jadi ia tidak buruk. Ia bukan gaya Google, tetapi ia cukup dekat. Ada medan teks. Saya boleh menaip beberapa barangan di dalam, tekan Enter, tetapi tiada apa yang berlaku lagi. Dan itu kerana saya telah tidak dinyatakan tindakan untuk borang ini, jadi untuk bercakap. Jadi, jika saya kembali ke bentuk elemen, Ternyata, dan saya tahu ini hanya daripada mempunyai membaca dokumentasi, yang tag bentuk mengambil sifat dipanggil tindakan yang URL laman web yang anda ingin menghantar borang. Saya tidak fikir kita mempunyai masa untuk melaksanakan kembali akhir keseluruhan untuk enjin carian hari ini. Oleh itu, kita hanya akan berkata, eh, pergi ke google.com / search. Dan sekarang mari saya menutup petikan saya. Dan biarlah saya terus menyatakan bahawa kaedah untuk menggunakan akan akan dipanggil mendapatkan. Long cerpen, ada dua cara, di kurangnya, bahawa anda boleh mengemukakan maklumat dari pelayar untuk pelayan. Satu mendapatkan, dan, untuk tujuan hari ini, yang hanya bermakna dalam URL. Anda lihat betul-betul tanda soalan, sama dengan tanda-tanda, dan ampersands bahawa kita lihat sebelum ini. Atau ada yang dipanggil post alternatif. Buat masa ini, tahu bahawa post sering digunakan apabila anda mahu memuat naik fail, seperti imej dan sebagainya, atau apabila anda mahu mengemukakan maklumat kad kredit, atau kata laluan, apa-apa yang ia tidak benar-benar masuk akal, konsep, atau keselamatan bijak, berakhir di URL pelayar anda, di mana pengintipan ibu bapa, atau sebilik, atau sesiapa yang mempunyai akses ke komputer anda mungkin melihat. Jadi mari kita menyelamatkan di sini. Dan saya perlu untuk melakukan satu perkara yang lain. Ia tidak mencukupi hanya untuk berkata memberi saya medan teks. Saya telah memberikan bidang itulah menghargai nama. Jadi biarlah saya meminjam pilihan Google nama, q, dan menentukan bahawa kedua sifat saya tidak benar-benar mengambil berat tentang nama butang Submit itu. Apa yang saya mengambil berat tentang adalah mengemukakan apa jenis pengguna masuk Dan sekarang ini adalah jenis hodoh. Ia hanya berkata hantar. Ternyata, dan saya tahu ini dari dokumentasi, saya benar-benar boleh mengatakan nilai sama quote unquote "cs50 SEACH, "quote dekat. Kemudian mari kita tambah lagi. Jadi saya terus memukul Perintah-R, atau Kawalan-R pada papan kekunci saya untuk menambah nilai. Sekarang kita mempunyai lebih menarik mencari enjin. Ia tidak cukup kelihatan seperti Google lagi, walaupun. Jadi mari kita pergi ke hadapan di sini dan melakukan rehat garis sedikit. OK, jadi sekarang kita mempunyai Google. Kami benar-benar hampir tidak mempunyai Google. Jadi sekarang apa yang akan berlaku? Saya akan menaip sesuatu seperti Kucing. Dan pelayar yang akan menghurai bentuk yang saya ditetapkan. Dan ia akan menghantar pengguna untuk URL tersebut. Jadi kali ini, atas sebab ingin tahu, Saya mendapat lebih banyak maklumat tentang saham daripada kira-kira kucing sebenar. Tetapi itulah denda kerana notis kita masih berakhir di sini, q sama kucing. Jadi cerita panjang pendek, ia kelihatan agak remeh untuk mendapatkan input daripada pengguna. Dan untuk menjadi adil, terdapat tandan lain-lain jenis medan borang. Ada kotak semak, dan sedikit saling butang radio eksklusif, dan drop down menu, dan banyak lagi. Tetapi semua mereka adalah sebagai agak mudah dilaksanakan medan teks ini adalah. Dan akhirnya, kita hanya perlu untuk membuat seseorang pasti yang mendengar di pihak yang lain akhir baris untuk mendapatkan maklumat yang diproses, entah bagaimana, dan memberikan kita kembali kucing kami. Mari kita lihat sedikit lebih terlibat sebagai contoh. Biar saya pergi ke direktori Vhost saya, ke tuan rumah tempatan, orang awam, dan di mana saya meletakkan kod sumber hari ini. Semua ini akan diberikan kepada kursus ini laman web untuk anda untuk bermain-main dengan. Dan jika saya pergi ke froshims, izinkan saya membuka up file ini sekarang, froshim0.php. Yang ini adalah lantung lebih sedikit, jadi kita tidak akan menulis ini dari awal. Tetapi notis kini beberapa agak ciri-ciri biasa. Satu, tag bentuk, tindakan yang berbeza. Ia bukan satu URL penuh. Kini, ia nampaknya untuk memfailkan dipanggil register0.php kerana, dalam seketika, Saya akan mengajar diri saya sedikit sesuatu tentang PHP, pengaturcaraan bahasa, kerana PHP boleh digunakan untuk melaksanakan apa yang Google dilaksanakan sebagai hujung belakang enjin carian mereka. Google, dalam realiti, mungkin menggunakan beberapa Python, beberapa C + +, dan tandan bahasa lain. Tetapi kita boleh melaksanakan carian keputusan menggunakan PHP jika kita mahu. Tetapi untuk sekarang, kita akan pastikan ia mudah. Dan ini sebenarnya mengingatkan salah satu satu laman web yang pertama yang lain saya dibuat tahun lalu. Kembali pada hari saya, anda mendaftar untuk sukan antara dinding sebagai bayat oleh mengisi sehelai kertas, berjalan di halaman, dan menjatuhkan dalam peti mel daripada Proctor di Wigglesworth, dan itu adalah bagaimana anda didaftarkan. Dan supaya projek saya sejurus selepas CS50, adalah untuk meletakkan itu, yang membuat sempurna rasa, ke laman web, yang tidak seperti dalam tren maka seperti sekarang. Tetapi semua kita terpaksa lakukan ialah membuat, pada dasarnya, bentuk HTML. Dan bentuk yang kelihatan kira-kira seperti ini. Saya mempunyai input untuk nama bayat itu. Saya mempunyai kotak yang lain untuk sama ada atau atau tidak mereka mahu menjadi kapten, apa jantina mereka itu, dan apa asrama mereka itu. Dan kemudian saya dikodkan dalam perkara-perkara seperti Apley Mahkamah, dan Canaday, Grays, dan sebagainya. Jadi sekali lagi, tag baru. Tidak pernah melihat sebelum ini, baru sifat-sifat, tetapi agak mudah. Sebaik sahaja anda lihat contoh, anda boleh jenis daripada meminjam idea itu dan membuat penurunan menu untuk apa-apa yang paling bawah. Tetapi apa yang penting adalah bahawa setiap perkara-perkara ini mempunyai nama. Dan di bahagian bawah borang ini, terdapat butang submit yang label, atau nilai, adalah daftar. Jadi mari kita pergi ke halaman ini. Biar saya pergi kembali ke penyenaraian direktori. Biar saya pergi ke froshims, dan pergi ke froshim0.php. Jadi ia adalah mengerikan, untuk berlaku adil. Jadi saya pasti dapat menyesuaikan dgn mode ini dengan beberapa CSS, saya boleh membuat beberapa grafik, mungkin menambah beberapa warna, dan menjadikannya lebih cantik. Tetapi fungsi, saya berpendapat bahawa ini sebenarnya cukup lengkap. Malangnya, apabila saya mengisi ini keluar, David, Kapten, Male, kami akan memilih, katakan Matthews, Register, semua yang berlaku adalah ini. Tetapi notis beberapa takeaways. Satu, apa yang fail kembali mereka keputusan, nampaknya? Jadi ia adalah, sememangnya, register0.php. Jadi hakikat yang kita lihat tindakan yang nilai masa lalu untuk register0, ini menguatkan bahawa kita memang berakhir sehingga pada fail yang tertentu. Sekarang ini hanya teks hodoh. Tetapi melihat bahawa teks ini adalah datang dari tuan rumah tempatan, yang dari perkakas. Fikirkan perkakas sekarang kerana hanya pelayan web yang boleh di Science Center. Ia boleh berada di web sebenar. Jadi ia boleh diakses secara terbuka. Jadi jelas, terdapat beberapa cara untuk lulus membentuk bidang input kepada pelayan supaya ia boleh melakukan sesuatu dengan mereka. Malangnya, register0 agak bodoh. Semua ia adalah mencetak array yang kelihatan seperti ini. Dan ia tidak pelbagai dalam rasa yang kita tahu. Rupa-rupanya, PHP itu, dan banyak bahasa, bukan sahaja berangka array diindeks yang indeks pertama adalah sifar, maka satu, maka dua, maka titik, dot, dot, n tolak 1. Ini adalah apa yang dipanggil array bersekutu. Pelbagai bersekutu adalah salah satu di mana anda boleh menyimpan nilai pasangan utama di mana kunci tidak semestinya nombor. Ia sebenarnya boleh menjadi tali, perkataan. Dan sebagainya ini boleh dilaksanakan, di bawah hood, ternyata, menggunakan struktur data yang dikenali sebagai? Pemikiran sesuatu yang dramatik adalah kira-kira untuk berlaku - jadual hash. Jadi jadual hash, ingat, orang-orang di antara kamu siapa yang melakukannya untuk P set 6, atau menarik balik , sekurang-kurangnya walaupun anda tidak cuba, a jadual hash, dalam penggunaan kita, telah digunakan untuk hanya menyimpan kata-kata. Tetapi benar-benar, anda telah menyimpan kunci dan nilai-nilai. Jika anda melaksanakan jadual hash untuk P menetapkan 6 kamus, kunci adalah kata-kata sendiri, dan nilai-nilai berkesan adalah benar atau palsu. Ya, di sini, atau tersirat, tidak, bukan di sini. Nah, kita boleh umum idea itu. Dan kita boleh menggunakan data yang sama struktur untuk menyimpan tidak rentetan sendiri sahaja dalam jadual hash anda, tetapi menganggap bahawa dalam setiap satu daripada hash anda nod meja itu. Dan anda juga boleh melakukan ini dengan cuba bukan hanya mempunyai bool. Anda boleh mempunyai sesuatu yang lain. Bagaimana jika kunci tidak maxwell, untuk contoh, tetapi quote unquote "nama" atau quote unquote "kapten." Dan dalam struktur data C anda, anda meletakkan nilai, bukan hanya Boolean, tetapi nilai seperti quote unquote "David," atau "M," atau "Matthews," dan sebagainya. Jadi orang-orang struktur data yang sama kita digunakan nampaknya wujud dalam bahasa-bahasa lain. Dan saya berpendapat mereka sebenarnya banyak, lebih mudah untuk mengakses di sini. Mari kita sebenarnya kita lihat kini di beberapa sintaks tersebut. Saya akan pergi ke dalam direktori PHP. Dan saya akan membuka lebih baik versi hello-0 daripada sebelum ini. Perhatikan bahawa semua yang saya lakukan ialah menambah beberapa komen. Oleh itu, kita boleh menghilangkan gangguan itu. Dan program ini tidak benar-benar mencetak hello kerana saya telah dinyatakan antara tag yang saya mahu untuk melaksanakan kod itu. Sekarang, kita akan melihat dalam seketika mengapa ini adalah berguna. Tetapi mari membuka satu contoh lain di sini. Biar saya pergi ke hadapan dan membuka berkata, gedit keadaan satu. Ini adalah cara kembali ke masa sekarang. Tetapi minggu lalu, saya fikir, pada minggu satu atau dua minggu, kami mempunyai contoh yang dipanggil conditions1.c. Dan saya memutuskan untuk reimplement dalam PHP, hanya untuk jenis menekankan bahawa PHP, sintaksis, adalah hampir sama C. Ini bukan satu perubahan besar dari minggu lepas ini. Notis di bahagian atas program ini, yang bermula, seperti sebelum ini, dengan beberapa komen, yang saya akan menghilangkan sebagai gangguan. Perhatikan bahawa saya dalam PHP mod dalam fail ini. Jadi kod ini, kita akan melihat, akan mendapat dilaksanakan. Perhatikan bahawa terdapat readline, yang mungkin analog dalam PHP daripada getstring. Notis ia sedikit berbeza. Anda sebenarnya menentukan segera kepada fungsi dipanggil garis membaca, dan itulah apa yang pengguna melihat. Jadi anda tidak perlu printf manual. Tetapi itu bukan satu masalah besar. Saya akan menyimpan, dalam $ n, kembali nilai ini, jadi apa sahaja yang jenis pengguna dalam adalah int mereka. Dan di sini adalah rasa ingin tahu yang lain. Rupa-rupanya, dalam PHP, apa-apa ubah hanya perlu awalan dengan tanda dolar. Ia sedikit menjengkelkan. Tetapi melihat apa yang saya telah tidak dilakukan dalam PHP. Apa yang hilang dari tangan kiri sisi tanda sama? Tidak menyebut jenis. Jadi ini adalah berbeza daripada C. Untuk lebih baik atau untuk lebih teruk, PHP adalah longgar bahasa ditaip. Ia tidak mempunyai nombor. Ia tidak mempunyai tali. Ia tidak mempunyai Booleans. Dan ia mempunyai beberapa jenis data yang lain. Tetapi anda, programmer, biasanya tidak perlu mengambil berat tentang mereka. Yang terbalik ini adalah bahawa ia membuat ia sedikit lebih mudah untuk program. Anda boleh berfikir sedikit kurang. Kekangan yang timbul ialah ia juga membuka anda sehingga bug yang berpotensi jika anda secara tidak sengaja merawat beberapa sebagai tali, tali sebagai nombor, berpotensi, tetapi juga maka, PHP, dan banyak bahasa, cukup toleran. Mereka akan menggunakan apa yang dipanggil pemutus tersirat. Dan jika anda cuba menggunakan n dalam konteks keadaan yang angka, ia akan menukar apa di sini akan menjadi satu tali, kerana jika jenis pengguna sesuatu, dan anda mendapat hasil, seperti readline, atau mendapatkan tali, itu akan kembali rentetan. Tetapi notis, beberapa baris kemudian, saya memeriksa jika n adalah lebih besar daripada sifar. Jadi PHP akan tersirat membuang saya "Rentetan" 123, atau apa sahaja yang turun jenis dalam, ke dalam int an. Jadi dalam jangka pendek, barangan hanya kerja-kerja lebih banyak intuitif. Jadi, sekarang kita mula untuk berehat beberapa perkara-perkara yang kita lakukan pada masa lalu. Banyak barangan ini adalah yang sama, walaupun. Masih sama sama. Sebagai mengetepikan PHP juga telah sama sama sama, tetapi lebih kepada yang, mungkin, dalam masa hadapan. Itu adalah satu. Typo tetapi dua tanda sama ertinya sama perkara seperti sebelum ini, untuk perbandingan. printf bermakna perkara yang sama seperti sebelum ini. Garis sendeng terbalik n bermakna yang sama perkara seperti sebelum ini. Jadi bagaimana saya menjalankan program ini? Well, seperti sebelum ini, jika saya lakukan PHP, conditions1.php, dan taip beberapa seperti 123. Itulah nombor positif. Jika saya menaip 0, saya memilih 0. Dan jika saya menaip 123 negatif, saya mendapat menyokong nombor negatif, yang hanya berkata, sintaksis, PHP super, sama super. Jadi mengapa ini sekarang berguna dalam konteks web? Nah, mari kita kembali ke froshims ini Sebagai contoh, yang kelihatan, sekali lagi, seperti ini di sini. Dan mari kita sebenarnya tarik sehingga laman web lagi, yang kelihatan seperti ini. Apa yang kita boleh lakukan dengan data yang diserahkan? Baiklah, biar saya membuka lebih baru versi ini. Dan anda akan melihat bahawa masalah spesifikasi set berjalan anda melalui beberapa ini. Daripada bermula dengan sifar, mari kita lihat froshims3, yang tidak sedikit lebih. Notis pertama, sebenarnya, mari kita membuka sehingga apa yang adalah 0, jadi anda lihat apa daftar 0 adalah. Perhatikan apa daftar 0 lakukan. Satu, saya mempunyai komen di atas. Padam mereka dan memberi tumpuan hanya pada ini. Kebanyakan kandungan register0.php adalah, jelas, bahasa apa? Hanya PHP mentah. Jadi notis, fail ini tidak bermula dengan, pada masa, kurungan terbuka, tanda tanya, PHP. PHP tidak membolehkan anda untuk bergaul Kod PHP dengan tag HTML. Tetapi saya telah dilakukan bahawa di sini di dalam halaman di sini. Kini, sekali lagi, anda akan hanya tahu ini dari setelah melihat pengguna. print_r, Ternyata, adalah print_recursive. _recursive Dan ini adalah hanya berguna fungsi utiliti yang hanya mencetak keluar, Recursively, apa sahaja yang anda serahkan. Jika anda bawanya array, ia akan mencetak array. Jika anda serahkan nombor, ia akan mencetak nombor. Bawanya tali, ia akan mencetak rentetan. Jika anda bawanya jadual hash, ia akan mencetak jadual hash. Anda tidak perlu untuk menulis semua kod yang diri sendiri. Sekarang notis bahawa saya memasuki Mod PHP di sini. Saya keluar mod PHP di sini. Oleh itu, apabila pelayan web membaca fail ini atas ke bawah, kiri ke kanan, kerana ia berakhir dalam nama fail yang dipanggil. php, apa sahaja yang bukan di dalam tag PHP hanya akan menjadi meludah keluar, seperti HTML mentah. Tiada masalah besar. Tetapi sebaik sahaja notis pelayan web ini, ia akan berkata, saya tidak perlu meludah keluar, secara literal, print_r pos. Saya perlu melaksanakan berikut baris kod. Jadi soalan yang terakhir, maka, fail ini adalah, baik, apa yang palang pintu itu ini? Ambil tekaan. Apakah $ _POST, mungkin? PENONTON: [didengar] SPEAKER 1: Ya, data yang dihantar. Ingat, mari kita tinjau kembali masa untuk seketika. froshim0, sekali lagi, kelihatan seperti ini. Majoriti super ini hanya HTML. Sekali lagi, beberapa tag anda tidak mempunyai melihat lagi, atau dengan yang anda sudah biasa. Tetapi perkara yang menarik ialah ini. Ini satu baris adalah apa yang benar-benar menghubungkan ia ke fail register0.php kami. Saya mengemukakan melalui kaedah pos. Dan ini bermakna bahawa parameter jenis pengguna dalam tidak akan berakhir di mana. Mereka tidak akan muncul dalam URL. Mereka masih akan dihantar dari pelanggan, dari pelayar, kepada pelayan, tetapi hanya melalui beberapa yang lain mekanisme yang kita akan mengetepikan tangan kita pada hari ini, tetapi ia bukan dalam URL. Tetapi notis hubungan sekarang dengan pos, yang, mengikut konvensyen, adalah huruf kecil di sini. Tetapi jika saya membuka register0.php, Saya nampaknya percetakan ini. Jadi ini adalah jenis yang pelik menamakan konvensyen. Tetapi apa yang baik dalam PHP ialah apabila menggunakan PHP dalam konteks web, tidak pada baris arahan seperti yang saya lakukan masa lalu, apabila anda sebenarnya menggunakan ia dalam web halaman, dalam direktori Vhost seperti kita, PHP secara automatik akan mengisi ini perkara, yang pelbagai bersekutu, jadi untuk bercakap, jadual hash, dengan semua pengguna ditaip masuk Pendek kata, $ _POST dalam semua topi adalah berubah-ubah global yang hanya PHP ajaib mencipta untuk anda apabila menggunakan PHP dalam konteks web. Dan ia meletakkan di dalamnya semua nama-nama parameter dalam bentuk yang telah diserahkan kepada fail ini dan semua nilai-nilai yang pengguna ditaip masuk Jadi tangan kepada anda apa yang pengguna ditaip ke dalam bentuk yang. Jadi sebelum ini, kami mendapat output benar-benar bodoh hanya melihat ini kerana semua yang saya lakukan telah Recursively mencetak pelbagai ini. Yang penting ialah nama, nilai adalah Daud. Yang penting ialah Kapten. Nilai dihidupkan. Dan anak panah dua dan sudut kurungan di sana, ini hanya sewenang-wenangnya. Ini bukan kod. Ini hanyalah cara PHP ini menunjukkan anda apa nilai beberapa utama adalah. Tetapi sekarang biarlah saya mencadangkan bahawa dalam froshIMs3, ia adalah hampir sama kecuali ia mengemukakan ke fail ini. Dan sekali lagi, kita akan hanya jenis pandang pada ini, hanya untuk melihat beberapa sintaksis, tetapi notis apa fail ini tidak. Ambil guess hanya berdasarkan garis kod, yang mungkin tidak kelihatan seperti Yunani, untuk tahap tertentu, nampaknya lakukan. Fail ini entah bagaimana yang berkaitan untuk mel, e-mel. Jadi apa yang program ini lakukan? Dalam versi ini, jika saya benar-benar mengisi borang ini - dan biarlah saya pergi ke froshIMs3, tidak froshIMs0 - bentuk kelihatan sama. David, kapten, lelaki, asrama, Matthews. Tetapi jika saya menyerahkan ini, fail ini akan pergi ke register3.php. Dan saya mendakwa, dengan melihat ia kod sumber, ia akan entah bagaimana melibatkan e-mel. Biar saya pergi ke hadapan dan membuka ini di tingkap yang lebih besar, jadi kita dapat melihat ia lebih bersih. Kami dalam Vhosts, tuan rumah tempatan, awam, froshims. Saya akan membuka yang berbeza program, hanya supaya kita boleh melihat lebih banyak sekali gus. Jadi sekarang di sini, perhatikan beberapa perkara. Di bahagian atas fail terbuka kurungan, tanda tanya, PHP. Kemudian ada sekumpulan komen, mana kita boleh mengabaikan, adalah tidak menarik buat masa sekarang. Sekarang ada ini. Ternyata PHP mempunyai banyak kod yang disebut memerlukan. Ia adalah hampir sama dalam semangat untuk C termasuk, hash termasuk, yang dasarnya dimenangi kandungan beberapa fail lain dan hanya plops mereka di sini, jadi anda boleh menggunakannya. Dalam kes ini, perkakas ini mempunyai, pra-pasang, perpustakaan, bebas dan perpustakaan sumber terbuka yang dikenali sebagai PHP mailer bahawa sesiapa sahaja boleh memuat turun dari internet. Kami hanya melakukannya untuk anda. Dan ini bermakna saya kini mempunyai e-mel fungsi yang ada pada saya. Sekarang, perhatikan beberapa perkara. Saya akan mengesahkan penyerahan borang itu. Menghidupkan keluar PHP, satu, mempunyai seru mata untuk tidak operator, seperti C. Tetapi PHP juga mempunyai fungsi yang dipanggil kosong. Kosong hanya kembali benar jika nilai perkara yang anda bawanya kurungan kosong, seperti pengguna tidak menaip apa-apa masuk Jadi ini mengatakan, dan notis sintaksis, sangat mengingatkan C, jika utama nama, jadi medan nama dalam bentuk, yang dikemukakan melalui pos, pengguna, bukan untuk mengosongkan, dan mereka jantina tidak kosong dalam bentuk yang baik, dan asrama mereka tidak kosong - tetapi notis saya tidak mengambil berat tentang Kapten, maka apa yang kita akan lakukan? Saya akan melaksanakan baris ini kod. Dan anda boleh berfikir seperti ini seperti malloc, tetapi ia adalah sedikit penjaga daripada itu. Tetapi untuk sekarang ini memberikan saya khas struct jenis PHP mailer. Tetapi mengabaikan kata kunci baru untuk hari ini. Sekarang saya akan memanggil fungsi yang dipanggil IsSMTP, yang mengatakan, gunakan SMTP. Ini adalah port 25, sama seperti video minggu lepas, apabila perkara yang telah membuang e-mel ke dalam firewall. Port 25 adalah SMTP. SMTP bermakna menggunakan pelayan mel. Yang mana satu, kita boleh menggunakan ini Harvard SMTP.fas.harvard.edu. Kita boleh menetapkan alamat menjadi John Harvard. Jika saya tatal ke bawah lagi, saya boleh menetapkan alamat penerima, hanya sewenang-wenangnya, sebagai John Harvard itu juga. Jadi dia akan menghantar e-mel sendiri. Sekarang saya boleh menetapkan mata pelajaran untuk pendaftaran. Dan saya boleh menetapkan badan e-mel seperti berikut. Keturunan ini kelihatan sedikit lebih samar, tetapi hanya kerana ada banyak maklumat di dalamnya. Satu, ada pengendali titik. Seseorang perlu tahu apa yang sudah operator dot tidak. Ia dinamika. Jadi, jika anda mahu mengambil satu rentetan dalam PHP, dan menambah, atau Prepend, untuk satu lagi rentetan dalam PHP, terima kasih Tuhan anda tidak perlu menggunakan strcopy dan malloc, dan semua itu lagi. Jika anda ingin concatenate dua tali, yang mengambil berat tentang memori. Mari angka PHP yang keluar untuk anda. Apa PHP akan lakukan dengan operator titik di sini adalah hanya membuat hukuman yang besar di luar garis ini, garis ini, baris ini, garis ini. Dan kini notis, ia akan untuk memasang dalam nilai-nilai. Jadi e-mel yang John Harvard akan untuk menerima yang benar-benar akan berkata nama, kolon, sesuatu, sebaliknya, maka kita menutup tali dan concatenate pada apa pengguna ditaip , kemudian barisan baru. Kemudian, pada baris berikutnya John Harvard e-mel, ia akan berkata Kapten, Pada atau Tiada apa-apa. Ia akan mengatakan jantina, lelaki atau perempuan. Asrama akan menjadi Matthews dalam kes saya. Dan kemudian notis koma bertitik biasa pada akhir sangat. Dan kemudian, ke sini, notis, agak masih samar, tetapi sekali lagi, berikutan corak yang akan menjadi lebih biasa selepas P menetapkan 7, jika menghantar mel pulangan palsu, kemudian pergi ke hadapan dan mati. Jadi PHP mempunyai fungsi yang dipanggil mati, yang, secara literal, hanya membunuh laman web dan hanya mencetak apa sahaja anda beritahu - yang mati kata-kata, jadi untuk bercakap. Dan bahawa, dalam kes itu, ia akan mencetak apa info kesilapan adalah untuk apa yang berlaku kepada salah. Jadi cerita panjang pendek di sini, apa yang kita ada adalah satu contoh di mana apabila pengguna mengemukakan borang, froshim0, froshims3.php, ia pergi ke register3.php. Tetapi register3.php kemudiannya untuk melaksanakan semua ini baris. Jadi ada aways mengambil beberapa di sini. Satu, ia nampaknya agak mudah, programatik, untuk menghantar e-mel, yang baik. Apabila pengguna mendaftar untuk laman web anda, di kes ini, apabila mereka mendaftar untuk anda sukan, anda boleh e-mel kepada mahasiswa yang Proctor, atau John Harvard, dalam kes ini. Tetapi ia juga bermakna anda boleh buat apa? Hantar e-mel daripada sesiapa kepada sesiapa. Dan ini adalah sangat benar. Ini tidak mudah dilakukan jika anda digunakan untuk menggunakan Gmail. Tetapi jika anda pernah menggunakan Eudora atau Outlook, anda cukup banyak boleh memberitahu pelayan mel yang anda sesiapa sahaja yang anda mahu. Dan ini adalah di mana saya perlu memakai bahawa topi dan berkata, tidak melakukan ini. Tetapi ini adalah bukti betapa mudahnya ia adalah untuk melaksanakan serangan phishing, dan menghantar e-mel tanpa nama, dan spam, amnya. Dan ia benar-benar bisul ke hakikat bahawa semua yang anda perlukan adalah beberapa Akses perancangan. Sebagai mengetepikan, pertemuan terdekat saya dengan papan iklan, tahun bayat saya sendiri, ialah apabila saya mendapati ini sejuk menipu itu, wow, anda boleh menghantar e-mel dari sesiapa pun. Dan jadi kami mempunyai beberapa bodoh hujah, secara literal, dalam Matthews, di kalangan kumpulan Proctor saya. Saya tidak ingat apa isu itu. Tetapi saya mahu mencuba untuk meletakkan berakhir dengan debat ini bodoh. Jadi saya memutuskan saya hanya akan menghantar e-mel kepada kumpulan Proctor saya, berpura-pura lelaki yang lain, yang dengan pendapat saya tidak bersetuju, dan minta dia akur kepada apa pendapat saya dalam perbahasan tertentu ini. Oleh itu, saya palsu e-mel ini dengan menggunakan teknik yang sama dalam semangat ini. Tetapi ia sebenarnya lebih mudah pada masa itu. Hit menghantar. Beliau tidak berpuas hati, dan tidak akan telah papan iklan. Dan saya sangat cepat terperangkap dalam saat kerana, seperti yang anda tahu, saya mendaftar e-mel saya dengan cara yang tertentu. Dan walaupun saya lakukan secara manual, dalam besar bahagian, 15 tahun kemudian kerana saya trauma itu. Saya tidak mempunyai tandatangan pada e-mel saya sekarang. Tetapi pada tahun 1995, saya hanya mempunyai sig, tandatangan dalam e-mel saya. Jadi ada nota ini berkata, Dear Kumpulan Proctor, saya akur pendapat saya dan bersetuju dengan David, ditandatangani dan demikian, barisan baru, barisan baru, DJM. Jadi jangan lakukan itu atau, pada umumnya, mengambil Kelebihan teknik ini. Tetapi apabila membuat laman web, seperti untuk projek akhir anda, apabila membuat laman web untuk sesuatu keusahawanan, ini adalah bagaimana, pragmatik, anda boleh perkhidmatan memanfaatkan lain di internet seperti mel dan kemudian benar-benar menghantar barangan menggunakan kod. Jadi bagaimana kita boleh memperbaiki ini? Well, mula-mula mari kita lawatan cepat beberapa perkara yang anda akan melihat, dan kemudian lihat beberapa contoh. Jadi satu, untuk meyakinkan, kerana kita terbang melalui PHP. Dan saya tahu, pada satu ketika, anda akan mempunyai untuk benar-benar mula menulis ini jika anda tidak sudah. Sedar bahawa, satu, utama adalah jenis daripada luar tingkap dengan PHP. Jika anda mahu menulis kod yang mendapat dilaksanakan, anda hanya mula menulis dalam fail yang dipanggil. php selagi anda mempunyai kurungan terbuka tanda tanya PHP tag. Tetapi notis ini adalah syarat dalam php. Notis, ini adalah slaid yang sama kita telah di seminggu apabila kita mempunyai keadaan di dalam Syarat C. PHP adalah struktur dan sintaksis yang sama. Satu-satunya perbezaan sebenar adalah jika anda mempunyai pembolehubah yang terlibat, anda mempunyai orang-orang tanda-tanda dolar. Sementara itu, ungkapan Boolean kelihatan seperti ini untuk atau-ing atau dan-ing bersama-sama. Beralih melihat sama. Apa yang baik di PHP, manakala di C, suis perlu kes-kes primitif seperti Ints atau aksara, dalam PHP penyata kes anda sebenarnya boleh pada rentetan keseluruhan, yang merupakan sebenarnya jenis baik. Menjimatkan masa. Tidak boleh berbuat demikian di C. Berikut adalah gelung dalam PHP. Ia adalah sama. Mungkin mempunyai beberapa tanda-tanda dolar bagi pembolehubah. Anda tidak perlu untuk menyebut bahawa sesuatu yang int an. Anda hanya mengisytiharkan dengan tanda dolar dan nama pembolehubah. Tetapi bagi gelung adalah sama. Satu gelung sementara adalah sama. A lakukan semasa gelung adalah sama. Ini adalah sedikit berbeza. Jadi dengan PHP, dengan pelbagai, anda boleh statik mengisytiharkan array, seperti dalam C, tetapi anda menggunakan kurungan persegi. Dalam C, anda akan menggunakan pendakap kerinting, jika anda juga tahu bahawa. Tetapi ini sebenarnya adalah perkara biasa dalam PHP mengisytiharkan array, dalam kes ini, nombor, dan panggilan nombor berubah-ubah. Pembolehubah diri mereka kelihatan seperti ini. Berikut adalah rentetan, quote unquote "hello dunia. "Anda boleh mempunyai garis sendeng terbalik n. Saya hanya tidak dalam kes ini. Sekarang ini adalah satu binaan yang menarik. C tidak mempunyai ini. Tetapi ini adalah sangat membantu. Dan anda akan melihat ini dalam set P 7 spec - untuk setiap membina. Jika anda ingin mengulangi ke atas semua unsur-unsur yang pelbagai, anda tidak perlu untuk berurusan dengan $ i dan $ n, dan + +, dan semua itu. Anda benar-benar boleh berkata, dalam PHP, ini - untuk setiap nombor nombor, jadi Saya menganggap bahawa $ nombor adalah pelbagai nombor. Dan apabila saya katakan untuk setiap nombor nombor, ini akan secara automatik, seperti gelung saya melaksanakan, mengemas kini, pada setiap lelaran, nilai dalam dolar beberapa tanda - sekali lagi, dan sekali lagi, dan sekali lagi berjalan bagi saya lebih pelbagai itu. Jadi ia hanya menyelamatkan kita kod. Tiada koma bertitik, tiada + + 's, tiada i adalah, n tidak, ia hanya baik. Tetapi PHP juga mempunyai ini. Dan ini adalah sangat berkuasa. Dan anda akan menggunakan ini, tangan pada, P yang ditetapkan 7. Dan pelbagai bersekutu juga diisytiharkan dengan kurungan persegi. Tetapi notis sintaks sekarang. Ia mengingatkan apa yang kita lihat dengan print_r sebentar tadi. Berapa banyak kunci, sebagai cek kewarasan sedikit, tidak array ini seolah-olah mempunyai. Jadi ia mempunyai dua. Dan saya menyeru ini array. Tetapi jika ia membantu, anda boleh berfikir jadual ini sebagai hash, atau sebagai pelbagai bersekutu. Tetapi ia adalah hanya yang berbeza jenis array. Dan sekali lagi, bahasa yang berbeza mempunyai ini. Kita akan melihat sesuatu yang serupa dalam JavaScript juga. Terdapat dua kunci. Satu adalah unquote quote, "simbol", satu quote unquote "harga." Dan orang-orang kunci masing-masing mempunyai nilai. Dalam kes ini, nilai simbol adalah FB, untuk Nilai Facebook, dan harga adalah 49, 26, yang saham Facebook harga pada pagi ini. Jadi apa yang berguna tentang pelbagai bersekutu. Saya boleh mempunyai berangka pelbagai diindeks dengan hanya mudah kurungan persegi. Dan saya boleh mempunyai tanda dolar quote sama hanya ini. Biar saya benar-benar melakukannya. Katakan saya bukan hanya diisytiharkan pelbagai ini seperti itu. Itu adalah betul-betul sah, sintaksis. Ia tidak kehilangan apa-apa maklumat, per se. Saya masih melihat bahawa lambang ini adalah fb, dan bahawa harga yang 49, 26. Jadi mengapa bersekutu array menarik? PENONTON: Anda tidak perlu ingat di mana anda meletakkan barangan. SPEAKER 1: Tepat sekali, anda tidak perlu ingat di mana anda meletakkan barangan. Anda tidak perlu sewenang-wenangnya ingat bahawa simbol saham adalah dalam kurungan sifar, dan harga saham adalah dalam kurungan satu, yang amat berbahaya jika anda mengubah keadaan, akhirnya. Ia lebih bagus untuk mengaitkan apa yang kita akan memanggil metadata dengan data sebenar anda. Saya berpendapat bahawa apa yang kita benar-benar menjaga tentang di sini adalah fb dan 49, 26. Simbol dan harga yang metadata yang menggambarkan data yang kami sebenarnya mengambil berat tentang. Tetapi ini adalah begitu banyak hanya lebih mudah untuk mengakses. Kini, sebagai mengetepikan apa harga yang kita bayar? Kami telah melakukan ini dalam CS50 selama beberapa minggu. Ciri ini mesti datang di beberapa kos. Ingatan. Jadi anda tidak hanya menyimpan 32-bit integer, misalnya. Anda menyimpan simbol / 0, mungkin. Jadi anda menggunakan memori yang lebih. Dan apa yang prestasi mencari sesuatu sehingga di array bersekutu, mungkin? Ia mungkin lebih perlahan. Akses rawak adalah bagus, terutamanya apabila anda boleh melakukan carian binari. Tetapi jika anda benar-benar sekarang tidak melihat untuk nombor, tetapi untuk tali, ini benar-benar dilaksanakan di bawah hud, mungkin jadual hash, di mana anda menggunakan sama ada jadual hash dengan chaining berasingan. Atau anda menggunakan cuba untuk benar-benar menyimpan nilai. Jadi mungkin anda boleh melakukan masa yang berterusan, tetapi anda masih perlu melihat S-Y-M-B-O-L, berpotensi, bukan hanya 32 bit untuk melihat sesuatu sehingga. Jadi sekali lagi, idea-idea yang sama datang kembali berulang dalam konteks ini. Tetapi sekali lagi, PHP kini mempunyai beberapa super globals itu, ia ternyata, adalah array bersekutu. Kita lihat satu masa yang lalu, $ _POST. Dan yang super global mempunyai kunci dan nilai-nilai. Khususnya, kekunci beratur dengan apa? Di manakah kunci dalam $ _POST datang? Untuk mengimbas kembali? PENONTON: Nama. SPEAKER 1: Nama, di mana? PENONTON: [didengar] SPEAKER 1: Nama adalah sifat. Baik di mana, di mana yang mereka lakukan asalnya datang? Borang. Jadi, jika sebuah laman HTML mempunyai tag bentuk, dalam yang merupakan sebahagian input, seperti memeriksa kotak, kotak teks, jatuh bawah menu, setiap yang mempunyai nama, mereka nama-nama yang berakhir sebagai kunci dalam $ _POST, dan, terus-terang, dalam hal ini, $ _GET. Jika kaedah adalah get, idea yang sama. Ia hanya dalam berbeza super global. Dan nilai-nilai, sudah tentu, datang dari apa pengguna ditaip pada atau pelayar itu. Tetapi ada beberapa yang lain. Ada cookies, yang kita akan kembali ke akhirnya. Tetapi mereka adalah perkara-perkara yang anda tahu web menggunakan beberapa yang baik atau jahat. Tetapi kita akan kembali kepada itu. Server dan sesi, dan kedua-dua mempunyai beberapa utiliti khas. Tetapi mari kita lihat ini. Biar saya pergi ke hadapan dan membuka contoh dipanggil mvc0.php Jadi MVC bermaksud yang berikut. Dan kita memperkenalkan ini lebih awal daripada yang biasa, benar-benar, untuk mendapatkan anda bentuk Set Masalah 7, dan juga projek-projek akhir, dalam jenis industri cara yang standard, dan cara bersih. Ia adalah reka bentuk yang baik. Jadi anda berada kira-kira untuk melihat, dan anda akan pengalaman, dalam set P 7, paradigma, jenis daripada minda pengaturcaraan, yang kelihatan sesuatu yang kecil seperti ini. M untuk Model, C bagi Pengawal, V untuk View. Long cerpen, MVC hanya jenis metodologi, cara membuat laman web, khususnya, di mana anda meletakkan semua frasa anda, bodoh - logik perniagaan - semua harta intelek anda apa yang dipanggil pengawal, fail seperti index.php, atau kita akan melihat, quote.php, atau buy.php. Dalam konteks set Masalah 7, anda model biasanya mengandungi data anda, apa-apa jua yang berkaitan dengan pangkalan data, seperti yang kita akan akhirnya melihat, dan pandangan anda mengandungi estetika anda tapak, HTML, CSS. Jadi, kita sudah melihat ini dalam C sedikit sedikit dengan menggunakan. h fail. Kami benar-benar melihat ia masa yang lalu dengan CSS, dengan mengambil kira penyesuaian dgn mode CSS barangan daripada HTML kami. Jadi MVC adalah benar-benar hanya kira-kira lukisan garis-garis di pasir dan berkata, itu kod pengaturcaraan yang menarik untuk anda laman web tergolong dalam apa yang kita akan memanggil pengawal. Barangan yang berkaitan dengan pangkalan data biasanya berakhir dalam model. Tetapi anda akan melihat, dalam set Masalah 7, kita bergabung C dan M untuk memastikan ia mudah. Tetapi pandangan adalah di mana semua HTML anda dan estetika biasanya pergi. Jadi apakah ini bermakna dari segi sebenar? Baiklah, biar saya pergi ke MVC kami direktori seperti berikut. Dan anda akan melihat lebih daripada melawat melalui dalam spesifikasi. Jadi dalam mvc0, saya mendakwa bahawa ini adalah, seperti, versi 0 daripada laman web CS50 ini. Semua kita mempunyai beberapa HTML, seperti tag h1 besar, nampaknya. Dan kemudian satu senarai bullet. Saya tidak pernah melihat senarai bullet sebelum ini, tetapi tidak ada masalah besar. Mari cepat melihat kod sumber. Rupa-rupanya, senarai tidak tertib dengan peluru adalah ul kurungan terbuka dengan satu atau senarai barang-barang yang lebih, li. Jadi notis di sini adalah tag anchor. Kita melihat bahawa masa yang lalu. Jadi ini adalah bagaimana saya telah melaksanakan halaman ini. Saya telah mendapat dua link, dua item senarai, satu ul untuk senarai tidak tertib, dan akhir Hasilnya, estetika, adalah ini sangat laman web yang cantik, versi 0 di sini. Tetapi apa yang menarik sekarang ialah bagaimana ini dilaksanakan di bawah hood. Biar saya pergi ke gedit dan membuka ini contoh pertama untuk melukis gambar. Dan kita akan melihat apa yang cacat, berpotensi, di sini. Sekarang, jika saya pergi ke localhost, awam, MVC, notis beberapa fail. Saya akan memanggil ini, bagi masa, semua pengawal. Tetapi itu sedikit penyalahgunaan kerana anda akan melihat segala-galanya yang berbaur di dalam mereka. Dan biarlah saya pergi dalam index.php. Dan kita lihat, secara literal, HTML yang sama. Jadi, walaupun fail ini berakhir pada . Php, Ia tidak bermakna ia mempunyai apa-apa kod PHP. Ia hanya boleh menjadi HTML mentah, walaupun itu jenis bodoh. Tetapi notis tidak ada kurungan terbuka PHP tag, kecuali untuk ini, yang, terus terang, hanya ada di sana untuk berkhidmat sebagai komen. Tetapi itu tidak berfungsi walaupun yang menarik. Tetapi notis ini. Apa yang menarik sekarang ialah apa perubahan di halaman ini. Biar saya klik Kuliah. Dan notis URL akan berubah. Sekarang saya di lectures.php. Biar saya klik sifar. Sekarang saya di week0.php Dan sekarang mari saya membuka fail-fail ini dalam gedit. Bukan sahaja indeks, tetapi biarlah saya membuka kuliah. Dan biarlah saya menghilangkan komen memberi tumpuan kepada bahagian ini sahaja. Dan sekarang mari saya membuka hanya satu lagi, week0.php, buang komen, hanya untuk membersihkan ini. Dan kini notis berikut. Berfikir benar-benar jenis teliti tentang reka bentuk, dan mari kita membuat ia selaras up yang sama, apa yang boleh dilakukan lebih baik di sini, adakah anda fikir? Bagaimana saya membuat satu minggu? Bagaimana kira-kira ini. Jadi ini adalah bagaimana saya dibuat seminggu. Saya pergi ke Fail, New, Paste, Simpan, week1.php, dan kemudian saya pergi di sini. Dan saya berubah satu - apa yang ini, satu hingga Jumaat. Saya berubah sifar kepada satu. Saya berubah ini kepada satu. OK, jadi sekarang melihat fail-fail saya. Apa yang boleh dilakukan yang berbeza? Di mana peluang, mungkin? Jadi ada peluang untuk memulakan pemfaktoran barangan ini keluar. Biar saya membuka, seperti spoiler, bagi apa yang anda akan lihat dalam set P 7. Jika saya membuka, kini, dalam versi index.php lima daripada ini, ia kelihatan cara lebih samar, diakui. Tetapi ini, sekarang, adalah apa yang saya akan memanggil pengawal itu mengawal logik halaman saya. Dan anda boleh jenis semula, intuitif, mungkin, apa yang berlaku. Pada baris pertama, ia sedikit samar. Tetapi notis saya memerlukan, seperti dengan tajam termasuk, fail yang dipanggil helpers.php. Dan kemudian saya menyeru, nampaknya, satu fungsi, yang dipanggil render, lulus dalam dua hujah. Satu adalah quote unquote, tajuk. Dan lain-lain, apa jenis jenis data ini, berasaskan pada sintaks kami lebih awal? Ia adalah pelbagai yang berkaitan. Khususnya, ia lulus dalam tajuk dengan beberapa metadata yang mengingatkan saya apa itu dan nilainya. Kemudian saya melihat dikodkan ul, jadi sesetengah HTML mentah. Tetapi kemudian saya kembali dalam mod PHP memanggil render berfungsi. Jadi, walaupun anda tidak pernah menggunakan HTML atau PHP sebelum ini, dan walaupun ini kelihatan menakutkan, mengapa ini mungkin reka bentuk yang lebih baik? Apa yang lebih baik tentang hal itu, berdasarkan kesimpulan? PENONTON: [didengar] SPEAKER 1: Kurang berlebihan dalam yang tidak ada yang lebih tag HTML, tidak lebih kepala tag, tag badan tidak lebih dalam setiap fail celaka. Sebaliknya, saya telah difaktorkan keluar persamaan dan mungkin meletakkan mereka ke dalam fail yang entah bagaimana yang berkaitan untuk tandukan. Dan perkara yang sama untuk badan rapat tag, tag HTML dekat. Itu mungkin turun di sini dalam daripada tempat nota kaki. Dan anda akan lihat, set Masalah 7, lawatan sedikit melalui ini. Jadi apa yang akan berlaku? Satu perkara yang kita tidak mempunyai keupayaan lagi untuk sebenarnya adalah untuk menyimpan data. Dan supaya apa yang kita akan mula melihat Wednesday, misalnya, adalah bahawa anda Excel rakan lama, atau nombor, membolehkan anda menyimpan banyak data dalam baris dan lajur. Menghidupkan daripada anda boleh melakukannya dalam apa dikenali sebagai pangkalan data, programatik. manik Dan ternyata, selepas itu, kita akan dapat untuk menyimpan perkara-perkara seperti ini, yang anda akan melihat sekali lagi pada set P 7, sejumlah besar nama pengguna dan kata laluan, yang kedua-duanya adalah sebenarnya disulitkan, sama seperti yang berada dalam edisi penggodam P set 2 itu. Dan akhirnya, anda akan melaksanakan ini, sendiri laman web seperti Etrade anda yang melaksanakan kolektif CS50 kewangan. Akhir sekali, kerana anda menginap di sini begitu lewat hari ini, jika anda kembali ke bahagian ini kampus, pada 04:00 hari ini, kita akan memberikan anda bukan sahaja nasihat, di SCES Menasihati Fair, pada 4:00 di Maxwell-Dworkin, kami akan memberikan anda beberapa Dream Americone, Cherry Garcia, Chocolate fudge Pandu Puteri, Chocolate Doh Cookie cip, dan apabila anda Google Monyet chunky, anda akan mendapat ini. Jadi semua yang menanti pada 4:00 PM di Maxwell-Dworkin. Jumpa anda pada Rabu juga. SPEAKER 2: Pada seterusnya CS50, RJ tidur masuk RJ: seksyen saya! Ha! Oh,