>> Upang magsimula sa bridge ano Maaaring maging ang iyong karanasan lamang
may web programming, kung ano ang aking naisip na gusto kong gawin ay magnakaw ng ilang
ng halimbawa na sa iyo maaaring nakakita sa 50
kung kinuha mo ito sa nakaraan taon o dalawa o maaaring walang
kung kinuha mo ito ng ilang mga taon na nakalipas
na sanggol hakbang patungo sa malaman ng isang pyridine bilang MBC,
Modelo Tingnan Controller, at kung ano ang ibig sabihin nito?
Ito ay gagamitin namin makita muli marahil lamang ang paraan ng panimulang
upang linisin ang disenyo ng ilang web-based na piraso ng software,
o maaaring ito ay client side batay pati na rin, ngunit gagamitin namin ito
sa konteksto ng PHP, sa gayon maaari naming magsimula
upang gawing mas kumplikado mga proyekto at pag-uuri
ng hiwalay na iba't ibang uri ng code sa loob ng application;
lalo na sa gayon ay kapag namin magkaroon ng maraming mga tao na nagtatrabaho
sa isang proyektong ito ay mas mas madali upang gumuhit ng mga linya.
Kaya unang hayaan tumagal ng isang tumingin sa isang suboptimal paraan
ng pagpapatupad ng isang bagay.
Ipagpalagay na Nais kong gumawa ng isang super simpleng kurso website para sa 50
o anumang iba pang klase, at klase na may mga bagay
tulad ng mga aralin at isang syllabus.
Maaari kong gawin ang isang bagay tulad ng isang h1 tag sa tuktok ng aking pahina
at isang unordered listahan na may listahan li item sa pagkakasunod-sunod
na magkaroon lamang ng isang Naka-bullet na listahan ng mga Mga pagpipilian sa menu, kaya sobrang simple.
Kaya kung paano maaari naming gawin ito?
Well, hayaan mo akong pumunta sa aking terminal na window dito,
at napansin na ang Mayroon akong nabasa na sa akin at ili-link namin sa ang code na ito
sa website ng kurso ni sa isang sandali,
at napansin na mayroon ako index tuldok htm - index tuldok php.
Kaya ipaalam sa akin sige at buksan iyon, at bang sapat na ito uri
ng ulok na ito kahit na tinatawag na php
dahil ang lahat Mayroon akong ay isang php komento
at pagkatapos ay lahat ng iba pa lamang ang raw na html code.
Ngunit muli ito ay bersyon zero,
kaya isang hakbang patungo sa isang bagay na mas kawili-wili,
ngunit napansin na hard ko na naka-code CS50 bilang pamagat, CS50 sa h1,
at ngayon mayroon akong aralin-link,
ngayon ba akong magkaroon ang link syllabus.
Ang lahat ng mga karapatan, sa gayon ay hindi mukhang lahat na hindi makatwiran
hanggang sa sundin ka ng link tulad ng mga aralin, at natanto
na ang lahat ng karapatan iba ito nilalaman ngunit ito ay uri
ng ang parehong bagay; ito ay isang pamagat ng pahina at unordered listahan.
Click ako linggo zero mula sa nakaraang taon, at ito ay uri
ng ang parehong bagay, isang h1 tag at isang unordered listahan
at pagkatapos ay sa wakas ako i-click ito, at nakuha ko sa ilang mga dahon,
kung saan ay ang mga slide mula sa na partikular na magbigay ng panayam.
Kaya ang isang bagay ay nagsasabi sa akin Ako ay tungkol sa upang sumukot.
Kung buksan ko up aralin tuldok notice php
na ito ay halos kopya at i-paste mula sa nakaraang file;
Ko lang ang nagbago ang pamagat sa h1, at kung ano ang mga link na ito ay.
Mas masahol pa, kung pumunta ako sa linggo zero tuldok php,
ito ay ang parehong trabaho kopya i-paste ang
sa pamamagitan lamang ng kaunting tweaked nilalaman.
Kaya tiyak mayroong isang pagkakataon dito upang pagbutihin,
at tiyak dapat ito maging isang magandang pamantayan;
anumang oras sa tingin mo iyong sarili pagkopya
at paglalagay ng isang bagay higit sa isang beses siguro,
pulang bandila dapat sana ay simulan upang pumunta off.
Ngunit paano ko pumunta kami tungkol sa pagpapabuti na ito?
Well, mayroong ilang mga paraan, at ang mga diskarte na maaari mong gamitin
sa php na umunlad sa ibabaw subukan ang isang ito ng oras, ngunit hayaan.
Hayaan akong pumunta sa Bersyon isa, kaya sa susunod na pag-ulit ng mga ito,
at hayaan mo akong subukan upang linisin ito up ng isang bit.
Mag-right, isa sa php ni pinakasimpleng mekanismo
para sa paglutas ng problemang ito ay ang nangangailangan ng old school function,
na halos ginagawa ng kopya at i-paste ng mga nilalaman
ng ilang mga file dito mismo, tulad ng c ay matalim isama,
at iba pang mga wika ay may halos katulad na constructs.
Kaya mukha itong isang maliit na kakaiba ngayon,
ito ay talagang hindi isang kumpletuhin naghahanap ng web page,
ngunit baka kung ano ang sa loob ng header tuldok php.
Ang lahat ng mga iba pang mga bagay-bagay, kanan, ang html na tag, ang head tag,
ang tag na pamagat, ang lahat ng mga bagay-bagay na noon ay nasa itaas ng pangunahing kakanyahan
ng pahina, na kung saan ay arguably lamang ang unordered listahan,
at sa footer Marahil tulad ng closed body tag,
tag closed html ni; medyo hindi kawili-wili
ngunit duplicative bagay-bagay.
Ang lahat ng mga karapatan, at sigurado sapat kung pumunta ako
sa header ng tuldok php ito lamang uri ng mga ulila fragment
mula sa tuktok, at kung ako pumunta sa footer tuldok php,
ang ito ay naulila fragment mula sa ibaba,
at ako gamit ang mga parehong fragment sa aking iba pang mga file,
tulad ng mga aralin dot php.
Ang lahat ng mga karapatan, kaya kung ano ang mas mahusay na tungkol sa gusto mong sabihin?
Oo?
>> Ang pagiging simple.
>> Ang pagiging simple?
Hindi ko alam kung ang ganitong uri ng mga hitsura marami scarier sa akin ngayon, tama?
>> Kung Nais kong baguhin ang iyong header, hindi mo ay magkakaroon
baguhin ito sa lahat ng nakaraang tulad ng mga file.
Baguhin mo lang ito sa iyong mga header.
>> Mismong, kaya marahil sa na kahulugan nito simple,
siguro Gusto ko i-frame ito bilang ito ay lamang mas madaling mag-update ito.
Ito ay marahil isang maliit na mas malinis
dahil mong i-update ito sa lugar ng isa lang.
Kaya na medyo nakahihimok; kung ano ang isang downside
ng ang paraan na ito o kung ano ang problema na labi
na hindi talaga namin nalutas?
Oo?
[Naka-off ang mic Komento]
Oo, eksakto, Ibig kong sabihin, ako pagkopya pa rin at pag-paste;
ito ay isang maliit na mas kaunti, ngunit ako lamang na nakuha up ng dalawang ng mga file na ito,
at sila ay halos tumingin pa rin magkapareho.
Nagkaroon ng nangangailangan sa tuktok, isang nangangailangan sa ibaba,
at isang unordered listahan sa gitna
kung saan mismo ay pa rin structurally pareho.
Dagdag pa rito, mapapansin na ito, kung ako talaga tingnan ang halimbawang ito,
hayaan mo akong pumunta sa Bersyon Ang isa ngayon,
at napansin na ang nakuha ko CS50 panayam Syllabus.
Uh oh, CS50 Linggo Zero Linggo One at CS50 Miyerkules Biyernes,
Uri ng ko na bang gupitan ng sulok.
Ano - ano ang mga mga pamagat ng dati?
[Naka-off ang mic Komento]
Sila ay tulad ng mga aralin sa Linggo Zero, tulad ng ito ay uri
ng sexier, at ito talaga ay may ilang dynamism dito,
at ito ay uri ng - ako lamang uri ng punting ngayon
at lamang sa pagpapalagay na ang buong website ay CS50
at okay ito gumagana, ngunit ito ay ay tiyak na hindi bilang eleganteng
o bilang isang uri ng tuwid ipasa habang ito ay isang beses,
ngunit na saysay, dahil kung tiningnan mo ang index tuldok php
at mga aralin dot php at linggo zero tuldok php,
ang mga ito ay lahat kabilang ang sa parehong file,
kaya kung paano namin maaaring mapabuti ito?
Ano ang susunod na pag-ulit ng ang code na ito marahil pagpunta sa gawin?
[Naka-off ang mic Komento]
Oo, eksakto, kaya kung - at hayaan mo akong sabihin sa maikling pangungusap
may lubos na namin nais sa parameterize header na
kaya na oo mayroong pa rin ng isang hard code h1 tag, ngunit ang mga bagay-bagay
sa pagitan ng, ang bukas at ang malapit na tag,
ay siguro pabago-bago, at nagmumula sa ibang bagay.
Siguro ang "makakuha ng string" o ang bagay pagkatapos ng tandang pananong
sa URL ay sa isang lugar tao, tumagal ng isang hitsura kaya hayaan.
Kaya kung pumunta ako sa Bersyon Dalawang,
mapansin ngayon na na hindi ko na nakakuha ng isang karagdagang file,
ito kamukha Katulong dot php.
Hindi ko talaga alam kung saan sa magsimula kaya ako pupunta upang simulan lamang
sa index tulad ng tulad ng dati, at ngayon mapansin medyo naiiba,
kaya Nakakuha ako ng isang nangangailangan ng linya
sa tuktok na nangangailangan ng Katulong dot php,
ngunit maaari ko ito tumawag kahit anong gusto ko,
ngunit napansin ngayon tatlong linya doon ay isang katangian tawag
mag-render ng header, na kawili-wiling lamang sa ngayon
bilang ano ang nakapasa sa sa malas, ang custom na pamagat
para sa partikular na pahina.
Samantala mayroong render footer sa ibaba,
at hindi ko kailangan ang anumang parameterization doon ito lamang
isang footer, ngunit ngayon ay tila doon
upang maging isang hakbang patungo sa isang mas mahusay na solusyon, render header tumatagal,
at kung ano ang ginagawa ng parisukat Ipinapahiwatig ng mga bracket para sa mga
na hindi nakita php kailanman o sa isang habang?
[Naka-off ang mic Komento]
Oo, ito ay isang array.
Ito ay isang nag-uugnay array o isang hash na iniuugnay ng mga susi
may halaga; ito ay tulad ng Java Mga Script, pagtatanda pagtutol,
o iba pang mga wika, katulad syntaxs.
Ang lahat ng mga karapatan, kaya kung ano ang sa Katulong dot php?
Sa Katulong dot php ito lamang ng ilang mga pag-andar,
render ng header at footer render.
Kaya isang pares ng mga detalye kung mas pamilyar na,
kaya una sa lahat ang katotohanang
na-render header tumatagal ng isang argumento data na tila
itinalaga ang walang laman array doon ay nangangahulugang kung ano?
Ano ang ibig sabihin na gawin Kapantay bukas bracket sarado bracket
bilang isang parameter sa php?
Ito ay ang default na halaga.
Kaya kung hindi ako pumasa sa array o anumang argumento kung ano pa man
sa render header o ang render footer function,
Maaari ko bang hindi bababa sa tiwala bilang may-akda ng mga function
na data habilin Nagnais maging isang walang laman na array;
hindi ito ay hindi natukoy na o hindi totoo, o isang bagay tulad na,
ito ang magiging kung ano mismo ang Ibinigay ko ito bilang isang default.
Ngayon ito ay isang bit ng isang uri ng isang hackish paraan ng pag-load ng mga simbolo
sa iyong espasyo pangalan kaya na magsalita,
ngunit ito gumagana medyo na rin patungo dulo ito
ng pagpapatupad ng aming sariling mga uri ng templating engine mahinang tao.
Ang lahat ng mga karapatan, mayroong maraming mga tool out doon para sa Python Ruby
at php na nagbibigay sa iyo kakayahan sa templating
at iyon mismo kung ano ang gusto namin.
Gusto naming ng isang template na may isang h1 buksan ang tag, sarado isang h1 tag,
at uri ng isang lugar may-ari sa gitna,
at gusto naming punan ang mga lugar mga may-hawak ng paraan ng pag-andar,
kaya ito function na extract lang kaya ang mangyayari
upang bigyan ka ng mga sumusunod mga kakayahan.
Kung mayroon ka ng nag-uugnay ng array na may key mga pares ng halaga
tulad ng foo ay katumbas ng bar, katas ay bubuo ng isang lokal na variable
tinatawag na epektibo dollar sign foo at bigyan ito ng isang halaga ng bar
kaya explodes nito ang iyong nag-uugnay array mula sa mga pangunahing mga pares ng halaga
sa bagong variable na may ang katumbas na halaga.
At pagkatapos ay nangangailangan ng tuldok header tuldok php ay pareho tulad ng dati,
kaya kung ano ang marahil kami makapupunta upang makita ang loob ng header tuldok php?
Ay marahil nakuha ko na h1 tag at ang malapit na tag; kung ano ang nangyayari
upang maging sa loob nito marahil sa pagitan ng mga ito?
[Naka-off ang mic Komento]
Mismong, doon ay marahil ilang pagbanggit ng pamagat-sign dolyar
at bang sapat na kung mag-zoom ko sa sa ito doon ang aking tag na pamagat,
mayroong aking h1 tag, at sa loob ng ito ay isang dynamic na pagpapasok
ng dollar sign pamagat, ngunit para lamang sa mabuting pamamaraan,
Ako ginagawa ito html espesyal na singilin atrociously na may pangalang
function, subalit ito ay kapaki-pakinabang; kung ano ang ginagawa nito
o kung ano nito pinoprotektahan laban?
Ito ay talagang isang solusyon sa isang pagbabanta ikaw ay hinting;
Gusto mo na humantong sa amin sa.
[Naka-off ang mic Komento]
Mismong, kaya kung ang isang nakakahamak na gumagamit o isang mapagtiwala biktima
ng isang phishing na atake nag-click sa isang link
na sa sarili ay nagkaroon ng isang tandang pananong at ang isang bagay tulad foo katumbas,
at pagkatapos ay ang halaga ng foo ay talagang
tulad ng bukas bracket script, closed bracket,
at pagkatapos ay ang ilang mga code ng JavaScript;
kung hindi ka tumawag ito pangunahing function na mahaba,
Gusto mo talaga mai-infecting raw html sa iyong web page,
ang resulta ng kung saan ay na sa iyo ay maaaring tricked.
Maaaring tricking ang user sa e-execute ng JavaScript code
na siya ay ginawa hindi tunay na nilayon.
At kahit na karaniwang ka lamang pagyurak sa iyong sarili,
tulad lamang na alam mo ang isang tulala ay pagpunta sa i-type
sa bukas bracket script, closed bracket, at sabihin alerto
o ang isang bagay tulad na at gawin sa kanya o ang kanyang sarili
in gamit ang ilang mga kakatwang mga kahihinatnan, kung ikaw ay makakuha ng tricked
sa pag-click sa isang link na may raw JavaScript na naka-embed sa loob nito
bilang halaga ng katangiang iyon,
maaari kang kasama ng iba pang mga bagay magnakaw ng mga cookies ng isang tao
dahil mayroong isang ari-arian tinatawag na dokumento tuldok cookie
sa JavaScript na nagbibigay-daan sa iyo upang grab cookie session ng isang user,
at kung isipin mo kung ano ang isang session-hijack ng atake ay,
mahaba kuwento maikli, na isa paraan ng tricking talagang isang tao
sa pagbibigay sa iyo ng virtual na kamay stamp at pagkatapos paglalaan
sa kanilang mga Facebook account o ilang iba pang uri ng account.
Ang lahat ng mga karapatan, sa gayon ito ay isang maliit na mahaba,
ngunit lamang gumagamit ito raw na html code.
Ito ang katumbas ng pagtawag echo
o i-print nang epektibo, at talaga kami ng pagpasok
na pabago-bago.
Kung ano ang higit pa Kaya nananatiling dito?
Well, hayaan mo akong pumunta sa Bersyon Tatlong dito,
at kami makakita ng medyo iba't ibang -
parehong eksaktong layout ng file ngunit paunawa
na oras na ito kami ay pagpunta sa magbigay ng tuntuning panlahat ang header at footer
bilang mga template, kaya kung ano ang ibig sabihin ko sa pamamagitan ng na?
Ano ang isang bagay na iba dito?
Ano ang nagbago mula noong ang huling bersyon?
Banayad, ngunit ito ay arguably lamang ng isang mas mahusay na mas malinis na disenyo.
Oo?
[Naka-off ang mic Komento]
Oo, mayroong isa lamang karaniwang render ng function;
Hindi ko espesyal na kaso render header o footer render,
kung saan pareho siyang kung ikaw pagpapabalik mula Katulong dot php,
Ikinalulungkot namin halos magkapareho maliban para sa kanilang mga pangalan
at ang mga template na kasama nila.
Bakit hindi lamang parameterize ang render ng function
at gagawa ng isang argument, na ang pangalan ng template,
at isang pangalawang opsyonal na argumento na ang ilang pangunahing mga pares ng halaga
na nais mong i-plug in
Kaya kung ngayon tumingin ako sa Katulong dot notice php
na ako sa pagiging isang may interes kaunti ngayon.
Talaga Lalabas na ako ang ginagawa ng umiiral ang file at kung kaya sige
at nangangailangan ito; kung sakali aksidenteng na uri ng gumagamit ang
sa ilang mga bogus pangalan ng template sa iyo ayaw magtapon ng isang error
sa programa nang sa gayon aming makakaya Nagnais gawin sa kanila ito
paboran dito.
Ang lahat ng mga karapatan, ngunit aming makakaya tumagal ito ng isang karagdagang hakbang?
Sa ang bersyon na ito dito mapansin ang sumusunod.
Lamang ako ng na-type ls, at ano agad jumps
out ay medyo iba.
Kaya mayroong dalawang mga direktoryo, karapatan,
at kaya ito ay ngayon isang hakbang patungo sa ano ang magiging huli ay maging isang mas
tamang framework.
Ito ay uri ng walang ingat ng akin na masusuka lahat
ng aking nilalaman sa loob ng isang sa publiko naa-access na direktoryo ng
na literal ay tinatawag na publiko.
At kahit na sa kasamaang-palad, ng maraming Framework,
mas lumang mga bago lalo na, at kahit ilang mga web mga post,
Dream Host kasama ng mga ito, pwersa mong ilagay ang lahat ng iyong mga file
sa ang katumbas ng isang pampublikong direktoryo kahit na
kung ang iyong mga file lakas isama mga password database
at ang mga user name o ibang tulad ng mga kredensyal,
hindi iyon sa lahat ng mga mahusay na disenyo.
Karamihan mas mahusay na ay ilagay lamang
sa pampublikong direktoryo kung ano ang talagang may
upang maging user na naa-access, at lahat ng iba pa
na kayo ay kabilang tulad ng Katulong dot php,
walang dahilan na iyon Dapat na naa-access sa pamamagitan ng isang web
browser na may isang url.
Maaaring maging ganap na hindi nakasasama kung nais ni upang makita siguro ang user
sino mga pares, ngunit ito ay lamang sa prinsipyo ng ito,
at diyos ipagbawal ito talagang gumagana may user name o password;
hindi mo nais ang gumagamit nang hindi sinasadya
o sadyang pagiging ma-access ito.
Kaya hindi kami masyadong sa isang perpekto ang diskarte dito,
ngunit napansin ang sumusunod na ngayon.
Sa index ng tuldok php, napansin na ang Ako na nangangailangan pa rin Katulong,
ngunit ako paggawa ito sa paraang na ako uri ng pag-aayos ng lahat
sa mga file na ay isasama
sa isang subdirectory na tinatawag na conventionally Kasama,
at pagkatapos ay tumawag ako render para sa header at footer na tulad ng dati.
Kaya ang tanging bagay Gumawa ako ay pag-uuri
ng muling ayusin ang aking mga direktoryo upang maging isang kaunti pa anal
tungkol sa istraktura ng file.
Ngunit kung namin pupunta na ngayon sa ito ikalimang halimbawa,
mapansin dito na kami ngayon magkaroon ng isang tatluhan ng mga folder,
at ito ay isang bit mapanligaw sa sandaling ito
dahil para sa pagiging simple alang-alang sa klase,
Na itinapon lamang ako lahat ng bagay
sa John Harvard ni Pampublikong Direktoryo lamang
upang maaari naming itong mag-navigate sa pamamagitan ng isang browser, ngunit paunawa -
huwag pansinin bahagi ito para sa isang sandali lamang,
ang katotohanan na ako doon.
Pansinin na mayroon akong tatlong subdirectory: publiko,
mga template, at may kasamang.
Ang ideya na ngayon ay na sa isang maayos na na-configure web server ko
Gusto sabihin sa Apache na ito website ay naa-access sa publiko
Ang mga file dito, at wala saan man.
Kaya kung ano ang file na sa tingin ninyo Pupunta ako upang makita ang loob
ng publiko kung nagta-type ako ls?
Ano ang hindi bababa sa isang file na marahil sa doon?
[Naka-off ang mic Komento]
Okay index tuldok php, at kung ano ang file ay malinaw naman hindi
doon kasama ng iba pa?
Tulad ng Katulong dot php, header tuldok php, footer tuldok php;
lahat ng mga fragment, lahat ng mga pag-andar
na hindi talaga kailangan upang makukuha ng publiko,
kailangan nito upang maging kapaki-pakinabang sa pamamagitan ng mga file
na ay naa-access sa publiko, ngunit sila sa kanilang sarili,
Kailangang walang gumagamit upang makita o mano isang URL para sa Katulong dot php.
Pansinin na sa halip kung pumunta ako
sa Kabilang mayroong Katulong dot php,
at kung pumunta ako sa mga template,
mayroong footer at header tuldok php.
Nang tapat, sana kong ilagay ang mga ito sa parehong directory,
ngunit sinusubukan ko na maging kahit na higit pa anal tungkol sa pagpapanatiling mga file
na lamang ang uri ng static na mga template ng iba't ibang
mula sa functional na mga file tulad ng Katulong dot php,
at ako lamang adhering sa ilang medyo karaniwang mga convention
pagtawag sa mga direktoryo Kasama at mga template.
Kaya ang tanging bagay na Binago pagkatapos ay muli ang landas.
Kung pumunta up namin dito mapansin na ako ngayon ay may lamang
magsama ng isang kamag-anak na direktoryo,
tuldok tuldok slash Kasama Katulong dot php,
o maaari kong maging isang kaunti pa wasto at aktwal na gawin ang isang bagay
tulad nito, php at marami
ng wika ay mayroon ng mga espesyal na mga simbolo
na kumakatawan sa direktoryo ng kasalukuyang file,
kaya salungguhit salungguhit dir guhitan sa ilalim salungguhit ay kumakatawan
ano naman direktoryo ay ng file na ito,
at kaya kung pagdugtungin mo lamang may mga tuldok operator, na,
na nais makamit ang parehong resulta,
at may gawi na maging isang kaunti pa matatag dahil maaari kang makakuha ng
sa mga sitwasyon na may kamag-anak mga direktoryo ay lamang na nagsasabi na tuldok
o tuldok tuldok maaari talaga dalhin mo sa maling lugar,
kaya ito ay may gawi na maging mas malakas ng kaunti.
Ang lahat ng mga karapatan, kaya kung ano bagaman na labi?
Ano gagawin mo pa rin hindi gusto tungkol dito?
Ano ma-pinabuting at mo Nagkomento dito mas maaga sa palagay ko
na mayroong ilang mga isyu pa rin?
[Naka-off ang mic Komento]
Kanan, tiyak wala kaming upang simulan ang pagsusulat tulad ng mga site
na ganito ang hitsura, tama?
Hindi ito pakiramdam lahat na magkano ang mas mahusay,
mayroong kopyahin pa rin i-paste.
Mayroon akong pa rin ang nangangailangan ng linya sa tuktok.
Mayroon pa rin ba akong mag-render header-render footer.
Maraming ng pag-duplicate.
Oo?
[Naka-off ang mic Komento]
Oo, eksakto, kaya nagsagawa kami ng isang hakbang patungo sa uri ng paghahati ng
up ang "c" mula sa "v," kaya MVC ay Modelo Tingnan Controller;
controller ay isang uri ng mga talino ng application.
Modelo ay may gawi na maging ang data o ilang mga ibinahaging pag-andar,
at tingnan ang mga may gawi na maging ang aesthetics, ang template,
kaya't hindi kami nagsagawa ng isang hakbang patungo sa paghihiwalay ang "c" mula sa "v"
dahil ngayon ng hindi bababa sa mayroon kami direktoryong ito template,
pero kahit doon namin mahalagang magkaroon ng isa controller bawat file.
Hindi ito mukhang mayroong magkano ang logic ng pagpunta sa dito,
ngunit index tuldok php ay epektibo ng controller.
Kapag bumisita ka sa isang URL at nagtatapos sa tuldok index php,
lahat ng logic na ipinapatupad na pahina ay tama
sa index ng tuldok php, at parehong para sa mga aralin dot php.
Ang parehong para sa linggong zero tuldok php.
Kaya namin ang uri ng strone aming logic lahat ng dako ng lugar,
at ito nararamdaman tulad ng ito ay hindi papunta sa
upang masukat nang napakahusay sa sandaling namin may hindi apat ngunit apat-napu mga pahina
kung bawat pahina ay nagsisimula sa sa akin pagkopya ng isang mas lumang bersyon
ng file at lamang ng pagsasaayos ng ilang
ng nilalaman sa loob nito.
Kaya kami lamang kinunan isang hakbang patungo sa ito,
at isa sa mga tool ipapakita namin ipakilala
sa Miyerkules ay isang framer tinatawag na "Laravel"
at ito ay napaka sikat php framework,
iba pang mga bago isama "Fuelphp."
Mayroong isang mas lumang isa na tinatawag na "Codeigniter."
May isang tinatawag na "cake."
May isang tinatawag na "Symphony."
Ibig kong sabihin kung sa iyo ng Google php Framework,
mayroong isang mabangis bilang ng mga katulad Framework
na ang mga tao na ipinatupad.
Laravel ay isa sa mga higit pa up at comers;
ito ay isa sa mga mas malinis mga bago, at makikita mo
na ganap na ito ay tumutulong sa i-save mo lubos ng kaunti
ng oras kahit na mayroong isang bit ng isang curve sa pag-aaral,
ngunit iyon ay namin gabayan kang higit sa Miyerkules.
Dagdag pa rito, bibigyan namin ng ipakilala ano ang tinatawag na isang "ORM."
Sa kasong ito, gagamitin namin isang bagay na nagmumula
may ganitong balangkas tinatawag Laravel.
Ito ay tinatawag na "magaling magsalita" at ito ay lamang ng isang layer ng code
na nagpapahintulot sa iyo na kasama ng iba pang bagay na makipag-usap sa mga database.
At dito masyado, hayaan mo akong magnakaw ng isang Halimbawa na alinman sa kamakailang
o isang kilos sa pabalik para sa ilan sa inyo mula sa 50.
Kung ikaw mismo ang kumuha 50, at ng ginawa mo "CS50 Finance,"
maaari mong isipin ang mga file na ka magsulat o rewrote na tumingin
tulad nito, ito ay sa pag-login tuldok php, at sa panahon,
lalo na dahil kami ay hindi gastusin karaming oras
sa php batayan nang maaga,
maaaring ito ay may sarili nito naging medyo mahirap,
at kaya ginawa namin, sa katunayan, subukan upang gawing simple ang disenyo.
Kami ay hindi talagang paghiwalayin ang "M" mula sa "V" mula sa "C" lahat na magkano
para sa mga problema na "Pitong CS50 Finance,"
ngunit napansin ang isang bagay na dapat sana ay simulan
sa lalong madaling panahon RUB mo ang maling paraan, ay isang bagay na katulad nito.
Ibig kong sabihin, ay ito ay hindi lamang mag-log in tuldok php isang controller.
Ito ay din sa pakikipag-usap nang direkta
sa isang database na partikular na gamit ang sumunod na pangyayari, na kung saan ay hindi papunta sa
upang masukat nang napakahusay kapag simulan upang gumana sa isa
o dalawa o tatlong mga kasosyo.
Halimbawa, kung ang isa sa ang mga kasosyo ay may pananagutan
para sa paglikha ng iyong mga talahanayan ng database at darating
up gamit ang iyong ini-index at ang pag-uunawa
kung ano ang dapat na ang key, ang pangunahing key, ang mga banyagang key,
at ang lahat ng iyon, sa pagpapasya sa ang mga pangalan ng table at lahat ng iyon.
Ngayon mo ang iba pang mga tao sa Kailangang malaman ng lahat ng mga grupo
ng mga pasya sa disenyo siya o siya ay ginawa, at kailangan mo na ngayong
sa hard code sa mga pagpapasya sa iyong file, kaya siya ngayon
o siya ay medyo magkano nilimitahan
upang hindi kailanman muling baguhin mga pangalan ng talahanayan.
Huwag nang muli upang baguhin mga nag-file ng mga pangalan
nang hindi na nagpapaalam sa iyo.
Higit pa rito, hindi mo magagawa talaga Madaling gumagana sa parehong file
nang hindi nagbabanggaan sa isa't isa kung siya
o siya ay patuloy pagbabago ng mga pangalan,
at mayroon kang lumang mga bersyon at iba pa,
kaya ito ay lamang ng pag-imbita maraming at maraming mga ulo.
Higit pa rito, bilang kami ay makita bago mahaba,
kahit hindi mo kailangan
gawin lalo na sopistikadong mga query dito,
sa sandaling simulan mo ang pagkakaroon ng maramihang mga talahanayan, dalawang mga talahanayan, tatlo, lima,
sampung mga talahanayan sa isang MySQL o sa pangkalahatan ay isang pamanggit database,
mayroon ka na sumali sa mga talahanayan madalas kung pamilyar, at mayroon kang
upang pagsamahin ang data mula sa isa sa iba pang,
at lantaran ang iyong mga query sa sumunod na pangyayari simulan upang makakuha ng mas mahaba, at mas mahaba,
at mas mahaba, at higit pa complex, at nagsisimula lang ito
upang makakuha ng isang mas madaling upang gumawa ng mga pagkakamali
at maraming mas mahirap makakuha ng mga bagay-bagay kanan.
At kaya mga tool tulad ng Magaling magsalita at ORM ay pagpunta
upang matulungan kaming gawing modelo ng aming data at ito ay epektibo rin ng pagpunta
upang mabuo ang code na namin kailangan upang simulan ang querying mga database
sa mas sopistikadong paraan.
Kaya kung mayroon ka ng isang pangunahing key sa paglipas dito at isang foreign key
sa paglipas dito, ang kailangan mo gawin ay turuan na ORM,
Bagay Relasyon Mapper, ano ang relasyon na
at ito ay malaman kung anong mga query upang maisagawa para sa iyo.
At lamang sa bihirang kaso kailangan mo
sa kinakailangang sumulat iyong sarili sumunod na pangyayari code.
Kung ikaw ba talagang i- fine tune ang isang bagay,
ngunit para sa pinaka-bahagi, maaari kang simulan lamang pagpapagamot ng entity
sa iyong mga database bilang totoo mga bagay at hindi mga flat hilera
na kahit papaano ay kailangan mong i- magpanibagong-tatag at de-normalize.