>> Untuk mula merapatkan apa mungkin pengalaman hanya anda
dengan pengaturcaraan web, apa yang saya fikir saya akan lakukan ialah mencuri pasangan
contoh yang anda mungkin telah melihat di 50
jika anda mengambil ia lalu atau dua tahun atau mungkin tidak mempunyai
jika anda mengambil ia satu tahun yang lalu
yang langkah-langkah bayi ke arah pyridine yang dikenali sebagai MBC,
Model View Pengawal, dan apakah ini bermakna?
Ini kita akan melihat sekali lagi mungkin hanya satu cara permulaan
untuk membersihkan reka bentuk beberapa sekeping berasaskan web perisian,
atau ia boleh menjadi pihak pelanggan berasaskan juga, tetapi kita akan menggunakannya
dalam konteks PHP, supaya kita boleh mula
untuk membuat lebih kompleks projek dan jenis
jenis berasingan kod dalam permohonan itu;
terutamanya supaya apabila kita mempunyai pelbagai orang yang bekerja
projek ia banyak lebih mudah untuk menarik garis.
Oleh itu mari kita melihat cara yang suboptimal
melaksanakan sesuatu.
Katakan saya mahu membuat super laman web kursus yang mudah untuk 50
atau mana-mana kelas yang lain, dan kelas yang mempunyai perkara-perkara
seperti ceramah dan sukatan pelajaran yang.
Saya boleh melakukan sesuatu seperti tag h1 di bahagian atas halaman saya
dan senarai yang tidak tertib dengan item senarai li untuk
dengan hanya mempunyai satu senarai bullet daripada pilihan menu, jadi super mudah.
Jadi bagaimana kita boleh melakukan ini?
Baiklah, biar saya pergi ke saya tetingkap terminal di sini,
dan notis bahawa saya telah mendapat bacaan yang saya dan kami akan mengandungi pautan ke kod ini
di laman web kursus ini dalam sedikit,
dan notis bahawa saya telah mendapat indeks dot htm - indeks dot php.
Jadi biarlah saya pergi ke hadapan dan membuka itu, dan cukup yakin ia adalah jenis
daripada bodoh ini juga digelar php
kerana semua saya mempunyai adalah komen php
dan kemudian segala-galanya hanya kod html mentah.
Tetapi sekali lagi ini adalah versi sifar,
jadi satu langkah ke arah sesuatu yang lebih menarik,
tetapi notis saya keras berkod CS50 sebagai tajuk, CS50 di h1 itu,
dan sekarang saya mempunyai kuliah menghubungkan,
kini saya mempunyai pautan sukatan pelajaran.
Baiklah, supaya tidak seolah-olah semua yang tidak munasabah
sehingga anda mengikuti pautan seperti ceramah, dan anda sedar
semua betul ia adalah berbeza kandungan tetapi ia jenis
perkara yang sama; ia tajuk daripada halaman dan senarai tidak tertib.
Saya klik minggu sifar daripada tahun lepas, dan ia adalah jenis
daripada perkara yang sama, satu h1 tag dan senarai tidak tertib
dan akhirnya saya klik ini, dan saya mendapat beberapa daun,
yang merupakan slaid daripada bahawa kuliah tertentu.
Jadi sesuatu yang memberitahu saya Saya kira-kira untuk merasa jijik.
Jika saya membuka kuliah dot notis php
bahawa itu cukup banyak salinan dan paste dari fail sebelumnya;
Saya hanya menukar jawatan untuk h1, dan apa pautan ini.
Lebih buruk lagi, jika saya pergi ke minggu php sifar dot,
ia sama kerja tampal salinan
dengan hanya sedikit kandungan mengagak.
Jadi pasti ada sebuah peluang di sini bertambah baik,
dan sudah tentu perlu ini menjadi satu peraturan yang baik ibu jari;
bila-bila masa anda rasa diri anda menyalin
dan paste sesuatu lebih daripada mungkin sekali,
bendera merah harus diharapkan mula pergi.
Tetapi bagaimana kita pergi memperbaiki ini?
Nah, ada beberapa cara, dan teknik yang anda boleh menggunakan
dalam php telah berkembang sejak masa, tetapi mari kita cuba satu ini.
Biar saya pergi ke Versi satu, jadi lelaran seterusnya ini,
dan saya cuba untuk membersihkannya sedikit.
Betul, salah satu php mekanisme yang paling mudah
untuk menyelesaikan masalah ini adalah sekolah lama memerlukan fungsi,
yang cukup banyak tidak salinan dan tampal kandungan
fail beberapa di sini, seperti c tajam termasuk,
dan bahasa-bahasa lain mempunyai konstruk yang sama.
Jadi ia kelihatan sedikit pelik sekarang,
ia pasti bukan melengkapkan laman web mencari,
tetapi mungkin apa yang dalam header dot php.
Semua barangan yang lain, kanan, tag html, tag kepala,
tag tajuk, semua barangan yang di atas intipati utama
halaman, yang boleh dikatakan hanya senarai tidak tertib,
dan dalam nota kaki mungkin seperti tag badan tertutup,
tag html tertutup itu; agak tidak menarik
tetapi barangan duplikasi.
Baiklah, dan pasti cukup jika saya pergi
ke dalam header dot php ia hanya jenis serpihan anak yatim
dari atas, dan jika saya pergi ke footer dot php,
ia yang yatim serpihan dari bawah,
dan saya menggunakan mereka sama serpihan dalam fail saya yang lain,
seperti kuliah dot php.
Baiklah, jadi apa yang lebih baik tentang perkara ini anda akan berkata?
Yeah?
>> Kesederhanaan.
>> Kesederhanaan?
Saya tidak tahu jenis ini kelihatan banyak menakutkan kepada saya sekarang, bukan?
>> Jika saya mahu mengubah anda header, anda tidak perlu
mengubahnya dalam semua sebelum ini seperti fail.
Anda hanya mengubahnya dalam pengatas.
>> Tepat, jadi mungkin dalam rasa bahawa itu mudah,
mungkin saya akan bingkai ia kerana ia hanya lebih mudah untuk mengemaskinikannya.
Ia mungkin lebih bersih sedikit
kerana anda mengemaskini ia hanya dalam satu tempat.
Supaya agak menarik; apa keburukan yang
pendekatan ini atau apa yang kekal masalah
bahawa kita tidak benar-benar diselesaikan?
Yeah?
[Komen Off Mic]
Ya, betul-betul, maksud saya, saya masih menyalin dan menampal;
ia sedikit kurang, tetapi saya hanya ditarik ke atas dua daripada fail-fail ini,
dan mereka cukup banyak masih kelihatan serupa.
Terdapat memerlukan di atas, yang memerlukan di bahagian bawah,
dan tidak tertib senarai di tengah-tengah
yang itu sendiri masih struktur yang sama.
Selain itu, notis ini, jika saya sebenarnya melihat contoh ini,
biarlah saya pergi ke Versi Satu kini,
dan notis Saya ada CS50 Kuliah Sukatan.
Oh, CS50 Minggu Minggu Zero Satu dan CS50 Rabu Jumaat,
Saya jenis memotong sudut.
Apa - apa yang telah tajuk yang sebelum ini?
[Komen Off Mic]
Mereka seperti kuliah Minggu Zero, seperti ia adalah jenis
daripada seksi, dan ia sebenarnya mempunyai beberapa dinamisme kepadanya,
dan ini adalah jenis - Saya hanya jenis punting kini
dan hanya menganggap bahawa keseluruhan laman web ini adalah CS50
dan okay ia berfungsi, tetapi ia pasti tidak sebagai elegan
atau sebagai jenis lurus kemukakan seperti dulu,
tetapi yang masuk akal, kerana jika anda melihat indeks dot php
dan ceramah dot php dan minggu sifar dot php,
mereka semua termasuk fail yang sama,
jadi bagaimana kita boleh memperbaiki ini?
Apa yang lelaran seterusnya kod ini mungkin akan lakukan?
[Komen Off Mic]
Ya, betul-betul, jadi jika - dan biarlah saya meringkaskan
dengan kita pada dasarnya mahu untuk parameterize kepala yang
supaya ya masih ada keras berkod tag h1, tetapi barangan yang
di antara, terbuka dan tag penutupan,
adalah mungkin dinamik, dan yang datang dari sesuatu yang lain.
Mungkin "mendapatkan tali" atau perkara selepas tanda tanya
dalam URL berada di suatu tempat lagi, jadi mari kita membaca.
Jadi, jika saya pergi ke Versi Dua,
kini melihat bahawa saya telah mendapat fail tambahan,
ia kelihatan seperti pembantu dot php.
Saya tidak tahu di mana untuk mula jadi saya akan memulakan hanya
di indeks seperti seperti biasa, dan kini notis ia sedikit berbeza,
jadi saya mendapat talian memerlukan
di bahagian atas yang memerlukan pembantu php dot,
tetapi saya boleh memanggilnya apa sahaja yang saya mahu,
tetapi kini notis garis tiga ada panggilan fungsi
untuk memberi kepala, yang merupakan menarik hanya setakat
sebagai apa yang sedang diluluskan pada nampaknya, tajuk adat
untuk halaman ini tertentu.
Sementara itu ada menyebabkan nota kaki di bahagian bawah,
dan saya tidak memerlukan apa-apa parameterization ada ia hanya
nota kaki, tetapi kini ada seolah-olah
sebagai satu langkah ke arah yang lebih baik penyelesaian, menyebabkan header mengambil,
dan apa yang kuasa dua kurungan menunjukkan bagi mereka
yang tidak pernah melihat php pernah atau pada masa?
[Komen Off Mic]
Ya, ia array.
Ia merupakan satu array bersekutu atau hash yang mengaitkan kunci
dengan nilai-nilai; ia seperti Jawa Skrip, notasi bantahan,
atau bahasa-bahasa lain, syntaxs sama.
Baiklah, jadi apa yang dalam pembantu dot php?
Dalam pembantu dot php ia hanya beberapa fungsi,
menyebabkan header dan footer menyebabkan.
Jadi beberapa butiran jika kurang biasa,
jadi pertama sekali hakikat
yang header menyebabkan mengambil hujah data itu nampaknya
diberikan yang kosong array terdapat bermaksud apa?
Apakah maknanya untuk melakukan setaraf kurungan terbuka ditutup kurungan
sebagai parameter dalam php?
Ia nilai lalai.
Jadi, jika saya tidak lepaskan pada array atau mana-mana hujah sekalipun
kepada pengepala memberi atau yang menyebabkan fungsi kaki,
Saya sekurang-kurangnya boleh amanah sebagai pengarang fungsi-fungsi
data yang akan minimum menjadi pelbagai kosong;
ia tidak akan undefined atau palsu, atau sesuatu seperti itu,
ia akan menjadi betul-betul apa yang Saya berikan sebagai lalai.
Sekarang ini adalah sedikit semacam cara yang hackish simbol muatan
ke dalam ruang nama anda boleh dikatakan,
tetapi ia berfungsi cukup baik ke arah tujuan ini
melaksanakan jenis kita sendiri enjin template golongan miskin.
Baiklah, ada banyak alat di luar sana untuk Python Ruby
dan php yang memberi anda keupayaan template
dan itulah apa yang kita mahu.
Kami mahu template yang mempunyai tag terbuka h1, h1 satu ditutup tag,
dan semacam tempat yang pemegang di tengah-tengah,
dan kita mahu mengisi tempat mereka pemegang melalui fungsi ini,
supaya fungsi ini mengekstrak hanya kebetulan
untuk memberikan anda yang berikut keupayaan.
Jika anda mempunyai satu bersekutu array dengan pasangan nilai utama
seperti foo sama bar, ekstrak akan mewujudkan satu pembolehubah tempatan
dipanggil tanda berkesan dolar foo dan memberikan nilai bar
jadi ia meletup bersekutu anda array dari pasangan nilai utama
ke dalam pembolehubah baru dengan nilai-nilai yang sepadan.
Dan kemudian memerlukan header dot dot php adalah sama seperti sebelum ini,
jadi apa yang kita mungkin akan untuk melihat bahagian dalam header dot php?
Ia mungkin mendapat bahawa tag h1 dan tag penutupan; apa yang berlaku
berada di dalam itu mungkin di antara itu?
[Komen Off Mic]
Tepat, terdapat mungkin adalah beberapa menyebut tajuk tanda dollar
dan cukup yakin jika saya mengezum masuk pada ini ada tag gelaran saya,
ada tag h1 saya, dan di dalam daripadanya adalah sisipan dinamik
hakmilik tanda dolar, tetapi hanya untuk langkah yang baik,
Saya melakukan khas html ini mengenakan atrociously dinamakan
fungsi, tetapi ia berguna; apa yang ia lakukan
atau apa yang ia melindungi terhadap?
Ini sebenarnya satu penyelesaian yang dengan ancaman yang anda membayangkan;
anda akan membawa kita untuk.
[Komen Off Mic]
Tepat, jadi jika yang berniat jahat pengguna atau mangsa yang tidak curiga
serangan phishing klik pada pautan
bahawa dalam diri mempunyai tanda tanya dan sesuatu seperti foo sama,
dan kemudian nilai daripada foo sebenarnya
seperti kurungan terbuka skrip, kurungan tertutup,
dan kemudian beberapa kod JavaScript;
jika anda tidak memanggil ini Fungsi utama panjang,
anda sebenarnya akan menjangkiti html mentah ke dalam laman web anda,
hasil daripada yang bahawa anda mungkin ditipu.
Anda mungkin menipu pengguna ke dalam melaksanakan kod JavaScript
bahawa dia atau dia sebenarnya tidak berniat.
Dan walaupun biasanya anda hanya menyakiti diri sendiri,
seperti hanya anda tahu satu bodoh akan menaip
dalam skrip kurungan terbuka, kurungan tertutup, dan berkata amaran
atau sesuatu seperti itu dan melakukan dirinya sendiri
dengan beberapa hasil pelik, jika anda dapat ditipu
ke dalam mengklik link yang mempunyai JavaScript mentah tertanam di dalamnya
sebagai nilai bagi atribut itu,
anda boleh antara lain mencuri cookies seseorang
kerana ada harta yang dipanggil dokumen dot cookie
dalam JavaScript yang membolehkan anda merebut sesi cookie pengguna,
dan jika anda ingat apa yang sesi serangan rampasan adalah,
cerita panjang pendek, itu salah satu cara sebenarnya menipu seseorang
ke dalam memberikan anda bahawa maya setem tangan dan kemudian mengambil
bagi akaun Facebook mereka atau beberapa jenis lain akaun.
Baiklah, jadi ini adalah sedikit panjang,
tetapi ia hanya menggunakan kod html mentah.
Ini adalah bersamaan memanggil echo
atau mencetak dengan berkesan, dan kita pada dasarnya memasukkan
yang dinamik.
Jadi apa lagi yang masih di sini?
Baiklah, biar saya pergi ke Versi Tiga di sini,
dan kita akan melihat yang agak yang berbeza -
susun atur fail yang tepat sama tetapi notis
kali ini kita akan umum header dan footer
sebagai templat, jadi apa yang saya maksudkan dengan itu?
Apakah perkara yang salah itu berbeza di sini?
Apa yang telah berubah sejak versi terakhir?
Halus, tetapi ia boleh dikatakan hanya reka bentuk yang lebih bersih yang lebih baik.
Yeah?
[Komen Off Mic]
Ya, terdapat hanya satu standard menyebabkan fungsi;
Saya tidak kes khas menyebabkan header atau menyebabkan kaki,
kedua-duanya jika anda ingat dari pembantu dot php,
kita cukup banyak sama kecuali nama-nama mereka
dan template mereka dimasukkan.
Mengapa tidak hanya parameterize fungsi menyebabkan
dan mengambil satu hujah, itu nama template,
dan hujah pilihan kedua yang pasangan nilai utama
yang anda mahu pasangkan masuk
Jadi jika saya kini melihat pembantu dot notis php
bahawa saya menjadi sedikit pelamun sekarang.
Saya sebenarnya memeriksa adakah fail wujud dan jika jadi teruskan
dan memerlukan; hanya dalam kes pengguna sengaja jenis
di beberapa nama template palsu anda tidak mahu membuang kesilapan
dalam program ini supaya kita boleh minimum melakukannya ini
memihak sini.
Baiklah, tetapi boleh kita mengambil langkah seterusnya?
Dalam versi ini di sini notis berikut.
Saya baru sahaja ditaip ls, dan apa yang segera melompat
keluar agak berbeza.
Jadi ada dua direktori, betul,
dan sebagainya ini kini merupakan langkah ke arah apa yang akhirnya akan menjadi lebih
rangka kerja yang betul.
Ini adalah jenis ceroboh saya akan membuang semua
kandungan saya di dalam sebuah direktori umum boleh diakses
yang benar-benar dipanggil awam.
Dan walaupun malangnya, banyak rangka kerja,
orang yang lebih tua terutamanya, dan juga beberapa jawatan web,
Dream Host di antara mereka, kuasa-kuasa anda untuk meletakkan semua fail anda
pada masa yang menyamai yang direktori awam walaupun
jika fail anda mungkin termasuk kata laluan pangkalan data
dan nama pengguna atau kelayakan lain seperti,
itu bukan di semua reka bentuk yang baik.
Lebih baik hanya meletakkan
dalam direktori awam apa yang benar-benar mempunyai
menjadi pengguna diakses, dan segala-galanya
bahawa anda termasuk seperti pembantu php dot,
tidak ada sebab itu harus web diakses melalui
pelayar dengan url.
Ia mungkin benar-benar berbahaya jika pengguna mahu melihat mungkin
yang pasang, tetapi ia hanya prinsip itu,
dan tuhan mengharamkannya sebenarnya tidak mempunyai nama pengguna atau kata laluan;
anda tidak mahu pengguna sengaja
atau sengaja menjadi dapat mengaksesnya.
Jadi kita tidak cukup di pendekatan sempurna di sini,
tetapi notis berikut sekarang.
Dalam indeks dot php, notis yang Saya masih memerlukan pembantu,
tetapi saya melakukannya dengan cara bahawa saya jenis menganjurkan semua
fail-fail yang akan dimasukkan
ke Subdirektori yang dipanggil konvensional termasuk,
dan kemudian saya panggil menyebabkan untuk header dan footer seperti sebelum ini.
Jadi satu-satunya perkara Yang saya lakukan adalah jenis
daripada menyusun semula direktori saya untuk menjadi lebih sedikit dubur
mengenai struktur fail.
Tetapi jika kita pergi ke contoh kelima ini,
notis di sini bahawa kita kini mempunyai ketiga-tiga daripada folder,
dan ini adalah sedikit mengelirukan pada masa ini
kerana bagi kesederhanaan demi kelas,
Saya baru sahaja dibuang segala-galanya
ke dalam John Harvard Direktori Awam hanya
supaya kita boleh mengemudi ia melalui pelayar, tetapi notis -
mengabaikan bahagian ini hanya seketika,
hakikat bahawa saya di sana.
Perhatikan bahawa saya mempunyai tiga subdirektori: awam,
template, dan termasuk.
Idea ini kini adalah bahawa dalam dikonfigurasikan dengan betul pelayan web saya
akan memberitahu Apache ini laman web mempunyai capai awam
fail di sini, dan di tempat lain.
Jadi apa fail yang anda fikir Saya akan melihat bahagian dalam
ramai saya menaip ls?
Apa yang sekurang-kurangnya satu fail yang mungkin di sana?
[Komen Off Mic]
Okay indeks dot php, dan apa fail adalah jelas tidak
di sana di kalangan orang lain?
Seperti pembantu dot php, header dot php, footer dot php;
semua serpihan, semua fungsi
yang tidak benar-benar memerlukan menjadi diakses secara umum,
ia perlu digunakan oleh fail
yang boleh diakses secara terbuka, tetapi mereka sendiri,
tiada keperluan pengguna untuk melihat atau ukan URL bagi pembantu dot php.
Perhatikan bahawa bukan jika saya pergi
ke termasuk ada pembantu php dot,
dan jika saya pergi ke dalam template,
ada nota kaki dan header dot php.
Terus terang, saya boleh meletakkan mereka dalam direktori yang sama,
tetapi saya cuba untuk menjadi lebih dubur tentang menjaga fail
yang hanya jenis template statik berbeza
daripada fail berfungsi seperti pembantu php dot,
dan saya hanya mematuhi beberapa konvensyen perkara biasa
memanggil direktori termasuk dan template.
Jadi satu-satunya yang berubah maka sekali lagi jalan.
Jika kita pergi di sini notis bahawa saya kini hanya perlu
untuk memasukkan direktori relatif,
dot dot slash termasuk pembantu php dot,
atau saya boleh menjadi sedikit lebih betul dan benar-benar melakukan sesuatu
seperti ini, php dan banyak
bahasa mempunyai simbol khas
yang mewakili direktori fail semasa,
jadi menekankan garis bawah dir menekankan garis bawah mewakili
apa sahaja direktori adalah fail ini,
dan jadi jika anda hanya concatenate dengan operator titik, bahawa,
yang akan mencapai keputusan yang sama,
dan cenderung untuk menjadi sedikit lebih teguh kerana anda boleh mendapatkan
ke dalam keadaan dengan saudara direktori telah hanya mengatakan dot
atau dot dot boleh sebenarnya membawa anda ke tempat yang salah,
jadi ini cenderung untuk menjadi yang lebih mantap.
Baiklah, jadi apa walaupun mayat?
Apa yang anda masih tidak suka tentang ini?
Apa yang boleh diperbaiki dan anda mengulas padanya sebelum ini saya rasa
bahawa masih terdapat adalah beberapa isu?
[Komen Off Mic]
Betul, pasti kita tidak mempunyai untuk mula menulis seperti laman
yang kelihatan seperti ini, bukan?
Ini tidak berasa semua yang banyak yang lebih baik,
masih ada menyalin tampal.
Saya masih mempunyai memerlukan talian di bahagian atas.
Saya masih ada menyebabkan header menyebabkan kaki.
Ada banyak pertindihan.
Yeah?
[Komen Off Mic]
Ya, betul-betul, jadi kami telah mengambil langkah ke arah jenis pemisahan
sehingga "c" dari "v," supaya MVC adalah Model View Pengawal;
pengawal adalah jenis yang otak permohonan.
Model cenderung untuk menjadi data yang atau beberapa fungsi yang dikongsi,
dan pandangan cenderung untuk menjadi estetika, template,
jadi kami telah mengambil satu langkah ke arah memisahkan "c" dari "v"
kerana kita kini mempunyai sekurang-kurangnya direktori ini template,
tetapi walaupun di sana kita pada dasarnya mempunyai satu pengawal bagi setiap fail.
Ia tidak kelihatan seperti ada logik banyak berlaku di sini,
tetapi indeks dot php adalah berkesan pengawal.
Apabila anda melawat URL dan berakhir dalam indeks dot php,
semua logik bahawa melaksanakan bahawa laman yang tepat
dalam php index dot, dan sama untuk kuliah dot php.
Yang sama selama seminggu sifar dot php.
Oleh itu, kita jenis strone kami logik di seluruh tempat,
dan rasanya ini tidak akan
mengikut skala dengan baik sebaik sahaja kami tidak mempunyai empat tetapi empat puluh muka surat
jika setiap halaman bermula dengan saya menyalin versi yang lebih tua
fail dan hanya Tweaker beberapa
kandungan di dalamnya.
Oleh itu, kita hanya diambil satu langkah ke arah ini,
dan salah satu alat kami akan memperkenalkan
pada hari Rabu adalah penyusun dipanggil "Laravel"
dan ini adalah sangat rangka kerja php popular,
yang lain termasuk "Fuelphp."
Ada satu satu lebih tua dipanggil "Codeigniter."
Ada satu dipanggil "Kek."
Ada satu dipanggil "Symphony."
Maksud saya jika anda Google rangka kerja php,
ada sebuah kejam beberapa rangka kerja seperti
bahawa orang-orang yang melaksanakan.
Laravel adalah salah satu lebih dan pendatang;
ia adalah salah satu pembersih yang, dan anda akan mendapati
yang akhirnya ia membantu menjimatkan agak sedikit
masa walaupun terdapat sedikit keluk pembelajaran,
tetapi kita akan membimbing anda lebih pada hari Rabu.
Selain itu, kami akan memperkenalkan apa yang dipanggil "PRO."
Dalam kes ini, kami akan menggunakan sesuatu yang datang
dengan rangka kerja ini dipanggil Laravel.
Ia dipanggil "fasih" dan ini hanya satu lapisan kod
yang membolehkan anda untuk antara lain perkara bercakap dengan pangkalan data.
Dan di sini juga, saya mencuri contoh yang sama ada baru-baru ini
atau throwback untuk sebahagian dari kamu daripada 50.
Jika anda telah mengambil 50, dan yang anda lakukan "CS50 Kewangan,"
anda mungkin ingat fail yang anda menulis atau menulis semula yang kelihatan
seperti ini, ini adalah login php dot, dan pada masa itu,
terutama kerana kita tidak menghabiskan banyak masa
kepada asas-asas php awal,
ini sendiri mungkin mempunyai menjadi agak mencabar,
dan begitu juga dengan kami, sebenarnya, cuba untuk memudahkan reka bentuk.
Kami tidak benar-benar memisahkan "M" daripada "V" daripada "C" semua yang banyak
untuk masalah yang "Tujuh CS50 Kewangan,"
tetapi notis satu perkara yang diharapkan harus bermula
untuk segera menggosok anda yang salah cara, adalah sesuatu seperti ini.
Maksud saya, bukan sahaja ini log masuk php dot pengawal.
Ia juga bercakap terus
kepada pangkalan data khusus menggunakan sekuel, yang tidak akan
mengikut skala dengan baik apabila anda mula bekerja dengan satu
atau dua atau tiga rakan.
Sebagai contoh, jika salah satu daripada rakan kongsi bertanggungjawab
untuk mewujudkan anda jadual pangkalan data dan akan datang
dengan indeks anda dan memikirkan
apa kunci harus, yang kunci utama, kunci asing,
dan semua itu, membuat keputusan mengenai nama-nama jadual dan semua itu.
Sekarang anda orang yang lain dalam kumpulan perlu tahu semua
keputusan reka bentuk dia atau dia telah dibuat, dan kini anda perlu
kepada kod keras keputusan tersebut ke dalam fail anda, jadi sekarang dia
atau dia adalah cukup banyak dikekang
untuk tidak lagi mengubah nama-nama jadual.
Jangan sekali-kali sekali lagi untuk menukar nama-nama yang difailkan
tanpa memaklumkan anda.
Selain itu, anda tidak boleh benar-benar mudah bekerja pada fail yang sama
tanpa berlanggar antara satu sama lain jika dia
atau dia sentiasa menukar nama,
dan anda mempunyai lama versi dan sebagainya,
jadi ini adalah hanya menjemput banyak dan banyak sakit kepala.
Lebih-lebih lagi, seperti yang kita akan melihat tidak lama,
walaupun anda tidak perlu
untuk melakukan terutamanya pertanyaan canggih di sini,
sebaik sahaja anda mula mempunyai pelbagai jadual, dua jadual, tiga, lima,
sepuluh meja di MySql atau umumnya pangkalan data hubungan,
anda perlu menyertai mereka jadual kerap jika biasa, dan anda mempunyai
untuk menggabungkan data dari satu dengan yang lain,
dan terus terang pertanyaan sekuel anda mula mendapat lebih lama, dan lebih lama,
dan lagi, dan banyak lagi kompleks, dan ia hanya bermula
untuk mendapatkan lebih mudah melakukan kesilapan
dan banyak sukar untuk mendapatkan perkara yang betul.
Dan sebagainya alat seperti Fasih dan PRO akan
untuk membantu kami model data dan ia juga berkesan akan
untuk menjana kod yang kita perlu mula menyoal pangkalan data
dengan cara yang lebih canggih.
Jadi, jika anda mempunyai kekunci utama di sini dan kunci asing
di sini, anda hanya perlu lakukan adalah mengajar PRO itu,
Objek Perhubungan Mapper, apa hubungan yang
dan ia akan mencari jalan apa pertanyaan untuk melaksanakan untuk anda.
Dan hanya dalam yang jarang berlaku kes yang anda perlukan
semestinya menulis kod sekuel diri sendiri.
Jika anda benar-benar mahu sesuatu lagu denda,
tetapi bagi sebahagian besar, anda boleh hanya mula merawat entiti
di dalam pangkalan data anda sebagai benar objek dan tidak ini baris rata
yang entah bagaimana anda perlu membina semula dan de menormalkan.