[Powered by Google Translate] [Syntax PHP]
[Tommy MacWilliam] [Universiti Harvard]
[Ini adalah CS50.] [CS50.TV]
>> Dalam video ini, kami akan memperkenalkan PHP -
salah satu bahasa yang kita akan menggunakan dalam CS50
seperti yang kita beralih kepada pembangunan web.
PHP adalah singkatan bagi PHP Hypertext Processor,
PHP atau Hypertext Processor Hypertext Processor,
dan saya akan berhenti di situ.
PHP adalah singkatan rekursi, yang saya fikir adalah benar-benar hebat.
>> Jadi, mari kita menulis 'hello dunia' dalam PHP,
yang akan menjadi sedikit berbeza daripada 'hello dunia dalam C yang kita telah datang untuk mengetahui dan cinta.
Sebaliknya mewujudkan fail yang dipanggil hello.c,
kita akan mewujudkan hello.php.
Semua kod PHP kami akan terkandung di antara <? Php dan?>.
Jika kita mempunyai apa-apa kod PHP yang terletak
luar ini pembatas, ia tidak akan melaksanakan.
Kita boleh mempunyai sebagai banyak blok-blok PHP
seperti yang kita mahu di dalam fail PHP tunggal.
Dalam PHP tidak perlu untuk fungsi utama.
Sebaliknya, kod PHP kami akan berjalan dalam perintah itu ia muncul dalam fail PHP kita.
Kedua-dua C dan PHP mempunyai fungsi 'printf' untuk keluarkan data.
Tetapi dalam PHP, kita tidak perlu ke # termasuk mana-mana fail header seperti standardIO.h.
Ini kerana dalam PHP kita tidak akan menyusun kod kami.
Apabila kita menulis kod C kerja kita cenderung untuk membuka
satu atau lebih. c atau. h fail, menukar mereka, menyusun mereka,
dan berjalan perduaan yang dihasilkan.
Daftar keluar video Compilers untuk maklumat lebih lanjut mengenai proses ini.
>> Tidak seperti C, PHP adalah ditafsirkan - bahasa - dan bukannya dikumpulkan.
Ini bermakna bahawa kod PHP yang kita menulis
akan dijalankan melalui satu program khas yang dikenali sebagai jurubahasa,
yang seterusnya akan melaksanakan kod kami.
Untuk menjalankan kod PHP kami,
kami akan menghantar bersama-sama dengan jurubahasa PHP yang akan mengendalikan pelaksanaannya,
bukannya menyusun kepada kod mesin.
Mari kita lihat jurubahasa dalam tindakan.
Kami akan membuka terminal dan menjalankan arahan PHP
diikuti dengan laluan kepada fail PHP kita ingin jalankan.
Kami akan berkata, 'php hello.php.
Dan ada kita pergi. Ada pengeluaran program PHP kami.
Kita tidak perlu untuk menyusun fail PHP kami di semua.
Sebaliknya, kita mempunyai satu lagi program - jurubahasa PHP -
melaksanakan kod sumber yang kita menulis.
>> PHP boleh melakukan lebih daripada sekadar printf.
Mari kita menulis beberapa program PHP yang lebih kompleks.
Syntax untuk membina - seperti jika, lain, manakala, bagi, dan switch -
adalah sama dalam PHP dan C.
Sama seperti C, masing-masing membina menggunakan penyokong gigi untuk menandakan badan mereka,
dan sama seperti dalam C, setiap baris kita menulis
mesti berakhir dengan koma bernoktah;
Walau bagaimanapun, pemboleh ubah dikendalikan sedikit berbeza dalam PHP.
Pertama, semua pembolehubah dalam PHP mesti bermula dengan tanda dolar.
Ia seolah-olah sedikit pelik pada mulanya, tetapi anda akan mendapat digunakan untuk ia.
Kedua, PHP adalah bahasa yang longgar ditaip
yang bermakna anda tidak perlu jelas menyenaraikan
jenis yang berubah-ubah apabila anda membuat ia.
Jika dalam mana-C anda akan perlu untuk mengatakan int x = 5;
atau char y = 'a';
dalam PHP kita hanya boleh mengatakan $ x = 5;
dan $ y = 'a';.
Begitu juga dengan fungsi.
Dan bukannya mengatakan f int () {badan fungsi kami},
dalam PHP kita akan mengatakan fungsi f () {badan fungsi kita}.
Kami tidak perlu dengan jelas menyatakan jenis pulangan fungsi f kami.
Fungsi dalam PHP juga tidak perlu untuk kembali jenis yang sama
setiap kali mereka dilaksanakan.
Sebagai contoh, kita boleh menulis fungsi yang mengembalikan palsu mengenai kesilapan
dan jenis yang lain jika ia berjaya.
>> Ini juga boleh membantu kita menulis fungsi yang lebih generik.
Sebagai contoh, kita boleh menulis fungsi add tunggal
yang boleh mengembalikan integer jika 2 integer diberi
atau terapung jika 2 terapung diberikan.
Dalam C, kita akan perlu menulis 2 fungsi berasingan untuk melakukan ini.
Ketika di C kita menggunakan petunjuk untuk menaikkan dan tali,
kita tidak akan dapat menggunakan petunjuk dalam PHP.
Sebaliknya, kedua-dua tatasusunan dan rentetan adalah terbina dalam jenis dalam PHP.
Mereka dibina terus ke dalam bahasa.
Untuk mewujudkan pelbagai dalam PHP kita boleh katakan,
$ A array = (1, 2, 3);
atau lebih mudah $ a = [1, 2, 3];.
Kami boleh indeks ke pelbagai ini menggunakan sintaks yang sama yang kami digunakan untuk dari C.
Untuk mendapatkan elemen pertama kita akan berkata, $ a [0];.
PHP juga mempunyai built-in sokongan untuk barisan bersekutu.
Array bersekutu adalah seperti jadual hash struktur data yang kita telah melihat -
mereka merancang kunci untuk nilai.
>> Mari kita lihat satu contoh.
Kita boleh berkata, $ kakitangan = ["pengajar" => "lagu", "tf" => "Tommy"];.
Di sini, saya mempunyai pelbagai bersekutu dengan 2 kunci - pengajar dan tf.
Dua anak panah, atau sama-lebih-daripada,
digunakan untuk memisahkan kunci dan nilai yang berkaitan.
Jadi, nilai $ kakitangan ["tf"] adalah rentetan "tommy".
Nilai-nilai pelbagai bersekutu -
sama seperti mana-mana pelbagai lain - boleh menjadi apa-apa jenis.
Sebagai contoh, kita boleh katakan, $ kakitangan = ["pengajar" => "lagu", "TFS" => ["Tommy", "merompak"]];.
Sekarang nilai 'TFS' adalah array.
Ini bermakna bahawa nilai-nilai dalam satu array bersekutu boleh jenis yang berbeza.
>> Tatasusunan PHP juga tidak mempunyai tempoh masa yang tetap,
supaya kita boleh menambah atau membuang unsur-unsur dari array.
Katakan kita mempunyai lokasi yang mudah seperti $ a = [1, 2, 3];.
Untuk menambah elemen baru kepada pelbagai ini,
kita boleh katakan, $ a [] = 4;.
Sekarang pelbagai kami terdiri daripada empat elemen - [1, 2, 3, 4].
Ingat bahawa jika kita mahu melakukan sesuatu seperti ini di C,
kita akan mempunyai untuk memperuntukkan pelbagai baru,
menyalin kandungan array pertama kami ke dalamnya,
dan kemudian menetapkan elemen terakhir array baru kepada nilai baru kami.
Ini adalah lebih mudah dalam PHP.
Jika pelbagai kami adalah pelbagai bersekutu,
kita hanya boleh menentukan kunci baru untuk mewujudkan unsur
jika ia tidak wujud lagi.
Jika kita mempunyai pelbagai awal kami - $ staff -
kita boleh mengatakan $ kakitangan ["total"] = 3;.
Sekarang kita mempunyai kunci baru dengan nilai 3.
>> Untuk mendapatkan bilangan elemen dalam array,
kita boleh menggunakan 'count' berfungsi.
Jika kita katakan, mengira ($ a);, yang akan mempunyai nilai 4.
Dalam PHP, kita boleh mewujudkan rentetan menggunakan tanda petikan berganda atau tunggal,
supaya kedua-dua pembolehubah ini adalah rentetan.
$ S1 = "rentetan"; $ s2 = 'satu lagi rentetan';.
Apakah perbezaan di antara kedua-dua?
Nah, ia agak biasa untuk mahu termasuk
nilai dalam pembolehubah rentetan.
Salah satu cara untuk melakukan ini adalah dengan menggunakan operator dot PHP ini,
yang concatenates tali.
Kita boleh melakukan sesuatu seperti ini -
$ N = 5; $ s = 'n' $ n.;.
Berikut n ubah kami adalah integer.
Tetapi apabila kita concatenate dengan tali,
PHP secara automatik akan menukar kepada rentetan untuk kita.
Atau kita hanya boleh menggunakan tanda petikan berganda untuk meletakkan berubah-ubah ke dalam tali itu sendiri.
Kita boleh berkata, $ s = "n $ n";.
Sekarang nilai $ s akan menjadi 'n adalah 5.
Jika kita menggunakan tanda petikan tunggal sebaliknya, seperti dalam $ s = 'n $ n';
nilai s akan 'n $ n';.
Nilai n tidak akan diganti jika kita menggunakan tanda petikan tunggal,
tetapi ia akan menjadi jika kita menggunakan tanda petikan berganda.
Jika kita mahu menggunakan tanda petikan berganda termasuk nilai pelbagai dalam tali,
kita perlu termasuk pendakap kerinting sekitar pelbagai, seperti ini -
$ S = "{$ kakitangan ['jumlah']}";.
>> Sekarang mari kita lihat pada potongan kecil di C dan menterjemahkannya kepada PHP.
Di sini, kami mewujudkan fungsi yang mencetak keluar surat tali,
satu watak setiap baris.
Mari kita buat perkara yang sama dalam PHP.
Pertama, kita perlu pembatas PHP kami.
Apabila kita mewujudkan fungsi kami,
kita tidak perlu untuk menentukan jenis pulangan atau jenis hujahnya.
Kita ubah s juga mesti bermula dengan tanda dolar.
Strlen fungsi PHP yang memberikan kita panjang tali,
seperti C strlen memberikan kita panjang rentetan.
Di bawah hud walaupun, fungsi-fungsi ini sebenarnya agak berbeza
sejak rentetan adalah sejenis terbina dalam dalam PHP.
Sintaks kami 'for' adalah sama.
>> Dalam PHP, kita juga boleh menggunakan pelbagai notasi untuk mengakses watak rentetan.
Kita kini boleh menggunakan fungsi cetak untuk mencetak setiap huruf tali.
Dengan fungsi cetak PHP, kita tidak perlu bimbang tentang ruang letak -
seperti% d% c atau - apabila kita hendak mencetak ubah yang tidak rentetan.
Sebaliknya, kita hanya boleh lulus ubah apa-apa jenis untuk fungsi cetak,
dan ia akan ditukar kepada rentetan dan dipaparkan.
Dan itu sahaja! Mari kita sekarang menjalankan fail kami dengan 'php print.php.
Dan ada output yang kita dapati daripada program C kami.
>> PHP juga menyokong gagasan yang dipanggil 'foreach' gelung.
Gelung 'foreach' adalah sama seperti 'untuk' gelung,
tetapi ia menambahkan sedikit gula sintaktik untuk membuat perkara yang lebih mudah dibaca.
Di sini, kami mencipta pelbagai baru yang dikenali sebagai '$ array'.
Sekarang kita boleh berkata, foreach ($ array sebagai $ nombor),
dan kita boleh mencetak $ nombor.
Apabila kita menjalankan fail ini - php foreach.php--kita dapat melihat setiap nombor pada baris sendiri.
>> Apabila kita menulis kod C, ia sering berguna untuk mengatur kod kita ke dalam fail berasingan.
Dalam PHP, kita boleh melakukan perkara yang sama.
Katakan kita mempunyai beberapa fungsi dalam fail yang dipanggil math.php.
Jika saya mahu menggunakan fungsi-fungsi dalam fail PHP yang lain, seperti calculator.php,
Saya boleh menggunakan require_once PHP ini () fungsi.
Require_once adalah sama seperti # include.
Apabila diberi laluan untuk fail, ia pada dasarnya akan menyalin kandungan
fail itu ke dalam fail semasa.
Require_once memastikan setiap fail yang dimasukkan ke dalam fail semasa sekali sahaja,
yang boleh membantu jika anda mempunyai koleksi besar fail PHP memerlukan satu sama lain.
Mari kita lihat satu contoh.
Di sini kita mempunyai koleksi fungsi yang saya ingin gunakan dalam fail lain.
Mari kita lihat bagaimana kita boleh menggunakan mereka.
On line 3, kita memerlukan math.php.
The '__DIR__' adalah berterusan khas mewakili direktori semasa
sejak math.php calculator.php dan terletak dalam direktori yang sama.
Selepas kita memerlukan math.php, kita boleh menggunakan fungsi-fungsi
seolah-olah kita telah ditakrifkan mereka dalam calculator.php.
Mari kita berjalan ini dengan 'php calculator.php. Hebat!
>> Itu sahaja untuk pengenalan kami untuk sintaks PHP ini.
Untuk mengetahui lebih lanjut, lihat PHP.net.
PHP mempunyai banyak fungsi terbina dalam, dan bernasib baik kerana dokumentasi adalah benar-benar hebat.
Nama saya Tommy, dan ini adalah CS50.
[CS50.TV]
>> ... Kurungan, saya keluar dari bilik. Celaka! Ini adalah video yang lepas di mana saya menggunakan perkataan yang besar di dalam kod.