1 00:00:00,000 --> 00:00:04,410 >> [Bermain muzik] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> SPEAKER 1: Ini adalah CS50 dan ini adalah akhir minggu tujuh. 4 00:00:15,770 --> 00:00:20,240 Hari ini adalah mungkin di mana kita benar-benar mengajar anda bahasa. 5 00:00:20,240 --> 00:00:24,100 Kami diperkenalkan pada pasangan yang lalu minggu HTML dan CSS, baik yang 6 00:00:24,100 --> 00:00:25,240 adalah bahasa pengaturcaraan. 7 00:00:25,240 --> 00:00:28,600 Dan sesungguhnya, walaupun kita tidak menyatakan melihat hampir semua teg 8 00:00:28,600 --> 00:00:33,410 HTML yang datang dengan dan hampir semua sifat-sifat yang CSS datang dengan, 9 00:00:33,410 --> 00:00:35,007 itulah jenis itu untuk HTML dan CSS. 10 00:00:35,007 --> 00:00:36,840 Kita akan hanya umumnya mula menganggap bahawa anda 11 00:00:36,840 --> 00:00:39,545 memahami idea-idea umum tag dan sifat-sifat, 12 00:00:39,545 --> 00:00:41,850 dan halaman dihantar daripada pelanggan ke pelayan. 13 00:00:41,850 --> 00:00:45,280 >> Kerana hari ini kita mula melihat lain bahasa pengaturcaraan, PHP. 14 00:00:45,280 --> 00:00:47,110 Kami akan melakukan ini super cepat. 15 00:00:47,110 --> 00:00:50,910 Kami tidak akan mengajar anda PHP per se, sama seperti kita tidak bercita-cita untuk mengajar anda 16 00:00:50,910 --> 00:00:52,670 C, per se, tetapi pengaturcaraan. 17 00:00:52,670 --> 00:00:55,088 Dan memang, salah satu daripada matlamat untuk kursus ini 18 00:00:55,088 --> 00:00:57,820 tidak untuk mengajar anda C, atau HTML, atau CSS atau PHP, 19 00:00:57,820 --> 00:01:00,370 atau mana-mana nombor lain perkataan buzz atau akronim, 20 00:01:00,370 --> 00:01:03,097 tetapi malah sains komputer dan bagaimana untuk program asasnya. 21 00:01:03,097 --> 00:01:05,930 Dan sesungguhnya, hari ini kita mula mengambil mereka roda latihan kira semua 22 00:01:05,930 --> 00:01:10,600 lagi dengan terbang melalui bahasa yang dikenali sebagai PHP, seperti berikut. 23 00:01:10,600 --> 00:01:13,640 >> Berikut adalah apa bahasa ini kelihatan seperti. 24 00:01:13,640 --> 00:01:17,790 Ia ternyata bahawa tidak ada keperluan untuk fungsi utama dalam program yang ditulis 25 00:01:17,790 --> 00:01:19,470 dalam bahasa yang dikenali sebagai PHP. 26 00:01:19,470 --> 00:01:22,585 Sehingga sudah kedengaran sedikit lebih mudah daripada C, yang kita sudah biasa. 27 00:01:22,585 --> 00:01:25,370 Ia ternyata bahawa jika anda mahu mengisytiharkan pembolehubah, 28 00:01:25,370 --> 00:01:29,470 anda melakukannya hampir sepercaman kepada C. Tetapi ada satu perbezaan yang jelas di sini 29 00:01:29,470 --> 00:01:31,850 apabila saya mengisytiharkan tali, atau mungkin dua perbezaan. 30 00:01:31,850 --> 00:01:32,725 Apa yang kelihatan berbeza? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> PENONTON: Tanda dolar. 33 00:01:37,160 --> 00:01:39,951 >> SPEAKER 1: Ya, ada dolar ditandatangani, yang tidak pernah kita lihat sebelum ini. 34 00:01:39,951 --> 00:01:41,451 Dan apa yang hilang? 35 00:01:41,451 --> 00:01:41,950 Ya? 36 00:01:41,950 --> 00:01:42,820 >> PENONTON: [didengar] 37 00:01:42,820 --> 00:01:44,403 >> SPEAKER 1: Ya, tidak ada jenis data. 38 00:01:44,403 --> 00:01:48,410 Jadi ia ternyata bahawa PHP adalah apa yang kita memanggil bahasa longgar ditaip, di mana 39 00:01:48,410 --> 00:01:49,959 C amat ditaip. 40 00:01:49,959 --> 00:01:52,500 Longgar ditaip hanya bermaksud bahawa terdapat pelbagai jenis data yang berbeza, 41 00:01:52,500 --> 00:01:54,470 terdapat tali, dan ints, dan terapung. 42 00:01:54,470 --> 00:01:56,330 Tetapi angka komputer yang keluar. 43 00:01:56,330 --> 00:01:58,664 Anda pengaturcara manusia tidak perlu mencari penyelesaiannya. 44 00:01:58,664 --> 00:02:00,580 Jadi semua yang anda perlu lakukan untuk mengisytiharkan pembolehubah adalah 45 00:02:00,580 --> 00:02:03,220 tanda dolar, nama anda berubah-ubah, dan kemudian, misalnya, 46 00:02:03,220 --> 00:02:04,760 quote unquote, hello dunia. 47 00:02:04,760 --> 00:02:07,662 >> Nah ini adalah apa yang keadaan kelihatan seperti dalam PHP. 48 00:02:07,662 --> 00:02:08,328 Apa-apa perbezaan? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 No. 51 00:02:11,150 --> 00:02:12,540 Jadi, ternyata ini adalah sama. 52 00:02:12,540 --> 00:02:14,665 Dan anda mungkin mempunyai kurang cawangan atau lebih cawangan, 53 00:02:14,665 --> 00:02:16,557 tetapi giliran sintaks dengan tepat yang sama. 54 00:02:16,557 --> 00:02:18,390 Ungkapan Boolean boleh dipesan bersama-sama. 55 00:02:18,390 --> 00:02:20,400 Ungkapan Boolean boleh ANDkan bersama-sama. 56 00:02:20,400 --> 00:02:21,430 Anda masih mempunyai suis. 57 00:02:21,430 --> 00:02:23,790 Walaupun anda tidak menggunakan ini, ini memang wujud dalam C 58 00:02:23,790 --> 00:02:26,020 dan mereka berfungsi setara dalam PHP. 59 00:02:26,020 --> 00:02:28,260 >> Dan sebenarnya, dalam PHP mereka sedikit lebih kuat. 60 00:02:28,260 --> 00:02:32,540 Dalam C, anda hanya boleh membuat perbandingan tertentu jenis data seperti ints dan aksara, 61 00:02:32,540 --> 00:02:36,320 sedangkan pada PHP anda benar-benar boleh membuat perbandingan tali yg dpt penuh tanpa 62 00:02:36,320 --> 00:02:38,460 bimbang tentang petunjuk dan sebagainya. 63 00:02:38,460 --> 00:02:39,430 Jadi di sini adalah untuk gelung. 64 00:02:39,430 --> 00:02:41,270 Ini hanya pseudokod kod, jika anda akan. 65 00:02:41,270 --> 00:02:43,400 Tetapi dari segi struktur ia serupa dengan C. 66 00:02:43,400 --> 00:02:47,520 >> Berikut adalah gelung sementara, pseudokod therefore-- sama dengan C. 67 00:02:47,520 --> 00:02:49,390 Berikut adalah lakukan semasa loop-- sama. 68 00:02:49,390 --> 00:02:51,390 Dan jadi tidak sejenis corak ini di sini di mana 69 00:02:51,390 --> 00:02:54,400 ada sintaksis lain beberapa ciri kita memang akan melihat. 70 00:02:54,400 --> 00:02:57,340 Malah, di sini adalah baik cara dalam PHP di mana, 71 00:02:57,340 --> 00:02:59,350 jika anda mahu untuk melelar lebih pelbagai, dan anda 72 00:02:59,350 --> 00:03:02,309 tidak mahu melompat melalui gegelang mental dan sintaksis yang mempunyai 73 00:03:02,309 --> 00:03:05,178 int i sama dengan 0, i kurang daripada n, i ditambah plus-- yang 74 00:03:05,178 --> 00:03:07,040 hanya banyak sintaksis menjengkelkan. 75 00:03:07,040 --> 00:03:10,654 Anda boleh mengatakan lebih sedikit fluidly untuk setiap nombor 76 00:03:10,654 --> 00:03:13,320 nombor, di mana dalam kes ini nombor tanda dolar, saya menganggap, 77 00:03:13,320 --> 00:03:15,400 adalah seperti nombor mudah dipanggil. 78 00:03:15,400 --> 00:03:18,810 Dan kemudian saya menganggap nombor, tunggal, akan menjadi pembolehubah. 79 00:03:18,810 --> 00:03:22,940 >> Dan apa PHP akan lakukan untuk saya kerana saya melelar lebih gelung ini adalah, pada setiap lelaran, 80 00:03:22,940 --> 00:03:28,450 ia akan mengemaskini jumlah berubah-ubah untuk menjadi elemen-i dalam nombor, majmuk. 81 00:03:28,450 --> 00:03:30,060 Jadi ia hanya mengendalikan semua itu untuk saya. 82 00:03:30,060 --> 00:03:32,750 Tiada tanda kurung siku, tiada tanda dolar, tiada koma bertindih. 83 00:03:32,750 --> 00:03:34,117 Ia hanya lebih mudah. 84 00:03:34,117 --> 00:03:35,950 Nah, jika anda mahukan pelbagai, ternyata anda 85 00:03:35,950 --> 00:03:38,908 boleh melakukan sesuatu yang agak serupa dengan C. sintaks adalah sedikit berbeza. 86 00:03:38,908 --> 00:03:41,000 Tetapi di sini adalah pelbagai yang dikenali dolar ditandatangani nombor. 87 00:03:41,000 --> 00:03:44,261 Dan saya gunakan, dalam PHP, persegi kurungan, ia ternyata. 88 00:03:44,261 --> 00:03:47,260 Dan kita akan melihat ini sekali lagi dalam JavaScript-- lagi bahasa lain. 89 00:03:47,260 --> 00:03:49,968 Saya hanya menggunakan notasi kurungan persegi untuk mempunyai senarai yang dipisahkan oleh koma 90 00:03:49,968 --> 00:03:51,530 integer, dalam kes ini. 91 00:03:51,530 --> 00:03:53,010 Tetapi yang memberikan saya pelbagai. 92 00:03:53,010 --> 00:03:56,270 >> Tetapi yang lebih kuat dalam PHP, kami juga mempunyai apa umumnya 93 00:03:56,270 --> 00:03:57,640 dipanggil array bersekutu. 94 00:03:57,640 --> 00:03:59,540 Dan banyak bahasa mempunyai ini juga. 95 00:03:59,540 --> 00:04:03,810 Perkara mengenai tatasusunan C adalah bahawa indeks 96 00:04:03,810 --> 00:04:06,940 untuk pelbagai, perkara yang anda digunakan dalam tanda kurung siku melalui yang 97 00:04:06,940 --> 00:04:08,600 anda mengakses unsur-unsur, mesti apa? 98 00:04:08,600 --> 00:04:10,620 >> PENONTON: [didengar] 99 00:04:10,620 --> 00:04:14,220 >> SPEAKER 1: Mereka perlu menjadi nombor atau integer, khususnya dari sifar ke atas. 100 00:04:14,220 --> 00:04:17,140 Nah, dalam PHP, dan, ternyata keluar, dalam bahasa lain, 101 00:04:17,140 --> 00:04:20,820 anda boleh mula mempunyai indeks yang tidak bernombor. 102 00:04:20,820 --> 00:04:23,880 Tetapi mereka sebenarnya perkataan atau frasa, supaya bukan 103 00:04:23,880 --> 00:04:27,070 cuba ingat di mana sesuatu boleh, atau disimpan di dalam i berubah-ubah, 104 00:04:27,070 --> 00:04:31,720 anda sebenarnya boleh menggunakan perkataan dan berkata bahawa- anda boleh mengatakan satu perkataan seperti ini. 105 00:04:31,720 --> 00:04:34,730 >> Jadi tanda dolar quote adalah menamakan pembolehubah di sini. 106 00:04:34,730 --> 00:04:39,360 Ini adalah sintaks agak funky itulah mengaitkan dua nilai utama 107 00:04:39,360 --> 00:04:41,250 pasangan bagi pemboleh ubah ini. 108 00:04:41,250 --> 00:04:45,490 Secara khusus, ini memberi saya pelbagai yang panjang 2. 109 00:04:45,490 --> 00:04:47,660 Tetapi indeks tidak 0 dan 1. 110 00:04:47,660 --> 00:04:51,250 Ia merupakan indeks quote unquote simbol dan quote harga unquote. 111 00:04:51,250 --> 00:04:55,990 Dan nilai-nilai mereka yang indeks, masing-masing, adalah FB untuk Facebook 112 00:04:55,990 --> 00:05:00,360 dan $ 79,53, apabila saya bertahan diperiksa harga yang untuk ini. 113 00:05:00,360 --> 00:05:01,210 >> Apa maksudnya? 114 00:05:01,210 --> 00:05:04,136 Nah, ia bermakna bahawa bukannya menulis kod 115 00:05:04,136 --> 00:05:09,612 seperti ini, di mana saya digunakan untuk melakukan sesuatu seperti dolar sign-- atau sebaliknya, dalam C 116 00:05:09,612 --> 00:05:11,070 Saya tidak akan mempunyai tanda dolar. 117 00:05:11,070 --> 00:05:13,490 Saya akan melakukan sesuatu seperti petikan dan kemudian 118 00:05:13,490 --> 00:05:18,410 Saya akan lakukan kurungan i untuk mendapatkan beberapa sewenang-wenangnya berangka diindeks nilai. 119 00:05:18,410 --> 00:05:21,430 Bermula hari ini dalam PHP, jika anda ingin mendapatkan beberapa nilai, 120 00:05:21,430 --> 00:05:24,742 kita semacam mempunyai lebih banyak ekspresi semantik. 121 00:05:24,742 --> 00:05:27,450 Hanya satu cara mewah untuk mengatakan kita boleh hanya memanggil perkara apa yang mereka. 122 00:05:27,450 --> 00:05:29,800 >> Dan jika anda mahu untuk mendapatkan pada simbol sesuatu, 123 00:05:29,800 --> 00:05:32,180 sekarang anda benar-benar melakukan memetik simbol unquote 124 00:05:32,180 --> 00:05:34,910 dalam tanda kurung siku dan bukannya nombor semata-mata. 125 00:05:34,910 --> 00:05:36,450 Jadi ia adalah satu kemudahan yang bagus. 126 00:05:36,450 --> 00:05:38,140 Dan yang semacam itu buat masa sekarang. 127 00:05:38,140 --> 00:05:40,240 Ada tandan ciri-ciri lain dalam PHP. 128 00:05:40,240 --> 00:05:43,180 Dan sesungguhnya, PHP datang dengan sinki dapur pepatah. 129 00:05:43,180 --> 00:05:48,640 Berpuluh-puluh, beratus-ratus fungsi dilengkapi dengan PHP-- begitu banyak lebih daripada datang dengan C. 130 00:05:48,640 --> 00:05:51,360 >> Dan itu tidak bertujuan untuk mengatasi tetapi sebaliknya membantu 131 00:05:51,360 --> 00:05:53,900 anda sedar bahawa kita tidak lagi perlu menulis kod 132 00:05:53,900 --> 00:05:55,590 itulah jenis turun di sini dari segi konsep. 133 00:05:55,590 --> 00:05:58,465 Sekarang kita hanya boleh mula mengambil kesempatan untuk lebih maju ciri- 134 00:05:58,465 --> 00:05:59,920 bahawa bahasa seperti PHP mempunyai. 135 00:05:59,920 --> 00:06:02,630 Oleh itu, kita tidak perlu bimbang tentang bergerak perkara di sekeliling dalam ingatan. 136 00:06:02,630 --> 00:06:05,338 Kami tidak perlu bimbang tentang malloc dan semua peringkat ini yang lebih rendah, 137 00:06:05,338 --> 00:06:09,390 butiran yang kuat bahawa anda akan bertumbuk dengan, jika tidak berjuang dengan, pset5, 138 00:06:09,390 --> 00:06:13,380 tetapi anda boleh mula tidak lama lagi mengambil mudah. 139 00:06:13,380 --> 00:06:17,770 >> Malah, mari kita menulis super yang program yang mudah dalam PHP, seperti berikut. 140 00:06:17,770 --> 00:06:21,550 Saya akan pergi kepala ke CS50 IDE di sini, dan apa yang saya akan lakukan 141 00:06:21,550 --> 00:06:29,370 adalah mencipta fail baru, yang sangat mudah akan dipanggil hello dot PHP. 142 00:06:29,370 --> 00:06:31,860 Jadi, daripada dot c, ia akan dipanggil dot PHP. 143 00:06:31,860 --> 00:06:34,260 Dan kemudian dalam fail ini, Saya boleh mula menaip. 144 00:06:34,260 --> 00:06:36,960 Tetapi ternyata bahawa satu perkara yang saya perlu tahu 145 00:06:36,960 --> 00:06:41,470 ialah mana-mana fail PHP secara umum, perlu untuk memulakan dengan beberapa sintaks khas. 146 00:06:41,470 --> 00:06:44,570 Sama dalam semangat untuk HTML, tetapi sekali lagi, PHP adalah bahasa pengaturcaraan, tidak 147 00:06:44,570 --> 00:06:45,590 bahasa penanda. 148 00:06:45,590 --> 00:06:48,700 >> Jadi setiap fail, dan ia adalah jenis bodoh mencari saya akan mengakui. 149 00:06:48,700 --> 00:06:50,480 Kurungan terbuka, tanda tanya, PHP. 150 00:06:50,480 --> 00:06:53,060 Dan itu hanya cara bahasa itu untuk mengatakan, 151 00:06:53,060 --> 00:06:58,400 hey, komputer di sini datang beberapa kod ditulis dalam bahasa yang dikenali sebagai PHP. 152 00:06:58,400 --> 00:07:01,900 Dan kemudian pada akhir sangat fail anda, anda melakukan jenis jenis sebaliknya. 153 00:07:01,900 --> 00:07:04,860 Anda tidak menulis PHP lagi, anda hanya melakukan tanda tanya, kurung sudut. 154 00:07:04,860 --> 00:07:08,500 Dan kemudian apa sahaja yang anda meletakkan di dalam kedua-dua tag, boleh dikatakan, 155 00:07:08,500 --> 00:07:11,490 akan, atau perlu, kod PHP. 156 00:07:11,490 --> 00:07:13,180 >> Jadi mari kita buat sesuatu yang sangat mudah. 157 00:07:13,180 --> 00:07:19,370 Saya akan pergi ke hadapan dan melakukan cetak def, hello dunia, garis sendeng terbalik n, menyelamatkan. 158 00:07:19,370 --> 00:07:27,310 Dan kini di segera saya, saya akan dilakukan, membuat hello-- tidak, saya akan lakukan, 159 00:07:27,310 --> 00:07:28,726 dot mengurangkan hello. 160 00:07:28,726 --> 00:07:31,250 Tidak, slash dot, hm. 161 00:07:31,250 --> 00:07:32,990 Jadi sesuatu yang berbeza. 162 00:07:32,990 --> 00:07:36,920 Dan sesungguhnya, ini adalah perbezaan utama antara PHP dan bahasa seperti C. C 163 00:07:36,920 --> 00:07:38,730 adalah bahasa yang dipanggil disusun. 164 00:07:38,730 --> 00:07:40,929 Apa yang ia bermakna untuk C untuk dikumpulkan? 165 00:07:40,929 --> 00:07:41,970 Apakah implikasinya? 166 00:07:41,970 --> 00:07:42,898 Yeah. 167 00:07:42,898 --> 00:07:45,220 >> PENONTON: Menulis ke dalam kod mesin supaya ia boleh dijalankan oleh komputer. 168 00:07:45,220 --> 00:07:46,011 >> SPEAKER 1: Tepat sekali. 169 00:07:46,011 --> 00:07:49,075 Kami perlu terlebih dahulu menukar ke apa yang dipanggil kod mesin, sifar dan satu, 170 00:07:49,075 --> 00:07:51,950 sebelum ia benar-benar akan menjadi laku dan difahami oleh komputer. 171 00:07:51,950 --> 00:07:52,840 Oleh Intel dalam. 172 00:07:52,840 --> 00:07:54,530 Oleh CPU dalam komputer. 173 00:07:54,530 --> 00:07:58,170 PHP, sebaliknya, adalah apa yang dipanggil bahasa ditafsirkan, yang 174 00:07:58,170 --> 00:08:02,230 bermakna bahawa anda tidak menyusun ke sifar dan satu, kod mesin, 175 00:08:02,230 --> 00:08:04,360 anda bukan biarkannya kod sumber. 176 00:08:04,360 --> 00:08:08,130 Dan anda bukannya lulus sebagai input untuk program, penterjemah 177 00:08:08,130 --> 00:08:11,960 bahawa orang lain telah menulis tahun lalu yang memahami ia 178 00:08:11,960 --> 00:08:14,310 baris demi baris, watak untuk watak. 179 00:08:14,310 --> 00:08:16,120 Jadi dalam erti kata lain, manusia di luar sana menulis 180 00:08:16,120 --> 00:08:19,670 program yang akan kelihatan di garisan kod anda melalui talian, 181 00:08:19,670 --> 00:08:21,680 dan memikirkan apa komputer patut lakukan, 182 00:08:21,680 --> 00:08:25,960 tanpa menukarkannya terus kepada sifar dan satu. 183 00:08:25,960 --> 00:08:28,370 >> Jadi, jika ia melihat untuk gelung, apa yang dipanggil jurubahasa 184 00:08:28,370 --> 00:08:30,630 akan menjadi seperti, semua betul, saya perlu melakukan sesuatu sekali lagi dan lagi dan lagi. 185 00:08:30,630 --> 00:08:31,150 Apa patut saya buat? 186 00:08:31,150 --> 00:08:32,159 Biar saya melihat baris berikutnya. 187 00:08:32,159 --> 00:08:33,367 Biar saya melihat baris berikutnya. 188 00:08:33,367 --> 00:08:35,350 Dan ia benar-benar menterjemahkannya baris demi baris. 189 00:08:35,350 --> 00:08:37,220 Jadi untuk melaksanakannya, saya tidak menggunakan make. 190 00:08:37,220 --> 00:08:39,409 Saya tidak menggunakan dot slash dalam kes ini. 191 00:08:39,409 --> 00:08:43,530 Saya bukannya melakukan PHP, yang nama program, a.k.a. 192 00:08:43,530 --> 00:08:46,562 Jurubahasa, itu diprapasang dalam CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 dan sekarang saya perlu lulus garis hujah perintah, yang 194 00:08:48,770 --> 00:08:52,290 cukup sekadar nama fail yang saya mahu untuk ditafsirkan. 195 00:08:52,290 --> 00:08:54,740 Atau lebih bersahaja, yang saya mahu untuk menjalankan. 196 00:08:54,740 --> 00:08:57,000 Dan jika saya tekan Enter, di sana kita mempunyai ia. 197 00:08:57,000 --> 00:08:57,825 Hai dunia. 198 00:08:57,825 --> 00:08:59,950 Kini ia ternyata bahawa saya cetak def digunakan sengaja 199 00:08:59,950 --> 00:09:01,600 untuk merapatkan kita dari C ke PHP. 200 00:09:01,600 --> 00:09:05,150 Kebanyakan pengaturcara PHP, seperti yang anda akan lihat, tidak peduli menggunakan cetak def. 201 00:09:05,150 --> 00:09:08,290 Mereka hanya menggunakan fungsi yang dipanggil cetak, yang C tidak mempunyai. 202 00:09:08,290 --> 00:09:11,390 Dan jadi jika saya jalankan sekarang, ia sebenarnya berkelakuan fungsi yang sama. 203 00:09:11,390 --> 00:09:13,730 Saya tidak boleh menggunakan peratus s dan peratus i dan sebagainya, 204 00:09:13,730 --> 00:09:16,250 tetapi ada cara lain dalam PHP untuk melakukannya. 205 00:09:16,250 --> 00:09:18,100 Tetapi ini hanya untuk mengatakan bahawa sintaksis, 206 00:09:18,100 --> 00:09:21,850 selain daripada beberapa perkara yang pelik sehingga atas, dan beberapa watak pelik ke bawah 207 00:09:21,850 --> 00:09:25,960 di bahagian bawah, konsep sekarang daripada pengaturcaraan dalam bahasa lain ini 208 00:09:25,960 --> 00:09:27,860 akan menjadi betul-betul sama. 209 00:09:27,860 --> 00:09:30,120 >> Malah, mari kita buat satu contoh lain. 210 00:09:30,120 --> 00:09:32,520 Jadi, saya akan pergi ke hadapan dan tutup fail ini. 211 00:09:32,520 --> 00:09:37,740 Izinkan saya membuat satu lagi yang Saya akan telefon syarat 1 dot PHP. 212 00:09:37,740 --> 00:09:40,770 Jadi tidak sifar, kerana apa yang saya lakukan adalah saya menoleh ke belakang beberapa minggu yang lalu, 213 00:09:40,770 --> 00:09:43,490 kita mempunyai fail yang dipanggil syarat-syarat 1 dot C. Dan apa 214 00:09:43,490 --> 00:09:47,590 Aku telah ditukar dalam saya kepala, dan di sini di atas kertas, 215 00:09:47,590 --> 00:09:51,290 dan tidak lama lagi di padang golf ini laman web, baris demi baris ke dalam PHP. 216 00:09:51,290 --> 00:09:55,520 >> Jadi dalam versi C, kita melakukan sesuatu seperti tali s mendapat mendapatkan tali. 217 00:09:55,520 --> 00:09:58,200 Jadi ia sedikit berbeza untuk berbuat demikian dalam PHP. 218 00:09:58,200 --> 00:10:01,390 Sebaliknya, saya hanya akan untuk melakukan, atau sebaliknya, saya 219 00:10:01,390 --> 00:10:05,870 mungkin telah dilakukan int n mendapat mendapatkan int, dalam contoh ini lebih awal. 220 00:10:05,870 --> 00:10:12,600 Jadi, daripada itu, saya akan melakukan n mendapat garis membaca, saya ingin integer, 221 00:10:12,600 --> 00:10:13,670 sila. 222 00:10:13,670 --> 00:10:15,110 Jadi ini adalah hanya segera saya. 223 00:10:15,110 --> 00:10:17,260 Dan maka ia ternyata, dan Saya hanya akan tahu ini 224 00:10:17,260 --> 00:10:20,480 dari setelah membaca atau melihat fungsi sebelum ini, membaca ayat fungsi dalam PHP 225 00:10:20,480 --> 00:10:23,810 mengambil hujah yang segera yang untuk manusia, dan tujuan dalam hidup 226 00:10:23,810 --> 00:10:26,220 adalah untuk membaca baris teks bahawa dia jenis yang. 227 00:10:26,220 --> 00:10:29,160 Dan kemudian ia menyimpan yang teks ke dalam n pembolehubah. 228 00:10:29,160 --> 00:10:32,200 >> Dan sekarang saya mungkin mahu melakukan sesuatu seperti yang saya lakukan minggu lepas, pada minggu seperti 229 00:10:32,200 --> 00:10:33,290 salah satu kelas. 230 00:10:33,290 --> 00:10:36,600 Jika n lebih besar daripada sifar, maka, saya akan 231 00:10:36,600 --> 00:10:42,930 untuk meminjam bahawa sintaks kita hanya melihat, cetak def, anda pilih nombor positif, 232 00:10:42,930 --> 00:10:44,360 n garis sendeng terbalik. 233 00:10:44,360 --> 00:10:49,990 Lain jika n sama sama dengan sifar, Saya akan pergi ke hadapan dan berkata, cetak def, 234 00:10:49,990 --> 00:10:54,090 anda pilih sifar garis sendeng terbalik n. 235 00:10:54,090 --> 00:10:56,830 Yang lain, mana-mana yang perlu di sini sudah tentu menjadi, cetak def, 236 00:10:56,830 --> 00:10:58,620 anda pilih nombor negatif. 237 00:10:58,620 --> 00:11:00,970 >> Dan kita pasti boleh melaksanakan logik perkara ini 238 00:11:00,970 --> 00:11:03,390 dalam sekumpulan yang berbeza cara, tetapi yang penting di sini 239 00:11:03,390 --> 00:11:07,210 adalah bahawa sintaksis, hampir tidak apa-apa yang baru. 240 00:11:07,210 --> 00:11:09,830 Ia hanya tanda dolar dan fungsi baru dan garis dibaca. 241 00:11:09,830 --> 00:11:12,090 Tetapi pada dasarnya, apa yang baru kini saya mentafsirkan ini. 242 00:11:12,090 --> 00:11:13,910 Saya lulus sebagai input untuk program lain. 243 00:11:13,910 --> 00:11:16,620 Jadi, jika saya mahu menjalankan ini, jika Saya tidak membuat sebarang kesilapan, 244 00:11:16,620 --> 00:11:20,140 Saya akan menjalankan PHP, sudah syarat-syarat 1 dot PHP, Masukkan, 245 00:11:20,140 --> 00:11:23,440 Saya akan menaip nombor 50, dan mari kita andaikan buat masa ini ia berfungsi. 246 00:11:23,440 --> 00:11:25,940 Kerana logik adalah barangan sama seperti minggu satu. 247 00:11:25,940 --> 00:11:28,020 >> Baiklah, jadi yang cukup underwhelming, bukan? 248 00:11:28,020 --> 00:11:30,240 Kita boleh melakukan ini dalam apa-apa beberapa bahasa. 249 00:11:30,240 --> 00:11:33,200 Mari kita buat cara sesuatu yang lebih kuat. 250 00:11:33,200 --> 00:11:35,610 Mari kita masalah selesai menetapkan lima. 251 00:11:35,610 --> 00:11:37,370 Jadi, saya akan pergi ke hadapan dan melakukan ini. 252 00:11:37,370 --> 00:11:42,920 Saya akan membuat fail dipanggil kamus dot PHP, 253 00:11:42,920 --> 00:11:45,424 dan cenderung kerana anda mungkin menjadi berebut turun banyak nota, 254 00:11:45,424 --> 00:11:47,340 nota sahaja akan membantu anda jika anda dibenarkan 255 00:11:47,340 --> 00:11:48,923 untuk melaksanakan masalah menetapkan lima dalam PHP. 256 00:11:48,923 --> 00:11:52,706 Tetapi kita akan lihat berapa cepat sekarang kita boleh melaksanakan set masalah yang sama. 257 00:11:52,706 --> 00:11:56,830 >> Jadi dalam dot kamus PHP, saya akan untuk menganggap bahawa sudah ada 258 00:11:56,830 --> 00:11:58,514 fail dalam dunia yang dipanggil ejaan. 259 00:11:58,514 --> 00:12:01,430 Dan sesungguhnya, saya melakukan ini lebih awal, dan kami tidak akan berjalan melalui baris ini 260 00:12:01,430 --> 00:12:03,596 demi baris, tetapi jika anda ingin tahu kemudian dan benar-benar mahu 261 00:12:03,596 --> 00:12:06,250 untuk membalut fikiran anda sekitar perbezaan antara c dan PHP, 262 00:12:06,250 --> 00:12:09,030 benar-benar membandingkan fail ini, ejaan, dari kod sumber hari ini 263 00:12:09,030 --> 00:12:11,190 yang kita akan hantar kemudian hari ini, terhadap p set 264 00:12:11,190 --> 00:12:15,309 lima ejaan dot c yang kita berikan anda, dan ia hampir baris yang sama demi baris. 265 00:12:15,309 --> 00:12:16,600 Ada beberapa tanda-tanda dolar lebih. 266 00:12:16,600 --> 00:12:18,330 Beberapa fungsi adalah sedikit berbeza. 267 00:12:18,330 --> 00:12:20,038 Tetapi ia adalah cara yang baik daripada jenis melihat bagaimana 268 00:12:20,038 --> 00:12:22,740 anda menterjemahkan satu bahasa kepada yang lain. 269 00:12:22,740 --> 00:12:24,812 Dan ia adalah garis yang hampir sama bagi talian. 270 00:12:24,812 --> 00:12:27,770 Tetapi saya akan menganggap bahawa yang wujud, dan apa yang saya akan lakukan di sini 271 00:12:27,770 --> 00:12:31,310 adalah cuba untuk meniup anda keberatan oleh reimplementing 272 00:12:31,310 --> 00:12:36,210 keseluruhan daripada masalah menetapkan lima cara lebih cepat daripada apa yang anda telah lakukan setakat ini. 273 00:12:36,210 --> 00:12:39,330 Jadi misalnya, saya akan pertama mengisytiharkan pembolehubah global dipanggil saiz, 274 00:12:39,330 --> 00:12:40,444 dan menetapkan ia sama dengan sifar. 275 00:12:40,444 --> 00:12:41,610 Sekarang tidak banyak simpanan. 276 00:12:41,610 --> 00:12:44,170 Odds yang anda dilaksanakan saiz lebih kurang sama, 277 00:12:44,170 --> 00:12:48,440 atau bayangan bayangan, akan malam ini atau esok, hanya menggunakan pembolehubah global dipanggil 278 00:12:48,440 --> 00:12:49,900 saiz, dan menetapkan ia sama dengan sifar. 279 00:12:49,900 --> 00:12:52,660 Itu bukan satu terutamanya spoiler menakjubkan. 280 00:12:52,660 --> 00:12:57,180 >> Jadi apakah data anda struktur pilihan, anda yang telah menyelam di 281 00:12:57,180 --> 00:13:02,170 dan membaca spesifikasi, struktur data apa telah kebanyakan anda telah gunakan? 282 00:13:02,170 --> 00:13:06,840 Satu jadual hash atau cuba, mungkin beberapa varian itu. 283 00:13:06,840 --> 00:13:10,490 Jadi melaksanakan jadual hash sekurang-kurangnya, adalah jenis banyak baris kod, 284 00:13:10,490 --> 00:13:10,990 bukan? 285 00:13:10,990 --> 00:13:13,700 Dan tidak semua daripada mereka mungkin berfungsi pada ketika ini dalam minggu ini, 286 00:13:13,700 --> 00:13:14,366 tetapi itulah denda. 287 00:13:14,366 --> 00:13:19,300 Kerana dalam PHP, jika saya mahu jadual hash, dilakukan. 288 00:13:19,300 --> 00:13:20,260 Betul? 289 00:13:20,260 --> 00:13:22,610 Supaya pembolehubah yang saya telah hanya diisytiharkan jelas 290 00:13:22,610 --> 00:13:26,180 dipanggil jadual tanda dolar, setiap pengenalan sebelum ini. 291 00:13:26,180 --> 00:13:28,902 >> Tetapi saya benar-benar hanya mahu, pada akhir hari, array. 292 00:13:28,902 --> 00:13:31,610 Tetapi bukan diindeks berangka pelbagai, kerana itulah seperti seminggu dua 293 00:13:31,610 --> 00:13:33,440 barangan, apabila kita bercakap tentang tatasusunan. 294 00:13:33,440 --> 00:13:34,850 Saya hendak jadual hash. 295 00:13:34,850 --> 00:13:38,070 Tetapi jadual hash adalah benar-benar hanya satu cara konkrit untuk mengatakan, 296 00:13:38,070 --> 00:13:40,190 anda mahu pelbagai bersekutu. 297 00:13:40,190 --> 00:13:43,270 Anda mahu menjadi mampu untuk bersekutu kunci dengan nilai-nilai. 298 00:13:43,270 --> 00:13:44,200 Kunci dengan nilai-nilai. 299 00:13:44,200 --> 00:13:45,640 Apakah kamus, benar-benar? 300 00:13:45,640 --> 00:13:47,080 Biasanya tidak sejumlah besar kunci. 301 00:13:47,080 --> 00:13:50,320 Kata-kata seperti epal, pir, dan pisang, dan semua ini perkataan Inggeris 302 00:13:50,320 --> 00:13:51,490 yang kita menyerahkan engkau. 303 00:13:51,490 --> 00:13:54,820 >> Dan nilai-nilai yang anda berada berkesan memasukkan ke dalam kamus anda 304 00:13:54,820 --> 00:13:57,790 sama ada benar, atau ketiadaan, palsu. 305 00:13:57,790 --> 00:14:00,540 Dalam erti kata lain anda sedang memasukkan sejumlah besar pasangan nilai utama, 306 00:14:00,540 --> 00:14:03,720 epal, benar, pir, benar, pisang, benar. 307 00:14:03,720 --> 00:14:07,446 Supaya apabila anda mendapatkan semula atau melihat sehingga data dalam jadual hash anda 308 00:14:07,446 --> 00:14:10,070 dengan fungsi cek anda, anda sama ada mendapat kembali jawapan, 309 00:14:10,070 --> 00:14:13,260 ya, saya mendapati ia di kompleks saya hash jadual atau tidak, ia tidak ada, 310 00:14:13,260 --> 00:14:14,540 supaya anda kembali palsu. 311 00:14:14,540 --> 00:14:19,440 >> Jadi untuk berbuat demikian, segala-galanya adalah data struktur seperti saya dicadangkan sebelum ini. 312 00:14:19,440 --> 00:14:22,050 Saya hanya perlu berupaya untuk mengaitkan kata-kata 313 00:14:22,050 --> 00:14:25,570 seperti, quote unquote, simbol, dengan nilai seperti, benar. 314 00:14:25,570 --> 00:14:27,090 Jadi ada jadual hash saya. 315 00:14:27,090 --> 00:14:28,180 Mari kita sebenarnya menggunakannya. 316 00:14:28,180 --> 00:14:30,310 Jadi ada beberapa fungsi Saya perlu untuk dilaksanakan. 317 00:14:30,310 --> 00:14:33,300 Saya akan pergi ke hadapan dan menggigit off saiz fungsi dipanggil. 318 00:14:33,300 --> 00:14:34,390 Ia tidak mengambil hujah. 319 00:14:34,390 --> 00:14:36,660 Saya tidak perlu bersusah payah dengan perkataan, tidak sah, dalam PHP. 320 00:14:36,660 --> 00:14:38,770 Saya hanya akan kembali saiz. 321 00:14:38,770 --> 00:14:41,287 >> Dan sebagai diketepikan, PHP mempunyai detail minorly menjengkelkan ini, 322 00:14:41,287 --> 00:14:44,620 di mana jika ada sesuatu yang global, anda perlu untuk memberitahu majlis itu di mana anda menggunakan 323 00:14:44,620 --> 00:14:46,220 ia, hey, ini adalah pembolehubah global. 324 00:14:46,220 --> 00:14:49,330 Jadi, kebodohan kecil, tetapi anda perlu melakukannya tetap. 325 00:14:49,330 --> 00:14:50,920 >> Jadi bagaimana dengan beban? 326 00:14:50,920 --> 00:14:52,990 Saya akan melaksanakan beban fungsi dipanggil 327 00:14:52,990 --> 00:14:56,790 yang mengambil atas nama kamus, seperti dalam masalah menetapkan lima. 328 00:14:56,790 --> 00:14:59,554 Dan sebelum saya meneruskan, melihat bahawa saya tidak mempunyai 329 00:14:59,554 --> 00:15:00,970 telah menaip agak perkara yang sama. 330 00:15:00,970 --> 00:15:06,060 Apa yang jelas berbeza dalam PHP tentang bagaimana anda mengisytiharkan fungsi berbanding C? 331 00:15:06,060 --> 00:15:06,616 Yeah. 332 00:15:06,616 --> 00:15:07,490 PENONTON: [didengar] 333 00:15:07,490 --> 00:15:08,573 SPEAKER 1: Tiada jenis balasan. 334 00:15:08,573 --> 00:15:12,350 Dan sesungguhnya, itu yang terjadi, PHP setakat yang ia longgar ditaip, 335 00:15:12,350 --> 00:15:14,190 juga sedikit ceroboh dalam erti kata itu. 336 00:15:14,190 --> 00:15:17,680 Anda tidak menentukan sebagai pengaturcara apa fungsi ini mengembalikan. 337 00:15:17,680 --> 00:15:20,490 Anda akan mempunyai untuk benar-benar melihat pada kod untuk memikirkan yang keluar. 338 00:15:20,490 --> 00:15:22,670 Atau membaca komen-komen atau dokumentasi. 339 00:15:22,670 --> 00:15:24,870 Jadi plus dan kemudaratan daripada jenis-jenis keputusan. 340 00:15:24,870 --> 00:15:26,750 Tetapi saya katakan perkataan utama, fungsi. 341 00:15:26,750 --> 00:15:28,360 Dan apabila kita belajar JavaScript dalam beberapa minggu 342 00:15:28,360 --> 00:15:31,026 kita akan melihat perkara yang sama sekali lagi, tetapi ia adalah idea yang sama. 343 00:15:31,026 --> 00:15:34,220 Nama majlis itu, hujah atau hujah-hujah atau kurang daripadanya, dan kini 344 00:15:34,220 --> 00:15:35,630 di sini ialah pelaksanaan. 345 00:15:35,630 --> 00:15:38,860 >> Jadi, saya akan memotong beberapa sudut hanya menjadi dramatik untuk hanya seketika. 346 00:15:38,860 --> 00:15:40,485 Tetapi saya akan pergi ke hadapan dan berkata ini. 347 00:15:40,485 --> 00:15:44,890 Ini adalah bagaimana saya boleh memuatkan fail ke dalam array. 348 00:15:44,890 --> 00:15:47,580 Terdapat fungsi dalam PHP dipanggil fail. 349 00:15:47,580 --> 00:15:49,300 Anda serahkan nama fail. 350 00:15:49,300 --> 00:15:53,950 Ia tangan anda kembali array, di dalam yang adalah setiap baris dari fail. 351 00:15:53,950 --> 00:15:56,480 Dari sifar, satu, ke atas sehingga n tolak 1 baris. 352 00:15:56,480 --> 00:15:57,210 Itu sahaja, bukan? 353 00:15:57,210 --> 00:15:57,990 Ada f tidak dibaca. 354 00:15:57,990 --> 00:15:58,826 Tidak ada f get s. 355 00:15:58,826 --> 00:15:59,700 Tidak ada peratus s. 356 00:15:59,700 --> 00:16:00,420 Tidak ada sakit kepala. 357 00:16:00,420 --> 00:16:01,220 Tidak ada feof. 358 00:16:01,220 --> 00:16:03,950 Semua barangan yang dengan yang anda telah gusti mungkin, 359 00:16:03,950 --> 00:16:06,550 dengan p menetapkan empat dan lima, akan hilang. 360 00:16:06,550 --> 00:16:09,450 >> Jadi saya hanya membaca mereka garis ke fail, dan kemudian anda tahu apa? 361 00:16:09,450 --> 00:16:15,510 Jika saya mahu untuk melelar kata-kata, Yang boleh saya lakukan, bagi setiap baris sebagai garis. 362 00:16:15,510 --> 00:16:19,992 Ingat bahawa ini adalah jenis yang pandai cara iterating lebih pelbagai, indeks 363 00:16:19,992 --> 00:16:25,090 oleh indeks, dan pada setiap panggilan lelaran baris semasa, garis tanda dolar. 364 00:16:25,090 --> 00:16:31,560 Dan di sini saya akan pergi dan kata meja, kurungan, talian, mendapat benar. 365 00:16:31,560 --> 00:16:35,880 >> Dengan kata lain, ini adalah bagaimana saya masukkan ke dalam jadual hash saya dalam PHP. 366 00:16:35,880 --> 00:16:38,740 Aku berkata dolar meja tanda, yang adalah pelbagai bersekutu saya bahawa adalah 367 00:16:38,740 --> 00:16:40,690 kosong satu baris kod ke atas. 368 00:16:40,690 --> 00:16:42,790 Saya kemudian indeks ke dalamnya tidak, dengan menggunakan nombor, 369 00:16:42,790 --> 00:16:45,300 tetapi benar-benar menggunakan kata kunci yang saya hargai. 370 00:16:45,300 --> 00:16:47,730 Mungkin ia adalah epal atau pir atau pisang atau apa sahaja, 371 00:16:47,730 --> 00:16:51,645 tetapi secara khusus saya mengindeks ke dalamnya suka saya mencadangkan lebih awal. 372 00:16:51,645 --> 00:16:53,770 Saya menyebut nama saya pelbagai bersekutu, dan kemudian saya 373 00:16:53,770 --> 00:16:56,450 menggunakan quote unquote dalam kurungan persegi dengan tali, 374 00:16:56,450 --> 00:16:58,490 dan bukannya jumlah yang sebenar. 375 00:16:58,490 --> 00:17:00,250 >> Dan sebagainya itu sahaja. 376 00:17:00,250 --> 00:17:01,720 Fungsi beban dilakukan. 377 00:17:01,720 --> 00:17:05,119 Sebaik sahaja itu iterates gelung, saya telah meletakkan segala-galanya ke dalam jadual hash. 378 00:17:05,119 --> 00:17:07,810 Sekarang penafian kecil, ada beberapa perkara yang saya perlu untuk menetapkan. 379 00:17:07,810 --> 00:17:10,030 Dan versi saya akan pos dalam talian akan mempunyai semua nuansa, 380 00:17:10,030 --> 00:17:12,670 tetapi ia kebanyakannya hanya akan menjadi sebahagian semakan ralat dan beberapa tweak kecil. 381 00:17:12,670 --> 00:17:14,044 Tetapi itulah sesungguhnya intipati daripadanya. 382 00:17:14,044 --> 00:17:16,750 Jika saya kini mahu melaksanakan fungsi yang dipanggil 383 00:17:16,750 --> 00:17:19,869 menyemak, yang menjangkakan perkataan sebagai hujah, 384 00:17:19,869 --> 00:17:22,099 bagaimana mungkin saya boleh pergi tentang melakukan perkara itu? 385 00:17:22,099 --> 00:17:30,020 Well, saya hanya akan berkata, jika dalam jadual saya, sekurang-perkataan lokasi, 386 00:17:30,020 --> 00:17:30,652 jika ditetapkan. 387 00:17:30,652 --> 00:17:32,360 Jadi, jika ada is-- sebenarnya, anda tahu apa? 388 00:17:32,360 --> 00:17:34,830 Saya akan melakukannya dalam sedikit kod pseudo. 389 00:17:34,830 --> 00:17:36,020 Tetapi idea adalah sama. 390 00:17:36,020 --> 00:17:41,640 Jika itu sama benar, kembali benar. 391 00:17:41,640 --> 00:17:43,890 Baiklah. 392 00:17:43,890 --> 00:17:46,851 Else-- anda jenis boleh melihat di mana ini going-- kembali palsu. 393 00:17:46,851 --> 00:17:47,350 Selesai. 394 00:17:47,350 --> 00:17:49,640 Daftar dilakukan. 395 00:17:49,640 --> 00:17:50,940 >> Cukup baik, bukan? 396 00:17:50,940 --> 00:17:52,560 Dan supaya apa yang ini benar-benar mendapat sekurang? 397 00:17:52,560 --> 00:17:53,680 Dan ini juga, saya memotong beberapa sudut. 398 00:17:53,680 --> 00:17:56,020 Melihat versi dalam talian untuk semua nuansa sedikit. 399 00:17:56,020 --> 00:17:57,103 Tetapi itu intipati daripadanya. 400 00:17:57,103 --> 00:17:59,080 Indeks ke anda pelbagai bersekutu, a.k.a. 401 00:17:59,080 --> 00:18:02,910 Jadual hash, melihat jika ada nilai sana, jika ia ditetapkan kepada benar, dan jika ya, 402 00:18:02,910 --> 00:18:03,930 kembali benar. 403 00:18:03,930 --> 00:18:05,819 Jadi kita telah dikecutkan semua kerumitan. 404 00:18:05,819 --> 00:18:07,110 Begitu baik fikiran bertiup, bukan? 405 00:18:07,110 --> 00:18:09,680 Saya tidak akan mengganggu kemasan dengan memunggah, kerana dalam fact-- oh, anda tahu apa? 406 00:18:09,680 --> 00:18:11,620 Ya, mari kita selesai dengan memunggah. 407 00:18:11,620 --> 00:18:18,940 >> Memunggah dalam jadual hash mungkin kelihatan seperti fungsi memunggah, kembali. 408 00:18:18,940 --> 00:18:19,930 OK jadi itu memunggah. 409 00:18:19,930 --> 00:18:21,350 Oleh kerana tiada apa-apa untuk memunggah, bukan? 410 00:18:21,350 --> 00:18:22,170 Tidak ada malloc. 411 00:18:22,170 --> 00:18:24,280 Saya tidak jelas minta sistem operasi untuk apa-apa. 412 00:18:24,280 --> 00:18:25,571 Saya hanya mula menggunakan pembolehubah. 413 00:18:25,571 --> 00:18:30,510 Dan hal ini juga adalah manifestasi ciri-ciri bahasa tahap yang lebih tinggi. 414 00:18:30,510 --> 00:18:32,940 Jadi sekali lagi, sebahagian besar daripada istilah ini kita telah berurusan turun di sini 415 00:18:32,940 --> 00:18:34,280 dengan C. tahap Super rendah. 416 00:18:34,280 --> 00:18:35,980 Anda boleh lihat ingatan komputer. 417 00:18:35,980 --> 00:18:38,440 Anda boleh menyentuh apa sahaja yang anda mahu RAM komputer anda, 418 00:18:38,440 --> 00:18:39,440 untuk lebih baik atau untuk lebih teruk. 419 00:18:39,440 --> 00:18:41,760 >> Di sini, kita akan melepaskan kuasa itu. 420 00:18:41,760 --> 00:18:44,730 Kerana Tuhan saya, melihat bagaimana kurang Kod banyak saya menulis. 421 00:18:44,730 --> 00:18:47,660 Malah jika saya tidak bercakap dan bercakap lebih menaip saya, 422 00:18:47,660 --> 00:18:50,190 kita telah dilakukan dengan contoh ini lima minit yang lalu. 423 00:18:50,190 --> 00:18:52,150 Jadi apa yang harga yang dibayar? 424 00:18:52,150 --> 00:18:54,100 Nah mari kita lihat. 425 00:18:54,100 --> 00:18:55,340 Mari kita lihat. 426 00:18:55,340 --> 00:18:59,340 Saya akan pergi ke hadapan dan menjalankan CS50. 427 00:18:59,340 --> 00:19:02,160 Terlebih dahulu saya pergi ke contoh hari ini di mana 428 00:19:02,160 --> 00:19:03,970 Saya mempunyai direktori teks seperti sebelum ini. 429 00:19:03,970 --> 00:19:08,520 Saya akan menjalankan penyelesaian yang ia datang dengan masalah menetapkan lima dipanggil 430 00:19:08,520 --> 00:19:11,190 ejaan, yang berada dalam akaun CS50. 431 00:19:11,190 --> 00:19:14,040 >> Dan saya akan berjalan pada sesuatu besar seperti King James Bible, 432 00:19:14,040 --> 00:19:16,547 hanya supaya kita benar-benar meletakkan penyelesaian kakitangan untuk ujian. 433 00:19:16,547 --> 00:19:19,130 Kini kadang-kadang internet adalah satu sedikit perlahan, sedikit lebih cepat, 434 00:19:19,130 --> 00:19:20,338 mungkin mengambil sedikit masa untuk menatal. 435 00:19:20,338 --> 00:19:23,730 Tetapi ia mengambil sejumlah 0,56 saat untuk semak ejaan King James 436 00:19:23,730 --> 00:19:25,150 Alkitab menggunakan penyelesaian kakitangan. 437 00:19:25,150 --> 00:19:25,620 Jadi cukup baik. 438 00:19:25,620 --> 00:19:27,786 Anda mungkin lebih perlahan, dan itu betul-betul halus. 439 00:19:27,786 --> 00:19:30,090 Tetapi ia adalah betul di sini. 440 00:19:30,090 --> 00:19:32,440 Jadi itulah penyelesaian kakitangan. 441 00:19:32,440 --> 00:19:34,785 Jika saya masuk dan membersihkan versi PHP. 442 00:19:34,785 --> 00:19:36,990 Dan saya akan melakukan sedikit seperti benda persembahan baking. 443 00:19:36,990 --> 00:19:39,720 Kami akan mengambil kod yang saya tulis sebelum ini, jadi ia sempurna betul. 444 00:19:39,720 --> 00:19:42,678 Kerana kod yang saya tulis tidak akan menjadi sempurna betul tadi. 445 00:19:42,678 --> 00:19:47,310 Tetapi jika saya menjalankan versi PHP, apa yang saya perlu melepaskan pada hari ini? 446 00:19:47,310 --> 00:19:49,980 Saya mengambil masa lima minit untuk melaksanakan p menetapkan lima, saya menuntut. 447 00:19:49,980 --> 00:19:51,770 Apa harga yang telah saya dibayar? 448 00:19:51,770 --> 00:19:52,270 Yeah. 449 00:19:52,270 --> 00:19:52,937 >> PENONTON: Speed. 450 00:19:52,937 --> 00:19:53,645 SPEAKER 1: Speed. 451 00:19:53,645 --> 00:19:54,380 Apa maksud awak? 452 00:19:54,380 --> 00:19:55,230 >> PENONTON: Ia akan mengambil masa yang lama. 453 00:19:55,230 --> 00:19:55,660 >> SPEAKER 1: Baiklah. 454 00:19:55,660 --> 00:19:56,160 Mari kita lihat. 455 00:19:56,160 --> 00:19:59,590 Ia akan mengambil masa yang lama, untuk tidak menulis, tetapi untuk menjalankannya. 456 00:19:59,590 --> 00:20:00,090 Yeah. 457 00:20:00,090 --> 00:20:00,960 Jadi mari kita cuba ini. 458 00:20:00,960 --> 00:20:05,720 Jadi di sini saya akan pergi ke hadapan dan melakukan PHP daripada ejaan, dan kerana fail 459 00:20:05,720 --> 00:20:06,360 dipanggil ejaan. 460 00:20:06,360 --> 00:20:07,580 Jadi, saya tidak menjalankan kamus, ingat, 461 00:20:07,580 --> 00:20:09,204 Saya menjalankan program yang dipanggil ejaan. 462 00:20:09,204 --> 00:20:12,450 Saya akan lulus dalam yang sama fail, King James kelima. 463 00:20:12,450 --> 00:20:14,377 Ia terbang oleh. 464 00:20:14,377 --> 00:20:17,210 Ini hanya boleh menjadi kelajuan internet, supaya tidak membaca terlalu banyak ke dalam itu. 465 00:20:17,210 --> 00:20:21,680 Tetapi ia merasa lagi pasti. 466 00:20:21,680 --> 00:20:23,280 1.26 saat. 467 00:20:23,280 --> 00:20:25,150 >> Sekarang masih cukup sialan cepat, bukan? 468 00:20:25,150 --> 00:20:28,140 Dan satu-satunya sebab yang terasa seperti lebih seperti tiga, atau empat, atau lima 469 00:20:28,140 --> 00:20:30,515 saat, itu hanya kerana internet itu sedang perlahan. 470 00:20:30,515 --> 00:20:33,980 Kali komputer dibelanjakan adalah 1.26 saat, berbanding saya fikir 0.56. 471 00:20:33,980 --> 00:20:35,880 Jadi lebih daripada dua kali ganda lebih perlahan. 472 00:20:35,880 --> 00:20:39,170 Sekarang masih cukup darn cepat, tetapi ia adalah manifestasi 473 00:20:39,170 --> 00:20:40,860 daripada, sesungguhnya, harga yang tepat. 474 00:20:40,860 --> 00:20:43,460 >> Kerana kita mentafsirkan dalam baris demi baris, 475 00:20:43,460 --> 00:20:46,740 dan program PHP adalah membaca saya Kod atas ke bawah, kiri ke kanan, 476 00:20:46,740 --> 00:20:47,940 ia mempunyai kaitan pemikiran yang lebih. 477 00:20:47,940 --> 00:20:50,430 Ia mempunyai untuk jenis menukar ia di dalam dirinya 478 00:20:50,430 --> 00:20:53,464 kepada mesin yang sama kod dengan cepat, jadi untuk bercakap, 479 00:20:53,464 --> 00:20:55,380 walaupun mekanik agak berbeza. 480 00:20:55,380 --> 00:20:59,430 Bukan hanya memberi makan kepada Intel CPU sifar mentah dan orang-orang yang 481 00:20:59,430 --> 00:21:00,930 bahawa ia memahami secara asal. 482 00:21:00,930 --> 00:21:04,110 >> Jadi sama sekali, tangan ke bawah, kita telah membayar harga yang. 483 00:21:04,110 --> 00:21:09,120 Dan kod ditulis dalam bahasa seperti PHP cenderung untuk menjadi lebih perlahan. 484 00:21:09,120 --> 00:21:10,050 Kerana Tuhan saya. 485 00:21:10,050 --> 00:21:12,740 Oleh sebab itu apabila saya semak ejaan saya fail, saya membelanjakan 0.7 tambahan 486 00:21:12,740 --> 00:21:17,280 atau lebih saat vs 20 jam untuk melaksanakan yang lebih cepat mengeja penyemak, bukan? 487 00:21:17,280 --> 00:21:18,397 Ia adalah jenis pengimbangan. 488 00:21:18,397 --> 00:21:20,980 Dan jika anda baru bermula p menetapkan lima, tidak mungkin 20 jam. 489 00:21:20,980 --> 00:21:22,188 Mungkin jauh lebih kecil daripada itu. 490 00:21:22,188 --> 00:21:23,600 Tetapi ia adalah perdagangan di luar, untuk sebenar. 491 00:21:23,600 --> 00:21:27,820 Dan jika anda menjalankan kod pada benar-benar besar set data, atau pada perkakasan malah lebih tua, 492 00:21:27,820 --> 00:21:32,650 orang-orang jenis perbezaan pasti boleh menambah. 493 00:21:32,650 --> 00:21:34,880 >> Sebarang pertanyaan setakat ini? 494 00:21:34,880 --> 00:21:35,617 Yeah. 495 00:21:35,617 --> 00:21:36,492 >> PENONTON: [didengar] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 SPEAKER 1: Maaf, boleh anda mengatakan ia sekali lagi? 498 00:21:39,978 --> 00:21:40,853 PENONTON: [didengar] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 SPEAKER 1: Anda memberikan masa. 501 00:21:44,700 --> 00:21:45,283 Nah, jadi yeah. 502 00:21:45,283 --> 00:21:47,322 Anda menjimatkan masa oleh tidak perlu menyusun, 503 00:21:47,322 --> 00:21:48,530 jika itu yang anda meminta. 504 00:21:48,530 --> 00:21:50,710 Dan sesungguhnya, di CS50, kebanyakan program, 505 00:21:50,710 --> 00:21:53,668 walaupun mereka mungkin mengambil sedikit masa untuk menulis, mereka agak singkat. 506 00:21:53,668 --> 00:21:56,860 Beberapa dozen, beberapa ratus baris kod, dan supaya mereka mengumpulkan cukup cepat. 507 00:21:56,860 --> 00:21:58,470 Tetapi apabila anda mula menulis program yang lebih besar, 508 00:21:58,470 --> 00:22:01,511 seperti jika anda berada Microsoft atau anda Google dan menulis program benar-benar besar 509 00:22:01,511 --> 00:22:05,360 dalam C atau C ++, atau sama disusun bahasa, boleh mengambil banyak saat, 510 00:22:05,360 --> 00:22:08,577 atau minit atau lebih lama untuk menyusun juta baris kod. 511 00:22:08,577 --> 00:22:10,660 Dan ada juga bahawa Perbezaan akan menambah. 512 00:22:10,660 --> 00:22:12,840 >> Dan sebenarnya, apabila kita peralihan hari ini, hari yang sama 513 00:22:12,840 --> 00:22:15,910 hari ini, untuk pengaturcaraan web menggunakan PHP, anda 514 00:22:15,910 --> 00:22:18,460 akan merasa hanya begitu banyak lebih menyeronokkan untuk menulis kod 515 00:22:18,460 --> 00:22:21,501 apabila anda tidak perlu melakukan ini bodoh langkah-langkah seperti perubahan ke terminal anda 516 00:22:21,501 --> 00:22:24,202 tingkap, jenis make hello, semula menjalankannya, tambah nilai tingkap. 517 00:22:24,202 --> 00:22:25,910 Hanya begitu banyak bodoh langkah mekanikal yang 518 00:22:25,910 --> 00:22:28,480 hanya mendapat dalam cara yang menjalankan yang menarik, kerja-kerja yang menyeronokkan. 519 00:22:28,480 --> 00:22:31,450 Dan sesungguhnya kita buang yang jauh dengan PHP. 520 00:22:31,450 --> 00:22:34,960 Dan kita boleh berinteraksi dengan lebih pesat. 521 00:22:34,960 --> 00:22:35,495 Yeah. 522 00:22:35,495 --> 00:22:36,370 PENONTON: [didengar] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 SPEAKER 1: Pasti. 525 00:22:40,960 --> 00:22:42,876 Bolehkah saya menjelaskan apa yang ia bermaksud untuk ditafsirkan? 526 00:22:42,876 --> 00:22:45,870 Apabila anda menyusun bahasa seperti C, ia menjunam 527 00:22:45,870 --> 00:22:48,140 seperti yang kita katakan kepada mesin kod, sifar dan satu. 528 00:22:48,140 --> 00:22:51,860 Dan Intel telah memilih tahun yang lalu bahawa corak tertentu sifar dan satu 529 00:22:51,860 --> 00:22:56,220 mewakili samping itu, atau penolakan, atau mencetak, atau operasi asas yang lain. 530 00:22:56,220 --> 00:23:00,250 Dalam dunia bahasa yang ditafsirkan seperti PHP, atau JavaScript, atau Python, 531 00:23:00,250 --> 00:23:03,120 atau Ruby, atau tandan orang lain, sebaliknya seseorang 532 00:23:03,120 --> 00:23:05,120 telah menulis sebuah interpreter-- dalam kes ini, 533 00:23:05,120 --> 00:23:09,770 ia juga dipanggil PHP, sama dengan menamakan daripada language-- yang pada dasarnya 534 00:23:09,770 --> 00:23:13,840 mempunyai gelung besar di dalamnya yang iterates ke atas semua garis kod di 535 00:23:13,840 --> 00:23:18,170 bahawa saya memberi makan sebagai input, seperti khabar dot PHP, atau dot kamus PHP. 536 00:23:18,170 --> 00:23:21,760 >> Dan kemudian anda boleh berfikir besar mereka gelung sebagai mempunyai banyak keadaan. 537 00:23:21,760 --> 00:23:26,340 Dan syarat-syarat itu berkata, jika manusia telah menulis kata kunci untuk, 538 00:23:26,340 --> 00:23:28,470 mula melakukan nya Kod lagi dan lagi. 539 00:23:28,470 --> 00:23:31,360 Atau jika manusia yang mempunyai bertulis baris kod, 540 00:23:31,360 --> 00:23:34,880 jika, hanya melaksanakan mereka Barisan seterusnya bersyarat. 541 00:23:34,880 --> 00:23:37,740 Jadi ia adalah benar-benar seperti mentafsirkan dalam rasa manusia, talian 542 00:23:37,740 --> 00:23:39,660 melalui talian, dan yang hanya mengambil masa. 543 00:23:39,660 --> 00:23:41,340 Ia mengambil masa atas. 544 00:23:41,340 --> 00:23:44,189 Dan sebagainya itu adalah satu price-- baik question-- kita bayar. 545 00:23:44,189 --> 00:23:46,480 Jadi mari kita buat demo lain yang sedikit lebih dramatik. 546 00:23:46,480 --> 00:23:51,160 Terdapat, saya berkata, yang ballpark ini pada kebarangkalian 90% gagal teruk, 547 00:23:51,160 --> 00:23:53,869 tetapi anda akan kagum dengan 10% kebarangkalian. 548 00:23:53,869 --> 00:23:55,660 Jadi setiap tahun kita cuba untuk melakukan ini, di mana kita 549 00:23:55,660 --> 00:23:59,061 cuba untuk menulis satu program yang akan melalui masalah set sifar, yang mana anda telah 550 00:23:59,061 --> 00:24:02,060 menyerahkan nombor telefon anda dan banyak maklumat demografi yang lain, 551 00:24:02,060 --> 00:24:06,030 dan kami pengaturcaraan menghantar mesej teks. 552 00:24:06,030 --> 00:24:08,540 Kemudian telefon semua orang mula bip atau bergetar, 553 00:24:08,540 --> 00:24:11,460 dan ia hanya menakjubkan, kerana dengan baik, melihat apa yang komputer boleh lakukan. 554 00:24:11,460 --> 00:24:13,840 >> Ini jarang berfungsi dengan betul ia seolah-olah, sebahagian besar 555 00:24:13,840 --> 00:24:16,800 kerana saya biasanya mendapat disenaraihitamkan oleh Gmail atau perkhidmatan lain 556 00:24:16,800 --> 00:24:19,630 untuk benar-benar cuba untuk melakukan ini pada skala. 557 00:24:19,630 --> 00:24:24,940 Tetapi peliknya juga, kerana kita tidak mempunyai semua orang di sini hari ini, 558 00:24:24,940 --> 00:24:27,690 Malah keseronokan kita masa lalu cuba ini dua tahun lalu, 559 00:24:27,690 --> 00:24:30,870 Saya rasa saya telah menulis program yang duduk di iterating gelung 560 00:24:30,870 --> 00:24:34,040 ke atas semua pelajar di dalam kelas, dan setiap daripada mereka mesej teks, 561 00:24:34,040 --> 00:24:37,534 dan ia berkata sesuatu seperti, mengapa tidak anda dalam kuliah? 562 00:24:37,534 --> 00:24:39,170 Cinta, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> Anda tidak mempunyai idea berapa banyak apologetik dan e-mel jenis yang menyakitkan 564 00:24:42,580 --> 00:24:46,970 Saya telah menerima tindak balas daripada n tolak 100 orang yang tidak berada di sini 565 00:24:46,970 --> 00:24:47,960 Hari itu. 566 00:24:47,960 --> 00:24:52,116 Dan juga lucu, story-- lebih memalukan anda tahu, mari kita meletakkan ia di luar sana. 567 00:24:52,116 --> 00:24:53,740 Ia sudah pada video beberapa tahun lalu. 568 00:24:53,740 --> 00:24:56,810 Jadi, anda tidak lama lagi akan melihat Aku menulis untuk gelung, di mana 569 00:24:56,810 --> 00:25:00,640 ia sangat mudah untuk menulis pepijat dalam yang untuk gelung, seperti yang pertama kali 570 00:25:00,640 --> 00:25:02,800 melalui gelung, anda menghantar satu mesej teks. 571 00:25:02,800 --> 00:25:06,190 >> Kali kedua melalui gelung Saya harus telah menghantar satu mesej teks lanjut, 572 00:25:06,190 --> 00:25:08,250 dan kemudian satu teks lebih mesej, dan satu lagi. 573 00:25:08,250 --> 00:25:11,490 Tetapi ternyata jika anda membuat kesilapan menaip apabila pengaturcaraan, kadang-kadang anda 574 00:25:11,490 --> 00:25:14,460 boleh menulis program yang menghantar satu mesej teks, kemudian dua mesej teks, 575 00:25:14,460 --> 00:25:18,742 maka tiga mesej teks kepada semua orang yang sudah menerima mesej teks. 576 00:25:18,742 --> 00:25:21,450 Dan seperti yang anda tahu, melakukan sesuatu, ditambah sesuatu, ditambah sesuatu, 577 00:25:21,450 --> 00:25:25,910 ditambah sesuatu, adalah O besar banyak mesej teks, atau n kuasa dua, 578 00:25:25,910 --> 00:25:29,830 atau pada $ 0,10 mesej teks, $ 20,000. 579 00:25:29,830 --> 00:25:33,700 >> Syukurlah saya memukul Control-C sebelum itu berlaku, tetapi saya berhutang sekurang-kurangnya satu 580 00:25:33,700 --> 00:25:37,550 orang terdahulu kamu $ 20 untuk 200 beberapa mesej teks ganjil itu, 581 00:25:37,550 --> 00:25:40,450 bukan sahaja pergi ke telefon beliau, tetapi juga ia adalah seperti telefon lebih tua flip 582 00:25:40,450 --> 00:25:43,520 jadi ia suka ditolak keluar dari beliau memori setiap teks peribadi yang lain 583 00:25:43,520 --> 00:25:45,930 mesej dia sebenarnya telah mendapat. 584 00:25:45,930 --> 00:25:49,250 Oleh itu, kita mempunyai satu matlamat hari ini, tidak berbuat demikian. 585 00:25:49,250 --> 00:25:50,620 Mungkin menghidupkan mod kapal terbang. 586 00:25:50,620 --> 00:25:51,120 Baiklah. 587 00:25:51,120 --> 00:25:56,590 Jadi mari kita pergi ke program sini callled-- 588 00:25:56,590 --> 00:25:59,060 bahawa saya akan memanggil teks dot PHP. 589 00:25:59,060 --> 00:26:01,074 Dan terlebih dahulu, saya telah mendapat dua fail di sini. 590 00:26:01,074 --> 00:26:06,030 Saya membuat fail untuk hanya kakitangan, yang mendapat semua maklumat yang kakitangan, semua nama-nama 591 00:26:06,030 --> 00:26:07,260 dari laman web kursus ini. 592 00:26:07,260 --> 00:26:09,756 Kemudian buat masa ini saya hanya meletakkan beberapa nombor palsu 555-1212. 593 00:26:09,756 --> 00:26:11,380 Jadi ini tidak akan benar-benar pergi mana-mana. 594 00:26:11,380 --> 00:26:15,140 Tetapi perhatikan bahagian dalam fail CSV ini, yang kita bercakap tentang secara ringkas sebelum 595 00:26:15,140 --> 00:26:16,540 dalam konteks fail Bahagian Antarabangsa. 596 00:26:16,540 --> 00:26:18,730 >> Apakah yang dimaksudkan dengan fail CSV? 597 00:26:18,730 --> 00:26:19,970 Dipisahkan oleh koma pembolehubah. 598 00:26:19,970 --> 00:26:24,400 Dan ini adalah jenis seperti yang sangat pangkalan data ringan, jika anda akan. 599 00:26:24,400 --> 00:26:28,650 Ada jenis jenis empat tiang dalam fail ini, dan tidak bergerigi, 600 00:26:28,650 --> 00:26:32,400 tetapi koma dasarnya mewakili lajur dalam fail. 601 00:26:32,400 --> 00:26:35,400 Lajur pertama ialah TF atau nama CA itu. 602 00:26:35,400 --> 00:26:37,800 Ruang kedua adalah nama terakhir. 603 00:26:37,800 --> 00:26:39,820 Ruang ketiga adalah nombor telefon mereka. 604 00:26:39,820 --> 00:26:44,760 Dan lajur keempat nampaknya is-- lajur keempat nampaknya apa? 605 00:26:44,760 --> 00:26:45,870 OK, jadi ia adalah pembawa mereka. 606 00:26:45,870 --> 00:26:47,180 Jadi Verizon, atau Sprint, atau apa yang tidak. 607 00:26:47,180 --> 00:26:48,620 Dan jika saya misspoke sebelum ini, CSV. 608 00:26:48,620 --> 00:26:51,800 Dipisahkan oleh koma nilai adalah CSV sini. 609 00:26:51,800 --> 00:26:54,260 >> Jadi apa yang boleh saya lakukan dengan ini? 610 00:26:54,260 --> 00:26:56,940 Nah ini adalah hanya satu fail teks yang besar, dan ia adalah jenis lama, bukan? 611 00:26:56,940 --> 00:26:58,690 Seperti ini akan menjadi jenis menjengkelkan. 612 00:26:58,690 --> 00:27:03,510 Dan ternyata, walaupun, bahawa jika saya ingin menghantar mesej teks kepada, mari kita 613 00:27:03,510 --> 00:27:05,180 kata Alex sini. 614 00:27:05,180 --> 00:27:09,690 Biar saya pergi ke pelayar saya dan keluar daripada mod skrin penuh 615 00:27:09,690 --> 00:27:11,660 hanya jadi saya boleh bertukar-tukar dan ke belakang. 616 00:27:11,660 --> 00:27:20,280 Ternyata, mari kita lihat, jika saya pergi dalam di sini, dan log masuk ke Gmail, baiklah. 617 00:27:20,280 --> 00:27:22,950 Jangan melihat bahagian ini. 618 00:27:22,950 --> 00:27:23,880 Hanya saya dapat melihat. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 sudah tentu Livestream boleh masih melihat apa yang saya lakukan. 621 00:27:28,800 --> 00:27:29,360 Baiklah. 622 00:27:29,360 --> 00:27:31,850 >> Jadi di sini adalah hanya Gmail dengan Akaun John Harvard. 623 00:27:31,850 --> 00:27:34,000 Jadi, jika saya ingin menghantar mesej teks kepada Alex, 624 00:27:34,000 --> 00:27:35,530 Sudah tentu saya boleh mengarang mesej. 625 00:27:35,530 --> 00:27:38,410 Dan ternyata, dan saya telah diuji dengan Alex sebelum sini, 626 00:27:38,410 --> 00:27:42,260 supaya anda boleh menambah domain tertentu menamakan kepada nombor telefon rakyat, 627 00:27:42,260 --> 00:27:45,850 kerana tidak wujud di dunia perkara yang dipanggil SMS untuk e-mel gerbang. 628 00:27:45,850 --> 00:27:50,000 Yang merupakan cara yang mewah untuk mengatakan semua kita yang mempunyai telefon bimbit yang 629 00:27:50,000 --> 00:27:53,200 mempunyai nombor telefon, sudah tentu, ada mungkin untuk pembawa anda, 630 00:27:53,200 --> 00:27:56,840 akhiran tertentu seperti di Vtext.com untuk Verizon mesej teks 631 00:27:56,840 --> 00:28:00,320 dot com, bahawa anda boleh melampirkan pada anda nombor telefon peribadi sendiri, dan kemudian 632 00:28:00,320 --> 00:28:03,540 anda atau rakan-rakan, atau ibu bapa anda boleh teks anda di alamat tersebut. 633 00:28:03,540 --> 00:28:07,380 >> Dan Verizon mempunyai pelayan, e-mel pelayan, yang apabila menerima e-mel ini, 634 00:28:07,380 --> 00:28:11,180 kelihatan di bahagian angka dan kemudian menggunakan apa sahaja industri khas sihir 635 00:28:11,180 --> 00:28:14,540 mereka mempunyai untuk benar-benar menghantar ia keluar lebih gelombang udara dengan sel tertentu anda 636 00:28:14,540 --> 00:28:15,040 telefon. 637 00:28:15,040 --> 00:28:18,030 Sekarang ini adalah bagus kerana saya tidak benar-benar tahu bagaimana untuk menghantar mesej teks 638 00:28:18,030 --> 00:28:20,460 atau untuk menulis kod lagi untuk telefon bimbit saya, 639 00:28:20,460 --> 00:28:23,580 dan anda mungkin melakukan perkara tersebut untuk projek akhir, tetapi buat semua 640 00:28:23,580 --> 00:28:24,770 Saya mempunyai komputer riba saya di sini. 641 00:28:24,770 --> 00:28:29,830 Jadi saya mahu melelar CSV yang fail, talian, melalui talian, melalui talian, demi baris, 642 00:28:29,830 --> 00:28:35,160 merebut setiap nombor telefon kakitangan, dan pembawa dan programatically, 643 00:28:35,160 --> 00:28:39,770 menyatukan, iaitu, menyambungkan telefon nombor dengan nama domain yang sesuai 644 00:28:39,770 --> 00:28:40,820 dan kemudian menghantar e-mel. 645 00:28:40,820 --> 00:28:41,940 >> Jadi itulah banyak langkah-langkah. 646 00:28:41,940 --> 00:28:45,530 Dan semoga berjaya melakukannya dengan C. Ia adalah mimpi ngeri dari keadaan yang 647 00:28:45,530 --> 00:28:48,350 untuk membuka fail, membacanya line, melalui talian, melalui talian, kerana anda 648 00:28:48,350 --> 00:28:51,100 melihat, atau tidak lama lagi boleh melihat dengan masalah set lima, jika tidak 649 00:28:51,100 --> 00:28:53,560 masalah menetapkan empat, dan kemudian untuk secara dinamik concatenate 650 00:28:53,560 --> 00:28:57,020 dua tali bersama-sama, kerana dalam C, untuk mengambil dua tali dan menggabungkan mereka, 651 00:28:57,020 --> 00:29:00,900 apa yang anda secara minimum perlu lakukan kemungkinan besar? 652 00:29:00,900 --> 00:29:03,020 Anda perlu mengisytiharkan lebih banyak memori, bukan? 653 00:29:03,020 --> 00:29:04,710 Dan bertanya, malloc, boleh saya mempunyai memori lebih? 654 00:29:04,710 --> 00:29:07,060 Jadi saya boleh meletakkan separuh daripada ini di sini, separuh daripada ini di sini. 655 00:29:07,060 --> 00:29:08,150 Ia hanya begitu banyak langkah. 656 00:29:08,150 --> 00:29:10,310 Dan dengan mata yang anda telah hilang kepentingan dalam demo kecil yang bodoh 657 00:29:10,310 --> 00:29:11,851 di mana anda membuat telefon bip semua orang. 658 00:29:11,851 --> 00:29:14,590 Mari kita buat seperti ini PHP gaya, di mana kita hanya 659 00:29:14,590 --> 00:29:16,210 mula menggunakan lebih daripada itu sinki dapur. 660 00:29:16,210 --> 00:29:18,050 >> Dan idea-idea yang asasnya yang sama, 661 00:29:18,050 --> 00:29:20,710 tetapi kita tidak perlu bimbang terlalu banyak tentang tahap yang lebih rendah. 662 00:29:20,710 --> 00:29:22,950 Jadi mari kita lihat bagaimana aku dapat pergi tentang melakukan ini. 663 00:29:22,950 --> 00:29:26,664 Dan hanya supaya saya tidak mengulangi kesilapan lalu, 664 00:29:26,664 --> 00:29:28,330 Saya telah menulis beberapa nota untuk diri sendiri di sini. 665 00:29:28,330 --> 00:29:31,070 Dan mari kita lihat jika saya boleh berjalan kita melalui beberapa langkah-langkah asas, 666 00:29:31,070 --> 00:29:33,861 dan kemudian demi masa ini kita akan mungkin memotong beberapa sudut pada akhirnya. 667 00:29:33,861 --> 00:29:38,007 Saya akan pergi ke hadapan dan melakukan terbuka kurungan PHP untuk memulakan fail ini. 668 00:29:38,007 --> 00:29:39,590 Dan saya akan pergi ke hadapan dan melakukan ini. 669 00:29:39,590 --> 00:29:41,490 Fail pemegang, kerana anda akan tidak lama lagi lihat, sebenarnya 670 00:29:41,490 --> 00:29:44,790 memanggil fungsi yang dipanggil f terbuka. 671 00:29:44,790 --> 00:29:46,280 Dan ingat ini membuka fail. 672 00:29:46,280 --> 00:29:48,800 Dan petikan, unquote, r bermaksud apa, sekali lagi? 673 00:29:48,800 --> 00:29:49,800 Hanya membukanya untuk dibaca. 674 00:29:49,800 --> 00:29:51,210 Sekarang dalam p yang ditetapkan untuk, anda melakukan ini. 675 00:29:51,210 --> 00:29:54,500 Dan mengendalikan boleh menjadi apa-apa, fu, bar, bas, apa-apa nama berubah-ubah. 676 00:29:54,500 --> 00:29:57,470 Tetapi secara umumnya komputer saintis akan memanggil fail terbuka, 677 00:29:57,470 --> 00:30:00,962 memberikan anda mengendalikan fail, sesuatu untuk memegang jadi untuk bercakap. 678 00:30:00,962 --> 00:30:02,670 Saya hanya akan melakukan beberapa pemeriksaan ralat. 679 00:30:02,670 --> 00:30:07,260 Jadi, jika pemegang itu adalah palsu, sama seperti dalam C, saya akan melakukan sesuatu seperti, 680 00:30:07,260 --> 00:30:09,545 tidak dapat membuka fail, garis sendeng terbalik n. 681 00:30:09,545 --> 00:30:11,420 Dan kemudian saya hanya akan untuk pergi ke hadapan dan keluar. 682 00:30:11,420 --> 00:30:14,340 Dan ternyata, dalam PHP, Saya bukan di dalam satu majlis. 683 00:30:14,340 --> 00:30:16,160 Tidak ada fungsi utama di sini. 684 00:30:16,160 --> 00:30:17,450 Jadi, saya tidak kembali, per se. 685 00:30:17,450 --> 00:30:18,120 Saya keluar. 686 00:30:18,120 --> 00:30:19,619 Yang pada dasarnya perkara yang sama. 687 00:30:19,619 --> 00:30:22,510 Dan saya keluar dengan satu y mungkin. 688 00:30:22,510 --> 00:30:24,220 Satu hanya bermakna kesilapan sejenis. 689 00:30:24,220 --> 00:30:25,580 Ia adalah bukan sifar, jadi ia adalah satu kesilapan. 690 00:30:25,580 --> 00:30:30,220 >> Baiklah, jadi jika saya turun di sini sekarang dalam program saya saya telah membuka fail. 691 00:30:30,220 --> 00:30:34,250 Saya akan pergi ke hadapan dan mengisytiharkan pelbagai dipanggil alamat, 692 00:30:34,250 --> 00:30:38,610 dan C saya perlu tahu saiz array terlebih dahulu, bukan? 693 00:30:38,610 --> 00:30:41,910 Atau saya perlu mengisytiharkan ini adalah penunjuk, dan kemudian menggunakan malloc. 694 00:30:41,910 --> 00:30:44,720 Kemudian setiap kali saya membaca melalui baris lain dalam fail, 695 00:30:44,720 --> 00:30:46,620 Saya akan perlu malloc lebih banyak memori, malloc lebih banyak memori. 696 00:30:46,620 --> 00:30:47,703 Itulah sakit di leher. 697 00:30:47,703 --> 00:30:50,950 Dan bersyukur, PHP, dan Ruby, dan Python, dan JavaScript, mereka 698 00:30:50,950 --> 00:30:53,880 akan berkembang tatasusunan anda untuk anda secara automatik. 699 00:30:53,880 --> 00:30:54,830 Tiada malloc lagi. 700 00:30:54,830 --> 00:30:56,227 Tiada lagi pengurusan ingatan. 701 00:30:56,227 --> 00:30:57,560 Komputer menjaga itu. 702 00:30:57,560 --> 00:31:00,330 Tetapi harga yang anda bayar. 703 00:31:00,330 --> 00:31:01,350 Ia sedikit lebih perlahan. 704 00:31:01,350 --> 00:31:03,190 Dan untuk program seperti ini kita tidak akan notis. 705 00:31:03,190 --> 00:31:04,720 Kami akan menghantar 100 mesej teks. 706 00:31:04,720 --> 00:31:06,136 Sebagai contoh tidak akan merasainya. 707 00:31:06,136 --> 00:31:08,430 IT benar-benar hanya mula kira bahasa pilihan anda 708 00:31:08,430 --> 00:31:11,490 apabila data anda atau program anda mendapatkan benar-benar, benar-benar agak besar, 709 00:31:11,490 --> 00:31:14,120 seperti yang akan menjadi kes itu lebih-lebih lagi dengan barangan web kami berasaskan. 710 00:31:14,120 --> 00:31:15,450 >> Tetapi untuk sekarang mari kita maju ke hadapan. 711 00:31:15,450 --> 00:31:20,120 Walaupun ternyata ada fungsi dalam C dipanggil f mendapatkan CSV. 712 00:31:20,120 --> 00:31:24,570 Fail mendapatkan CSV, yang mengambil memfailkan pemegang sebagai hujah, 713 00:31:24,570 --> 00:31:28,810 dan ia bertindak itu, berturut-turut, dengan berturut-turut, dengan berturut-turut, untuk membaca berturut-turut. 714 00:31:28,810 --> 00:31:30,964 Jadi ia hanya membaca garis teks daripada fail. 715 00:31:30,964 --> 00:31:34,130 Tetapi apa yang baik tentang fungsi ini, ia tidak hanya tangan saya baris teks. 716 00:31:34,130 --> 00:31:37,320 Ia kelihatan bagi mereka koma, dan mem-parsing baris. 717 00:31:37,320 --> 00:31:41,740 Dan untuk menghuraikan baris bermaksud untuk berpecah pada nilai-nilai tertentu dalam konteks ini. 718 00:31:41,740 --> 00:31:45,510 >> Dengan kata lain, tanda dolar berturut-turut adalah pembolehubah itulah 719 00:31:45,510 --> 00:31:47,010 akan memberikan saya sekumpulan indeks. 720 00:31:47,010 --> 00:31:49,635 Ini akan menjadi yang Lajur pertama dalam CSV saya. 721 00:31:49,635 --> 00:31:52,510 Ini akan menjadi yang kedua lajur, ini akan menjadi ketiga, 722 00:31:52,510 --> 00:31:53,968 dan ini akan menjadi yang keempat. 723 00:31:53,968 --> 00:31:57,440 Kerana ingat, dan Excel tidak bekerjasama kali terakhir kita lakukan ini, 724 00:31:57,440 --> 00:32:03,350 tetapi jika saya memuat turun kakitangan dot CSV. 725 00:32:03,350 --> 00:32:04,940 Alamak, tidak menamakan semula. 726 00:32:04,940 --> 00:32:09,120 Jika saya memuat turun kakitangan dot CSV, dan cuba membukanya, 727 00:32:09,120 --> 00:32:12,510 Saya telah registered-- oh saya tidak mengemaskini Excel sejak kali terakhir. 728 00:32:12,510 --> 00:32:15,880 Anda akan melihat bahawa dalam kakitangan dot CSV, saya mempunyai empat tiang. 729 00:32:15,880 --> 00:32:18,720 Oleh itu, apabila saya baca dalam Baris pertama untuk Abby sini, 730 00:32:18,720 --> 00:32:23,582 dolar tanda baris 0 adalah Abby, dolar tanda baris satu adalah Lyons, 731 00:32:23,582 --> 00:32:27,740 dolar tanda berturut-turut dua nombor dia, dan kemudian pembawa telefon anaknya. 732 00:32:27,740 --> 00:32:28,410 >> Jadi itu sahaja. 733 00:32:28,410 --> 00:32:30,740 Dan itu adalah baik, kerana saya tidak perlu sekarang memikirkan 734 00:32:30,740 --> 00:32:32,800 di mana semua orang-orang koma sebenarnya. 735 00:32:32,800 --> 00:32:35,300 Jadi, saya akan pergi ke hadapan dan melakukan ini, diberi definisi itu, 736 00:32:35,300 --> 00:32:38,960 Saya akan mengatakan bahawa namanya adalah berturut-turut kurungan sifar, seperti yang dijanjikan. 737 00:32:38,960 --> 00:32:41,150 Dan saya akan grab-- dan sebenarnya, anda tahu apa? 738 00:32:41,150 --> 00:32:42,780 Saya tidak akan bimbang tentang namanya, dalam kes ini. 739 00:32:42,780 --> 00:32:43,988 Saya akan memastikan ia lebih mudah. 740 00:32:43,988 --> 00:32:48,610 Saya akan melakukan nombor dia adalah berturut-turut dua kurungan, saya fikir. 741 00:32:48,610 --> 00:32:50,510 Dan pembawa beliau adalah di mana? 742 00:32:50,510 --> 00:32:53,405 Berturut-turut tiga, satu ke atas. 743 00:32:53,405 --> 00:32:54,280 Jadi tiada apa yang baru di sana. 744 00:32:54,280 --> 00:32:56,770 Ia hanya sifar pengindeksan ke dalam array. 745 00:32:56,770 --> 00:32:58,760 >> Dan sekarang, saya akan melakukan yang berikut. 746 00:32:58,760 --> 00:33:03,930 Jika pengangkut sama sama AT & T-- Saya hanya akan mempunyai loop-- yang 747 00:33:03,930 --> 00:33:06,790 Saya ingin membuat e-mel alamat yang kelihatan seperti ini. 748 00:33:06,790 --> 00:33:12,320 Ia akan menjadi 617-555-1212 di, apa yang ia, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 adalah apa yang saya mahu lakukan. 750 00:33:13,490 --> 00:33:15,260 Jadi bagaimana saya lakukan ini? 751 00:33:15,260 --> 00:33:16,730 Saya akan melakukan yang berikut. 752 00:33:16,730 --> 00:33:22,460 Ucapannya akan menjadi nombor dia, dan sekarang, saya teruskan niat ini. 753 00:33:22,460 --> 00:33:23,760 Ini adalah beberapa sintaks funky. 754 00:33:23,760 --> 00:33:27,250 Saya boleh melakukan peratus s helah, tetapi saya boleh sebenarnya hanya melakukan ini. 755 00:33:27,250 --> 00:33:29,900 >> Jadi ini adalah satu perkara PHP, tetapi mari kita mempertimbangkan apa yang saya lakukan. 756 00:33:29,900 --> 00:33:31,630 Dolar log alamat di kiri, hanya pemboleh ubah. 757 00:33:31,630 --> 00:33:32,300 Berikan saya pembolehubah. 758 00:33:32,300 --> 00:33:33,390 Saya tidak perlu nyatakan jenis. 759 00:33:33,390 --> 00:33:34,570 PHP akan mencari penyelesaiannya. 760 00:33:34,570 --> 00:33:36,580 Di sebelah kanan, apa yang jenis data 761 00:33:36,580 --> 00:33:38,399 supaya benda keseluruhan di sebelah kanan? 762 00:33:38,399 --> 00:33:40,190 Nampaknya rentetan, kerana ada dua 763 00:33:40,190 --> 00:33:42,280 menyebutkan di hujung kiri dan kanan. 764 00:33:42,280 --> 00:33:44,210 Sekarang ada beberapa sintaks baru funky di sini. 765 00:33:44,210 --> 00:33:47,550 Ada pendakap kerinting, dan nombor tanda dolar. 766 00:33:47,550 --> 00:33:52,860 Tetapi mengambil meneka apa yang sintaks yang mungkin memberitahu PHP untuk melakukan untuk saya? 767 00:33:52,860 --> 00:33:53,360 Yeah. 768 00:33:53,360 --> 00:33:54,630 Hanya memasukkan nilai di sana. 769 00:33:54,630 --> 00:33:55,530 Jadi tiada peratus s. 770 00:33:55,530 --> 00:33:58,160 Kita boleh menggunakan f cetak, atau s f cetak atau sesuatu seperti itu, 771 00:33:58,160 --> 00:34:00,070 tetapi PHP dan banyak bahasa tahap yang lebih tinggi, 772 00:34:00,070 --> 00:34:03,070 anda akan melihat bahawa anda boleh melakukan perkara yang sama berfungsi, mungkin 773 00:34:03,070 --> 00:34:04,019 enam cara yang berbeza. 774 00:34:04,019 --> 00:34:06,310 Dan maka ia mula menjadi suatu perkara yang reka bentuk atau gaya. 775 00:34:06,310 --> 00:34:09,902 Jadi ini adalah hanya cara yang samar mencari untuk mengatakan, memberi saya alamat e-mel, 776 00:34:09,902 --> 00:34:12,110 tetapi plug-in nombor dalam antara pendakap kerinting. 777 00:34:12,110 --> 00:34:15,440 Dan pendakap kerinting tidak akan berakhir di alamat terakhir. 778 00:34:15,440 --> 00:34:18,010 >> Sekarang kita boleh melangkau ke atas beberapa ayat-ayat ini demi time. 779 00:34:18,010 --> 00:34:21,210 Jadi, jika pembawa sama sama verHorizon-- whoops, 780 00:34:21,210 --> 00:34:24,989 Verizon-- Saya mahu melakukan sesuatu hampir sama, di mana alamat mendapat, 781 00:34:24,989 --> 00:34:27,569 quote, unquote, bilangan di text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 Dan kemudian saya boleh melakukan jenis yang sama Perkara untuk sepanjang penerbangan. 784 00:34:35,050 --> 00:34:37,090 Tetapi saya hanya akan melakukan dot, dot, dot buat masa ini. 785 00:34:37,090 --> 00:34:43,050 Dan sekarang mari kita andaikan bahawa Saya ingin menambah pelbagai, menolak. 786 00:34:43,050 --> 00:34:45,969 Saya ingin menambah kepada pelbagai, yang dikenali sebagai alamat. 787 00:34:45,969 --> 00:34:50,409 >> Alamat ini, ini adalah bagaimana anda menambah sesuatu kepada pelbagai dalam PHP. 788 00:34:50,409 --> 00:34:51,610 Anda tidak perlu melakukan malloc. 789 00:34:51,610 --> 00:34:53,068 Anda tidak perlu mengubah saiz array. 790 00:34:53,068 --> 00:34:54,259 Anda hanya berkata pelbagai, push. 791 00:34:54,259 --> 00:34:57,300 Apa yang anda mahu push-- apa array yang anda ingin menolak sesuatu ke? 792 00:34:57,300 --> 00:34:58,000 Alamat. 793 00:34:58,000 --> 00:34:59,550 Apa yang anda mahu menolak ke alamat? 794 00:34:59,550 --> 00:35:00,350 Alamat. 795 00:35:00,350 --> 00:35:02,430 Dan sebenarnya, jika anda benar-benar mahu menjadi pandai, 796 00:35:02,430 --> 00:35:05,610 sedikit gula sintaksis untuk ini, boleh dikatakan, 797 00:35:05,610 --> 00:35:10,230 yang hanya bermaksud bagaimana anda boleh melakukan ini dalam cara lebih cantik, adalah untuk melakukan ini. 798 00:35:10,230 --> 00:35:14,060 Itu juga mempunyai kesan yang semakin meningkat lokasi alamat dengan saiz satu, 799 00:35:14,060 --> 00:35:17,130 dan kemudian mencebur bahawa tambahan Alamat e-mel ke dalamnya. 800 00:35:17,130 --> 00:35:17,630 Yeah. 801 00:35:17,630 --> 00:35:19,730 >> PENONTON: [didengar] 802 00:35:19,730 --> 00:35:22,520 >> SPEAKER 1: kesilapan menaip pada lagi jika- oh, pembawa. 803 00:35:22,520 --> 00:35:23,070 Tak apa. 804 00:35:23,070 --> 00:35:26,971 Ia juga tidak akan seperti kegagalan saya untuk melaksanakan sebahagian daripada program ini 805 00:35:26,971 --> 00:35:27,470 kemudian. 806 00:35:27,470 --> 00:35:28,810 Tetapi terima kasih kerana perhatian. 807 00:35:28,810 --> 00:35:30,671 Satu bug lagi. 808 00:35:30,671 --> 00:35:31,170 Terima kasih. 809 00:35:31,170 --> 00:35:33,746 Kami mahu ini menjadi Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Ya. 811 00:35:34,340 --> 00:35:34,839 Baiklah. 812 00:35:34,839 --> 00:35:36,330 Oleh itu, bagaimana ini meninggalkan kami? 813 00:35:36,330 --> 00:35:38,224 Kami telah menulis kod untuk membuka fail. 814 00:35:38,224 --> 00:35:40,390 Kami mempunyai gelung untuk melelar lebih baris dalam fail. 815 00:35:40,390 --> 00:35:43,650 Kami mempunyai kod yang menambah kepada saya array, satu demi satu, dengan betul 816 00:35:43,650 --> 00:35:44,790 Alamat e-mel diformat. 817 00:35:44,790 --> 00:35:48,480 Jadi apa yang benar-benar kekal adalah untuk menghantar e-mel kepada setiap orang-orang. 818 00:35:48,480 --> 00:35:52,830 >> Oleh itu, saya telah pergi ke hadapan dan disiapkan diri saya seperti berikut. 819 00:35:52,830 --> 00:35:59,580 Apa yang saya akan lakukan di sini is-- dan mari kita teruskan dan skip to beberapa kod yang sebenar, 820 00:35:59,580 --> 00:36:00,620 yang kelihatan seperti ini. 821 00:36:00,620 --> 00:36:02,950 Jadi di sini adalah sebelum dibakar versi yang saya tulis sebelum ini. 822 00:36:02,950 --> 00:36:04,700 Dan perhatikan saya selesai melaksanakan Sprint. 823 00:36:04,700 --> 00:36:06,130 Saya selesai melaksanakan T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Saya selesai melaksanakan Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 Aku akan memohon maaf terlebih dahulu. 826 00:36:09,622 --> 00:36:12,080 Ada sebuah syarikat penerbangan beberapa yang beberapa pelajar di dalam kelas yang mempunyai 827 00:36:12,080 --> 00:36:14,640 bahawa saya tidak mengganggu membutirkan masuk jika keadaan di sini. 828 00:36:14,640 --> 00:36:16,015 Jadi tidak semua teks akan keluar. 829 00:36:16,015 --> 00:36:17,556 Tetapi mari kita lihat apa lagi yang saya perlu lakukan. 830 00:36:17,556 --> 00:36:19,660 Saya menutup fail, hanya seperti dalam p menetapkan empat. 831 00:36:19,660 --> 00:36:20,835 >> Dan ini adalah sintaks baru. 832 00:36:20,835 --> 00:36:22,710 Dan kita akan melihat sedikit sedikit ini dari masa ke masa, 833 00:36:22,710 --> 00:36:24,450 terutamanya dengan p menetapkan tujuh dan lapan. 834 00:36:24,450 --> 00:36:28,140 Tetapi ini adalah sintaks untuk mewujudkan sejenis struktur. 835 00:36:28,140 --> 00:36:31,490 Ternyata ada perpustakaan yang datang dengan PHP, yang dikenali sebagai PHP mailer. 836 00:36:31,490 --> 00:36:33,840 Tujuannya dalam hidup adalah untuk pengaturcaraan menghantar e-mel. 837 00:36:33,840 --> 00:36:36,840 Ia adalah kod orang lain menulis bahawa menjadikan ia lebih mudah bagi kita untuk menghantar e-mel, 838 00:36:36,840 --> 00:36:39,131 jadi kami tidak perlu menyimpan pergi dan balik ke Gmail, 839 00:36:39,131 --> 00:36:41,151 dan menampal di alamat e-mel rakyat. 840 00:36:41,151 --> 00:36:44,150 Ada sejumlah garis-garis di sini yang jujur, saya hanya jenis disalin 841 00:36:44,150 --> 00:36:45,660 dan ditampal dari dokumentasi. 842 00:36:45,660 --> 00:36:47,409 Dan sebenarnya, jika anda ingin tahu, saya meninggalkan semua 843 00:36:47,409 --> 00:36:50,550 daripada URL dokumentasi dalam kod yang kami akan hantar kemudian. 844 00:36:50,550 --> 00:36:52,360 Dan perhatikan bahawa di antara perkara-perkara yang saya lakukan 845 00:36:52,360 --> 00:36:55,710 adalah, saya memberitahu perpustakaan ini, menggunakan pelayan Gmail, bukan? 846 00:36:55,710 --> 00:36:59,360 SMTP kita bercakap secara ringkas tentang apabila kita berada di Yale tentang menjadi mel mudah 847 00:36:59,360 --> 00:37:00,110 protokol pemindahan. 848 00:37:00,110 --> 00:37:02,920 Ia adalah protokol yang pelayan digunakan untuk menghantar e-mel, 849 00:37:02,920 --> 00:37:05,150 dan that's-- Gmail mempunyai salah seorang daripada mereka. 850 00:37:05,150 --> 00:37:07,290 Port A, ini adalah nombor port TCP. 851 00:37:07,290 --> 00:37:09,630 Tidak apa-apa jika anda tidak pernah melihat 587 sebelum ini. 852 00:37:09,630 --> 00:37:11,420 Hanya tahu bahawa dari dokumentasi. 853 00:37:11,420 --> 00:37:12,250 Berikut adalah nama pengguna saya. 854 00:37:12,250 --> 00:37:13,670 Saya akan menggunakan bot CF50 itu. 855 00:37:13,670 --> 00:37:16,690 Dan sebentar lagi, saya hanya akan menaip kata laluan yang sebenar bot itu. 856 00:37:16,690 --> 00:37:18,690 Dan kemudian turun di sini, perhatikan apa yang tinggal. 857 00:37:18,690 --> 00:37:22,840 >> Saya menetapkan saya dari alamat untuk bot di CS50.net. 858 00:37:22,840 --> 00:37:26,240 Saya rasa saya tidak akan menyesal menghantar mesej teks kepada 800 orang yang 859 00:37:26,240 --> 00:37:30,590 berkata, terlepas anda, CS50 cinta bot, mungkin bagi mereka yang tidak dapat hadir hari ini. 860 00:37:30,590 --> 00:37:33,160 Dan kemudian dalam talian 76, apa yang saya lakukan? 861 00:37:33,160 --> 00:37:39,010 Ini jenis kelihatan seperti C. Jadi untuk i sama dengan 0, n equals-- sekarang mengira baru. 862 00:37:39,010 --> 00:37:42,077 Ia ternyata bahawa jika anda mahu untuk mendapatkan beberapa perkara dalam array, 863 00:37:42,077 --> 00:37:43,660 anda tidak perlu ingat lagi. 864 00:37:43,660 --> 00:37:45,370 Anda hanya boleh meminta fungsi dipanggil kiraan, 865 00:37:45,370 --> 00:37:48,320 dan ia akan memberitahu anda berapa banyak alamat dalam pelbagai itu. 866 00:37:48,320 --> 00:37:53,210 >> Dan kemudian saya akan menambah alamat untuk e-mel. 867 00:37:53,210 --> 00:37:55,090 Dan saya tahu ini dari menggunakan dokumentasi. 868 00:37:55,090 --> 00:37:56,900 Ada satu fungsi alamat add. 869 00:37:56,900 --> 00:37:58,980 Dan kini melihat ada adalah satu bahagian sintaksis. 870 00:37:58,980 --> 00:38:01,470 Kami telah melihat ini sebelum dalam C. sama di dalam roh. 871 00:38:01,470 --> 00:38:04,100 Anda boleh memikirkan tanda dolar mel sebagai pembolehubah, yang ia adalah. 872 00:38:04,100 --> 00:38:08,100 Tetapi ia adalah satu struct bahagian dalam yang bukan sahaja harta, 873 00:38:08,100 --> 00:38:09,400 pembolehubah jika anda akan. 874 00:38:09,400 --> 00:38:13,480 Tetapi ternyata bahawa dalam PHP, yang merupakan pengaturcaraan berorientasikan objek 875 00:38:13,480 --> 00:38:16,520 bahasa, seperti Jawa jika anda mengambil APC. 876 00:38:16,520 --> 00:38:21,420 >> Mel tanda dolar, jika anda mahu supaya- ia juga mempunyai fungsi-fungsi di dalamnya, 877 00:38:21,420 --> 00:38:22,380 atau kaedah. 878 00:38:22,380 --> 00:38:24,720 Jadi ini adalah untuk mengatakan bahawa khas PHP mailer 879 00:38:24,720 --> 00:38:29,280 perpustakaan, jika saya telah mendapat pembolehubah daripadanya, jika saya mahu memanggil fungsi yang 880 00:38:29,280 --> 00:38:31,559 datang dengan perpustakaan itu, untuk tujuan hari ini, 881 00:38:31,559 --> 00:38:33,100 hanya tahu anda menggunakan anak panah notasi. 882 00:38:33,100 --> 00:38:34,150 Tidak ada notasi titik. 883 00:38:34,150 --> 00:38:35,220 Ia hanya anak panah. 884 00:38:35,220 --> 00:38:36,380 Tetapi itu bukan penunjuk. 885 00:38:36,380 --> 00:38:38,680 Ia hanya dipinjam dari sintaks C. 886 00:38:38,680 --> 00:38:43,620 Jadi panggilan menambah alamat di dalam objek ini perpustakaan atau berubah-ubah. 887 00:38:43,620 --> 00:38:44,440 >> Baiklah. 888 00:38:44,440 --> 00:38:45,570 Ini adalah garis ajaib. 889 00:38:45,570 --> 00:38:46,740 Itulah bagaimana saya menghantar e-mel. 890 00:38:46,740 --> 00:38:50,040 Itu adalah sama dengan membuka Gmail, menaip ia keluar, dan memukul menghantar. 891 00:38:50,040 --> 00:38:54,870 Tetapi ia akan sebaliknya menghantar e-mel kepada alamat ini, dengan badan ini, 892 00:38:54,870 --> 00:38:57,120 dari bot CS50. 893 00:38:57,120 --> 00:38:58,710 Dan kini garis utama. 894 00:38:58,710 --> 00:39:03,130 Keturunan ini telah tidak hadir dalam seperti 2011 apabila saya rasa saya lepas cuba ini. 895 00:39:03,130 --> 00:39:05,640 Bahawa garis di sana, sudah tentu, membersihkan alamat. 896 00:39:05,640 --> 00:39:07,920 Jadi secara logiknya, jika saya tidak jelas alamat 897 00:39:07,920 --> 00:39:11,740 selepas setiap lelaran, yang pertama e-mel atau mesej teks pergi ke Alice, 898 00:39:11,740 --> 00:39:14,320 kedua pergi ke Alice dan Bob, ketiga 899 00:39:14,320 --> 00:39:17,870 pergi ke Alice dan Bob dan Charlie, oleh itu kesilapan yang sangat mahal 900 00:39:17,870 --> 00:39:18,760 Saya kemukakan itu. 901 00:39:18,760 --> 00:39:21,080 >> Jadi mari kita lihat. 902 00:39:21,080 --> 00:39:24,200 Adakah terdapat sebarang pertanyaan sebelum kita menghantar semua teks 903 00:39:24,200 --> 00:39:28,210 mesej dengan 10 peratus kebarangkalian? 904 00:39:28,210 --> 00:39:28,940 Ada soalan? 905 00:39:28,940 --> 00:39:30,330 Baiklah. 906 00:39:30,330 --> 00:39:36,100 Mari saya pergi di sini dan perubahan kata laluan untuk apa yang harus bekerja, 907 00:39:36,100 --> 00:39:37,780 akan mungkin mendapat disenaraihitamkan oleh Gmail. 908 00:39:37,780 --> 00:39:39,821 Jadi mereka tidak semua mungkin pergi keluar, kerana mereka mungkin 909 00:39:39,821 --> 00:39:42,960 tidak suka kita menghantar 800 e-mel dalam untuk gelung semua sekali gus. 910 00:39:42,960 --> 00:39:45,140 Sejak itu bukan tingkah laku terutamanya manusia. 911 00:39:45,140 --> 00:39:47,460 >> Oh, saya akan menukar satu perkara yang lain. 912 00:39:47,460 --> 00:39:50,850 Sehingga di bahagian atas, saya akan sent-- menukar fail kepada pelajar dot CSV. 913 00:39:50,850 --> 00:39:55,420 Dan saya tidak akan terbuka ini, tetapi ini adalah satu fail CSV yang sama dengan bukan 100 kakitangan, 914 00:39:55,420 --> 00:39:58,970 tetapi 800 pelajar, hanya dari Harvard, kerana Yale 915 00:39:58,970 --> 00:40:00,207 mempunyai rehat Oktober minggu ini. 916 00:40:00,207 --> 00:40:03,290 Dan ia seolah-olah seperti jenis satu perkara jerk lakukan kepada teks semua daripada mereka mengapa 917 00:40:03,290 --> 00:40:04,750 mereka tidak berada di dalam kelas pada hari cuti. 918 00:40:04,750 --> 00:40:05,250 Tak apa. 919 00:40:05,250 --> 00:40:08,310 Hanya pelajar Harvard hari ini di dalam fail itu. 920 00:40:08,310 --> 00:40:12,320 Dan sekarang mari kita kembali ke tetingkap terminal saya. 921 00:40:12,320 --> 00:40:13,710 Saya jenis saraf. 922 00:40:13,710 --> 00:40:22,000 >> OK jadi sekarang saya akan pergi ke dalam direktori, dan dot PHP teks PHP. 923 00:40:22,000 --> 00:40:24,950 Bagaimana kira-kira satu sukarelawan berani? 924 00:40:24,950 --> 00:40:26,690 Jadi, saya tidak mahu perkara ini kepada saya. 925 00:40:26,690 --> 00:40:28,410 OK, datang ke atas. 926 00:40:28,410 --> 00:40:29,162 Siapa nama anda? 927 00:40:29,162 --> 00:40:29,662 MAYA: Maya. 928 00:40:29,662 --> 00:40:30,328 SPEAKER 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Naiklah, Maya. 930 00:40:31,610 --> 00:40:34,120 Baiklah. 931 00:40:34,120 --> 00:40:35,389 Mari kita lihat jika ia berfungsi. 932 00:40:35,389 --> 00:40:38,430 Saya meletakkan alamat e-mel saya sendiri dalam file-- nombor telefon saya sendiri dalam fail, 933 00:40:38,430 --> 00:40:40,110 supaya mudah-mudahan saya akan mendapat satu juga. 934 00:40:40,110 --> 00:40:40,819 Gembira Mengenali Anda. 935 00:40:40,819 --> 00:40:41,443 MAYA: Begitu juga. 936 00:40:41,443 --> 00:40:44,510 SPEAKER 1: Jadi apa yang anda perlu lakukan adalah tekan enter untuk menghantar 800 mesej teks, 937 00:40:44,510 --> 00:40:45,466 jika saya tidak lihat atas semula. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Nice. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Boleh mengambil sedikit masa, statistik, sehingga kita sampai ke e-mel address-- 942 00:40:58,430 --> 00:41:00,573 mesej teks itu di dalam bilik sekarang. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Mari kita berlama-lama dan lihat. 945 00:41:05,390 --> 00:41:06,940 >> PENONTON: [bersiul] 946 00:41:06,940 --> 00:41:08,270 >> SPEAKER 1: Oh, ya. 947 00:41:08,270 --> 00:41:09,230 >> PENONTON: Oh, gotcha. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> SPEAKER 1: Untuk gelung ialah- ini tidak lambat kerana PHP. 950 00:41:19,180 --> 00:41:21,810 Ini adalah perlahan kerana Gmail adalah pendikitan kami dan tidak 951 00:41:21,810 --> 00:41:25,170 membiarkan kita menghantar lebih daripada seperti satu e-mel sesaat. 952 00:41:25,170 --> 00:41:26,300 Apa-apa? 953 00:41:26,300 --> 00:41:29,990 Ini adalah satu perkara yang sukar bagi saya untuk menguji di rumah dengan hanya saya dan telefon salah saya, jadi. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Apakah yang diharapkan dari bot? 956 00:41:41,111 --> 00:41:41,610 Ya? 957 00:41:41,610 --> 00:41:42,110 Tidak? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Mengatakan ya. 960 00:41:46,620 --> 00:41:47,479 Tidak? 961 00:41:47,479 --> 00:41:49,374 Ia adalah dari rakan? 962 00:41:49,374 --> 00:41:49,874 Janggal. 963 00:41:49,874 --> 00:41:50,374 OKAY. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Cukup yakin ia bekerja walaupun. 966 00:42:00,090 --> 00:42:00,910 Uh oh. 967 00:42:00,910 --> 00:42:03,190 Mereka black-- oh, tunggu satu minit. 968 00:42:03,190 --> 00:42:04,280 Oh, anda tahu apa? 969 00:42:04,280 --> 00:42:06,100 Sebentar. 970 00:42:06,100 --> 00:42:07,802 Hanya Maya dan Saya-- Mia, ia? 971 00:42:07,802 --> 00:42:08,301 MAYA: Maya. 972 00:42:08,301 --> 00:42:12,110 SPEAKER 1: Maya, akan tahu apa yang saya lakukan salah di sini. 973 00:42:12,110 --> 00:42:14,890 Oh, tunggu satu minit. 974 00:42:14,890 --> 00:42:23,320 Saya rasa saya hanya menghantar 100 mesej teks kepada 555-1212. 975 00:42:23,320 --> 00:42:24,346 Bersedia. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Saya tidak boleh menang mana-mana tahun. 978 00:42:29,270 --> 00:42:30,180 OKAY. 979 00:42:30,180 --> 00:42:30,680 Maya? 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 Menetapkan bahawa dalam pengeluaran pos. 982 00:42:36,219 --> 00:42:36,718 Keparat! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Berikutan alamat. 985 00:42:40,390 --> 00:42:41,301 OK, berdiri. 986 00:42:41,301 --> 00:42:41,800 Maaf. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Ia menyakitkan setiap tahun. 989 00:42:47,080 --> 00:42:48,640 OK, satu masa. 990 00:42:48,640 --> 00:42:50,530 Ini baik. 991 00:42:50,530 --> 00:42:54,010 Saya sedang sebaliknya akan melakukan ini. 992 00:42:54,010 --> 00:42:55,470 Alamat cetak. 993 00:42:55,470 --> 00:42:56,030 OK, berdiri. 994 00:42:56,030 --> 00:43:01,340 Alamat cetak, kurungan i. 995 00:43:01,340 --> 00:43:02,710 Ya, saya suka itu. 996 00:43:02,710 --> 00:43:10,220 Dolar sign-- OK saya akan menjelaskan apa yang saya melakukan sebentar lagi, setelah saya menjalankan ini. 997 00:43:10,220 --> 00:43:11,670 Setiap tahun. 998 00:43:11,670 --> 00:43:13,125 OK, di sini kita pergi. 999 00:43:13,125 --> 00:43:15,750 Saya mempunyai just-- dan saya tidak mahu untuk menunjukkan nombor telefon semua orang, 1000 00:43:15,750 --> 00:43:17,740 tetapi Maya boleh mengesahkan dengan anggukan kepala, 1001 00:43:17,740 --> 00:43:20,800 bahawa dia melihat semua orang Nombor telefon dalam kelas 1002 00:43:20,800 --> 00:43:26,750 bahawa saya akan menyalin ke dalam program yang dikenali sebagai Gmail. 1003 00:43:26,750 --> 00:43:30,860 Dan jika di Gmail, apa yang kita nak cakap? 1004 00:43:30,860 --> 00:43:32,137 Rindu kamu. 1005 00:43:32,137 --> 00:43:33,220 Love-- itu bukan daripada saya. 1006 00:43:33,220 --> 00:43:35,230 Saya telah tidak memukul menghantar lagi. 1007 00:43:35,230 --> 00:43:39,450 Oleh itu, marilah kita pergi ke hadapan dan jangan ini, jika saya boleh zum masuk. 1008 00:43:39,450 --> 00:43:40,300 OKAY. 1009 00:43:40,300 --> 00:43:42,480 Jadi, saya menggunakan program yang dikenali sebagai Gmail sekarang. 1010 00:43:42,480 --> 00:43:44,490 Jika Maya, yang ingin anda klik butang Hantar, 1011 00:43:44,490 --> 00:43:46,970 kami akan meniru apa yang kod patut dilakukan. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Apa-apa? 1014 00:43:55,254 --> 00:43:56,062 >> [Bip] 1015 00:43:56,062 --> 00:43:56,870 >> PENONTON: Ya. 1016 00:43:56,870 --> 00:43:58,030 >> SPEAKER 1: Ya? 1017 00:43:58,030 --> 00:43:59,210 Keselamatan? 1018 00:43:59,210 --> 00:44:00,427 >> PENONTON: Ya. 1019 00:44:00,427 --> 00:44:01,260 SPEAKER 1: Miss you. 1020 00:44:01,260 --> 00:44:02,718 Dan saya akan menghantar yang lain. 1021 00:44:02,718 --> 00:44:06,060 Saya dihantar separuh kerana saya tidak fikir Gmail akan membiarkan mereka melalui. 1022 00:44:06,060 --> 00:44:12,410 Jadi hanya ingat, hari ini adalah hari bahawa anda belajar bahawa saya boleh menggunakan Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Itu adalah menakutkan. 1025 00:44:15,810 --> 00:44:17,140 Satu tepukan besar untuk Maya. 1026 00:44:17,140 --> 00:44:18,980 Terima kasih. 1027 00:44:18,980 --> 00:44:21,280 Baiklah, jadi. 1028 00:44:21,280 --> 00:44:22,210 apa 1029 00:44:22,210 --> 00:44:23,140 >> [Bip] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Kami mendapat beberapa bunyi bip, ya? 1032 00:44:26,580 --> 00:44:27,080 Baiklah. 1033 00:44:27,080 --> 00:44:30,590 Sekarang saya akan untuk mendapatkan 700 benar-benar e-mel tidak gembira kembali dari rakan sekelas. 1034 00:44:30,590 --> 00:44:32,400 Jadi sekurang-kurangnya kita akan melihat jika itu adalah berbaloi. 1035 00:44:32,400 --> 00:44:33,300 Jadi apa yang salah? 1036 00:44:33,300 --> 00:44:35,300 Saya akan mengetahui apa permasalahan yang salah selepas fakta, 1037 00:44:35,300 --> 00:44:38,340 tetapi hanya melihat bagaimana mudah ia adalah untuk melakukannya dalam PHP. 1038 00:44:38,340 --> 00:44:44,598 Jadi apa yang boleh kita benar-benar lakukan sekarang bahawa kami mempunyai ekspresi ini PHP. 1039 00:44:44,598 --> 00:44:45,970 Yang was-- itu adalah mengerikan. 1040 00:44:45,970 --> 00:44:46,480 Baiklah. 1041 00:44:46,480 --> 00:44:48,430 Sehingga adalah apa yang sepatutnya padam. 1042 00:44:48,430 --> 00:44:52,770 Ini telah saya ujian pagi ini pada saya telefon, screenshot sebenar telefon saya. 1043 00:44:52,770 --> 00:44:56,180 >> Tetapi sekarang mari kita mempertimbangkan mengapa yang kita telah memperkenalkan 1044 00:44:56,180 --> 00:44:57,840 semua barangan ini di tempat pertama. 1045 00:44:57,840 --> 00:45:01,625 Jadi matlamat bukan untuk menulis ini program-program yang 1046 00:45:01,625 --> 00:45:03,250 ditulis pada baris arahan, bukan? 1047 00:45:03,250 --> 00:45:05,000 Jadi saya menulis yang mudah hello program, saya menulis 1048 00:45:05,000 --> 00:45:09,155 program kecil yang tidak conditional, dan digunakan garis membaca dan sebagainya. 1049 00:45:09,155 --> 00:45:11,530 Dan dalam teori, saya hanya menulis satu program yang dihantar 1050 00:45:11,530 --> 00:45:14,290 800 mesej teks, memberikan atau mengambil 800. 1051 00:45:14,290 --> 00:45:16,830 Dan program yang semua masih berjalan pada baris arahan. 1052 00:45:16,830 --> 00:45:18,538 Dan itu sudah tentu adalah bukan web, bukan? 1053 00:45:18,538 --> 00:45:22,160 Matlamatnya sekarang adalah untuk mula menggunakan apa yang saya menuntut adalah lebih mudah untuk digunakan 1054 00:45:22,160 --> 00:45:24,720 bahasa, berani mengatakan bahawa yang lebih bahasa yang kuat dari segi 1055 00:45:24,720 --> 00:45:27,104 ciri-ciri yang datang dengan itu, untuk memulakan 1056 00:45:27,104 --> 00:45:29,850 menulis kod yang menjana laman web. 1057 00:45:29,850 --> 00:45:33,248 >> Jadi masa lepas dan minggu lepas, kita bercakap tentang HTTP dan HTML. 1058 00:45:33,248 --> 00:45:36,350 Dan apa yang baik tentang HTML adalah bahawa ia hanya teks tulin. 1059 00:45:36,350 --> 00:45:38,220 Dan teks sudah pasti sesuatu yang anda boleh 1060 00:45:38,220 --> 00:45:42,040 mencetak dengan betul-betul memanggil cetak f fungsi, atau fungsi cetak. 1061 00:45:42,040 --> 00:45:46,160 Dan sesungguhnya, itulah yang PHP adalah kini akan membolehkan kita lakukan. 1062 00:45:46,160 --> 00:45:48,610 Jadi antara contoh kita mempunyai kod sumber hari ini, 1063 00:45:48,610 --> 00:45:51,610 sebagai tambahan kepada beberapa kod bahawa saya meletakkan di sana masa yang lalu, 1064 00:45:51,610 --> 00:45:55,440 kita ada program seperti ini misalnya. 1065 00:45:55,440 --> 00:45:58,760 Froshims, atau Freshman Antara dinding Sukan, sebenarnya 1066 00:45:58,760 --> 00:46:01,500 salah satu daripada aktiviti ko-kurikulum pertama Saya terlibat dengan tahun yang lalu. 1067 00:46:01,500 --> 00:46:03,750 Dan rakan sebilik dan saya saya, dengan beberapa kanak-kanak lain di kampus, 1068 00:46:03,750 --> 00:46:05,280 digunakan untuk menjalankan program froshims itu. 1069 00:46:05,280 --> 00:46:07,420 Saya mendapat mesej teks saya sekarang. 1070 00:46:07,420 --> 00:46:14,030 >> Sekarang jadi kami, pada hari itu, jadi ini adalah 1996 atau lebih, terdapat internet yang, 1071 00:46:14,030 --> 00:46:17,395 tetapi tidak ada process-- terdapat ada laman web untuk froshims. 1072 00:46:17,395 --> 00:46:20,270 Dan jadi jika anda ingin mendaftar untuk bola sepak atau bola tampar atau apa sahaja, 1073 00:46:20,270 --> 00:46:22,240 anda akan mengisi perkara ini dipanggil sekeping kertas, 1074 00:46:22,240 --> 00:46:25,060 dan anda akan berjalan di Harvard kawasan, dan anda akan slaid 1075 00:46:25,060 --> 00:46:29,230 ke dalam slot mel daripada proctor, yang berada di Wigglesworth, salah satu asrama. 1076 00:46:29,230 --> 00:46:31,270 Dan ini yang telah didaftar. 1077 00:46:31,270 --> 00:46:33,570 Dan dia kemudian akan mengarang e-mel kepada anda 1078 00:46:33,570 --> 00:46:36,514 secara manual, sama seperti saya hanya lakukan di sini dengan Maya, 1079 00:46:36,514 --> 00:46:38,930 dan kemudian anda akan disahkan sebagai telah didaftarkan. 1080 00:46:38,930 --> 00:46:40,840 >> Jadi ini adalah seperti rendah tergantung buah-buahan, jadi untuk bercakap. 1081 00:46:40,840 --> 00:46:42,930 Ia adalah jenis bodoh yang kami menggunakan kertas untuk ini. 1082 00:46:42,930 --> 00:46:45,024 Saya mahu kita dapat untuk hanya pergi di laman web, 1083 00:46:45,024 --> 00:46:47,440 atau mempunyai mahasiswa pergi pada laman web, mendaftar untuk sukan, 1084 00:46:47,440 --> 00:46:50,398 dan hanya mengautomasikan banyak barangan ini dengan meletakkan nama-nama dan e-mel mereka 1085 00:46:50,398 --> 00:46:51,850 dan lain-lain ke dalam pangkalan data. 1086 00:46:51,850 --> 00:46:56,510 Dan sebenarnya, versi pertama laman web, menggunakan HTML super hodoh, 1087 00:46:56,510 --> 00:46:58,195 mungkin kelihatan seperti ini. 1088 00:46:58,195 --> 00:47:01,070 Ia sebenarnya, ironinya, lebih memalukan mencari daripada belakang ini 1089 00:47:01,070 --> 00:47:01,460 ketika itu. 1090 00:47:01,460 --> 00:47:02,890 Tetapi saya menggunakan bahasa pengaturcaraan. 1091 00:47:02,890 --> 00:47:06,060 Tidak PHP, tetapi dipanggil Perl, iaitu bahasa yang lebih tua, 1092 00:47:06,060 --> 00:47:07,251 tetapi hampir sama dalam semangat. 1093 00:47:07,251 --> 00:47:09,000 Dan saya hanya benar-benar mengajar kepada diri saya sendiri. 1094 00:47:09,000 --> 00:47:12,208 Dan ia membawa saya seketika untuk keluar, bertanya banyak soalan daripada rakan-rakan. 1095 00:47:12,208 --> 00:47:14,080 Tetapi idea-idea terdapat adalah betul-betul sama. 1096 00:47:14,080 --> 00:47:18,050 Kerana apa PHP telah benar-benar direka untuk bukan barangan baris arahan 1097 00:47:18,050 --> 00:47:20,450 kita hanya bermain dengan, tetapi untuk pengaturcaraan web. 1098 00:47:20,450 --> 00:47:24,960 >> Ia benar-benar terikat dalam ciri-ciri yang ditetapkan ke web, seperti berikut. 1099 00:47:24,960 --> 00:47:26,370 Ini adalah froshims. 1100 00:47:26,370 --> 00:47:28,720 Dan jika saya mahu mendaftar dalam borang ini, 1101 00:47:28,720 --> 00:47:30,930 ini agak hodoh, pasti, tetapi biarlah saya pergi ke hadapan 1102 00:47:30,930 --> 00:47:34,440 dan menjadi pelajar yang kurang selesa, dan apa sahaja sukan untuk Matthews, 1103 00:47:34,440 --> 00:47:35,630 klik Daftar. 1104 00:47:35,630 --> 00:47:39,780 Apa yang saya mahu dapat lakukan adalah mengemukakan maklumat dari borang, 1105 00:47:39,780 --> 00:47:42,400 tidak ke pelayan Google seperti kita lakukan masa lalu, benar-benar 1106 00:47:42,400 --> 00:47:47,100 menipu dengan menggunakan hujung belakang mereka, saya mahu melaksanakan kod backend saya sendiri. 1107 00:47:47,100 --> 00:47:51,410 Yang bermaksud menulis PHP kod yang tinggal di URL 1108 00:47:51,410 --> 00:47:54,180 bahawa data borang boleh dikemukakan kepada. 1109 00:47:54,180 --> 00:47:57,510 >> Dan kemudian kod anda, ditulis dalam PHP pada pelayan, 1110 00:47:57,510 --> 00:47:59,400 kemudian boleh bertindak balas kepada input pengguna. 1111 00:47:59,400 --> 00:48:03,287 Seperti namanya, atau tahap keselesaan, atau asrama, dan kemudian melakukan sesuatu dengannya. 1112 00:48:03,287 --> 00:48:05,120 Dalam kes ini, saya hanya bodoh dicetak keluar 1113 00:48:05,120 --> 00:48:06,750 teks, yang tidak semua yang cantik. 1114 00:48:06,750 --> 00:48:09,590 Tetapi anda boleh pasti bayangkan, jika anda tahu HTML, 1115 00:48:09,590 --> 00:48:13,010 dan anda akan segera tahu bagaimana untuk menjana HTML dengan f cetak, dan cetak, 1116 00:48:13,010 --> 00:48:16,500 dan fungsi yang sama, anda boleh pasti menjana halaman web lebih cantik yang mengatakan, 1117 00:48:16,500 --> 00:48:17,929 hey David, anda kini berdaftar. 1118 00:48:17,929 --> 00:48:20,220 Anda seorang yang kurang selesa pelajar dari Matthews, bukan? 1119 00:48:20,220 --> 00:48:23,880 >> Anda hanya boleh menggunakan sejumlah besar% ses, atau pendakap kerinting dan tanda dolar 1120 00:48:23,880 --> 00:48:27,750 notasi saya menggunakan masa yang lalu, untuk menjana teks yang lebih mesra pengguna 1121 00:48:27,750 --> 00:48:28,567 daripada ini. 1122 00:48:28,567 --> 00:48:30,150 Oleh itu, mari kita lihat pada fail ini satu. 1123 00:48:30,150 --> 00:48:34,666 Froshim sifar dot PHP kelihatan seperti ini. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Apabila saya menambah nilai CS50 IDE, sifar froshim kelihatan seperti ini. 1126 00:48:43,500 --> 00:48:45,700 Ini adalah froshim sifar dot PHP. 1127 00:48:45,700 --> 00:48:47,730 Dan apa yang anda perhatikan tentang fail ini? 1128 00:48:47,730 --> 00:48:49,506 >> PENONTON: [didengar] 1129 00:48:49,506 --> 00:48:50,922 SPEAKER 1: Maaf, sedikit lebih kuat? 1130 00:48:50,922 --> 00:48:53,250 PENONTON: [didengar] Ia semua dalam HTML. 1131 00:48:53,250 --> 00:48:57,130 Dan sebenarnya, ia adalah, kerana apa yang menarik tentang PHP 1132 00:48:57,130 --> 00:48:58,880 adalah bahawa ia telah direka menjadi, untuk lebih baik 1133 00:48:58,880 --> 00:49:02,110 atau untuk lebih teruk, bercampur dengan kod HTML. 1134 00:49:02,110 --> 00:49:05,850 Dan sebenarnya, walaupun ini fail, froshim sifar dot PHP, 1135 00:49:05,850 --> 00:49:11,470 mempunyai komen PHP di bahagian atas daripadanya, itu semua hanya HTML. 1136 00:49:11,470 --> 00:49:17,655 Tetapi sebaliknya, jika saya membuka, mari kita katakan, mendaftar sifar dot PHP, yang 1137 00:49:17,655 --> 00:49:19,550 hanya mempunyai komen yang besar di bahagian atas. 1138 00:49:19,550 --> 00:49:26,500 Ini juga kelihatan hampir keseluruhannya seperti HTML, kecuali untuk apa? 1139 00:49:26,500 --> 00:49:29,350 Line, apa, 21 kelihatan sedikit pelik. 1140 00:49:29,350 --> 00:49:32,739 >> Tetapi notis saya memasuki mod PHP dengan kurungan terbuka tanda tanya PHP. 1141 00:49:32,739 --> 00:49:33,780 Kemudian saya telah mendapat beberapa barangan. 1142 00:49:33,780 --> 00:49:36,724 Dan kemudian pada akhir baris yang hampir saya ada, tanda soal PHP. 1143 00:49:36,724 --> 00:49:38,390 Dan ini adalah apa yang saya maksudkan dengan bercampur. 1144 00:49:38,390 --> 00:49:41,910 Anda boleh menulis HTML yang anda hanya mahu pelayan untuk meludah keluar. 1145 00:49:41,910 --> 00:49:45,090 Tetapi jika anda ingin melakukan sesuatu partway dinamik melalui halaman, 1146 00:49:45,090 --> 00:49:47,699 seperti memasukkan nama saya atau asrama atau tahap keselesaan, 1147 00:49:47,699 --> 00:49:49,490 Saya boleh menggunakan fungsi seperti cetak r, yang 1148 00:49:49,490 --> 00:49:52,492 mencetak rekursi, yang hanya bermakna mencetak pembolehubah ini, format ia 1149 00:49:52,492 --> 00:49:53,200 yang anda mahu. 1150 00:49:53,200 --> 00:49:55,880 Ia benar-benar bukan untuk tujuan manusia, ia hanya 1151 00:49:55,880 --> 00:49:58,290 untuk debugging atau tujuan diagnostik. 1152 00:49:58,290 --> 00:49:59,460 Jadi itulah bagaimana saya melakukannya. 1153 00:49:59,460 --> 00:50:06,100 >> Jika saya sebaliknya pergi froshims dua dot PHP, melihat bahawa tindakan borang ini 1154 00:50:06,100 --> 00:50:09,680 tidak didaftarkan sifar dot PHP sebagai old-- yang sebelumnya sebenarnya adalah. 1155 00:50:09,680 --> 00:50:11,222 Tetapi ia didaftarkan dua dot PHP. 1156 00:50:11,222 --> 00:50:13,680 Jadi mari kita lihat bagaimana satu ini berkelakuan sedikit berbeza. 1157 00:50:13,680 --> 00:50:15,140 Jika saya pergi ke dalam versi dua. 1158 00:50:15,140 --> 00:50:20,430 Jika di sini, jika saya mendaftar sebagai David kurang, selesa, dari asrama untuk Mathews, 1159 00:50:20,430 --> 00:50:21,480 mendaftar. 1160 00:50:21,480 --> 00:50:23,770 Jadi kali ini ia berkata, anda berdaftar, tidak benar-benar. 1161 00:50:23,770 --> 00:50:25,370 Mari kita lihat apa yang saya lakukan di sini. 1162 00:50:25,370 --> 00:50:29,760 Jika saya melihat daftar dua titik PHP, ini mempunyai beberapa kod PHP lebih. 1163 00:50:29,760 --> 00:50:35,410 Ia lebih bersih sedikit, walaupun ia masih wrap sedikit panjang pada baris ini. 1164 00:50:35,410 --> 00:50:36,260 Perhatikan di sini. 1165 00:50:36,260 --> 00:50:40,300 Saya mencetak tag HTML saya, tag kepala saya, tag saya tajuk, kepala, badan. 1166 00:50:40,300 --> 00:50:45,410 >> Dan kemudian saya mula untuk mengatakan perkara seperti memasuki mod PHP. 1167 00:50:45,410 --> 00:50:48,540 Dan sebagainya tag itu, kurungan terbuka Tanda tanya PHP-- PHP berkata, 1168 00:50:48,540 --> 00:50:53,460 hey, pelayan, execute-- mentafsir barangan berikut sebagai PHP 1169 00:50:53,460 --> 00:50:55,030 sehingga anda melihat tanda akhir. 1170 00:50:55,030 --> 00:50:58,590 Dan walaupun anda mungkin tidak tahu apa-apa PHP selain daripada yang anda lihat setakat ini, 1171 00:50:58,590 --> 00:51:01,290 anda boleh jenis membaca ia agak intuitif. 1172 00:51:01,290 --> 00:51:10,670 Jika nama kosong, atau keselesaan adalah kosong, atau asrama kosong, apa yang saya lakukan? 1173 00:51:10,670 --> 00:51:12,830 Apa yang saya katakan kepada pengguna? 1174 00:51:12,830 --> 00:51:15,330 Anda perlu memberikan nama, keselesaan, dan asrama, dan sebagainya. 1175 00:51:15,330 --> 00:51:17,750 Yang lain, saya mengatakan anda berdaftar, juga tidak benar-benar. 1176 00:51:17,750 --> 00:51:19,190 >> Aku juga tidak mengatakan benar-benar kerana tidak ada dalam pangkalan data. 1177 00:51:19,190 --> 00:51:20,200 Saya tidak melakukan apa-apa dengan data. 1178 00:51:20,200 --> 00:51:22,408 Saya hanya membuang ia jauh untuk tujuan demonstrasi. 1179 00:51:22,408 --> 00:51:24,320 Sekarang saya jenis skimped melalui talian 22. 1180 00:51:24,320 --> 00:51:26,400 Ada lebih sintaks di sana, tetapi tanda dolar 1181 00:51:26,400 --> 00:51:28,320 menekankan jawatan adalah jenis yang menarik. 1182 00:51:28,320 --> 00:51:30,300 Dan ini adalah apa yang baik tentang PHP. 1183 00:51:30,300 --> 00:51:35,610 Dalam PHP, anda mempunyai apa yang dipanggil beberapa pembolehubah global super. 1184 00:51:35,610 --> 00:51:38,430 Mereka adalah jenis yang lebih penting daripada pembolehubah global. 1185 00:51:38,430 --> 00:51:41,370 Dan ini, semua modal yang mencukupi oleh itu, dilengkapi dengan PHP. 1186 00:51:41,370 --> 00:51:44,550 Jadi jika anda mempunyai pelayan yang mempunyai web server dipasang, seperti Apache, 1187 00:51:44,550 --> 00:51:49,390 dan anda memasang bahasa sokongan untuk PHP, tiba-tiba anda 1188 00:51:49,390 --> 00:51:52,250 boleh mula menggunakan super ini pembolehubah global dalam kod anda. 1189 00:51:52,250 --> 00:51:54,330 >> Dan apa yang baik tentang PHP adalah bahawa jika anda hanya 1190 00:51:54,330 --> 00:51:57,540 menulis fail yang berakhir dengan dot PHP, meletakkannya di pelayan web, 1191 00:51:57,540 --> 00:52:01,260 dan kemudian anda mengemukakan borang yang kepadanya melalui tindakan bahawa tag dan tag bentuk, 1192 00:52:01,260 --> 00:52:05,110 bahawa sifat tindakan dalam bentuk tag, PHP dan web 1193 00:52:05,110 --> 00:52:09,360 sepenuhnya angka bagaimana untuk merebut semua orang-orang pasangan nilai utama daripada 1194 00:52:09,360 --> 00:52:11,633 URL seperti soalan tanda q sama kucing, 1195 00:52:11,633 --> 00:52:14,782 ia akan memikirkan bagaimana untuk q dan kucing. 1196 00:52:14,782 --> 00:52:17,710 Jika anda menghantar foto, atau nama pengguna, atau kata laluan untuk suka Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP akan memikirkan untuk anda di mana semua data yang. 1198 00:52:21,360 --> 00:52:23,821 Dan ia hanya akan menyerahkan anda pelbagai bersekutu 1199 00:52:23,821 --> 00:52:27,560 dipanggil dolar jawatan tanda garis bawah, atau tanda dolar menekankan mendapatkan, 1200 00:52:27,560 --> 00:52:30,590 bergantung kepada sama ada anda menggunakan get atau pos penghujahan. 1201 00:52:30,590 --> 00:52:32,950 Dan ia hanya akan menyerahkan anda pembolehubah global super, 1202 00:52:32,950 --> 00:52:37,254 supaya jika anda mahu untuk mendapatkan sekurang-nama yang untuk setiap pengguna yang dikemukakan melalui web yang 1203 00:52:37,254 --> 00:52:41,894 bentuk, anda benar-benar hanya menyebut nama pembolehubah global yang super, quote, 1204 00:52:41,894 --> 00:52:43,380 unquote, nama. 1205 00:52:43,380 --> 00:52:46,144 Dan petikan, keselesaan unquote, dan petikan, asrama unquote. 1206 00:52:46,144 --> 00:52:48,810 Dan kita akan dapat melakukan ini dan banyak lagi dengan PHP. 1207 00:52:48,810 --> 00:52:50,540 Dan walaupun ini adalah sepintas badai pada itu, 1208 00:52:50,540 --> 00:52:51,980 kami akan menyelam di banyak lagi minggu depan. 1209 00:52:51,980 --> 00:52:54,247 Kami akan memperkenalkan pangkalan data supaya anda benar-benar 1210 00:52:54,247 --> 00:52:56,816 akan mula melaksanakan based-- e-dagang anda sendiri 1211 00:52:56,816 --> 00:52:59,150 seperti laman web dalam masa hanya seminggu. 1212 00:52:59,150 --> 00:53:02,750 Oleh itu, kita akan melihat masa depan, dan berharap anda mendapat mesej teks. 1213 00:53:02,750 --> 00:53:05,450 Bye. 1214 00:53:05,450 --> 00:53:06,950 >> [Bermain muzik] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [DOOR PEMBUKAAN] 1217 00:53:12,950 --> 00:53:14,475 >> SPEAKER 2: Hey. 1218 00:53:14,475 --> 00:53:15,350 SPEAKER 3: Apa yang berlaku? 1219 00:53:15,350 --> 00:53:17,750 SPEAKER 2: Apa yang anda buat? 1220 00:53:17,750 --> 00:53:19,850 SPEAKER 3: Bekerja pada satu set masalah. 1221 00:53:19,850 --> 00:53:21,050 SPEAKER 2: Nice. 1222 00:53:21,050 --> 00:53:22,550 Tinggi lima. 1223 00:53:22,550 --> 00:53:23,150 >> [HIGH FIVE] 1224 00:53:23,150 --> 00:53:25,584 >> Apa ialah- uh, apa yang kau buat di sini? 1225 00:53:25,584 --> 00:53:26,750 SPEAKER 3: Hanya melepak. 1226 00:53:26,750 --> 00:53:28,134 Baru pulang dari gym. 1227 00:53:28,134 --> 00:53:30,050 Saya tidak dapat membantu tetapi notis apabila kita tinggi Fived, 1228 00:53:30,050 --> 00:53:32,450 bahawa anda mempunyai tangan yang agak kasar. 1229 00:53:32,450 --> 00:53:33,950 Adakah anda pergi ke gym? 1230 00:53:33,950 --> 00:53:35,150 >> SPEAKER 2: No. 1231 00:53:35,150 --> 00:53:36,650 No. 1232 00:53:36,650 --> 00:53:38,450 >> SPEAKER 3: Dude, anda kelihatan cukup besar. 1233 00:53:38,450 --> 00:53:45,950 Yang tidak baik, kerana semua orang tahu 8-ball adalah orang besar di kampus. 1234 00:53:45,950 --> 00:53:48,050 Tinggi lima. 1235 00:53:48,050 --> 00:53:49,550 >> SPEAKER 2: Eh, tidak. 1236 00:53:49,550 --> 00:53:50,450 Tidak, saya fikir saya baik. 1237 00:53:50,450 --> 00:53:52,300 Saya rasa saya baik. 1238 00:53:52,300 --> 00:53:54,097