[Powered by Google Translate] [Minggu 8]
[David J Malan] [Universiti Harvard]
[Ini adalah CS50.] [CS50.TV]
>> Selamat kembali.
Ini adalah CS50, dan ini adalah permulaan 8 minggu.
Beberapa peluang minggu ini,
di kalangan mereka ini bercakap di sini, di mana sesetengah makanan akan dihidangkan.
Untuk maklumat lanjut lihat slaid yang berada dalam talian.
Dan juga satu lagi acara minggu ini oleh Thomas Carriero kita sendiri.
Beliau adalah salah satu daripada felo bekas CS50 pengajaran kepala yang kini berada di Dropbox,
dan dia lelaki yang ketagih kita dengan anda tahu apa,
jadi jika anda mahu lebih kepala itu ceramah mereka petang ini untuk Dropbox dan banyak lagi.
CS50 makan tengah hari Jumaat ini.
Adakah menyertai kami jika anda mampu, 1:15, seperti biasa, di Bomba dan Ais.
>> Dan sekarang kita menyelam ke dalam sesuatu yang dipanggil Seminar.
Seminar CS50 kami, ingat, ini kelas pilihan yang diketuai oleh felo pengajaran
kursus pembantu dan rakan-rakan kursus,
orang dari kumpulan di kampus dipanggil ABCD, yang merupakan kumpulan
technophiles di kampus, serta kumpulan yang dipanggil HCS,
Persatuan Harvard Komputer, mahasiswa yang sama berminat dalam pengkomputeran.
Jadual seminar tahun ini termasuk seminar mengenai Android dan IOS dan JavaScript
dan PHP, Unix, Vim, dan banyak lagi, jadi sedar bahawa seminar ini akan datang.
Jika anda ingin RSVP untuk mana-mana mereka pergi ke URL bahawa terdapat.
Kami kemudian akan posting di laman web kursus masa dan tempat apabila mereka dimuktamadkan.
Tetapi tahu bernilai ada 5 tahun seminar terdahulu boleh didapati dalam talian,
ramai yang masih sangat banyak semasa dari segi teknologi anda mungkin
mahu bermain dengan untuk projek akhir anda, jadi kepala di sana untuk beberapa video yang tersedia daripadanya.
>> CSS, anda yang biasa dengan CSS sudah,
apakah ia secara ringkas?
Apakah CSS?
Ia melata style sheet, dan apakah itu bermakna?
Apakah yang lakukan untuk kita, CSS?
Baiklah, mari kita memanaskan dengan satu yang lebih mudah, HTML, bahasa tokokan hiperteks.
Apakah yang lakukan untuk kita?
Sesiapa di semua?
Ia semakin benar-benar janggal bertanya soalan-soalan ini.
HTML, bahasa tokokan hiperteks.
Ya? Tidak?
[Sambutan pelajar didengar]
Okay, baik, ia membolehkan kita untuk menandakan teks untuk dipaparkan dalam pelayar web.
Ia bukan satu bahasa pengaturcaraan.
Ia sememangnya bahasa markup, yang bermakna ia mengarahkan pelayar bagaimana untuk memaparkan
maklumat, jadi penjelmaan mudah ini seperti yang kita telah melihat
adalah sesuatu yang super mudah seperti boldfacing, terbuka kurungan b tertutup kurungan mengatakan
membuat teks ini berani, dan itulah sebenarnya hanya salah satu daripada banyak cara
di mana kita boleh berbuat demikian, dan sesungguhnya, hari ini pendekatan yang lebih baik
stylizing laman web anda, membuat perkara yang berani dan italik
dan berpusat dan dibenarkan dan sebagainya, tidak dilakukan melalui tag HTML sahaja
tetapi dengan teknik yang dipanggil CSS, melata style sheet.
Ini adalah satu bahasa kepada dirinya.
Ia juga tidak merupakan bahasa pengaturcaraan tetapi-
semua orang, ini adalah Dan, yang menyimpan menyertai kami hari ini.
Beberapa masalah teknikal. Tidak menjadi masalah.
>> CSS membolehkan kami untuk menyesuaikan dgn mode halaman
dengan menetapkan apa yang dipanggil hartanah, jadi mari kita lihat ini
dengan cara beberapa contoh asas.
Biar saya pergi ke dalam perkakas hari ini.
Saya mempunyai sumber 8 Isnin direktori di sini,
dan saya akan pergi ke direktori yang dipanggil CSS di mana kita mempunyai sekumpulan keseluruhan
fail yang menunggu kita di sini,
dan dalam folder ini kita mempunyai, misalnya, search0.html dari masa lalu.
Sekarang, ingat dengan search0 kami meninggalkan nota ini
oleh jenis melaksanakan Google atau benar-benar hanya akhir hadapan untuk seminggu atau lebih yang lalu,
dan notis bahawa kita mempunyai beberapa tag baru di sana.
Kami mempunyai h1 untuk tajuk besar, berani,
bentuk, yang membolehkan kita untuk benar-benar mempunyai bentuk HTML untuk input pengguna.
Tindakan, apa makna atribut tindakan
tag bentuk HTML?
Apa makna tindakan ini,?
Saya hanya akan melakukan ini hari ini.
Tindakan adalah destinasi untuk mana borang itu akan diserahkan.
Hakikat bahawa yang mengatakan tindakan = "google.com / carian"
bermakna bahawa apabila pengguna mengklik butang Hantar atau setaraf
apa-apa jua bentuk bidang yang mereka mengisi borang akan dihantar tidak kepada pelayan kami
atau perkakas kita tetapi untuk URL yang tertentu di Google.
Dan kaedah ia akan menggunakan dipanggil mendapatkan,
dan mendapatkan, untuk sekarang, hanya satu teknik untuk lulus maklumat bersama-sama untuk pelayan web
dengan cara URL, jadi mari kita lihat cepat kembali pada bagaimana kerja-kerja ini.
>> Perhatikan bahawa terdapat input yang namanya q
jenis yang teks dan kemudian input kedua jenis mengemukakan
nilai yang CS50 Cari, dan sesungguhnya, jika kita membuka fail ini di sini,
search0.html, ia adalah satu bentuk mudah super,
dan jika saya mencari sesuatu seperti sains komputer
dan kemudian tekan enter atau klik pada CS50 Search
melihat bahawa apa yang berlaku adalah di luar untuk mendapatkan Google
Saya telah khusus berakhir pada URL ini di atas,
google.com / search? q = komputer + sains,
dan sains komputer adalah jelas apa yang saya menaip masuk
+ Hanya bermakna yang mana aksara ruang,
dan ia dilakukan oleh pelayar hanya untuk memastikan bahawa tidak ada
kekeliruan dan ruang putih di URL sebenar.
Dan kemudian q, sudah tentu, adalah nama parameter.
Kami tidak pernah melihat bagaimana kita, pengaturcara, sebenarnya boleh mengakses q lagi.
Kita boleh menganggap bahawa Google tahu apa yang perlu dilakukan dengan ini di sini,
tetapi kita akan sampai ke sana dalam masa yang sewajarnya hari ini.
>> Tetapi izinkan saya mengambil lihat sebaliknya pada search1.html,
yang kelihatan sedikit berbeza kerana saya memutuskan bahawa borang ini di sini adalah hanya sedikit tempang.
Maksud saya, ia adalah di sebelah kiri atas.
Ada benar-benar tidak estetika ia, dan jadi saya mahu menyesuaikan dgn mode ini
sedikit lebih seperti Google, yang homepage, ingat,
walaupun anda mungkin tidak melawat yang kerap, kelihatan seperti ini hari ini pada Halloween.
Jika kita sebaliknya membuka versi 1 fail ini, 1.html search, saya telah berpusat.
Masih cantik hodoh, tetapi sekurang-kurangnya sekarang saya telah mula untuk mengawal estetika halaman ini,
bukan sahaja menandakan daripadanya.
Mari kita lihat di search 1, dan ada benar-benar hanya satu perbezaan di sini,
yang mungkin melompat keluar pada anda, atau mungkin tidak,
tetapi apa garis satu atau coretan perbezaan?
>> Ada sifat ini gaya, jadi ia ternyata bahawa dalam HTML
kebanyakan unsur, kebanyakan tags boleh mempunyai atribut gaya kepada mereka,
dan dalam atribut gaya yang adalah rentetan dipetik,
dan bahawa rentetan dipetik adalah CSS.
Anda boleh meletakkan lembaran gaya melata di sana
dengan menyatakan ia sebagai nama harta
diikuti oleh kolon diikuti oleh nilai.
Ini adalah jenis keputusan reka bentuk malang beberapa tahun lalu
CSS adalah bahasa kepada dirinya,
tetapi syntactically ia sangat berbeza dari HTML.
Dalam kes ini, kita lihat bahawa di dalam laman web, saya yang ditulis dalam HTML,
Saya mempunyai CSS di dalam petikan ini, dan konvensyen untuk CSS
adalah bahawa anda mempunyai apa yang dipanggil harta yang diikuti oleh, sekali lagi, kolon,
diikuti oleh nilai harta itu, jadi tidak ada tanda yang sama.
Tiada petikan tambahan.
Ia hanya nilai ini kolon dipisahkan pasangan kunci,
dan garis teks tidak apa yang dikatakan.
Ia menjajarkan teks dalam badan halaman, yang benar-benar berani halaman,
di tengah-tengah.
>> Okay, keputusan akhir maka, perlu jelas, ini.
Tidak semua seksi itu, tetapi sekurang-kurangnya ia berpusat dan sedikit lebih seperti Google sebenar.
Tetapi bagaimana jika saya bukannya membuka versi 2 ini
dan menunjukkan turun di sini tag baru sama sekali?
Sekarang di kepala halaman saya, yang sebelum ini hanya mempunyai yang tag
dalam semua contoh-contoh terdahulu?
Ia hanya mempunyai ini, tajuk.
Sebentar ago tag kepala kelihatan seperti ini.
Sekarang sebaliknya ia mempunyai dalam tag gaya,
dan ini juga, saya memohon maaf, syntactically kelihatan sangat berbeza dari HTML,
tetapi anda mendapat digunakan untuk ia, di mana di dalam tag gaya
Saya kini boleh faktor apa yang seketika lalu
sifat, atribut gaya, dan saya boleh meletakkan ia di bahagian paling atas halaman saya.
>> Mengapa?
Nah, ini adalah satu langkah ke arah pembersihan perkara, sama seperti dalam penulisan kod C
kadang-kadang kita akan menulis fungsi faktor fungsi biasa.
Ia hanya pembersih yang sedikit untuk memulakan pemfaktoran keluar perkara-perkara seperti estetika
kepada satu lokasi pusat bukannya mempunyai semua menyebar di seluruh HTML anda.
Ini juga melakukan apa yang ia berkata, walaupun terdapat sedikit sintaks baru.
Ini sini adalah pemilih, dan badan hanya bermakna pilih unsur badan
dan memohon sifat berikut kepada ia.
Nah, harta itu adalah sama.
Untuk mengukur baik saya telah ditambah dengan koma bernoktah di hujung,
yang cenderung untuk menjadi konvensyen, dan saya telah dibalut seluruh harta
pendakap kerinting kerana saya sebenarnya boleh mempunyai perkara yang berbeza di sini.
Saya sebenarnya boleh mengatakan sesuatu seperti warna: biru;
>> Sekarang ini juga tidak akan menjadi satu langkah ke arah apa-apa semua yang cantik,
tetapi jika saya kini kembali ke versi 2 saya sekurang-kurangnya sekarang membuat badan saya
halaman teks biru semua.
Butang tetap sama kerana itulah input. Ia bukan teks tulen.
Tetapi segala-galanya yang teks, seperti CS50 Cari top up, adalah dalam biru fakta.
Sekali lagi, semua yang kita lakukan sekarang adalah membuang dari tag tubuh, notis,
atribut gaya, dan kita telah difaktorkan it out di sini.
Ini bukan satu peningkatan yang besar, tetapi jika kita mengambil langkah ini satu lagi
notis apa yang boleh kita lakukan dalam versi ketiga ini di sini.
>> Pada search3.html laman web adalah hampir sama
kecuali untuk apa yang tag baru sekarang?
Link, jadi yang satu ini tidak sangat tepat dinamakan
kerana anda tidak menghubungkan dalam erti hyperlink diklik.
Sebaliknya, anda apapun melakukan bersamaan # termasuk dalam C
mana link tag dengan sifat href
dan atribut rel mengatakan pergi ke hadapan
dan salinan tampal kandungan fail yang dipanggil search3.css di sini, pada asasnya.
Ia tidak cukup berbuat demikian, tetapi itulah semangat ia.
Ia mengatakan pergi terbuka yang fail, search3.css,
dan merawat ia seolah-olah pengguna telah ditaip betul di sini di kepala halaman
hanya seperti yang saya lakukan dalam contoh sebelum ini.
Search3.css Sementara itu, adalah agak mudah.
Ia benar-benar hanya mengandungi tepat apa yang seketika lalu
tag gaya, tetapi saya telah difaktorkan ia keluar di sini untuk fail tersendiri.
>> Walaupun kita telah tidak menghabiskan banyak masa pada semua dalam HTML atau pengaturcaraan web
hanya intuitif apa motivasi, mungkin, untuk pemfaktoran keluar
coretan kecil walaupun CSS ke dalam fail tersendiri
dan kemudian termasuk dengan tag pautan ini di sini?
[Sambutan pelajar didengar]
Okay, ia adalah lebih mudah untuk membaca dalam erti kata bahawa anda mempunyai CSS anda dalam fail CSS.
Anda mempunyai HTML anda dalam fail HTML anda, jadi ia adalah lebih mudah dibaca dalam erti kata itu.
Apa lagi yang mungkin menarik? Yeah.
[Sambutan pelajar didengar]
Ya, jadi anda boleh termasuk ia banyak kali, jadi sekarang kita melakukan ini
contoh asas dengan fail individu, tetapi andaikan anda sebenarnya membuat
sebuah laman web yang sebenar seperti anda akan untuk pset 7 atau projek akhir anda mungkin,
dan anda mahu mempunyai pelbagai laman web, seperti yang sudah pasti biasa pada
Dunia sebenar Wide Web, dan ia akan menjadi jenis tempang
perlu salin dan tampal warna biru yang sama
dan teks yang sama sejajar pusat dalam setiap satu daripada halaman tersebut.
Sebaliknya, ia masuk akal yang lebih faktor, sama seperti kita telah dilakukan dalam C
dengan fail h, meletakkan ia di satu tempat pusat,
dalam kes ini search3.css, dan kemudian membenarkan sebarang fail
di laman web anda untuk benar-benar termasuk fail tersebut dengan cara tag ini di sini dalam 16 baris.
Seperti biasanya kes itu, kita bermula dengan versi 0, yang jenis kerja
tetapi tidak semestinya yang terbaik, dan dengan setiap langkah,
1 search, search 2, dan kini carian 3 kita telah mengambil langkah-langkah bayi
ke arah reka bentuk yang pembersih sedikit dan lebih persediaan
muka surat yang lebih kompleks yang kita boleh lakukan di hujung jalan.
>> Izinkan saya membuka satu contoh lepas di sini hanya untuk menunjukkan
halaman yang lebih bergaya, tetapi pada mulanya, mari kita melihat HTML.
Ini adalah search4.html, dan notis bahawa struktur ia adalah hampir sama
kecuali untuk pengenalan tag baru, Div.
Div adalah tag yang memperkenalkan pembahagian halaman.
Anda boleh berfikir ini sebagai segi empat tepat yang tidak kelihatan.
Ia semacam mewujudkan petak kawasan di dalam laman web
bahawa anda boleh menyesuaikan dgn mode semua sekali gus.
Apa yang saya lakukan di sini adalah seperti berikut.
Dalam tag badan saya, yang telah berada di sana sepanjang,
Saya katakan mewujudkan satu bahagian halaman di sini melalui talian 45 melalui 47,
dan ini bermakna asasnya memberi saya sebuah segiempat tepat yang tidak dapat dilihat di sepanjang bahagian atas halaman.
Kemudian memberi saya sebuah segiempat tepat yang kedua, walaupun tidak dapat dilihat, di bawah bahawa,
dan mengenal pasti dengan kandungan nama, dan kemudian akhir sekali,
berikan saya bahagian ketiga halaman di bawah
dipanggil ID.
Kita akan melihat mengapa saya telah melakukan ini dalam hanya seketika,
tetapi konsep saya mempunyai satu bahagian header.
Saya mempunyai satu bahagian kandungan, dan saya mempunyai satu bahagian footer halaman
walaupun ini adalah hanya dalam markup.
Pengguna tidak akan melihat 3 segiempat tepat,
tetapi jenis struktur sana di sebalik tabir
mereka sebenarnya hadir.
>> Sekarang, siapa peduli? Mengapa sebenarnya melakukan ini?
Segala-galanya pada halaman yang sama seperti yang kita telah melihat sebelum ini.
Berikut adalah borang saya. Berikut adalah input saya, input saya, satu baris dan sebagainya.
Berikut adalah imej, walaupun, jadi kita akan melihat di mana ini datang dari dalam hanya seketika.
Berikut adalah kaki, yang baru, hanya kerana saya mahu memperkenalkan
beberapa kandungan lanjut di sini.
Jika kita tatal ke atas notis bahawa ID div ini adalah header.
ID div ini adalah kandungan, dan ID yang satu ini adalah footer.
Dan seperti namanya, apabila anda mempunyai sifat ID
dalam HTML, oleh definisi ia unik mesti mengenal pasti
salah satu elemen, salah satu tag dalam halaman anda.
Beban sepenuhnya pada anda untuk ingat bahawa anda mempunyai ID pengepala sudah.
Anda mempunyai pengaki. Anda mempunyai ID kandungan sudah.
Komputer tidak akan memikirkan apa ID yang ada adalah untuk anda,
jadi anda secara tidak sengaja boleh memberi 2 tag ID header,
dan yang hanya akan menjadi salah.
>> Anda perlu ingat apa yang anda telah mencipta,
tetapi sebaik sahaja anda telah dilakukan bahawa notis apa yang kita boleh lakukan di sini.
Saya kini boleh menentukan di tag gaya saya di atas
atau sebandingnya dalam fail CSS saya, jika saya masih menggunakan versi itu,
Saya boleh mengatakan # header, dan apa yang bermakna adalah bahawa apa sahaja tag
di dalam laman web ini mempunyai ID header
dan #, hanya dengan konvensyen manusia, mewakili ID.
Tanda tajam atau paun tanda mewakili ID.
Header adalah nama yang saya berikan.
Ini bermakna memohon harta CSS
apa jua tag dalam halaman ini menanggung ID header.
Perjanjian yang sama di sini.
Memohon ini harta, yang berlaku untuk menjadi sama, pada sebarang elemen
yang ID adalah kandungan, dan kemudian turun di sini
notis saya mendapat sedikit penjaga dengan nota kaki.
Apa-apa unsur yang ID adalah pengaki, yang ada boleh hanya satu mengikut definisi,
pergi ke hadapan dan membuat saiz fon yang kecil,
berani font berat, margin 20 piksel.
>> Apa maksudnya?
Ia hanya margin pada bahagian atas, bawah, dan kiri dan kanan.
Ini bermakna memberi saya margin 20 pixel tidak kelihatan di sekelilingnya
hanya untuk menolak segala-galanya dari sedikit, seperti yang anda mungkin lakukan dalam Word,
Microsoft Word atau Pages atau sebagainya.
Dan kemudian teks menyelaraskan pusat.
Mari kita lihat hasil akhir, dan kemudian kami akan kembali sehingga satu coretan baki CSS sana.
Ini adalah versi 4, terakhir kami untuk contoh carian, dan ia banyak, seksi banyak.
Kini, dalam keadilan, saya hanya Googled "google font logo penjana."
Dan yang membenarkan saya untuk membuat GIF, format imej, yang kelihatan seperti bahawa terdapat.
Malah, anda boleh melakukan ini juga.
Kami mempunyai "google fon logo penjana."
>> Mari kita lihat jika kita boleh lakukan ini.
Okay, saya fikir ini adalah laman web saya digunakan.
Kita boleh mengatakan Ec 10, misalnya, dan membuat mereka sendiri.
Anda boleh bermain dengan hari ini semua lama dan kemudian klik kanan pada
dan kemudian memuat turun GIF sebenar, yang adalah semua yang saya telah lakukan.
Dan sesungguhnya, itulah sebabnya dalam HTML saya, ingat, di sini
Saya mempunyai tag imej, yang kita lihat secara ringkas minggu lepas
yang sumber logo.gif.
Dan apa lagi adalah motivasi untuk mempunyai sifat ini alt,
sifat ini alternatif?
Yeah.
[Sambutan pelajar didengar]
Baik, jadi 2 sebab benar-benar, jika pelayar tidak boleh tarik sehingga imej
kerana anda mempunyai sambungan rangkaian perlahan atau imej rosak
atau sesuatu seperti itu sekurang-kurangnya manusia boleh melihat "CS50 carian,"
dan kemudian juga atas sebab-sebab kemudahan.
Jika anda mempunyai pengguna yang buta dan menggunakan pembaca skrin
dan oleh itu jelas tidak boleh melihat imej mereka boleh sekurang-kurangnya
mendengar teks jika komputer mereka bercakap kepada mereka.
>> Secara umum, ini adalah yang terbaik mengamalkan apabila ia datang kepada akses halaman
supaya pengguna walaupun dalam keadaan yang boleh mendengar atau melihat, jadi untuk bercakap,
apa yang ia adalah bahawa pada halaman anda.
Ada satu perkara lain yang saya lakukan di sini
yang sedikit menarik, dan kita akan melihat lebih lanjut mengenai ini dalam masalah menetapkan 7
melalui salah satu seluar pendek yang diketuai oleh salah seorang daripada felo pengajaran.
Tetapi # kandungan merujuk kepada tag
yang ID adalah kandungan, tetapi kemudian ada watak ruang, dan kemudian ada input perkataan.
Nah, apa yang menarik tentang CSS adalah bahawa anda boleh
merujuk kepada tag dalam jenis halaman hierarki,
dan apa coretan cara CSS adalah mencari tag
yang ID adalah kandungan, dan kemudian memohon sifat berikut
semua tag input yang keturunan kandungan,
itulah yang dilekukan di dalamnya.
Indentasi, sekali lagi, adalah hanya penting untuk komputer, tidak kepada manusia,
tetapi oleh konvensyen kita inden perkara seperti yang kita pergi lebih jauh ke dalam halaman,
jadi ini bermakna memohon margin 5 piksel kepada mana-mana elemen input
itulah tempat di dalam atau bersarang di dalam
elemen yang ID kandungan.
>> Siapa yang yang diguna pakai?
Nah, terdapat sebenarnya hanya 2 guys di sini.
Perhatikan bahawa dalam borang ada adalah 2 input,
sebagai telah ada untuk semua contoh-contoh ini.
Tetapi notis bahawa mereka 2 input berlaku akan bersarang di dalam,
walaupun sedikit mendalam, lapisan beberapa lekukan,
dalam tag ID yang merupakan kandungan.
Apa maknanya?
Jika kita pergi ke pelayar sini anda boleh melihat pernah jadi sedikit-
izinkan saya zoom dalam bahawa terdapat sedikit padding antara butang
dan antara medan teks.
>> Biar saya mematikan buat sementara waktu itu.
Biar saya pergi sehingga CSS saya, dan biarlah saya pergi ke hadapan dan hanya
menukar margin dari 5 piksel 0 piksel.
Biar saya pergi ke hadapan dan kemudian menyimpan fail, pergi balik ke enjin carian
dan menambah nilai, dan menonton pertengahan halaman.
Semuanya mendapat dimampatkan bersama-sama, dan apabila saya mula-mula disebat contoh ini
Saya fikir yang kelihatan bodoh dengan medan teks dan kemudian butang di bawah.
Saya mahu ke pad sedikit, jadi saya memperkenalkan margin.
Apa yang kita tidak akan melakukan dalam kuliah pergi melalui sedozen beberapa
CSS sifat yang wujud kerana, sekali lagi, terdapat perkara-perkara seperti saiz fon,
berat fon, margin, teks menyelaraskan, dan beberapa dozen yang lain,
dan kami akan merujuk anda dalam masalah menetapkan 7 tutorial pelbagai talian
dan rujukan yang membolehkan anda untuk memilih perkara-perkara ini sehingga.
Tetapi apa yang benar-benar penting pada akhir hari
>> adalah untuk memahami bagaimana perkara-perkara ini digunakan.
Sekali lagi, jika kita mempunyai tag gaya dalam mana
boleh pergi selectors, jenis pengenalan yang menentukan
siapakah anda ingin memohon sifat-sifat,
dan kemudian anda meletakkan harta sebagai sepasang nilai utama
dipisahkan oleh noktah bertindih dan kemudian berakhir dengan semicolon,
atau anda boleh rip semua daripada itu dan memasukkannya ke dalam fail CSS yang berasingan
kepada dirinya.
Baiklah, apa-apa soalan mengenai konsep
atau gambar besar CSS?
Anda sekali lagi akan melihat lebih daripada itu dalam pset 7,
tetapi kita akan menyimpan ia secara amnya agak mudah.
Tidak? Semua hak.
Ia adalah masa untuk bahasa pengaturcaraan sebenar,
dan kita akan kembali kepada sedikit CSS dalam bentuk contoh.
PHP adalah sebenarnya bahasa yang hebat diakses
bahawa ia adalah syntactically hampir bersamaan dengan C.
Dalam erti kata lain, jika anda tahu C, anda tahu untuk PHP sebahagian besar,
dengan sekurang-kurangnya syntactically, walaupun terdapat beberapa ciri-ciri baru
dan beberapa konsep baru yang kita akan perlu untuk melihat.
>> Tetapi bagi sebahagian besar, sekarang bahawa kita peralihan dari C PHP
kebanyakan barangan yang baru adalah benar-benar dalam gambaran yang lebih besar,
bagaimana anda menggunakan bahasa untuk program di Web yang bertentangan dengan
pada baris arahan atau segera berkelip seperti yang kita telah lakukan setakat ini.
Untuk rujukan, terutamanya dengan pset 7 dan seterusnya projek akhir,
jangan mengambil kesempatan daripada URL ini di sini jika anda ingin untuk membaca sehingga pada formaliti PHP.
Ia sebenarnya suka buku teks dalam talian percuma dengan berkesan,
dan anda juga akan mendapati bahawa apa yang benar-benar baik tentang PHP
adalah bahawa terdapat beratus-ratus fungsi yang datang dengan ia,
manakala di C anda tidak semestinya mempunyai akses kepada
lebih fungsi daripada berada di perpustakaan matematik, perpustakaan CS50.
Dalam PHP dan banyak bahasa moden, Python dan Ruby di kalangan mereka,
anda mendapat akses kepada supaya fungsi yang lebih banyak, yang bermakna anda mendapat untuk menulis
banyak kod yang kurang kerana anda boleh berdiri di atas bahu orang lain
yang telah menulis perkara-perkara tertentu untuk anda.
>> Mari kita mengambil pelancongan cepat sintaks PHP dan kemudian menulis beberapa contoh.
Apa yang baik tentang PHP pertama dan utama
yang ada tiada fungsi utama.
Jika anda mahu menulis program dalam PHP anda hanya mula menulis kod,
dan anda tidak perlu bimbang tentang utama.
Ada int tidak. Ada pulangan tidak.
Tiada argv, argc yang diperlukan apabila anda menulis program.
Sebaliknya anda hanya boleh mula menulis kod, dan ini adalah sebahagian
kerana PHP adalah apa yang dipanggil bahasa ditafsirkan.
C telah disusun, dan ia disusun dalam erti kata bahawa anda mula
dengan kod sumber, jalankan melalui dilafaz, yang adalah pengkompil,
dan akhirnya selepas beberapa beberapa langkah-langkah yang anda akan mendapat kod objek, 0 dan 1s.
PHP dan Python dan Ruby dan Pearl dan lain-lain
pelbagai jenis bahasa yang anda tidak menyusunnya.
Anda tidak pergi dari kod sumber untuk 0 dan 1s.
Anda hanya menjalankan kod sumber, dan anda menjalankan kod sumber
dengan bertulis dalam fail teks biasa, berakhir. php dalam kes ini
bukan c, dan apa program tidak pada komputer anda
ia benar-benar menafsirkan garis kod anda oleh baris demi baris.
>> Dalam erti kata lain, bukannya menulis program dan menjalankan program
langsung anda dan bukannya menulis program dengan fail yang berakhir dalam php.
Kemudian anda menjalankan program sebenar dipanggil php.exe, jika anda pada Windows,
atau hanya PHP jika anda berada pada Mac OS atau Linux,
dan anda berikan sebagai input kepada program PHP kod sumber anda sendiri,
dan tujuan dalam hidup adalah untuk membaca atas kod anda ke bawah, kiri ke kanan,
dan melakukan apa sahaja yang anda telah memberitahu ia lakukan.
>> Mari kita lihat apa ini akan bermakna syntactically.
Dalam PHP kita mempunyai keadaan.
Slaid ini adalah sama dengan apa yang anda lihat kembali dalam 1 minggu
kerana syntactically syarat, IFS dan IFS lain dan lain dalam PHP
kelihatan sama seperti ini.
Apabila ia datang kepada ungkapan boolean mereka pergi untuk melihat sama seperti ini.
Apabila ia datang kepada Anding perkara-perkara bersama-sama sebagai booleans ia akan kelihatan sama seperti ini.
Beralih kelihatan sama, dan anda mendapat manfaat tambahan dalam PHP
bahawa suis dalam C hanya boleh menukar pada char atau int.
Anda tidak boleh menghidupkan nilai rentetan.
Dalam PHP anda sebenarnya boleh mempunyai satu ungkapan
yang merupakan pembolehubah yang kandungannya adalah rentetan,
dan anda sebenarnya boleh melakukan perbandingan rentetan dalam cara intuitif yang sebenar,
tidak penunjuk perbandingan, untuk memutuskan sama ada untuk melakukan kes i atau j atau sesuatu yang lain.
Kita akan melihat yang berpotensi sebelum panjang.
>> Gelung terlalu hebat adalah sama.
Untuk gelung mempunyai pengawalan, keadaan, dan beberapa bilangan update.
Walaupun gelung juga wujud dalam PHP.
Adakah manakala gelung juga wujud dalam PHP,
dan array wujud dalam PHP, tetapi di sini mana sintaks bermula untuk mendapatkan sedikit berbeza,
tetapi konsep adalah sama, dan konsep yang benar-benar adalah sama
kerana mereka berada dalam 0 Minggu dengan Scratch.
Pertama sekali ialah tanda $.
Ini adalah keputusan reka bentuk dalam PHP di mana sebarang pemboleh ubah
dalam PHP oleh reka bentuk bermula dengan tanda $.
Tiada X, Y, lebih Z. Ia kini $ X, $ Y, $ Z hanya kerana.
Ia adalah sesuatu yang perlu diingat, dan kini pada sebelah kanan
ini kelihatan serupa dengan array,
tetapi kita menggunakan kurungan persegi di sini.
Dalam PHP dan JavaScript, kerana akhirnya kita akan melihat,
untuk mengisytiharkan array anda lakukan kurungan persegi terbuka dan tertutup kurungan persegi,
dan kemudian anda mempunyai senarai dipisahkan koma nilai, sama ada ints
atau tali atau aksara, apa sahaja yang anda mahu, dalam ungkapan bahawa terdapat.
>> Sekarang, bagaimana kita melakukan sesuatu seperti ini di C?
Apakah sintaks untuk statik mengisytiharkan pelbagai nombor diketahui?
Ia adalah pendakap kerinting, perbezaan begitu kecil di sini, tetapi dalam kedua-dua PHP
dan akhirnya hidupkan ia hanya menggunakan kurungan persegi, jadi benar-benar
detail hanya menarik di sini adalah tanda $ bagi nama pembolehubah
dan juga kurungan persegi, dan ada satu perkara yang ingin tahu
yang telah ditinggalkan serta di sebelah kiri tanda =.
Apa yang hilang bahawa kita telah menghendaki untuk minggu sekarang? Yeah.
[Sambutan pelajar didengar]
Saiz, jadi tidak ada menyebut saiz array.
Terus terang, tiada menyebut kurungan persegi di sebelah kiri
tanda =, dan apa lagi hilang dari garisan?
Yeah. >> [Sambutan pelajar didengar]
Jenis, jadi apa yang menarik dalam tertentu mengenai PHP
adalah bahawa ia bukan merupakan bahasa yang amat ditaip sebagai C,
dan itu sangat ditaip dalam erti kata bahawa anda mesti mengatakan char,
anda mesti mengatakan int, anda mesti mengatakan apungan.
>> Bila-bila masa anda mahu pembolehubah anda perlu memberitahu dilafaz apa jenis.
PHP adalah sedikit lazier.
Ia longgar ditaip dalam erti kata yang
anda boleh mempunyai terapung dan aksara dan rentetan
dan ints dan sebagainya, tetapi bahasa itu sendiri
tidak benar-benar peduli apa yang anda meletakkan di dalam pembolehubah.
Anda tidak perlu untuk memaklumkan terlebih dahulu apa jenis data
akan dalam pembolehubah.
Ia terpulang kepada anda, jadi ini adalah bagus
bahawa anda tidak perlu bimbang kerana banyak tentang menaip data
dan bimbang apa hujah anda dan sebagainya.
Ini juga bermakna akhirnya fungsi dalam PHP akan dapat kembali
sama ada int an kebanyakan masa, dan mungkin sekali-sekala
mereka akan kembali bool, palsu boolean, misalnya, untuk menandakan bahawa sesuatu yang silapnya.
Ini memberikan kita beberapa upsides, tetapi ia juga akan menjadikan kita jenis oleh reka bentuk
sedikit lazier apabila ia datang untuk menaip data.
>> Apa lagi yang ada perlu diingat di sini?
Pembolehubah kelihatan agak seperti ini, jadi $ s = "hello, dunia."
Itulah mungkin inferable daripada contoh sebelumnya,
dan kita mempunyai satu lagi jenis gelung.
Yang satu ini kita sebenarnya akan melihat sekali-sekala kerana ia agak berguna,
foreach membina.
Dalam kes ini, gelung foreach mengambil dalam kurungan 3 perkataan biasanya,
$ Sesuatu yang pertama, yang adalah apa yang pelbagai yang anda mahu untuk melelar lebih daripada ahli-ahli,
maka benar-benar kata kunci sebagai, dan kemudian akhir sekali,
ubah nama lain yang anda dapat untuk memilih.
Ia boleh menjadi foo, bar, atau unsur,
dan apa yang membina ini tidak
jika array $ mengandungi 10 unsur
pada setiap lelaran ini pelbagai-maaf, pada setiap lelaran gelung ini
elemen pembolehubah yang dipanggil akan perlu dikemaskini
untuk menjadi elemen pertama dalam array, maka elemen kedua dalam array,
maka unsur ketiga array, sekali gus obviating keperluan
untuk melakukan notasi kurungan persegi sedikit menjengkelkan dan
$ I dalam untuk indeks ke dalam array.
PHP melakukan semua kerja itu untuk anda dan pada setiap lelaran
hanya tangan anda Elemen seterusnya dari pelbagai
tanpa anda perlu tahu tentang atau mengambil berat tentang lokasi indeks angka.
>> Dan kemudian akhir sekali, untuk sekarang, ada satu ciri lain PHP
yang akan menjadi sangat berguna, terutamanya apabila kita mula pengaturcaraan di Web,
dan yang dikenali sebagai array bersekutu.
Array yang kita tahu setakat 20 saat yang lalu
dan untuk 8 minggu yang lalu berangka diindeks array,
jenis tatasusunan tradisional di mana indeks adalah ints,
0, 1, 2, semua cara sehingga.
Array bersekutu adalah banyak lebih berkuasa.
Mereka membenarkan anda untuk mempunyai kunci yang sewenang-wenangnya,
indeks sewenang-wenangnya dan nilai-nilai yang sewenang-wenangnya.
Manakala dalam pelbagai tradisional ia adalah 0, 1, 2,
dalam pelbagai bersekutu anda boleh mempunyai indeks
atau kekunci foo mana nilainya adalah bar.
Anda kemudiannya boleh mempunyai satu lagi kunci yang namanya Baz dan yang nilai qux.
>> Sekali lagi, bodoh sains komputer generik nama pemboleh ubah di sini,
tetapi persoalannya adalah bahawa pelbagai ini tidak mempunyai kurungan 0 atau pendakap 1.
Ia sebaliknya akan mempunyai pendakap foo dan pendakap Baz.
Ini adalah banyak lebih versatil bahawa kita akan dapat mengaitkan
perkataan dengan perkataan lain, kunci dengan nilai sepenuhnya sewenang-wenangnya,
dan kita akan dapat untuk mendapatkan nilai-nilai kembali dalam masa yang berterusan
kerana di bawah hood apa pelbagai bersekutu
benar-benar adalah jadual hash.
Ingatlah bahawa jadual hash membolehkan anda untuk dimasukkan ke dalam beberapa input
suka meletakkan di David perkataan jika anda mahu memasukkan Daud ke dalam beberapa jenis kamus,
dan kemudian anda mendapatkan kembali beberapa nilai biasanya.
Dalam kes ejaan, benar atau palsu.
Daud atau apa sahaja perkataan di dalam atau tidak ada di dalam kamus.
Pelbagai bersekutu adalah benar-benar hanya satu jadual hash,
tetapi ia adalah penjelmaan pengguna yang lebih mesra.
Seperti yang kita akan lihat, ia akan membolehkan kita untuk melakukan beberapa perkara
sangat, sangat mudah.
>> Mari kita lihat pada beberapa asas PHP
contoh dan lihat apa yang kita boleh lakukan dengan bahasa ini.
Biar saya pergi ke hadapan dan membuka dalam direktori sumber kami hari ini
fail dipanggil hello1.php.
Fail ini komen lebih daripada ia adalah kod sebenar,
jadi biarlah saya sebenarnya membuang semua komen dari fail
dan sekarang anda mungkin program PHP yang paling mudah di sini.
5 baris, dan beberapa daripada mereka adalah ruang putih,
jadi notis beberapa perbezaan utama di sini.
Fail dipanggil hello1.php.
Barisan pertama, walaupun, adalah <? Php.
Serupa dalam semangat kepada HTML,
bahawa jujukan aksara memberitahu komputer
"Hei, komputer, di sini datang program kita berada di dalam PHP."
Ia membuat pasti ia tidak keliru bahawa ia adalah beberapa bahasa lain.
Line 2 adalah ruang putih yang menarik.
Baris 3 adalah kawan lama kita printf,
kali ini dalam konteks PHP.
PHP mempunyai versi tersendiri printf yang berkelakuan sama,
jadi ini hanya akan mencetak "hello, dunia."
Dan kemudian tag ini bertentangan di sini,>, bermakna itulah ia untuk kod PHP saya.
>> Mari kita lihat bagaimana untuk menjalankan ini.
Saya akan kembali ke tetingkap terminal saya di sini.
Saya akan pergi ke dalam direktori PHP saya.
Perhatikan bahawa kita mempunyai sekumpulan keseluruhan fail, salah satu yang pertama adalah hello.php.
Biar saya pergi ke hadapan dan menjalankan ini hello1.php,, masukkan.
Kebenaran ditolak. Okay.
Bagaimanakah kita perkara-perkara seperti ini tetap pada masa lalu?
Apa itu? >> [Sambutan pelajar didengar]
Kita perlu membaca dan menulis, tetapi biarlah saya melakukan ls-l.
Ingat ini output agak samar di mana hello1
seolah-olah boleh dibaca dan ditulis oleh saya
tetapi dibaca oleh orang lain.
Ia ternyata ini sebenarnya tidak merupakan satu langkah ke arah yang betul.
Perbezaan, sekali lagi, dengan bahasa yang ditafsirkan
anda tidak menjalankan program secara langsung.
Anda bukannya menjalankan jurubahasa dan bawanya ke kod
bahawa anda telah ditulis supaya ia boleh mentafsirkan ia baris demi baris.
Dalam kes ini, jurubahasa atau program Saya sebenarnya mahu menjalankan
adalah benar-benar dipanggil PHP.
>> Di suatu tempat pada cakera keras ini perkakas terdapat program
orang lain wrote dipanggil PHP, atau pada Windows php.exe.
Apa yang saya akan lakukan di sini adalah saya akan sebenarnya menjalankan PHP
tetapi memberi ia sebagai hujah baris arahan kod yang saya tulis,
dan kemudian saya akan zum keluar dan tekan enter.
Ia berjalan program saya untuk saya, atas ke bawah, kiri ke kanan.
Biar saya pergi ke hadapan dan membuka varians sedikit ini.
Dalam notis hello2.php bahawa ini terlalu
kebanyakannya komen, jadi biarlah saya menghilangkan mereka sebagai gangguan,
dan apa yang jelas berbeza sekarang mengenai fail ini?
Ada ini barisan baru, agak samar di atas.
Dalam baris 1 #! / Bin / php.
Bin adalah satu konvensyen pada Linux dan Mac OS binari,
jadi / bin bermakna ini adalah folder yang mengandungi sekumpulan binari
yang diprogramkan, salah satu daripadanya ialah PHP.
The #! digelar shebang,
yang merupakan cara yang cepat untuk mengatakan ia, dan apa ini bermakna
adalah bahawa apabila anda menjalankan program ini kini terdapat petunjuk di atas fail
yang memberitahu komputer apa jurubahasa untuk menggunakan.
>> Ia mendapat sedikit menjengkelkan jika anda terpaksa untuk memberitahu pengguna anda dan pelanggan anda
"Hei, kita menulis program ini dipanggil hello1.php."
Apa yang anda perlu lakukan adalah selama-lamanya menjalankan PHP dan kemudian nama program ini.
Terus terang, ia hanya akan menjadi lebih bagus untuk menjalankan hello1.php,
dan sememangnya, kita boleh jika kita melakukan perkara-perkara berikut.
Biar saya pergi ke hadapan dan melakukan ls-l, dan notis dalam hello2 ia masih hanya membaca menulis
dan kemudian membaca membaca, jadi saya tidak boleh lagi melakukan ini, hello2.php.
Tetapi kita memperkenalkan pernah begitu ringkas masa lepas, arahan chmod.
Jika saya lakukan chmod x +, yang bermaksud semua executability ditambah,
dan kemudian hello2.php dan kemudian ls-l lagi notis apa yang berubah.
Satu, Linux menunjukkan saya nama fail hijau untuk menyampaikan idea
bahawa ia laku, tetapi yang lebih penting, di sebelah kiri
melihat bahawa sedikit yang mewakili x bagi laksana kini telah ditetapkan.
Apa ini sekarang bermakna saya boleh berlari ./hello2.php seperti biasa,
tekan enter, dan kerana shebang di atas fail
itulah petunjuk, sekali lagi, untuk Linux yang mengatakan
menggunakan jurubahasa ini untuk menjalankan fail ini.
Jangan bimbang tentang memaksa pengguna untuk sebenarnya menaip.
>> Dan apa yang bagus sekarang ialah ia jenis tidak relevan kepada pelanggan saya atau rakan-rakan saya
apa bahasa saya menulis program ini, jadi saya boleh pergi ke hadapan dengan mv
dan menamakan semula perkara ini untuk hello2, misalnya.
Dan kini jika saya lakukan ./hello2
dan zum keluar program saya terus berjalan.
Ini sambungan fail konvensyen manusia yang perlu
untuk sesuatu seperti dilafaz dan Buat yang mencari mereka.
Tetapi untuk PHP, saya boleh panggil ini apa-apa lanjutan fail yang saya mahu.
Saya boleh menipu dunia ke dalam pemikiran bahawa saya benar-benar baik di Ruby,
dan saya boleh menulis hello2.rb dan kemudian jalankan ini,
dan Voilà, sekarang saya mempunyai versi Ruby, yang adalah satu pembohongan yang lengkap.
Tetapi sambungan fail adalah tidak bermakna
jika fail boleh laksana dan ini tanda-tanda khas pada bahagian atas fail.
>> Kini, sebagai mengetepikan, biar saya tunjukkan anda dengan cepat versi 3,
yang jenis helah berguna untuk mengetahui.
Dalam hello3 saya melakukan sesuatu yang sedikit salah
bahawa saya akan mengemaskini kod sumber dalam talian.
Dalam 3 versi ternyata bahawa pada kebanyakan komputer Linux
ada satu program yang dipanggil plates untuk alam sekitar,
dan apa yang anda boleh lakukan di sini adalah jika anda tidak mempunyai idea di mana PHP
dipasang pada hard drive tempatan, kerana sesungguhnya ia boleh berbeza berdasarkan pada komputer
bahawa seseorang itu menggunakan, plates hanya berkata dijalankan plates,
yang adalah pada sistem yang paling, dan memikirkan di mana PHP adalah.
Hanya helah biasa supaya anda tidak perlu bimbang tentang mencari mana program.
Tetapi jika anda melakukan penjagaan untuk mengetahui mana program dan anda tidak dijaga setakat
anda boleh menggunakan arahan yang.
>> Izinkan saya zoom out dan jenis yang php,
dan notis ia memberitahu saya ia sebenarnya dalam usr / bin / php.
Ia adalah jenis satu pembohongan. Ia juga dalam bin.
Ia hanya menunjukkan saya hit pertamanya.
Jika anda pernah tertanya-tanya mana dilafaz, yang dilafaz, itulah di usr / bin / dilafaz,
yang membuat, usr / bin / membuat, dan apa yang bermakna adalah semua masa ini
anda mungkin telah menaip usr / bin / dilafaz memasuki untuk menjalankan dilafaz,
tetapi ia jenis membosankan untuk berbuat demikian, jadi beberapa folder
seperti usr / bin dan bin dianggap mungkir
jadi komputer tahu untuk melihat di dalamnya untuk anda.
Sebarang pertanyaan mengenai penulisan program, Dunia super super Hello mudah
dalam PHP dan kemudian berjalan?
Kerana sekarang kita akan mula memperkenalkan sintaks lebih menarik.
Baiklah, di sini kita pergi.
Program-program ini kita telah melihat sebenarnya mereka semua sebelum.
>> Jika saya membuka, sebagai contoh, mari kita buat beer1.php,
kita tidak akan pergi melalui beberapa versi ini, tetapi apa yang saya lakukan
saya duduk dan ia dicurahkan atau ditukar
kod C saya untuk kod PHP di sini.
Kebanyakan bahagian atas fail adalah komen di sini.
Ia ternyata terdapat satu fungsi baru kita perlu dipanggil readline.
GetString, ingat, dari seterusnya Minggu 0 adalah satu perkara yang CS50.
PHP datang dengan fungsi tersendiri mesra pengguna dipanggil readline
yang mengambil masa 1 hujah yang menyatakan prompt
yang anda mahu untuk menunjukkan kepada pengguna, dan apa readline tidak
ia kembali apa-apa jenis pengguna.
Dalam kes ini, saya mengisytiharkan pembolehubah yang dipanggil $ n.
Saya menyimpan di dalamnya nilai pulangan readline
selepas menyebabkan pengguna dengan rentetan ini.
Hanya untuk sandaran, untuk benar-benar menjalankan perkara ini, izinkan saya pergi ke hadapan
dan menjalankan beer1.php php.
Berapa banyak botol akan ada? Mari kita hanya melakukan 2 kali ini.
Enter. Itu semua.
>> Program ini berfungsi sama dengan versi C dari minggu lalu.
Tetapi syntactically mari kita lihat apa yang berbeza.
Selepas saya mendapat int dari notis pengguna bahawa saya melakukan beberapa semakan ralat,
dan jika n adalah kurang daripada 1 saya berhenti dan saya hendak mencetak keluar
mesej maaf kepada pengguna dan keluar dengan 1.
Ini juga adalah sedikit berbeza.
Dalam C apa yang kita lakukan? Dalam C kita kembali 1.
Dalam PHP anda keluar dengan 1, yang terus-terang saya fikir sedikit lebih intuitif
kerana anda benar-benar keluar program.
Semua hak, dan kemudian turun di sini lagu menjengkelkan adalah sama syntactically
kecuali bagi pemboleh ubah, jadi di sini selaras 24 seterusnya
notis saya untuk gelung adalah hampir sama,
tetapi saya mempunyai $ di hadapan i dan n,
dan apa juga hilang daripada 26 baris yang kita telah pada masa lalu
apabila mengisytiharkan i ubah?
Ada jenis no.
Ia adalah betul dalam PHP untuk mengatakan int.
Anda hanya tidak perlu untuk berbuat demikian.
Komputer, jurubahasa PHP adalah cukup bijak untuk menyedari
bahawa jika anda meletakkan nombor dalam $ saya ia akan merawat ia
sebagai nombor untuk anda.
Dan kemudian turun di sini kita palam dalam $ i, $ i, $ i - 1.
Semua itu adalah sama, dan kemudian turun di sini kita lakukan "Wow, itu menjengkelkan" printf
dan kemudian keluar (0).
>> Sekali lagi, Fleet di sini adalah bahawa walaupun kita akan menghabiskan agak
sedikit masa pada PHP, sudah tentu berbanding apa yang kita lakukan pada C,
ia adalah hampir sama, dan sebagainya apa yang kita akan lakukan hari ini dan minggu depan
dan seterusnya memberi tumpuan benar-benar pada beberapa idea-idea baru.
Hanya untuk melihat bahawa satu perkara lain tidak menterjemahkan lebih dari C,
ini adalah program super mudah kita lakukan dalam 1 Minggu
atau 2 yang cubed nilai.
Tetapi apa yang menarik pada masa tentang program ini adalah bahawa ia
memperkenalkan konsep fungsi adat bertulis bahawa kita menulis.
Sintaks dalam PHP adalah hampir sama.
Berikut adalah program saya top up.
Notis lagi hadir adalah apa-apa tanggapan utama.
Saya mula menulis kod, dan ini adalah apa yang akan disempurnakan oleh jurubahasa.
Saya hendak mencetak keluar x ialah kini 2, mungkin.
Kemudian saya menuntut cubing ...
Kemudian saya memanggil fungsi kiub dan lulus dalam $ x
dan memberikan nilai pulangan kepada $ x.
Kemudian saya mendakwa bahawa ia cubed, dan kemudian saya katakan ini, yang diharapkan
akan mengatakan x kini 8.
Sintaks untuk fungsi dalam PHP pernah jadi sedikit berbeza.
Sekali lagi hilang adalah jenis pulangan.
Sekali lagi hilang adalah jenis pulangan dan juga hilang apa jenis lain?
[Sambutan pelajar didengar]
Well, okay, yang baik. Mari kita kembali di tempat kedua.
>> Kami tidak mempunyai, misalnya, int sini.
Kami tidak, misalnya, telah int sini kerana, sekali lagi, dalam PHP
anda hanya tidak perlu dan tidak perlu berbuat demikian,
tetapi terdapat kata kunci ini baru yang dipanggil fungsi.
Dalam PHP ia adalah hampir jelas sedikit kerana apabila anda mahu fungsi
anda benar-benar mengatakan fungsi, anda memberikan nama dan kemudian senarai dipisahkan koma
jika mana-mana hujah.
Tidak perlu untuk mengatakan batal atau apa-apa seperti itu, dan kemudian pulangan adalah sama,
$ * $ * $ A.
Apa juga hilang? Sammy menunjukkan ini di sini.
Pada bahagian atas fail sepenuhnya hadir dalam PHP juga adalah prototaip.
Ini juga adalah oleh reka bentuk.
Bahasa dan jurubahasa seperti PHP adalah lebih bijak daripada C pernah berada
dalam penyusun seperti dilafaz.
>> Recall dilafaz bahawa, jika anda tidak memberitahu bahawa kiub wujud,
jika anda tidak beritahu yang printf wujud dengan prototaip
atau dengan # include, baik, ia akan menjerit pada anda dan tidak juga menyusun kod anda.
PHP dan lebih bahasa moden banyak yang lebih bijak apabila ia datang kepada ini.
Mereka akan mengambil ia ke atas diri mereka untuk membaca melalui semua kod anda
dan kemudian menjerit pada anda hanya jika ia mendapati mana-mana kiub.
Ia tidak kisah jika kiub adalah di bahagian bawah atau atas atau walaupun dalam fail beberapa berasingan.
Bahasa PHP dan serupa kini cukup pintar untuk melihat ke hadapan
pada segala-galanya sebelum deeming anda setelah membuat kesilapan.
Di manakah yang meninggalkan kita?
>> Mari kita buat satu contoh lepas di sini dalam keadaan,
dan jika saya membuka notis conditions2.php terlalu
sintaks sini adalah hampir sama.
Saya menggunakan readline bukannya GetString, tetapi garis yang sama seperti sebelum ini,
"Saya ingin integer sila."
Saya kemudian mempunyai keadaan jika, else if, dan kemudian lain,
tetapi fungsi program ini adalah juga sama dengan apa yang kita lakukan minggu lalu,
jadi jika saya menghadapi perkara ini, php-conditions2,
dan saya memberikan nombor seperti 23 -
Saya mengambil nombor positif. Jika saya memberikan ia -1 saya memilih nombor negatif.
Jika saya memberikan ia 0 sesungguhnya aku mengambil 0.
Jadi yang mengambil berat tentang semua ini?
Nah, salah satu jenis yang menyeronokkan senaman di sini
bagi saya sekurang-kurangnya adalah untuk kembali dan lihat berapa cepat saya boleh melaksanakan pset 5,
pset ejaan.
Ingat bahawa terdapat fail ini dipanggil speller.c,
dan terdapat fail yang dipanggil dictionary.c.
Apa yang saya lakukan ialah saya jenis menghabiskan beberapa minit dan saya ditukar kod C
kod PHP, dan kita tidak akan menghabiskan banyak masa di pengeja
kerana seperti dalam pset 5 anda tidak benar-benar perlu
banyak menghabiskan masa di pengeja sendiri kerana perhatian anda adalah pada kamus.
>> Cukup untuk mengatakan bahawa jika anda membaca melalui pengeja,
fail ini di sini, ia adalah cukup banyak bersamaan dengan kod C
kami memberikan anda untuk pset 5.
Saya baru sahaja menambah beberapa $ di tempat-tempat.
Saya telah menukar nama fungsi tertentu jika mereka tidak wujud dalam PHP.
Ada satu perkara tambahan di sini, preg_match,
yang merupakan cara yang sedikit penjaga melakukan sesuatu, tetapi kita akan kembali yang akhirnya.
Tetapi dalam jangka pendek, pengeja hampir sama, dan jika anda melihat pada bahagian bawah sangat
apa yang ia akhirnya memuntahkannya keluar adalah ini di sini,
perkataan silap eja, perkataan di dalam kamus, perkataan dalam teks.
Baiklah, jadi apa yang menarik sekarang adalah seperti berikut.
Pada bahagian atas fail saya saya memerlukan dictionary.php.
Sama seperti C # include PHP mempunyai fungsi khas yang dipanggil memerlukan
yang cukup banyak melakukan perkara yang sama, memerlukan fail dipanggil dictionary.php.
Bagaimana saya boleh pergi tentang melaksanakan pset 5?
Biar saya pergi ke hadapan dan membuka fail di sini.
Izinkan saya mengambil rujukan sedikit di sini.
Dan biarlah saya mencipta fail baru dan mula memanggil dictionary.php ini.
Izinkan saya meletakkan ia dalam folder lain supaya kita boleh lakukan ini hidup.
Dan sekarang saya akan zum masuk
Saya akan memulakan fail PHP saya dengan kurungan terbuka php ditutup kurungan.
Dan kemudian di sini terdapat beberapa fungsi yang saya perlu untuk melaksanakan untuk pset 5,
jadi biarlah saya mula melaksanakan beberapa orang,
jadi cek fungsi, yang terpaksa mengambil perkataan dalam sebagai hujah.
Kami akan berbuat demikian dan datang kembali ke dalam seketika.
>> Terdapat beban fungsi, yang mengambil dalam apa sebagai hujah?
Kamus, jadi fail bahawa saya sebenarnya mahu beban.
Terdapat saiz fungsi, yang tidak mengambil apa-apa hujah
dan terdapat fungsi-apa yang lain?
Membongkar, yang tidak mengambil apa-apa hujah yang sama ada.
Ini adalah 4 fungsi yang saya perlu kini melaksanakan dalam PHP,
dan apa yang saya akan lakukan adalah pergi ke hadapan dan melakukan ini.
Banyak anda menggunakan jadual hash di pset 5,
jadi biarlah saya pergi ke hadapan dan membuat jadual hash dalam PHP.
Selesai.
Itu memberikan saya jadual hash. Nah, mengapa?
Satu, pembolehubah dipanggil $ jadual, hanya nampak idea jadual hash.
Kurungan persegi, walaupun, ingat, mewakili apa?
Array, tetapi dalam tatasusunan PHP tidak perlu berangka diindeks.
Mereka juga boleh menjadi array bersekutu,
yang bermakna anda boleh mempunyai kunci sewenang-wenangnya dan nilai-nilai.
>> Banyak seperti dalam pset 5, orang-orang yang melakukan pelaksanaan jadual hash
anda mungkin dimasukkan perkataan dan kemudian dimasukkan ke dalam rantaian senarai yang dipautkan,
atau anda disimpan nilai suatu tempat yang benar atau sesuatu yang bermaksud sedemikian.
Anda entah bagaimana teringat hakikat bahawa perkataan berada di sana.
Buat masa sekarang, yang akan menjadi jadual hash saya,
dan sebagainya sekarang untuk pergi tentang melaksanakan fungsi cek
Saya hanya perlu melihat di dalam jadual yang hash
dan lihat jika perkataan ada.
Apa yang saya akan lakukan adalah saya akan katakan jika-
katakan isset, yang merupakan fungsi PHP yang benar-benar hanya bermakna adalah set utama,
jadi isset ($ jadual [$ perkataan],
dan jika demikian kembali benar.
Itu sahaja. Itulah pset 5 dalam PHP.
Nah, dalam keadilan, okay.
Lain kembali palsu, jadi ia tidak ada.
Apa yang benar-benar berlaku di sini?
Nah, jika jadual-atau jadual hash sini lebih amnya
adalah pelbagai bersekutu yang bermakna anda boleh indeks ke dalamnya
dengan perkataan seperti "perkataan," dan anda perlu untuk mendapatkan kembali beberapa nilai.
>> Kami jenis mendapatkan satu langkah di hadapan diri kita.
Ia akan menjadi jenis bagus jika kita sebenarnya dimuatkan fail yang pertama,
jadi beban tidak cukup sebagai mudah, tetapi biarlah saya pergi ke hadapan dan menyiapkan
pelaksanaan yang benar-benar cepat beban.
Biar saya pergi ke hadapan dan mengatakan perkataan mendapat kamus fail.
Fungsi fail dalam PHP membuka fail
dan pulangan kepada anda pelbagai semua perkataan dalam fail itu,
hanya tangan mereka kepada anda.
Itu adalah sakit yang besar juga, tidak ia?
Sekarang foreach, ini adalah membina baru kami, foreach ($ perkataan $ perkataan).
Gelung ini akan untuk memulakan iterating lebih perkataan pelbagai
dan menyerahhak kepada pembolehubah $ perkataan setiap perkataan dalam fail
dari yang pertama kedua ketiga keempat sepanjang jalan
jadi saya tidak perlu untuk melakukan yang menjengkelkan [i] notasi dan sebagainya.
Dan apa yang saya akan lakukan untuk setiap kata-kata
menyimpannya dalam jadual saya dengan mengindeks ke dalam jadual
dan kemudian melakukan benar kerana untuk ingat
bahawa perkataan di dalam kamus saya semua saya benar-benar perlu lakukan
jenis flip sedikit dan mengatakan perkataan ini dalam jadual hash saya ada, benar.
Dan jika ia tidak ada, saya tidak perlu jelas meletakkan palsu,
sebaliknya saya perlu meletakkan palsu untuk semua kata-kata yang mungkin dalam alam semesta.
>> Ia mencukupi bagi saya hanya untuk menetapkan nilai indeks
kepada true jika perkataan sebenarnya dalam jadual hash saya.
Sekarang, saya memotong beberapa sudut di sini bahawa saya akan gelombang tangan saya pada sekarang,
tetapi kini fungsi beban dilakukan.
Saya memuatkan semua perkataan dari fail ke array.
Saya melelar lebih array bahawa, dan untuk setiap perkataan dalam pelbagai
Saya palamkan ia ke dalam jadual hash saya dengan 1 baris kod.
Ini adalah menyeronokkan. Anda tahu bagaimana kita boleh melaksanakan saiz sekarang?
Nah, saiz sentiasa cukup mudah, dalam keadilan.
Di sini kita hanya boleh melakukan kembali kiraan jadual.
Itu agak mudah juga, mengira bilangan perkara dalam jadual.
Itulah sebenarnya jenis bukan yang paling berkesan.
Saya mungkin perlu mempunyai saiz yang berubah-ubah yang dipanggil supaya kita boleh melakukannya
dalam masa yang berterusan, tetapi itu cukup mudah.
Oh, dan kemudian memunggah, jika kita benar-benar mahu menjadi dubur sini
kita boleh mengatakan bahawa bagaimana anda memunggah sesuatu.
Anda hanya menetapkan pembolehubah yang sama kepada pelbagai kosong,
dan ia menghilangkan segala-galanya yang berada di sana.
Tidak perlu untuk memanggil bebas.
>> Sekali lagi, saya telah memotong beberapa sudut, dan saya memohon maaf kerana set masalah menyerahhakkan 5
mungkin dalam C, tetapi jika kita kini pergi ke hadapan dan menjalankan ini,
Saya akan benar-benar menjalankan versi yang saya tulis terlebih dahulu
hanya supaya saya tidak membuat apa-apa kesilapan sintaksis jua.
Biar saya pergi ke hadapan dan menjalankan pengeja. Penggunaan adalah sama.
Berikut adalah fail kamus yang hanya mengandungi perkataan foo.
Berikut adalah fail teks yang hanya mengandungi foo bar.
Mari kita semak ejaan ini, jadi pengeja, dengan menggunakan fail ini kamus pada fail teks ini.
Ada satu perkataan silap eja, bar, dan Voilà.
Selesai dengan pset 5.
Mari kita rehat 5-minit di sini, dan kita akan kembali dan lebih pada PHP.
Baiklah, kita kembali.
Mari kita tidak membenci saya untuk seketika.
Mari kita kini sebenarnya melihat jika ini tidak positif
sebenarnya melaksanakan perkara ini dalam PHP.
Diberikan, ia mengambil masa 45 saat untuk melaksanakan.
>> Tetapi mari kita teruskan sekarang dan menjalankan perkara.
Biar saya pergi ke hadapan dan menjalankan versi C
ejaan, dan kami akan menjalankan pada salah satu fail terbesar,
yang merupakan Bible King James.
Dan bahawa di sini adalah dalam mari kita pergi ke folder C kami,
pengeja on King James 5.
Banyak perkataan silap eja.
Okay, jadi itulah output anda mungkin mendapat walaupun masa adalah sedikit berbeza,
jika anda mendapat segala-galanya berfungsi dengan betul, dan jadi masa dalam jumlah semak ejaan
Bible King James adalah 0,38 saat, jadi cukup baik menggunakan pelaksanaan yang.
Sekarang izinkan saya pergi ke versi PHP, yang kita hanya menulis.
Biar saya menjalankan pengeja pada Raja James.
Oop, mengabaikan kesilapan itu. Saya dalam direktori salah.
Speller on King James 5.
Hampir selesai.
>> Okay, pemerhati bijak akan menyedari bahawa adalah lebih daripada 3 saat di sana.
Itu adalah masa yang benar berjalan.
Ia ternyata bahawa ia mengambil masa untuk meludah banyak teks keluar
kerana buffering isu, tetapi cerita panjang pendek,
yang adalah 3.15 saat mesin masa, masa CPU,
berbanding apa yang ia seketika lalu?
Seperti 0,3.
Maksud saya, ia adalah suatu perintah magnitud lebih perlahan, jadi di mana adalah bahawa
kelembapan tidak masuk akal yang datang dari?
Well, seperti yang telah terjadi dengan keputusan reka bentuk yang paling mana-mana kita telah membuat
dalam kelas sejak 9 minggu yang lalu terdapat hampir sentiasa tradeoff ini.
Kadang-kadang antara ruang hanya, kadang-kadang antara ruang dan masa,
ruang, masa dan usaha pembangunan, dan sesungguhnya di sini, walaupun
kita menyelamatkan sejumlah besar masa, mungkin berpotensi 10-20-30 jam
masa pembangunan melaksanakan pemeriksa ejaan
dengan sebat sehingga ia dalam hanya 45 saat dengan bahasa ini
harga yang kita bayar adalah bahawa ia adalah suatu perintah magnitud lebih perlahan akibat,
dan ini adalah umumnya kes dengan bahasa yang paling mana-mana ditafsirkan,
PHP, Python, Ruby, Pearl atau lain-lain di mana
jika anda mahu untuk menjalankan melalui seorang jurubahasa dan mempunyai ia membaca kod anda
baris demi baris, atas ke bawah, kiri ke kanan,
yang tengah akan mengambil sedikit masa sendiri,
dan apa yang anda rasa di sini dalam 3 saat sebagai bertentangan dengan 0,3 saat
adalah hakikat bahawa terdapat ini tengah yang telah benar-benar mentafsir kod kami
baris demi baris, dan Allah melarang jika anda berada di dalam gelung
dengan fail yang besar yang mengandungi beratus-ratus beribu-ribu perkataan.
>> Itu overhed akan menambah dan menambah dan menambah dan menambah.
Bagi alat seperti ini ia mungkin tidak bahasa yang terbaik untuk digunakan untuk melaksanakan
pemeriksa ejaan jika mendesaknya adalah kepentingan kepada pengguna anda dan kepada anda.
Tetapi kemewahan yang kita ada dalam seketika ialah jika anda
menggunakan bahasa seperti PHP atau banyak bahasa yang ditafsirkan
dalam konteks Web, untuk perkara itu, anda mempunyai faedah
bahawa internet adalah lebih perlahan daripada komputer yang paling.
Anda mempunyai CPU GHz dalam komputer anda, 2 GHz, mungkin lebih hari ini.
Tetapi realitinya di internet terdapat satu jumlah yang tinggi kependaman
mana pelayar untuk bercakap kepada pelayan, walaupun kita melihat minggu lepas
bahawa yang agak cepat, setengah milisaat atau lebih,
itu juga menambah sehingga, dan jika anda memuat turun perkara-perkara seperti imej
atau gambar Facebook atau mendapat mesej segera melalui perbualan Facebook,
GChat atau sebagainya, semua ini kali pusingan perjalanan
antara pelayar dan permulaan pelayan untuk menambah,
yang membuat pilihan tertentu anda bahasa dalam banyak kes
tidak semua yang berkaitan, jadi anda denda menggunakan bahasa yang agak perlahan
seperti PHP atau Python atau Ruby
tetapi yang terdapat upsides besar untuk anda dan rakan-rakan anda
dan rakan-rakan anda kerana anda boleh melaksanakan perkara-perkara yang demikian, jadi lebih cepat.
Dan lebih-lebih lagi, anda mempunyai risiko yang lebih kurang kelemahan keselamatan tertentu.
Terdapat tiada petunjuk dalam PHP.
Tiada kesilapan seg bahawa anda boleh dengan mudah mendorong
dengan cara yang sama anda boleh dalam C.
Dengan C anda sangat dekat dengan perkakasan.
Dengan bahasa PHP dan sama anda jenis peringkat yang lebih tinggi, jadi untuk bercakap,
dengan banyak pertahanan di antara anda dan apa yang sebenarnya berlaku di
di dalam mesin, dan ia adalah hanya satu tradeoff.
>> Kami telah mendapat ke titik mempunyai ini lebih moden, bahasa tahap tinggi
seperti PHP kerana pengajaran dalam bahasa seperti PHP di C.
Tetapi jika anda tidak memahami apa yang telah berlaku di bawah hood semua masa ini
anda pastinya tidak boleh membuat keputusan reka bentuk yang betul,
dan sudah tentu apabila ia datang untuk bekerja di tempat seperti Facebook atau Google
atau mana-mana tempat-tempat yang semakin bermain dengan data yang besar set
walaupun anda kembali dan jangan premed dan bekerja dengan MD beberapa
pada beberapa data yang besar menetapkan melibatkan pesakit dan doktor
dan seperti menggunakan alat yang betul adalah sangat menarik
kerana jika tidak, analisis anda beberapa set data mungkin mengambil masa beberapa saat,
atau ia benar-benar mungkin mengambil jam.
Ini adalah hanya satu contoh, tidak mengecewakan anda dengan usaha berapa banyak lagi
ia adalah dalam C tetapi untuk membantu anda menghargai bahawa apabila anda melaksanakan sesuatu dalam C
anda benar-benar memahami, atau dalam teori, benar-benar memahami
bagaimana segala-galanya adalah atau perlu bekerja, dan anda mempunyai kawalan hampir penuh
atas apa yang berlaku di bawah hood, dan dengan bahasa ini di peringkat yang lebih tinggi
anda perlu untuk melepaskan lebih banyak kawalan kepada orang-orang yang mencipta mereka
dan lebih tertakluk kepada keputusan reka bentuk mereka daripada anda.
Tetapi jika kita mengambil untuk diberikan bahawa prestasi
tidak cukup sebagai penting di Web kerana isu-isu lain,
kelajuan rangkaian hanya sedikit perlahan daripada kelajuan CPU anyway,
supaya kita boleh menyusun mampu untuk menggunakan bahasa yang agak perlahan
jika upsides kita boleh membangunkan perkara-perkara yang 10 kali lebih cepat atau lebih.
>> Mari kita lihat bagaimana kita boleh mula menggunakan ini.
Biar saya pergi ke folder
antara contoh hari ini dipanggil frosh.ims,
dan ini sebenarnya sendiri didorong oleh fakta bahawa perkara yang sangat pertama
Saya menulis untuk Web tahun lalu selepas mengambil CS50 dan CS51
adalah sebuah laman web untuk program IM Frosh, sukan bayat di antara dinding,
yang pada masa ini adalah cukup tahun lalu bahawa pada masa
tiada laman web untuk program ini, walaupun terdapat Web,
dan sebaliknya terdapat pengawas mahasiswa di Wigglesworth mana jika anda mahu
mendaftar untuk bola tampar atau bola sepak atau apa sahaja yang anda akan mengisi sekeping kertas.
Anda kemudian akan berjalan di seluruh kawasan itu.
Anda kemudiannya akan mengetuk pintu dan slaid mereka di pintu atau tangan mereka untuk proctor
sehelai kertas dengan nama anda di atasnya, sama ada atau tidak anda mahu menjadi seorang kapten pasukan,
apa sukan yang anda mahu lakukan, dan apa asrama anda masuk
Ia adalah jenis cara sekolah lama melakukan sesuatu, dan ini adalah perdana
peluang untuk mengautomasikan banyak proses ini.
Anda hanya pergi ke laman web. Anda menaip sesuatu.
Anda akan mendapat pengesahan e-mel, dan ledakan, anda selesai.
>> Ini adalah perkara pertama yang saya lakukan, walaupun dalam bahasa yang dipanggil Pearl,
tetapi ia adalah agak mudah untuk melakukan dalam PHP, dan ini adalah jenis wakil
masalah anda boleh mula menyelesaikan apabila anda boleh meluahkan diri anda
programatik dan tidak perlu bergantung kepada perkara-perkara seperti laman Google
atau Excel atau alat yang diserahkan kepada anda.
Kalian kini mempunyai keupayaan untuk melakukan perkara-perkara seperti ini.
Ini adalah versi super hodoh bentuk,
tetapi mari kita hanya menggunakannya untuk permulaan perbualan di mana ini adalah
kira-kira apa bentuk kelihatan seperti tahun yang lalu untuk kita
untuk membolehkan orang-orang di Web untuk mendaftar untuk Frosh IM.
Kami meminta untuk satu nama, checkbox untuk sama ada atau tidak mereka mahu menjadi kapten,
lelaki atau perempuan, dan kemudian apa asrama mereka berada dalam,
dan kemudian mereka akan menyerahkan borang ini.
Mari kita lihat pertama di bawah hood pada HTML yang mewakili laman web ini.
Mari saya pergi ke froshims0,
dan sebagai diketepikan, untuk pset 7 Saya mengambil untuk diberikan
direktori dan folder yang saya meletakkan sesuatu masuk
Kami akan membimbing anda melalui betul-betul di mana barangan untuk pergi ke dalam perkakas,
arahan arena yang anda perlu menjalankan, jadi jangan bimbang tentang semua
butiran bodoh Menyegerakkan dari sini mendapat-pergi.
>> Baiklah, di sini adalah froshims0.php.
Biar saya tatal ke bawah, dan apa yang tertanya-tanya di sini,
ini adalah fail PHP, tetapi apa yang di dalamnya, jelas?
Ia banyak seluruh HTML, dan sesungguhnya, asal PHP
benar-benar adalah untuk menjadi bahasa-centric Web.
Satu masa lalu kita digunakan untuk melaksanakan contoh bir,
syarat contoh, contoh hello, dan itulah denda.
Anda boleh menggunakan PHP sebagai bahasa skrip
mana skrip adalah benar-benar hanya tatanama yang diberikan kepada program cepat dan kotor
atau sesuatu yang anda menulis dalam bahasa berskrip atau lebih amnya ditafsirkan.
PHP adalah sangat berguna untuk itu kerana anda telah melihat berapa cepat
agak kita boleh menyiapkan program dalam PHP.
Tetapi ia telah benar-benar direka untuk digunakan untuk Web,
dan direka untuk Web dalam erti kata bahawa notis di sini di atas fail
Saya tidak bermula dengan <? Php.
Kemudian saya mempunyai sekumpulan komen sia-sia, yang diberikan, tetapi kemudian saya menutup mod PHP.
Tetapi kemudian saya jatuh ke dalam mod HTML.
>> Apa yang menarik tentang PHP adalah walaupun fail berakhir dengan. Php
ia biasanya bertujuan untuk bersama-bercampur dengan HTML,
beberapa kod PHP, HTML beberapa.
Dan kita akhirnya akan melihat bahawa kita boleh mula untuk mengusik mereka selain
dan menyimpan berasingan HTML kita dari PHP kami sama sekali,
tetapi asal-usul PHP benar-benar memberi anda fleksibiliti ini,
bahawa jika anda mahu HTML sesetengah hanya menulis, dan yang akan
meludah keluar sepercaman kepada pelayar.
Tetapi jika anda memerlukan beberapa teknik pengaturcaraan,
beberapa kod pengaturcaraan, anda juga boleh meletakkan ia ke dalam fail yang tepat yang sama, seperti yang kita akan melihat.
Berikut adalah HTML saya.
Saya telah mendapat tajuk ini untuk Frosh IM.
Saya telah mendapat tag badan yang telah mendapat beberapa CSS di atasnya dengan semua pusat di tengah-tengah,
dan kemudian turun di sini saya mempunyai satu bentuk yang nampaknya akan dikemukakan
fail baru yang dipanggil register0.php, jadi kita akan melihat bahawa dalam seketika.
Ia menggunakan kaedah yang dipanggil pos, yang kita akan kembali juga.
Maka saya mempunyai beberapa input bentuk, satu nama dipanggil, yang jenis teks,
yang namanya adalah kapten, yang jenis kotak semak,
dan ini, kita tidak melihat ia sebelum ini, tetapi ia tidak betul-betul apa yang dikatakannya.
Anda akan mendapat kotak semak bukannya kotak teks.
Down sini anda mempunyai butang radio, yang merupakan salah satu dari orang-orang butang bulat
bahawa anda boleh memilih sama ada ini salah atau bahawa salah.
>> Perhatikan ia sengaja yang saya berikan kedua-dua butang radio nama jantina.
Ini adalah bagaimana anda mendapat pengecualian bersama di mana anda mesti klik
sama ada ini satu atau yang satu, dan dengan mengklik lain
ia unchecks yang lain, jadi anda perlu memberikan mereka nama yang sama
jika anda mahu mereka untuk menjadi saling eksklusif seperti itu.
Dan kemudian untuk asrama, saya tidak fikir kita telah melihat ini lagi, tetapi ia adalah menu pilih, menu drop-down.
Tag yang pilih.
Anda kemudian memberikan menu drop-down nama,
dan kemudian anda mempunyai sekumpulan keseluruhan pilihan ini.
Yang pertama, hanya untuk estetika, adalah rentetan kosong.
Saya hanya mahu drop down untuk menjadi kosong secara lalai,
dan kemudian ada Apley, Canaday, Grays, dan sebagainya.
Dan notis dikotomi di sini.
Pilihan dalam drop down mempunyai nilai,
tetapi kemudian ia mempunyai nama yang mesra manusia, yang dalam contoh ini
adalah sama, tetapi jika kita benar-benar mahu menjadi dubur kita boleh mempunyai
nilai penurunan ini ke bawah hanya menjadi versi pendek,
Grays, tetapi kita benar-benar boleh mengatakan Grays Dewan bahawa manusia sebenarnya melihat,
tetapi itu tidak semua yang menarik, jadi saya hanya disimpan ia mudah dan menjadikan mereka serupa.
Kemudian turun di bawah kita mempunyai butang submit
yang telah kita lihat sebelum ini, tetapi notis saya hanya memberikan ia satu perkataan yang berbeza.
Sebaliknya CS50 carian saya berikan label "Daftar."
>> Keputusan akhir adalah laman web ini di sini, dan sekali lagi,
di mana ini dapat diserahkan kepada?
Ia akan diserahkan kepada fail sesetengah orang, nilai atribut tindakan,
yang register0.php.
Mari kita lihat apa sebenarnya yang berlaku di sini.
Biar saya pergi ke hadapan dan mengisi borang ini, mengatakan David,
lelaki, Matthews, dan kemudian saya akan katakan mendaftar.
Biar saya zoom out dan klik mendaftar.
Okay, jadi jenis sia-sia, tetapi mari kita lihat apa yang sebenarnya berlaku.
Perhatikan bahawa URL telah berubah menjadi register0.php.
Apakah aneh hadir URL, walaupun, walaupun kita hanya mengemukakan borang?
[Sambutan pelajar didengar]
Okay, itu hanya mesra pengguna Chrome hari ini.
Itulah sebenarnya di sana. Mereka hanya menyembunyikan ia untuk menjimatkan ruang.
Tetapi pemikiran yang baik, pemikiran yang baik.
Ke arah akhir lain URL, walaupun, apa yang hilang? Yeah.
[Pelajar] string query.
String query, jadi ingat dari contoh carian mudah kami Google.
Sebaik sahaja saya klik butang submit URL
membawa saya ke Google, tetapi kemudian ada? q = sains komputer atau apa yang saya telah ditaip masuk
Itu kerana kami menggunakan kaedah get dengan contoh carian.
>> Kali ini kami menggunakan apa kaedah dan bukannya?
Pos, dan salah satu perbezaan serta-merta
antara mendapatkan dan hantar kiriman yang tidak meletakkan input pengguna dalam URL.
Ia menyembunyikan ia. Ia masih menghantarnya.
Malah, apa yang kita lihat dalam pelayar sini, seperti yang kita akan mendedahkan dalam masa
dengan melihat register0, saya hanya melihat kandungan
array yang telah dikemukakan dari pelayar ke pelayan.
Tetapi URL tidak mempunyai?, Tidak mempunyai apa-apa kata kunci
atau nilai-nilai di dalamnya, dan mengapa?
Nah, selepas membenarkan anda masih mengemukakan data dari bentuk kepada pelayan,
tetapi ia tidak meletakkan ia dalam URL, jadi apa jenis maklumat adalah pos
amat sesuai untuk mungkin apabila anda meminta pengguna untuk
menaip input kepada satu bentuk?
Sesuatu seperti kata laluan, sesuatu seperti apa lagi?
Nombor kad kredit.
Apa sahaja yang sedikit sensitif anda mungkin tidak mahu berakhir di URL
jika hanya kerana ia bermakna rakan sebilik anda atau ahli keluarga hanya boleh menaja melalui
sejarah internet anda dan kemudian benar-benar melihat kata laluan anda,
benar-benar melihat nombor kad kredit anda kerana kebanyakan pelayar
ingat dalam sejarah apa jua URL yang anda telah di,
jadi jika hanya kerana itu akan menjadi idea yang buruk.
Menggunakan menyembunyikan pos yang terperinci dari pengguna.
>> Juga, bagaimana anda upload gambar ke Facebook?
Nah, hanya 2 mekanisme anda benar-benar boleh menggunakan,
walaupun terdapat beberapa yang lain yang lebih batin, mendapatkan dan hantar.
Bagaimana anda mungkin memuat naik gambar melalui URL?
Anda sebenarnya boleh melakukannya.
Anda boleh mengambil JPEG atau bitmap atau GIF dan anda boleh mewakili dalam perenambelasan
atau sesuatu yang dipanggil asas 64.
Daripada 16 asas anda menggunakan 64 asas, yang pada dasarnya kelihatan seperti
Aksara ASCII, dan anda sebenarnya boleh upload gambar melalui URL
selepas tanda tanya, tetapi umumnya terdapat had saiz.
Kebanyakan pelayar memaksa URL untuk menjadi tidak lebih daripada 1,000 aksara,
mungkin 2,000 aksara atau sebagainya, jadi anda tidak boleh memuat naik
10 MB Facebook foto.
Untuk yang anda gunakan pos juga, jadi sekarang meletakkan parameter dalam URL,
yang bagus dan berguna kadang-kadang, tetapi untuk apa-apa yang sensitif atau besar
pos adalah cara untuk pergi.
Apa yang register0 sebenarnya lakukan di sini?
Nah, jika saya membuka register0 notis bahawa ini adalah halaman super mudah,
tetapi ia menunjukkan hakikat bahawa saya dapat bersama-bergaul, untuk lebih baik atau untuk lebih teruk,
HTML dengan PHP.
Keseluruhan fail ini, kecuali bagi komen-komen di atas, adalah HTML
kecuali lelaki ini di sini.
>> Notis di tengah-tengah kod PHP saya,
di tengah-tengah HTML saya, saya mempunyai jenis sementara
memasuki mod PHP.
Saya memanggil fungsi khas yang dipanggil cetak r.
Ia bermakna mencetak rekursi, dan apa yang ia adalah ia rekursif mencetak
apa pembolehubah anda bawanya ke, koma bertitik, keluar mod PHP.
Dan tag pra memberikan anda pra-diformat teks,
teks mono ruang supaya setiap ruang anda sebenarnya melihat ia.
Ia tidak hilang. Apakah jawatan?
Nah, apa yang menarik dan menarik tentang PHP
adalah bahawa apabila anda menyerahkan borang menggunakan mendapatkan atau pos
apa-apa yang dikemukakan kepada anda oleh pelayar
PHP sendiri angka keluar apa yang mereka pasangan nilai utama,
angka jika terdapat tanda-tanda yang sama, angka keluar jika terdapat tanda tanya.
Ia melakukan semua kerja keras untuk anda, dan kemudian ia tangan anda pelbagai bersekutu
mengandungi segala-galanya yang pengguna ditaip ke dalam bentuk.
Nah, apa bidang borang ini mempunyai?
>> Ia mempunyai 4 bidang.
Satu adalah medan teks dipanggil nama.
Satu adalah satu checkbox yang dipanggil kapten.
Satu adalah butang radio dipanggil jantina,
dan satu menu drop-down dipanggil asrama,
jadi notis apabila saya mencetak rekursif
kandungan pembolehubah istimewa ini.
Ini adalah pembolehubah khas global dipanggil literal $ _POST, dalam semua topi.
Ini adalah pembolehubah khas global bahawa PHP hanya mencipta untuk anda
dan tangan kepada anda supaya anda boleh mengakses segala-galanya
yang telah diserahkan melalui borang oleh pengguna.
Dan dengan memanggil r cetak di atasnya anda tidak akan melakukan ini dalam permohonan biasa.
Kami melakukan ini untuk melihat dalam pembolehubah ini,
dan apa yang di dalamnya, baik, 4 kunci,
4 http parameter, jadi untuk bercakap,
nama, kapten, jantina, asrama, dan kemudian nilai yang pengguna
ditaip dengan satu pengecualian.
Saya pula jenis D-A-V-I-D.
Saya memeriksa kotak, walaupun, untuk lelaki, yang nampaknya diserahkan nilai
hanya m menjadi ringkas.
>> Apabila saya memilih Matthews itulah nilai yang mendapat dipilih,
dan yang satu ini adalah sedikit bodoh, tetapi ia adalah konvensyen itu.
Apabila saya memeriksa kotak, nilai pada, "," mendapat dikemukakan untuk checkbox.
Jika saya telah tidak diperiksa, tiada nilai akan dihantar sekalipun.
Ini hanya memberi kita wawasan ke dalam apa yang di dalam pembolehubah global ini khas,
dan ia begitu istimewa bahawa ia dipanggil pembolehubah global super.
Ia wujud di mana-mana untuk anda dalam kod anda supaya anda sebenarnya boleh mengaksesnya.
Ini tidak begitu menarik, jadi mari kita sebenarnya menggunakan global super
dan sebenarnya cuba untuk mendaftarkan seseorang.
Dalam froshims1 saya akan membuat satu perubahan.
Saya mengubah tindakan menjadi register1.php,
dan saya melakukan satu perkara lain.
Saya jenis malu dengan kualiti laman web saya di sana.
Ia cukup mengerikan, jujur, jadi ia ternyata
yang anda boleh gunakan sangat mudah di Web
kod JavaScript orang lain, CSS orang lain
bahawa mereka telah ditulis dan sumber terbuka dan disediakan sebagai perpustakaan,
jadi untuk bercakap, dan sebagai contoh, di sini saya menggunakan perpustakaan bebas yang ada,
sekumpulan kod bahawa orang lain menulis.
>> Twitter berlaku untuk menulis kod ini, dan ia dipanggil perpustakaan Bootstrap,
dan ia hanya sekumpulan style sheet CSS, sekumpulan fail css
seseorang yang lain menulis dan digambarkan bagaimana untuk mendapatkan segala-galanya baik dan cantik
supaya orang seperti kita boleh bimbang sedikit kurang tentang estetika dan memberikan tumpuan lebih
pada logik dan pengaturcaraan sebenar.
Dengan mengaitkannya dengan tag itu, yang merupakan tag yang sama saya ingat digunakan untuk styles3.css awal,
Saya kini mempunyai akses kepada fail yang dipanggil bootstrap.min.css.
Min hanya bermakna mereka telah minified dan mereka telah mendapat menghapuskan semua ruang putih dan sebagainya
hanya untuk memastikan mereka tidak menghantar saya bytes lebih daripada saya benar-benar perlu.
Tetapi di sana adalah sekumpulan keseluruhan CSS, jadi jika saya kini membuka versi 1 daripada Frosh IM
perhatian bahawa fail saya memang cantik.
Sekarang ia masih hanya hitam dan putih, tetapi melihat bahawa dengan hanya menggunakan lembaran gaya mereka
dan menggunakan ciri-ciri tertentu pada borang saya ia tidak menakjubkan,
tetapi ia pasti lebih bersih berbanding sebelum ia, dan projektor tidak melakukan keadilan.
Terdapat sedikit garisan kelabu sekitar butang dan sekitar medan teks di sini,
tetapi ia pasti lebih bersih berbanding sebelum ia.
>> Sekarang, dalam keadilan, saya tidak perlu untuk menukar markup saya sedikit.
Ini adalah versi 1, dan notis bahawa saya telah menggunakan beberapa tag baru,
dan jujur, saya tidak tahu bagaimana untuk melakukan ini sehingga saya membaca dokumentasi
untuk perpustakaan Bootstrap Twitter, dan mereka memberitahu saya jika anda mahu menggunakan perpustakaan kami
menggunakan elemen fieldset di dalam borang anda,
meletakkan perkataan yang anda mahu untuk menunjukkan di sebelah dalam bidang tag label,
kemudian memberi input anda nama, sama seperti sebelum,
dan kemudian untuk checkbox, bukan sahaja adakah anda balut dalam elemen label,
anda menggunakan sesuatu yang dipanggil kelas, jadi kami tidak pernah melihat sebelum ini,
tetapi anda akan melihat ini dalam satu seluar pset 7 ini.
Satu kelas dalam CSS membolehkan anda melakukan sesuatu yang sangat serupa dengan ID,
tetapi sebelum apabila kita mempunyai ID dengan simbol #
itu adalah untuk satu dan hanya satu unsur.
Apa yang baik tentang kelas adalah bahawa unsur-unsur yang pelbagai boleh mempunyai kelas yang sama
atau barangan CSS yang sama digunakan untuk ia.
>> Tetapi sekali lagi, lebih kepada mereka dalam jangka pendek, dan lain ini hanya salin dan tampal
dari dokumentasi mereka di mana saya telah menambah label di sana sini.
Dan pada akhirnya, kerana saya telah menyertakan tag pautan di atas,
segala-galanya kelihatan cantik secara automatik
dengan hanya ditanda halaman saya dengan cara yang
Twitter dijangka, dan terdapat begitu banyak cara yang berbeza
melakukan ini, dan ini memang sangat sesuai.
Pada ketika ini dalam semester, kerana anda akan melihat dalam spec pset 7 ini,
Googling sekitar, membaca sehingga pada perpustakaan, menggunakan CSS orang lain
dan JavaScript untuk menyelesaikan masalah sampingan
set masalah sendiri sememangnya digalakkan dan merupakan cara
Web dibina hari ini, dengan berdiri di atas bahu orang lain
supaya anda benar-benar boleh memberi tumpuan kepada masalah yang baru dan menarik.
Tetapi biarlah kini memberi tumpuan kepada, sekali lagi, logik.
>> Itu adalah melencong cepat pada estetika hanya menunjukkan anda arah di mana anda boleh pergi.
Saya akan kembali kepada yang uglier satu untuk saat hanya kerana
tidak ada gangguan dengan barangan Twitter, dan biarlah saya pergi ke hadapan dan membuka
froshims2, yang, sekali lagi, hanya berbeza dalam tindakan, register2.php,
dan mari kita melihat apa kesan adalah di sini.
Biar saya pergi ke hadapan dan menaip Daud.
Saya tidak akan menjadi kapten masa ini.
Saya akan mengatakan lelaki, Matthews, daftar.
Sialan. Okay, itu skru pada bahagian saya.
Berdiri.
Register2, line 22, jika kosong atau maaf.
Mari kita tambah nilai.
Okay, apabila mengemukakan borang ini apa yang hanya berlaku?
Saya menaip di David, diperiksa lelaki, klik Matthews, daftar.
Anda berdaftar. (Well, tidak benar-benar.)
Ini adalah jelas satu langkah di luar hanya mencetak kandungan pembolehubah beberapa,
tetapi apa yang fail ini sebenarnya melakukan?
Dalam register2.php
melihat bahawa saya mempunyai beberapa kod baru.
Dalam tag badan saya, saya mempunyai asasnya jika lain membina,
tetapi kerana saya bersama-bergaul ini dengan beberapa HTML
Saya perlu untuk masuk dan keluar mod PHP belakang dan sebagainya, jadi mari kita lihat apa yang saya lakukan.
>> Dalam baris pertama di sini saya mengatakan jika ia adalah kes
bahawa super post global kosong untuk kunci nama,
jadi dalam erti kata lain, jika pengguna tidak memberikan saya nilai untuk nama dalam bentuk,
maka kosong akan kembali benar kerana nilai kosong.
Atau notis menegak bar jika jantina kosong
di dalam ini super khas global, yang, sekali lagi, mewakili isi borang,
atau asrama adalah kosong, maka saya akan pergi ke hadapan dan menjerit pada pengguna.
Bagaimana? Nah, notis saya akan mengatakan anda mesti memberikan nama anda, jantina, dan asrama.
Mari kita sebenarnya mendorong kesilapan itu.
Izinkan saya kembali kepada bentuk saya. Biar saya tambah nilai untuk membersihkan ia.
Dan saya hanya akan memberi mereka David, dan mereka tidak perlu tahu di mana saya tinggal.
Mendaftar. Rupa-rupanya saya tidak perlu untuk memberitahu mereka di mana saya tinggal.
Anda mesti memberi nama anda, jantina dan asrama. Kembali.
>> Dan saya boleh klik untuk kembali ke bentuk itu, tetapi mengapa?
Nah, dalam nama kes itu tidak kosong, tetapi gender merupakan, dan asrama adalah,
jadi ini ungkapan keseluruhan dinilai untuk benar, dan walaupun sintaks adalah sedikit baru,
sekali lagi, kita memasuki mod PHP, biasa jika kenyataan,
tetapi bahagian baru di sini hanya kolon ini, dan saya telah diskru dengan tidak kurungan
oleh kemalangan, tetapi notis kolon, dan ini bermakna
walaupun kita keluar semua mod PHP
yang berikut harus meludah keluar kata demi kata pelayar
sehingga anda lihat blok lain, seperti yang kita lakukan di sini,
di mana anda sepatutnya meludah ini keluar
sehingga anda melihat endif, jadi beberapa sedikit sintaks baru
yang membolehkan saya untuk bertukar-tukar antara HTML dan PHP.
Kita boleh membersihkan ini akhirnya, tetapi untuk sekarang,
ia adalah sejenis cara menarik kesilapan memeriksa bentuk.
>> Sekarang, saya katakan anda tidak benar-benar didaftarkan kerana jelas kita telah melakukan apa-apa tetapi data,
jadi mari kita sebenarnya cuba untuk melakukan sesuatu yang sejuk.
Dalam froshims3 perbezaan hanya saya akan mengemukakan kepada register3,
jadi HTML terdapat adalah sama.
Pada register3 notis ini.
Ini adalah jenis seksi.
Di bahagian atas saya menggunakan kenyataan yang memerlukan, jadi ini adalah seperti # include.
Kali ini ia bukan stdio.h atau apa-apa seperti itu.
Ia adalah sebuah perpustakaan PHP, dan satu ini dipanggil PHPMailer.
Bagaimana saya tahu termasuk tepat disebut rentetan ini?
Saya membaca dalam dokumentasi, jadi apabila mereka memberitahu saya meletakkan ini di atas fail
jika anda mahu menggunakan sebuah perpustakaan khas dipanggil PHPMailer yang melakukan apa yang dikatakannya.
Ia membolehkan anda untuk menghantar e-mel melalui PHP.
Sekarang mari kita skrol ke bawah lagi.
>> Notis untuk memulakan Saya dalam mod PHP ini sepanjang masa,
jadi sekarang perasan ke sini selepas mengimport perpustakaan yang,
jadi untuk bercakap, saya melakukan beberapa cek kewarasan.
Jika ia adalah kes bahawa nama tidak kosong
dan jantina tidak kosong notis seru mata-
dan asrama adalah tidak kosong, maka pengguna telah logiknya mengisi borang, sekurang-kurangnya cukup.
Saya tidak peduli jika mereka kapten atau tidak. Saya hanya perlu nama mereka, jantina, dan asrama.
Jika mereka telah mengisi mereka supaya tiada medan kosong
ini adalah sedikit sintaks baru.
PHP, sebagai diketepikan, adalah bahasa pengaturcaraan berorientasikan objek
mana beberapa anda semua boleh ingat dari APC atau sebagainya.
Untuk sekarang, jika tidak dikenali, hanya tahu bahawa untuk menggunakan perpustakaan ini
anda perlu untuk menulis satu baris kod seperti ini menggunakan kata kunci baru,
benar-benar kata kunci baru yang dipanggil baru.
Tetapi lebih dari itu, kita mempunyai beberapa sintaks biasa.
Ia adalah pengendali panah, yang serupa dengan apa yang kita digunakan untuk structs dalam konteks petunjuk.
Untuk hari ini PHP tidak mempunyai petunjuk,
tetapi tahu sekarang bahawa dalam pembolehubah mel
asasnya adalah jenis penunjuk perpustakaan khas
bahawa orang lain menulis, dan jika saya mahu untuk mengakses fungsi tertentu
di dalam perpustakaan itu saya lakukan, seperti dalam C, menggunakan pengendali anak panah,
walaupun ini bukan sebenarnya petunjuk.
Ia adalah jenis versi PHP sendiri daripadanya.
Ini bermakna pergi ke perpustakaan dan memanggil fungsi IsSMTP.
SMTP, ingat, dari Pahlawan kami Net merujuk kepada e-mel,
dan yang hanya bermakna menggunakan pelayan e-mel ini Frosh IM pendaftaran.
>> Apakah tuan rumah yang saya mahu untuk digunakan?
Nah, Harvard, jika anda Google sekeliling, mempunyai pelayan e-mel yang dipanggil smtp.fas.harvard.edu.
Jika anda bermain bersama-sama di rumah atau anda tinggal di rangkaian Comcast
ia mungkin sesuatu seperti smtp.comcast.net.
Ia benar-benar bergantung di mana anda tinggal dan yang ISP anda adalah.
Selepas itu saya akan menetapkan saya dari alamat sewenang-wenangnya menjadi jharvard@cs50.net.
Saya kemudian pergi untuk menetapkan untuk menangani menjadi jharvard@cs50.net.
Satu-satunya cara saya tahu bahawa fungsi-fungsi ini dipanggil SetFrom dan AddAddress
, sekali lagi, saya membaca dokumentasi.
Ini bukan jenis ajaib dikenali kepada semua pengaturcara.
Kemudian saya tetapkan tertakluk kepada "pendaftaran."
Dan kini garis ini adalah sedikit hodoh kerana apakah pengendali dot bermakna dalam PHP?
Sesiapa yang tahu?
Menyatukan.
Dalam C ia adalah sakit di leher untuk menyatukan 2 tali bersama-sama.
Anda perlu berurusan dengan malloc atau realloc atau semua barangan yang
hanya untuk melanjutkan panjang rentetan.
Dalam PHP, JavaScript dan bahasa-bahasa lain
biasanya anda boleh melakukan ini dengan watak tunggal.
Dalam kes ini, dot bermakna mengambil rentetan ini di sini
dan melampirkan kepada rentetan ini.
>> Oh, dan dengan cara itu, melampirkan ia rentetan ini,
yang berlaku untuk menjadi dalam pembolehubah bahawa global super.
Kemudian melampirkan pada baris baru, jadi semua ini titik hanya bermakna
terus membuat rentetan yang lebih besar dan lebih besar dan lebih besar,
dan anda tidak perlu untuk menjaga semua tentang malloc atau seperti dalam bahasa seperti ini,
dan ada cara lain untuk melakukan ini, tetapi ini adalah salah satu yang paling cepat
cara-cara untuk meletakkan ia keluar.
Apakah ini lakukan?
Ia mewujudkan satu badan e-mel yang akan mengatakan Nama: Kapten: Jantina: Dorm:
semua pada baris yang berasingan, dan kemudian akhir sekali,
satu baris kod, dan saya akan mengabaikan ini sekarang.
Jika == palsu hanya bermakna jika sesuatu silapnya,
tetapi keajaiban berlaku di sini.
Mail menghantar bermakna menghantar e-mel ini.
Mari kita lihat apa hasil bersih.
Di bawah fail, notis ia akan mengatakan anda berdaftar benar-benar
jika saya mendapat yang jauh.
Jika, walaupun, pengguna skru, notis bahawa kita mula ini
jika keadaan di sini, jika ia tidak kosong dan tidak kosong
dan tidak mengosongkan kita menghantar mel.
Jika tidak kita akan untuk menghantar ini selaras kod,
yang akan mempunyai kesan, seperti yang anda akan lihat dalam pset 7, mengalihkan pengguna
kembali ke mana mereka datang froshims3.php,.
>> Jari bersilang, sebaliknya ini akan menjadi demo yang paling mengecewakan pada hari ini.
Di sini kita pergi.
Izinkan saya membuka peti masuk e-mel saya untuk jharvard dalam Gmail.
Tiada e-mel sekarang. Semua hak.
Sekarang mari saya membuka froshims3, yang adalah contoh yang ketiga dan terakhir kita akan melihat di sini.
Okay, di sini kita pergi.
Nate, dia akan menjadi kapten, lelaki, daripada, katakan, Apley.
Mendaftar. Okay, anda berdaftar benar-benar.
Sekarang jika saya tatal ke e-mel saya, oh, Tuhan saya.
Saya baru sahaja dinamik menghantar e-mel di Web.
>> Mari kita meninggalkan pada nota itu.
Video A akan datang untuk kuliah kita terlepas. Jumpa anda minggu depan.
[CS50.TV]