Sam LEVATICH: Maligayang pagdating sa na seksyon para sa linggong ito. Hindi ako Andi. Andi ay nagkasakit sa araw na ito, at ako ay isang uri ng tinatawag na sa huling minuto upang kumuha ng higit. Ito ay panahon ng trangkaso, kaya siguraduhin na ikaw naglalagi ay malinis, paghuhugas ng mga kamay, at malusog na pagkain sa gayon ay kayo, masyadong, ay hindi nakaratay. Ngunit nang walang karagdagang ado, sabihin makapagsimula. Ngayon, kami ay pagpunta sa makipag-usap tungkol sa PHP isang maliit bit-- paano Kaugnayan PHP sa HTML, kung paano ito may kinalaman sa CSS, at ang ilan sa mga web mga bagay-bagay ang iyong ginawa sa huling assignment. Kami ay pagpunta sa makipag-usap sa isang nang kaunti tungkol sa SQL at kung paano mo maaaring gumana sa mga database, kung saan ay isang pretty mahalagang bahagi ng P itakda 8-- P set 7. P-set 7. At pagkatapos kami ay pagpunta sa makipag-usap sa isang maliit na kaunti tungkol sa kung paano gumagana ang view ng controllers at bakit iyon ang isang pilosopiya sa likod ng ilang modernong mga pahina ng web at iba't ibang disenyo. Medyo magkano ang isang pulutong ng mga uri ng mga apps at mga aplikasyon na maaari mong ipadala ay gumagamit ng modelong ito, view ng controller framework, na ikaw ay gumagamit ng sa P set 7, kaya kukunin ko na makipag-usap nang kaunti tungkol sa kung bakit na naging popular, kung bakit ito mahalaga at nice. At pagkatapos ay kukunin ko na sa wakas ay lumipat sa sa ilang mga tip tungkol sa tackling P set 7. At kung kami ay may oras natira sa dulo, maaari naming talagang gawin ang ilang gumana sa na sama-sama. Kaya, PHP. Sa katunayan, maaaring napansin this-- hindi mo talaga kung sumisid sa it-- ngunit P set 6 ay may ilang PHP code na nangyayari. At dahil PHP ay isang C-like wika, PHP, hindi tulad ng HTML at CSS, ay isang programming language, samantalang HTML at CSS ay static. Ang mga ito ay mga markup language pakikitungo may estilo at visual na layout. PHP ay ang tunay na pakikitungo. May loops PHP, ito ay may conditions-- lahat na mga bagay-bagay na masaya tungkol C. Ito ay may ilang mga bagay na ay isang maliit na bit mas mahusay kaysa sa C, na kung saan kami ay makita, ngunit sa palagay ko ang pinakamadaling paraan upang makipag-usap tungkol sa PHP ay upang lamang sumisid in. Kaya ako pagpunta sa pumunta sa kanan sa IDE sa puntong ito. Ang unang bagay na kami ay pagpunta gawin ay ang tunay na hitsura isang maliit na piraso sa ilan sa mga PHP code na nasa P set 6. Kaya ang paraan na ginagawa namin na- dati, ang mga paraan na kami ay tumatakbo ang server para sa mga appliance ay na kami ay may sa type-- gamitin ang alinman sa iyong pagpapatupad o pagpapatupad ng mga tauhan ng server.c pamamagitan ng pagpunta sa direktoryo at tumatakbo server.c sa alinman sa walang arguments-- tumawag lang kaya ito sa lokal na host, na kung saan ay kung ano ang ikaw ay malamang na ang karamihan ng mga time-- at pagkatapos ay pagpapakain ito isang directory-- sa na gamitin bilang root nito kung saan ang mga website ng gagawin maging tumakbo, talaga. Sa linggong ito para sa P-set 7, tulad ng mahusay na bilang aming code para server.c ay, may mga tao na nag sinusulat ang mga masasarap na bagay sa ibabaw sa CS50 na magkaroon ng isang maliit na piraso higit pang pag-andar, isang server na programa na may kakayahang ng pagharap sa isang kaunti pa ang intricacies na bibigyan namin ng makita sa parehong P set 7 at P set 8. At ang paraan na simulan mo ang server ay sa pamamagitan ng pag-type lamang, "apache50." At bago mo gawin, nais mong tiyakin na Apache 50 ay hindi tumatakbo na bilang na ito ay sa aking mga makina, na ginawa ko na subukan ito. At gawin mo na sa pamamagitan ng pagtawag apache50. Itigil, at makikita mo na ito ang paghinto ang web server, kung maaari mong tingnan doon sa ibaba ng window ng terminal. At pagkatapos lamang sa simula, hindi namin pagpunta sa tawag, "apache50 magsimula." At pagkatapos kami ay pagpunta sa feed na ito ng isang direktoryo. Ngayon, dahil nais naming tingnan ang ilan sa mga P-set 6 code na kami ay ipinatupad, ako talaga kinopya ang isang maliit na piraso ng mga P itakda 6 code sa aking sariling mga folder, kung saan maaari mong makita sa kaliwa doon. Ito ay tinatawag na "SECTION8" sa lahat ng mga malalaking titik dahil ako ay lamang kaya nasasabik upang maging live-stream ngayon. Kaya kung nagpapatakbo namin ito, ito ay dapat na lahat ng trabaho medyo epektibo. Sinasabi nito, OK, ang aming site ay ngayon Available sa address ng IDE, talaga, na kung saan ay kung ano ang ikaw ay gumagamit ng nang eksakto tulad ng ito ay sa P set 7-- P set 6. Lahat ng mga ini-index ng aking isa index ngayon. Kaya maaari naming pumunta sa na address, kung makikita mo matandaan, sa pamamagitan ng pag-click lamang ng isang maliit na ito button sa kanang itaas. At makikita mo maalala muli ang code, na nangyari kapag nagpunta ka sa hello.php. At kung ano ang code ay dinisenyo upang gawin ay kapag nag-type ka sa isang pangalan here-- kung sabihin mo Sam dahil iyon ang aking name-- at i-click ko Say Hello, kapag nagpunta kami sa mga susunod na pahina, na ang pangalan ay dapat na maipakita. Mas sabihin, "Hello, Sam" o "Hello," kahit anong pangalan mo ilagay sa mga ito kahit kami ay nagpunta sa isang ganap na bagong web page. At ito ay ang uri ng mga bagay na maaaring gawin ng PHP para sa iyo. PHP ay may kakayahan upang pumasa data pagitan ng dalawang mga pahina ng web. Ito ay isang ganap na iba't ibang mga pahina. Makikita mo ang mga pamagat ay "hello" dito. Sa totoo lang, sila ay may parehong pamagat, ngunit ako Nangangako ang mga ito ng iba't ibang web mga pahina kung tinitingnan namin ang pinagmulan. At maaari mong ipasa ang mga data na ipinasok sa patlang ng teksto na ito, isinumite mo ito sa mga susunod na page na ini tinatawag up, at pagkatapos ay ang data na iyon ay may kakayahan upang riyan sa kanyang kasalukuyang form. Ngayon hindi pa namin na-ipinatupad ito ang ating mga sarili, na kung saan ay kung ano ang kami ay pagpunta sa gawin sa ngayon upang sort makakuha ng isang lasa para sa kung paano gumagana ang PHP, ngunit ang pangunahing ideya ay na PHP-- maaari mong uri ng tingin ng mga ito tulad ng isang function. Isang bagay na maaaring ipaalam sa iyo ng PHP huwag ay maaari itong tumagal ng mga parameter na iyong input sa isang HTML na pahina pamamagitan ng paggamit ng PHP at mga form, at ito ay maaaring ipasa ang mga bilang ng mga parameter sa susunod na pahina na ito ay naglo-load up. Sa kasong ito, ay loading namin up na ito pahinang may button na "Say hello". Ngunit sa ngayon, ako ay tunay na tinanggal na ang ilan sa na code sa hello.php na na tumakbo noon ay talagang pagpapakita ng "hello, world "o" hello, Sam "o "hello," ang anumang ay input lamang. Kaya para sa ngayon, hindi namin pagpunta sa gawin iyon, talaga. Kami ay pagpunta sa muling likhain na at din magdagdag ng ilang higit pang mga pag-andar, gawin ang isang maliit na piraso ng higit sa mga ito, tingnan ang kung ano ang PHP ay talagang may kakayahang. Kaya una, ni makipag-usap tungkol ipaalam ang file na ito, hello.php. Kaya kung mag-zoom kami sa isang maliit bit-- at ngayon Ako uri ng sinusubukan upang mag-scroll ang lahat ng ang paraan around-- doon kami pumunta. Makikita mo ang ito ay tinatawag na hello.php, ngunit ang syntax ng mga ito ganito ang hitsura ng isang file na HTML. Ito ay dahil ang aktwal na PHP sa file na ito ay ang lahat ng makaalis sa pagitan ng mga question mark-caret bloke. Lahat ng bagay dito mismo ay itinuturing na code na PHP. At mapapansin mo na kapag ako ng komento, makikita mo ang mga pamilyar dalawang forward slashes. At kung kayo pagpapabalik, sa HTML, kung nagta-type ako ng komento, Mukhang ito ay isang bagay na mas malapit sa na ito, na kung saan ay isang puna sa HTML. Kaya talagang lahat ng bagay sa pagitan ng ang dalawang mga anggulo bracket ngayon ay PHP code, na ay makikita sa ang katunayan na simbolo na ito maliit na komento ay nakabukas sa isang komento. Kaya sa tuwing ikaw ay sumulat ng PHP code, kahit na kung walang HTML code sa labas ng mga ito, palaging ito ay magiging kalakip sa mga anggulo bracket may mga tandang pananong. Maaari mong uri ng isip tungkol sa it-- kung paano ang lahat ng code na tumakbo sa iyong C programa ay nakapaloob sa isang int pangunahing, walang bisa, kulot suhay, end kulot suhay statement. At makikita mo ang curly braces in PHP, masyadong, ngunit ito ay isang uri ng tulad ng mga pangunahing paraan ng PHP. Kaya ngayon, kung paano ang gagawin namin ang anumang bagay sa PHP? Ngayon, PHP ay isang programming wika na napaka-C-like, ngunit ito ay nagpapatakbo sa web. Kaya isang bagay na makikita mo immediately-- isa sa mga unang bagay na tunay na ginawa sa C ay na-print mo bagay-bagay out, di ba? Kaya sa C ginawa namin na may printf function. Kami ay nagbigay ito ng isang string, marahil na may isang bagong linya, at pagkatapos namin tinapos ito sa isang tuldok-kuwit. Kaya ang paraan na kami ay pagpunta upang gawin iyon sa PHP-- dahil ito ay hindi lubos printf. Ito ay isang maliit na piraso ng iba't ibang mga syntax. Ang paraan na i-print namin ang mga bagay out sa PHP ay sinasabi namin, "echo hello" o "echo" sa anumang salita. At iyon ay ang epekto ng paggawa printf may isang string, "hello." At ito ay nagdadagdag ng mga bagong linya dito. Kaya sabihin gawin ngayon hayaan sure-- Kukunin ko mag-zoom out muli ng isang maliit na bit-- tiyakin nating pabayaan na code ay gumagana dahil may maaaring masyadong maayos ay isang bug sa code na ito na magkakaroon kami harapin. Kaya ang server ay tumatakbo na. Kaya kung mag-scroll namin pabalik pababa sa ilalim, yup, ang server ay tumatakbo pa rin. Kaya kung i-tap lamang namin sa mga ito Medyo right here-- welcome-- dapat naming get-- malaki. Pa rin namin ang pagkakaroon ng pamilyar na "Say hello" dialogue, ngunit kapag nag-type sa ko "hi," makikita natin na ang text "hello" ay sa katunayan naka-print out, na kung saan ay eksakto tulad ng inaasahan namin dahil echo sa PHP ay tulad ng isang printf pahayag. Kaya bumalik sa code, kung paano sa P set 6 ginawa distribution code ang ikaw ay ibinigay gawin ito upang gagawin PHP output ang bagay na ikaw ay nai-type sa sa nakaraang screen? At upang ang uri ng suriin kung bakit nangyari iyon, hindi namin pagpunta sa pumunta sa index.html, na ay ang orihinal na file, ang mga file na nagpapakita up sa screen na ito may button na "Say hello". Mapapansin mo na mayroong lahat ng mga klasikong mga bagay-bagay kami ay dumating sa inaasahan mula sa HTML tulad bilang mga bagay na ito, kalakip ang mga tag sa anggulo bracket, tulad ng PHP ngunit wala ang mga tandang pananong, na nagpapahiwatig ng isang espesyal na bagay sa HTML. Mayroon kaming pamagat, na kung saan ay "hello." At mapapansin mo na tulad ng nakita natin, ang pamagat ay "hello" sa parehong kaso. Baguhin ang isang ito Hayaan sa "sabihin" kaya lang kami maaaring makita ang kaibhan sa ating sarili kung saan kami. Ngunit namin nakuha ng isang katawan. At pagkatapos ay ang mga kagiliw-giliw na piraso, ang bit na nagpapakita up sa HTML, ay ito ng elemento ng form. At kaya namin nakuha ng isang form. At ito ay ang susi. Ito ay kung paano kami ay nagtatrabaho sa PHP. Ang parameter na pagkilos ng sabi form na hello.php ay kung ano ang kami ay pagpunta upang magpadala ng ang mga halaga sa form na ito sa. Ito ay kung saan kami ay pagpasa ang mga parameter, kaya na magsalita. Mapapansin mo ang isa pang bagay dito ay na ang mga pamamaraan ay "kumuha." Mayroong dalawang pangunahing mga paraan kung saan ay ay gumagamit ng PHP upang pumasa data pagitan websites-- mga web page, rather-- sa ganitong assignment. At ang mga pamamaraan ay "makakuha ng" at "post." May mga ilang mga dalubhasa pagkakaiba sa pagitan ng get at post na kami ay makakuha into-- namin ay "makakuha ng" sa, kung ikaw ay. Ngunit para sa lahat ng mga layunin at mga layunin, at makakuha ng post ay parehong lamang ang mga paraan na pumasa ka ng mga parameter may bahagyang naiiba executions. Para sa ngayon, kami ay pagpunta sa gamitin ang makuha dahil makakuha ay kung ano ang ginagamit orihinal sa PHP file ng P set 6. At talagang, kung pumunta kami sa at tumingin bago na-edit na namin ang anumang bagay, Pupunta ako sa sabihin hi to-- ano ang pangalan mo? Madla: Elliot. Sam LEVATICH: Oh, gosh. Hindi ko alam kung paano i-spell na iyon. Puwede bang spell na para sa akin? Madla: E-L-L-I-O-T. Sam LEVATICH: I-O-T? Madla: Oo. Sam LEVATICH: Perfect. SIGE. Hulaan ko ko alam kung paano iyon ini-ispel. Pasensya na. Datapuwa't kung sabihin natin "Say hello," ito ay hindi hindi ito ay pagpunta sa magpapakita sa screen Gayon man, sapagka't kami ay binago ang code nang kaunti. Ngunit kung namin "Say hello" - OK, kaya "hello" ay dito. Ngunit kung namin ng isang malapit tingnan ang URL mismo, kami ay makikita na ito ay nagtatapos may hello.php? name = Elliot. Kaya, ito ay isang paraan ng pakikipag-usap sa mga susunod na pahina ng web ang mga parameter na iyong ipinasa namin. Sabi namin name = Elliot. At iyon ang huli kung paano P set 6 access ang variable na ipinasa namin sa in sa pamamagitan ng mga form. At ito ay isang bagay na ay kaiba sa isang kahilingan get. Gumagawa ng mga parameter Ang isang kahilingan get kilala sa URL ng website. At makikita mo pagpapabalik, masyadong, sa P set 6 na kayo ay sumulat ng isang function tumalakay sa katunayan na ito sa query string maaaring umiiral pagkatapos ng isang file. May ay maaaring isang tandang pananong sinusundan sa pamamagitan ng karaniwang anumang bilang ng mga character. At na eksakto kung ano ang nangyayari sa dito. At ang dahilan na kayo ay nagkaroon upang i-parse na sa iyong pagpapatupad ng server.c sa P itakda 6 ay sa gayon ay maaari mong sabihin PHP code na pangalan = Elliot. Kailangan mo upang ma- i-parse na sa labas ng URL upang ang PHP file na pinag-uusapan alam kung ano ito ay may pakikisama. Kaya sana ito ay nagbibigay sa ang pagganyak upang server.c ngayon na kami ay lumipat sa sa labas ng C sa PHP. Kaya sabihin aktwal na tumutok sa pag-access sa bagay na lumipas sa pamamagitan ng isang kahilingan get ngayon sa puntong ito. Pupunta ako upang i-save ito. Hindi namin baguhin ang anumang bagay. Mukhang nakuha namin ang isang input field. Kami ay pagtatakda ng ilang mga ari-arian, tulad ng maaari naming gawin ang isang HTML. Ito ang mga simpleng bagay. Hindi natin kailangan ang mga ito. Ngunit namin nakuha autocomplete off, kung saan talaga says-- alam mo, kapag nag-type ka ng mga bagay sa web, minsan ito sumusubok upang punan na sa para sa iyo. Kaya ito ay isang magandang bagay. Gusto naming i-off ito para sa hangaring ito. Iyon ay isang desisyon CS50. Kaya maaari naming tanggalin na kung gusto namin. Sticks lang Autofocus ang cursor sa anyo karapatan sa simula. Muli, hindi masyadong mahalaga. Ngunit name = "pangalan" - ito ay isang maliit na nakakalito dahil ito ay pangalan at pangalan. Subalit hindi namin pinalitan mo ang ito sa ibang bagay. At sa katunayan, iyon ang ano ang gagawin namin ngayon. Susubukan naming sabihin ang "tao," kung saan ay uri ng tulad ng pangalan kung ang isang tao ay tinukoy sa pamamagitan ng kanilang pangalan. Kaya ng malapit na ito ipaalam, muling buksan up ng aming website dahil ang aming server ay tumatakbo pa rin Apache 50, at hindi na namin makikita ang sinasabi, hello, narito ang Elliot muli. Bakit hindi? Kamusta. At kung pumunta kami dito, kami makita pagkatapos ay sa halip ng pangalan = Elliot, sinasabi nito na tao = Elliot. At iyon ay isang direktang resulta ng ang katunayan na nagbago lang namin name = "tao." Kaya sa isang elemento ng input isang HTML form, ang field na Pangalan ay ang identifier para sa parameter na ini lumipas. Ito ay tulad ng kung ikaw ay lumilikha ng isang function "magdagdag ng" na kinuha sa loob ng dalawang integer at sinabi mong int isang at int b. Iyon ay magiging ang pangalan ng isang, at kung Nais mo ng isa pang form, na maaari naming gawin sa pamamagitan lamang ng pagkopya at pag-paste, pagkatapos kami ay may pangalan b. Kaya ngayon makikita kami ay may dalawang mga parameter na ay dumaan sa pamamagitan ng kumuha sa susunod website-- mga susunod na pahina ng web, hello.php. At maaari naming makita ang tunay na na muli kung gusto namin. Ito ay ang pinakamadaling paraan upang harapin ang ang web code sa IDE, talaga. Simulan mo ang server, kumuha ng mga ito pagtakbo, at pagkatapos ay sa bawat panahon na kayo gumawa ng ilang mga pagbabago, malapit lang file na iyon upang maging ligtas. Ang pagpindot ng back button ay isang maliit na manlilinlang dahil maaaring i-load ito sa isang mas maaga bersyon, hindi ang pinaka-update na isa. At pagkatapos ay i-click mo lamang ang iyong button muli, pop karapatan up-- oh, at ngayon ay may dalawang anyo. At kaya kung type namin ang isang bagay sa bawat isa one-- "jason Hirshhorn," para instance-- sinasabi namin hello. Maghanap kami sa aming mga parameter. Mukhang mayroon ka namin, tulad ng inaasahan, a = jason at b = Hirshhorn, na kumakatawan sa dalawang mga parameter na ipinasa namin sa function na ito. Kaya ngayon sabihin aktwal na makakuha ng sa pagpapatupad na pag-andar na tayo nagkaroon sa P set 6. Kaya ngayon kami ay lamang echoing hello. At iyon ay hindi gaanong kapaki-pakinabang. Gusto naming echo ilang variable na dumaan sa amin. At alam namin ang pangalan ng variable na ito. Kami ay may isang at kami ay b. Kaya maaari naming piliin na echo alinman sa isa. Ngunit paano namin ma-access ang mga ito? Well, may mga ilang mga global variable sa PHP. At ako pagpunta sa sumulat ang mga ito sa mga komento dito. Ang dalawang pinaka-mahalaga sa buhay ay get at i-post para sa aming mga layunin ngayon. Ito ang mga array o, technically, ang mga diksyunaryo kung saan ang aming mga variable na hindi namin pagpasa sa susunod na live web page. At tayo sa lalong madaling panahon makita kung paano gamitin ang mga ito. Isa pang maikling tala tungkol sa code na PHP at ilang mga pagtutukoy ng it-- sa C, idedeklara isang variable o upang gamitin ang mga variable, una mong nagkaroon na idedeklara ang mga ito. At kung ano ang mayroon kang gawin kapag ikaw ipinahayag sa kanila ay sabihin int isa o char b. Ikaw ay nagkaroon na idedeklara ang mga uri ng mga variable bago mo nilikha ang mga ito. PHP-- hindi mo na kailangan na gawin ang alinman sa mga iyon. PHP ay hindi humingi ng ang uri ng variable. At ang paraan na iyong lumikha ng isang variable-- halip kaysa sa sinasabi int, pansamantalang trabaho, string na kung saan ay talagang char *, tulad know-- namin sa halip ng paggawa ng lahat ng mga na, dahil ang lahat ng bagay ay ng parehong uri, typeless, maaari naming lamang gamitin ang isang karakter, na kung saan ay ang dollar sign. At makikita mo na ito ay pop up, maliit na bagay autocomplete. At ito ay sinasabi na _GET at _POST dalawang mga opsyon na mayroon akong magagamit sa akin. Ang ilan sa mga iba pang mga bagay ay iba pang mga pangkalahatang variable sa PHP na ikaw ay gumagamit ng higit sa ang mga kurso ng P set 7. Para sa ngayon kami ay pagpunta sa focus sa get at post. Ngunit ito ay isang kapaki-pakinabang bagay na ang mga IDE ginagawa kung saan sa oras na iyong nai-type sa na dollar sign, ito ay simulan ang pagpuno sa mga pangkalahatang variable o mga variable na ako na tinukoy mo. Kaya kung nais mong tukuyin ang isang variable na tinatawag na "string," maaari mong i-set lamang ito katumbas ng "hi." At ito ay karaniwang bilang simpleng bilang na. At pagkatapos ay maaari naming gawin isang bagay tulad ng "echo $ string." IDE ay dapat na ibinabato ilang error kung ako paggawa ng anumang bagay na mali, kaya sana ako ng paggawa ng lahat ng karapatan. Ngunit bugs palaging huwag lumabas. Ang isa pang nakakalito bagay tungkol sa PHP ay na ito ay hindi naipon. Kaya sa C programa, ang gusto mong gawin ang araw-araw na gawain of-- talaga, Gusto mong gumawa ng mga pag-edit sa ang iyong code, na iyong i-save ito, at pagkatapos ay gagawin mo gumawa ng mga ito, kung saan ang make ay ang mga hakbang na tinatawag na tagatala, kalatungin, upang gumawa ng iyong code, ang text na ito file, sa isang executable. PHP ay C-tulad ng, ngunit ito ay pinaandar sa mabilisang sa pamamagitan ng iyong web browser. Kaya walang paraan upang malaman. Gumawa nais itapon sa mga helpful mga error, i-right? Ito ay magiging katulad, mo hindi idineklara ang variable na ito bago mo sinubukang gamitin ito. Ginawa mo lahat ng ito masamang stuff-- segfault, segfault, lahat na uri ng masaya beses na nagmula sa make. PHP ay isang may dalawang talim tabak dahil hindi ka makakakuha ng mga error, ngunit na rin ay nangangahulugan na ikaw ay hindi malaman talaga kung ano ang mali sa iyong programa kung nagpapatakbo ka lamang ito at hindi ito gumagana. Ngunit ang debugger ay dapat ituro ilang sana helpful maliit na bagay syntactically na maaari mong ayusin. Kaya ngayon kung kami ay dumaan to-- sabihin, ni isara na ipaalam. Muling buksan. At kami ay bumalik sa dito. Kaya Mayroon kami ng variable at isang variable b. At ang mga ito ay hindi ganap na mahalaga. Kami ay tumawag sa kanila h at g para sa walang partikular na dahilan. At sinasabi namin hello. Ngayon mukhang aming string "hi" ay sa katunayan ng pag-print. Lumikha kami ng isang variable na tinatawag na "string," itakda ito katumbas ng "hi." Pansinin na hindi namin ay may sa gawin malloc o gumawa ng isang character array. Sa PHP, dahil variable mga typeless, ang isang string ay katulad ng isang pansamantalang trabaho para sa lahat ng mga layunin at mga layunin. Maaaring ito ay "hi." Ito ay maaaring lamang ang character k. Maaari itong maging isang numero 1. At ito ay hindi pag-aalaga. Walang pakialam sa PHP ang uri ng iyong variable. O, ito ang pag-aalaga. Nagmamalasakit ito kapag sinubukan mong at gawin ang mga bagay-bagay sa mga ito, ngunit ito ay hindi sa pag-aalaga sa ang step deklarasyon. At tulad ng maaari mo sa C, maaari mong Ipinahahayag ng mga string sa stack na tulad nito kahit na sinasabi "stack" ay isang maliit na bit ng isang potensyal na maling tawag kapag pinag-uusapan natin ang tungkol sa PHP. Ngunit hindi namin kailangang mag-alala tungkol sa na. Kaya namin nakuha ang aming mga string "hi," at echo namin string. Kaya ngayon kami ay tinalakay variable. Kaya ngayon ay kailangan naming makipag-usap tungkol get at mag-post at isagawa ang huling bagay na na kailangan upang makakuha ng tunay na ito back up na ang pag-andar ng P set 6. Kaya ngayon hindi namin uulit ng string, ngunit hindi namin kailangang mga variable na ito at makakuha ng post. At dahil kami ay gumagamit ng ang paraan makakuha ng, ito parang natural na ang aming mga variable na hindi namin ay interesado sa, parehong isang at b, ay matatagpuan sa array o diksyunaryo, technically makuha. Kaya kung namin-set up makakuha ng tulad nito sa iyong groups-- ko pinindot pasok at hindi ito ang gusto it-- ngunit dito kami kumuha. At gayon makuha ay mayroon na. Kaya maaari naming simulan upang access ilan sa mga elemento ng get. Kung namin makuha, ang syntax na ito para sa array sa PHP ay tunay C-like. Mayroon kaming aming dalawang mga square bracket. Kaya kung sinasabi namin makuha sa isang normal array, maaari naming ma-access ang ang index zeroth, ang unang index. PHP ay zero index. Maaari naming sabihin zero, isa, two-- bagay-bagay tulad na ito. At ako na nagsasabi na makakuha ng ay technically isang diksiyunaryo. Kaya kung ano ang PHP ay ginagawa sa ilalim ng hood, kung saan ay isang maliit na bit nicer kaysa sa C, ay ito na ibinibigay sa iyo ng ilang mga functionality diksyunaryo, na ay talagang hash talahanayan, o sumusubok na, parang. O kaya, technically ito ay maaaring isang subukan pati na rin. Ngunit PHP ay pagpapatupad ng isang hash table, na bumubuo ng isang epektibong dictionary. At upang malaman namin ang mga pangalan ng aming mga variable, di ba? Ito ay ang pagiging lumipas sa ang query string sa pamamagitan ng PHP. Kami ay may isang = h at b = g saan at b ang mga pangalan ng mga variable. Kaya ang paraan na maaari naming ma-access ang halaga na tumutugon sa key Sa aming diksiyunaryo ay lamang sa pamamagitan ng pagsasabi _GET_GET ["ng"]. Kaya ngayon kami ay _GET ["ng"]. At kung palitan lang kami sa loob aming echo, kung echo namin _GET_GET ["ng"] - at kami na makita kung ang debugger itinapon sa anumang mga error tungkol this-- Kukunin namin i-save na at isara ito out. Buksan up ito. Kaya kami ay lamang ang paggawa ng isang karapatan ngayon, para b ay hindi dapat bagay. "kanya" at "siya" - "ugong." "ang kanyang" at "ugong." Magaling. At ito na naka-print out "kanya," kung saan ay sira. Ngunit iyon mismo ang ay nangyayari sa P set 6. Talaga, kung ano P set 6 ay doing-- echo hello, name-- kung saan ito ay nagkaroon ng isang pangalan ng variable at ito lamang humihiling sa iyo na mag-type sa na piraso ng teksto. Nagkaroon din ng ilang karagdagang code na kung saan ito kasama kung pahayag, kung saan maaari naming gawin sa ngayon. Maaari naming sabihin kung mayroon, na kung saan ay isang pag-andar sa loob ng PHP, _GET May underscore, "pangalan" - na kung saan ay karaniwang kasabihan, "kung pangalan ay napunan" dahil maaaring kami ay nag-click lamang ang pindutan ng upang isumite ang form na walang pag-type ng kahit ano sa patlang na iyon. At wrap namin na sa aming friendly na curly braces. Maaari naming magkaroon ng isang tao statement. At iyan ay sa loob ng mga anggulo PHP lahat bracket, tandang pananong, angle bracket, kung gagawin mo. At ngayon kami ay makita kung ito ay gumagana. Panatiliing ko na hintayin itong debug at crap out sa akin, talaga, ngunit ito ay hindi pa. Marahil ito ay ngayon dahil nakipag-usap tungkol sa. Oo. Ito ay, sa katunayan. Kaya, walang ay nagpapakita up. Iyon ay dahil sa isang bagay na mali na sinulat ko sa code na PHP. At nabanggit ko ang pag-debug ay nakakalito dahil sa PHP, namin hindi itala ito sa simula pa at ang tagatala ay hindi gusto, narito ang kung saan ang iyong mga error ay. Ngunit ano ang magagawa natin is-- gawin mga tao tandaan kung paano tingnan ang mga iba't ibang network kahilingan na PHP-- o na mga website magpadala? [? Malin ginawa?] Na ito sa magbigay ng panayam o dalawang beses. Tandaan mo kung saan pumunta kami upang maghanap ang iba't-ibang mga utang at 200 OKs, ang lahat ng mga code na ipinapadala sa pamamagitan ng HTTP mula sa pahina ng web sa web page? Sinuman tandaan kung saan pumunta kami upang gawin iyon? Madla: Pinagmulan ng Pahina. Sam LEVATICH: source Page. Mismong. Kung pupunta ka sa Page Source-- perpekto. Kaya ang Pinagmulan ng Pahina kinukuha up ang inspector. At gumagamit ako ng Safari. Ang isang pulutong ng sa iyo ay marahil ay gumagamit ng Chrome o Firefox. Subalit hangga't hindi ka sa anumang modernong browser-- at mag-atubili na sundin kasama kung gusto mo. Maaari ninyong ilagay up ang code na ito o tumingin lang sa loob ng P set 6 direktoryo para sa ilang mga katulad na mga bagay-bagay. hello.php ay kung ano ang hindi namin kasalukuyang nagtatrabaho sa emulating. Kaya may mga iba't-ibang mga tab. Maaari naming tumingin sa lahat ng mga resources. Maaari naming makita ang source code. Kaya ganito ang hitsura ito ay hindi makakuha ng mga nakalipas na katawan sa katapusan. Napag-alaman na isang error sa PHP at ito tumigil sa paglo-load ang buong web page. Hindi namin kahit na magkaroon ng isang dulo tag para sa HTML o anumang bagay. At kung tinitingnan namin ang mga network, maaari naming makita na kami ay ipinapadala ng isang kahilingan. Ito ay ang domain. Ito ang address. Ito ay isang dokumento. Ginagamit namin ang paraan get. At ito ay pula. O, ito ay pula kapag ako ay hindi pagpili nito. Paano ko tanggalin ang pagkapili ito? Well, ito ay pula. Hayaan akong i-refresh. Ayun. Ngayon ay pula. Kaya ito ay pula, na nangangahulugan Nabigo ang mga ito, na kung saan ay masama. Kaya sabihin suriin kung bakit ito ay mabibigo ipaalam. Kaya lahat na ang Pinagmulan ng Pahina Maaari talaga sabihin sa iyo ay ang iyong bagay ay hindi gumagana, kung saan maaari naming makita na. Kaya sa isip ng gagawin doon maging isang mas kapaki-pakinabang na tool. At may ilang mga extension ng browser na nagbibigay-daan sa iyo upang i-debug ang PHP, ngunit hindi namin ang pagpunta sa ay pagsulat ng isang tonelada ng PHP, kaya ito ay marahil lamang ng pinakamahusay na upang tumingin sa pamamagitan ng iyong code nang mabuti at tiyakin na lamang hindi ito ay gawin ang anumang bagay. Kaya sabihin makita kung ang format ng mga ito kung ang pahayag ay kung saan ang problema ay. Gusto kong mag-load na back up dito. Hello, hi. Kaya mayroong isang problema doon. Kaya para sa tamang syntax ng PHP, PHP ay pagpunta upang maging C-tulad ng sa na makikita mo ang mga loop. Makikita mo ang kung ang mga pahayag. Makikita mo ang lahat ng mga kaibigan na ikaw ay maging pamilyar sa loob ng mga kurso ng CS50 semester. Ngunit ang pinakamahusay na paraan upang malaman kung paano gawin ang isang bagay sa PHP ay upang Google ito o upang tingnan ang ilang mga halimbawa ng code na PHP dahil alam mo ang pag-andar. Alam mo ano ang maaari mong gawin sa programa. Maaari kang loop. Maaari kang loop nang maraming beses hangga't gusto mo. Maaari kang loop sa lahat uri ng iba't ibang mga paraan. Maaari kang lumikha ng mga pag-andar. Maaari kang lumikha ng mga pag-andar na tumawag sa iba pang mga pag-andar, at mga function na tumawag sa kanilang sarili. At mayroon kang mga pangalan para sa mga konsepto. Nakuha mo na ang recursion, loop, kung, sa iba pang mga control daloy. At kaya Google ay ang iyong matalik na kaibigan. Kahit sabihin, "PHP kung statement "at doon kukunin maging tonelada ng mga post na may mga sagot sa iba pang mga tao na na may katulad na mga katanungan sa iyo, na lamang nagsisimula out na may PHP at ikaw ay kakaiba tungkol sa isang syntax bagay. Dahil kami ay ang kasiyahan ng pagiging magagawang tingnan ang code sa P set 6, aktwal na namin hilahin ito up at makita na OK, narito ang isang bagay na interesante. Kaya ito ay kung ano ang aktwal na ito mukhang sa P set 6. Kaya kung pumunta kami sa pamamagitan na ito, maaari naming makita na hindi namin Nakatanggap ang ilang sa mga maliit na PHP-like bits tandang pananong. At may mga hindi curly braces. May mga tutuldok. At may mga kulot braces sa PHP, ngunit ito ay isang format at isang paraan ng paggawa ng PHP na gumagana nang maayos sa HTML dahil tulad ng makikita mo, kami ay pagsasara off ang mga PHP bits-- ang address ng iba at ang mga ifs at ang lahat ng mga na- at pagkatapos ay kami ay interspersing HTML loob ng mga ito habang sumusunod pa rin ang itakda ang kontrol ng daloy ng PHP. Kaya ako lamang ang pagpunta sa mabilis na paglalakad sa pamamagitan na ito dahil ito ay isang pulutong ng parehong konsepto na aming ginagawa bago. Mayroon kami ng kung hindi walang laman, panaklong, _GET_GET ["pangalan"]. Ito ang lahat ng mga parehong bagay-bagay. Ginagamit namin ang mga diksyunaryo _GET na PHP nagpapadala sa kahilingan ng mga form, dahil ito ay ang mga parameter ng action, at ang paraan na ito ay makuha. At pagkatapos na nagtatapos iyon. Tutuldok ay isang signifier na gawin ito lamang kung ang pahayag kung sinusuri sa totoo. Ito ay tulad ng isang kulot suhay. At sa katunayan, ito ay isang kulot suhay sa ibang mga wika tulad ng Python, kung saan maari ninyong matagpuan kung ikaw lang gawin na para sa iyong huling proyekto. At pagkatapos ay ang linyang ito, hello. Pagkatapos ay nakuha na namin ang mga kakaibang bagay. Mayroon kami ng mas maraming mga bracket. Walang HTTP there-- o PHP, paumanhin. Subalit mayroong isang katumbas sign. At pagkatapos kami ay may isang function, htmlspecialchars (_GEThtmlspecialchars (_GET ["pangalan"]). Ito ay uri ng tulad ng isang mas advanced na bersyon ng echo. Tulad namin ay echo bilang isang paraan upang i-print ang mga bagay out sa PHP. Ito ay isang function na nilinaw sa PHP na ay humarap sa ilang mga mas pangit character at mga halaga ng byte na maaari mong ipasa ang mga ito. Ito ay palaging pinakaligtas na gamitin ito. Ngunit echo ay gawin ang trabaho masarap lamang kung kami ay hindi pagharap sa anumang bagay na masyadong bastos. At kaya ito ay may parehong epekto ng karaniwang, ito bagay-bagay sa pagitan ng mga tanong marks ay sinusuri sa pamamagitan ng PHP. nagbabalik htmlspecialchars a nice HTML naka-print na halaga ng _GET_GET ["pangalan"], ibig sabihin, kami kahit anong type sa form. At pagkatapos ay makikita ito kamustahin, comma na espasyo, at pagkatapos na. Na buong bagay sa pagitan ng ang mga anggulo bracket ay papalitan sa pamamagitan ng anuman htmlspecialchars naglalagay out. Kaya na talaga katulad sa kung anong ginagawa namin. At kami ay may isang ibang pahayag na kumusta mundo, kung saan may katuturan. Kaya ngayon sabihin bumalik sa aming code at tingnan exactly-- oh. Sabi ko mayroon na, na kung saan ay hindi ang isang bagay na gusto naming gawin. Nais naming sabihin na walang dala. At kaya ito ay dapat na gumana sa isang maliit na bit mas mahusay, hindi walang laman _GET_GET ["pangalan"]. At na kulot suhay matches na kulot suhay. Mayroon kami ng aming curly braces dito. echo kumusta _GET ["pangalan"]. Tayo'y makita kung ito ay gumagana sa isang maliit na mas mahusay Hayaan. Kami ay tumatakbo pa rin ang aming server. Kamusta Jason. Kamusta Jason. At ito ay nagtrabaho oras na ito. At kaya na isang patunay na maaari mong katunayan gamitin ang kulot tirante na kayo alam at pag-ibig sa PHP code sa HTML. Ang code na PHP ibinigay upang mo sa pset 6-- pset 6-- nagbibigay ng isa pang paraan ng paggawa na parehong bagay. Kaya ngayon kami ay may mga kapangyarihan. Mayroon kaming mga pag-andar na ipatupad PHP code na nakita natin sa pset 6 pamamagitan ng ating sarili, talaga. Bago ako magpatuloy, kung ano ang ilan sa mga mga katanungan na mayroon ka sa puntong ito? Oo [hindi marinig]. Madla: Kaya sa bersyon sa pset6, kapag tumakbo mo ito, may isang space. At maaari ko bang makita kung saan ang space ay matapos ang kuwit. [Hindi marinig] start mga bukas na bracket. Paano mo isama ang mga puwang sa ang paraan na iyong isinulat iyong sariling mga code? Tagapagsalita: Iyon ay isang mahusay na tanong. At ni malaman na out upang ipaalam sa. Kaya na ang isang tunay na magandang katanungan at isa na hindi ko isaalang-alang. Subalit hindi natin ito sama-sama. Kaya una sa lahat, kung ano Ako ginagawa sa echo ay kapag kami echo lamang hello, ito outputs hello. Kung echo namin ngayon na ito makakuha ng sa isang hiwalay na line, suriin kung ano ang mangyayari. Kaya mag-click namin ito. Panatilihin namin sinasabi, hi Jason. Kaya muli, hindi namin ay may puwang na ito. At iyon ay dahil, sa PHP, kapag kami ay may echo, kahit gaano karaming spaces-- nope, hindi ang V-- hindi mahalaga kung gaano karaming mga puwang inilalagay namin sa here-- kung ngayon load namin na up muli, hi Jason. Oo, nakikita, ang lahat ng mga puwang Kaka kinakain up. At iyon ay isang bagay na ang function echo ang ginagawa. Kaya mag-ingat ng puwang na iyon, at ito ay isa sa mga dahilan kung bakit hindi mo gamitin echo at gumamit ka ng htmlspecialchars halip. Ako mausisa kung ano ang gagawin mangyayari kung ginawa namin ito kung saan kami kalakip ng isang puwang sa isang string. Ako matapat hindi sigurado kung ano ang ang mangyayari kapag ginawa ko ito. Kaya na ang isang paraan. Iyan ay isang paraan upang mag-ingat ng mga ito. Kung balutin mo ang mga puwang sa isang string, at pagkatapos ay ang space ay magiging output mabuti sa pamamagitan ng echo. Ang pinakaligtas na gawin ay gawin htmlspecialchars. Iyan ay palaging ang ligtas na mapagpipilian. Ngunit ngayon kami ay may isang paraan upang gawin ito na may echo kung kinakailangan. At sa parehong paraan, maaari naming echo bagong linya, ang lahat ng mga uri ng mga bagay-bagay na pamilyar ka ginagawa sa PHP. Kahit sino pa ang, ano ang anumang higit pa mga katanungan na ang ibang tao ay may sa puntong ito ang tungkol sa PHP? Kung nagpakita up tao ng isang maliit na huli, Ikinagagalak kong manatili pagkatapos ng isang maliit na piraso ko at makipag-usap tungkol sa ilan sa simula. At ito ay din livestreamed lahat, at naka-archive, na kung saan ay sira. Gayon pa man, ni gawin ang ilang mga kaya ngayon hayaan higit pang advanced na mga bagay-bagay na may PHP. At isa sa pinakamaagang mga bagay-bagay sa iyo ay ipinakilala sa sa C ay para sa mga loop. At PHP ay may isang mas malakas na para sa loop na tinatawag na ang foreach loop. At mukhang this-- para sa bawat blangko bilang blangko, kulot bracket, gawin ang mga bagay. Kaya ito ay talaga ng isang shorthand. Tingnan, para sa loop bilang syntactical construction ay gagawin sa C at sa pagpupulong wika at mga bagay na gusto. Gagawin sa C, tiyak, bilang shorthand para sa isang pulutong ng mga uri ng mga loop na ang mga tao na nais makita. Tulad nang isulat sa iyo ng isang loop, may ay madalas na isang hakbang Pinasimulan pinaandar karapatan sa simula, ang isang kalagayan kung saan ang mga loop ay stop-- at na ang tampok na ito na lamang sa isang habang loop, o na ang isang habang ay may eksaktong lamang na feature-- at pagkatapos ay isang incrementation hakbang sa dulo. At kaya gusto mo madalas na mahanap ang iyong sarili pagsulat ng code tulad ng mga sumusunod. Pupunta ako upang burahin ang ilan sa mga ito. Ngunit kung kami ay iterating sa pamamagitan ng character sa isang array, halimbawa, tulad na namin Nakatanggap ng isang hanay ng mga character. Paumanhin upang isauli C. Alam ko, sa iyong isipan na kayo ay tapos na. Ngunit ito ay para lamang sa layunin ng pag-aaral ng PHP, pangako ko. Kaya kung mayroon kang isang char str ng haba 8, at sabihin sabihin ang sinasabi nito Hellooo may isang trailing null. Mahusay, kaya na ang aming mga string. At pagkatapos ay nagkaroon kami ng isang para sa loop. Mayroon kaming int i katumbas ng 0. At gusto namin na lumabas kapag str ng i katumbas hindi katumbas ng null, dahil lumabas kami kapag ito ay katumbas ng null. At pagkatapos ay gawin namin i ++ sa bawat punto sa para sa loop. Ang paggawa ng isang bagay na may str ng i. Kaya ang pangunahing formula ay, kami ay nagkaroon ng array na ito na kami Nais na ituturing bilang hiwalay na mga elemento. Ngunit ano ang namin ay upang gawin ay nagkaroon kami upang talaga lumikha ng isang hiwalay na integer variable na pagbibilang, ang bawa't oras namin nagpunta sa pamamagitan ng loop. At pagkatapos kami ay may sa pagkatapos ay tumawag strstr [i] kapag ang gusto talaga naming gawin ay pumunta lamang ng character sa pamamagitan ng character, di ba? Hindi namin nais upang dagdagan ang isang integer at pagkatapos ay gamitin na integer upang ma-access ang bawat character paisa-isa. Kami ay talagang nais na karakter sa pamamagitan ng character. At kaya para sa bawat Matalinong Kinakalkula na para sa amin. Kung kami ay may isang array, na kung saan maaari naming ipahayag sa PHP bilang just-- kung kami ay may isang variable tinatawag, tawag ito array ipaalam. Ang mga himala ng walang pagta-type, ito ay tulad ng anumang iba pang mga variable. Ito lamang ay isang array. At kami ay may isang maliit na [hindi marinig] tulad ng 1, 2, 3, lamang ng isang uri ng initialize array. OK lang, hindi ito tulad ng aking foreach. Subalit kung gagawin foreach-- namin talagang I-type sa na ang isang maliit na mali. Mayroong dalawang mga paraan upang gawin ang isang foreach loop. Mayroong ang sa syntax at ang bilang syntax. At kami ay pagpunta sa gawin sa unang syntax, hindi bilang. Iyon ang aking mga pagkakamali. Kaya foreach num sa array, echo num. At PHP ay sumisigaw sa sa akin para sa ilang kadahilanan. Ito ay sa paghahanap ng isang hindi inaasahang in sa isang bagay, kung saan ay isang maliit na piraso ng isang abala. Ngunit kami ay malaman kung bakit na sa ilang sandali. Kaya hindi na tulad ng. Subukan gamit ang bilang Hayaan. Ito Mas pinipili ang bilang syntax ay tila. Kaya sabihin gawin foreach array bilang num. Kaya ang isang maliit na paliwanag ng kung ano lamang ang nangyari ay ang bilang syntax ay saying-- well una, Tingnan natin kung ano ang mga print out ipaalam. Kaya buksan up ng aming IDE. Pumunta kami dito. Sabihin namin, Hello Jason. At ito ay 123, na kung saan ay ang mga nilalaman ng array na nilikha namin up top. Kaya diving sa ito foreach loop, kami ay may variable na tinatawag na array ng na kung saan ay isang hanay ng mga tatlong numero. At pagkatapos ay ang aming ginagawa foreach array bilang num, echo num. At iyon ang mas magaling kaysa sa isang para putulan. Ang sinasabi namin, pagpapagamot ng bawat isa sa ang mga bagay-bagay sa array bilang num, Gusto ko sa iyo na bigyan ako ng num. At na eksakto kung ano ang ginagawa nito. PHP ay pagkalkula na kapag sinabi mong foreach array, at ikaw ay pagharap sa isang array, kung ano ikaw ay pagpunta sa gusto mong umulit sa ay ang mga character sa array na, ay ang ints sa na array, ay ang mga elemento sa array. At ito ay pagpapaalam tindahan mo mga variable tulad ng num, at pagkatapos lamang output num kaagad sa halip na sinasabi, Mayroon akong isang variable na tinatawag na i, at pagkatapos ay gusto kong output strstr [i]. At kaya na nagbibigay-daan sa amin upang gawin ang mga cool na bagay. Tulad ng karaniwang wala kaming upang lumikha ng ang mga variable tulad ng i at gawin ang lahat ng ito incrementation stuff sa dulo. PHP ay tumatagal ng pag-aalaga ng lahat ng iyon para sa iyo. Kaya ngayon sabihin makipag-usap tungkol sa foreach bilang ipaalam ito ay sumasaklaw sa aming diksyunaryo _GET. Kaya makikita magkomento namin ito out mabilis. Kaya na namin ang aming _GET array. Mayroon kaming na ito variable. At ito ay nakuha ang ilang mga bagay-bagay sa loob nito. Sa ngayon, mayroon lamang namin ang isang variable na dumaan sa mga ito, na siyang pangalan. Ngunit kung kami ay pindutin ang Enter, ngayon maaari kaming magkaroon ng dalawang variable. Maaari naming magkaroon ng pangalan at edad, halimbawa, kung gusto naming makuha ang edad at din ang pangalan ng isang tao, nakakatawa sapat. Kaya ngayon _GET ay magiging isang diksyunaryo na may dalawang mga sangkap, may dalawang pangunahing mga pares ng halaga. At ang unang key-- Pupunta ako sa isulat ang isang ito up sa board masyadong. Mayroon kaming aming diksyunaryo ay _GET. Paumanhin, ito ay isang maliit na mahirap makita. Ngunit sa loob ng aming diksyunaryo kami pangalan, na kung saan ay pagpunta sa isang bagay na aming ibinigay. At kami ay may edad na, na rin pagpunta sa isang bagay na aming ibinigay. At ito ay ang kabuuan ng aming diksyunaryo. Kaya ito ay nakuha ng dalawang mga elemento sa loob nito. At kaya dahil foreach loops ay matalino, kami ay maaaring sa tingin, at tama maaaring isipin na foreach maaaring ulitin ito sa pamamagitan ng diksyonaryo, pag-print out ang mga halaga na ibinigay sa pamamagitan ng pangalan at edad. Kaya sabihin sa katunayan ko na lang. Bumuo ng isang foreach loop Hayaan. At kami ay pagpunta sa gawin para _GET as. At kami ay pagpunta sa gawin ang mga sumusunod. Kaya sabihin makita kung ano ang mangyayari kung namin type salita lamang, at pagkatapos ay sabihin echo salita. Kami rin ay pagpunta sa echo ng isang bagong linya lamang upang gawin itong isang maliit na mas malinaw, ano ang nangyayari. Kaya sabihin makita. Hindi na ito ay nagbibigay sa akin ang anumang mga error. At kami isara ito. Sa aming website, ikaw ay pagpunta sa paggawa isang pulutong ng mga na sa mga kurso ng pset7. Kaya sinasabi namin ang pangalan ko ay Sam. Ang aking edad ay 45. Hindi. Ngunit ito mga print out, tulad ng inaasahan, Sam 45. At kaya mapapansin mo na ano foreach loop did-- dito, sabihin bumalik sa na kaya ikaw ang bahala sa board-- makuha namin _GET bilang ng salita. At may apat na bagay sa _GET. Ngunit ito lamang ang mga naka-print out ang dalawang bagay. foreach, pagiging self kanyang katalinuhan, ipinapalagay na kung ano ang talagang gusto naming ay ang halaga, hindi ang mga susi. Subalit mayroong isang paraan na maaari naming i-print out ang mga pindutan pati na rin, kung gusto naming. Kung gusto naming ring malaman kung ano mga variable na ito ay tinatawag na, may isang paraan na kami maaaring ma-access ito rin. At ang daan sa uri ng gawin iyon, upang maaari naming sabihin, hinahayaan talagang nahati ito sa pangunahing mga pares ng halaga. Kaya sabihin makita kung ano ang mangyayari ngayon. Kaya kami ay may key. Mayroon kaming halaga. Mayroon kaming isa pang bagong linya para sa pagiging madaling mabasa. At makita kung ano ang mangyayari ipaalam kapag ginagawa namin ito ngayon. Hindi ko alam kung gaano kaluma Jason ay. Jason 15. Kaya kami ay may pangalan Jason, edad 15. Kaya nagawa naming i-access ang mga susi at halaga ng mga pares ng diksyunaryo na ito lamang sa pamamagitan ng pagsasabi ng mga pangunahing punto upang value. At iyon ay isang foreach syntactic asukal bit na nagbibigay-daan mong i-access ng mga bagay sa diksyunaryo. Kaya sana ang ganitong uri ng diin ang kapangyarihan ng foreach loop. Maaari kang medyo marami throw anumang bagay na tila iterable, tulad ng anumang bagay na may maramihang mga elemento tulad ng isang array, tulad ng isang dictionary-- mga dalawang pangunahing bagay na kayo ay nagtatrabaho sa kapwa sa buhay at sa pset 7. Kaya maaari mong itapon bagay-bagay na at ito, at ito ay malaman ano ang gusto mong gawin sa mga ito. Makikita ito sabihin, OK, ako pagpunta upang makakuha ng mga bagay na ito mula sa mga data na ay naipasa na sa akin. At iyon ang isang bagay na ikaw ay pagpunta sa gumagamit ng isang pulutong ng sa pset 7. Pupunta ako sa mabilis na mag-scroll down lamang upang makita kung saan ako sa. Huwag mga tao ay may mga katanungan sa puntong ito? Tanong sa lahat? Oo? Madla: Kaya may mga susi at halaga, maaari mong pangalanan ito anumang bagay at ito ay pa rin gumagana? Tagapagsalita: Oops. Wow, ko lubos na matatanggal ang buong line. Mahusay na gawain. Kaya a, a. Key at halaga lamang ang convention. Ito ay kapaki-pakinabang. Gusto mong makakuha ng ilang mga disenyo puntos, marahil ilang mga punto ng estilo para sa paggawa na ito sapagkat ito talagang nagbibigay ang intensyon. Ngunit sinasabi namin ang isang at Yarp. Madla: Hindi mo na kailangang baguhin ang anumang bagay sa file na HTML upang sumalamin na? Tagapagsalita: Hindi sa lahat. Madla: At alam lang ito na dahil sa ang katumbas ng mas higit than-- Tagapagsalita: Oo. Madla: --that tagapagpahiwatig na that's-- Tagapagsalita: Oo. Iyon ay isang foreach syntax, ngunit yes. Madla: May mga hindi na uri. Kaya kung ano kung nais mong edad na lamang ng isang numero? Mayroon bang paraan upang gawin iyon? Tagapagsalita: May mga paraan upang suriin kung variable tumalima sa tiyak na mga uri. Kaya nagtatanong PHP ng kaunti pa mula mo dahil walang mga uri in. Ang ilang mga paraan na ito ay humihingi ng mas mababa. Sa ilang mga paraan na ito ay humihingi ng higit pa. Dahil kung ikaw lang ay isang bagay sa isang variable, wala kang mga ideya kung ano ang uri na ito ay. Ngunit kung ikaw ay matalino tungkol sa mga variable na kang magtalaga ng mga uri sa at tiyakin na ang mga function return-- ka lamang gusto function na lamang return isang uri ng halaga sa gayon na maaari mong talaga asahan na ang mga variable makabalik ka mula sa isang function ay ang uri na sa tingin mo ay ito ay, talaga. Ngunit may mga ilang mga paraan sa pamamagitan ng kung saan maaari mong suriin. Hindi ko matandaan ang mga ito off sa tuktok ng aking ulo. Hinihintay ko ito upang i-asul. isint? isstr? May mga pamamaraan binuo sa PHP na maaari suriin ang uri ng variable para sa iyo. Ngunit kung magtalaga ka ng mga variable nang buong talino, hindi mo dapat may gawin na masyadong marami sa pset 7. Ngunit ang mga pamamaraan na ito ay umiiral. At iyon ay isang bagay na ay nasa wika mismo. At hindi ko matandaan ang tiyak na syntax. Maaari naming kahit na tumingin ito. Ngunit oras ay ng kakanyahan. Mayroon Ang sinumang ay may anumang karagdagang mga katanungan? Oo. Madla: Mayroon akong isa lamang sa karagdagang. Kaya nabanggit mo ang GET na paraan, ngunit hindi mo banggitin ang paraan ng POST. Sigurado namin ang pagbabalik sa iyon? Tagapagsalita: Oo, gagawin namin ay babalik na iyon. Iyan ay eksakto kung ano ang hinahanap ko sa aking telepono, na sa ngayon ay nakatulog, ngunit kailangan ko mahanap ito. Basta siguraduhin pindutin namin lahat ng mga tala PHP. Oo, walang bersyon debugging. Oo, mayroon kaming ilang higit pang mga bagay na gusto naming gawin ngayon sa puntong ito. Kaya pinag-uusapan ng POST, na nabanggit mo, ang pagkakaiba lamang pagitan ng GET at POST ay na tandaan kapag kami ay tumingin sa URL na ito at nakita namin, oh, pangalan ay katumbas ng isang at edad ay katumbas Yarp Isasama sa URL para sa atin ng tama. POST ay isang maliit na mas mapaglihim sa kanyang pagpasa ng impormasyon. Kaya kung hindi mo nais ang isang user malaman, halimbawa, ikaw ay hindi gusto ang username at password ng tao kasalukuyang naka-log in upang maipakita sa ang URL, na kung saan ay isang makatwirang bagay na hindi gusto sa URL, dahil ang isang tao ay maaaring makita ito. Kung ili-link ang mga ito sa isang tao sa isang pahina, ikaw ayaw nakapalitada kanilang URL doon, dahil na ay magpapahintulot sa mga tao upang mag-login sa pamamagitan lamang sa halip na ang pag-paste ng isang URL ng tunay na pagpuno ng isang form. POST ay mas mapaglihim nang kaunti. At ang tanging bagay na kakailanganin naming baguhin ay ang paraan na ito, ang pagbabago mula sa makakuha-post. At pagkatapos ay sa loob ng HTTP, sa halip ng pag-access ang mga array _GET, kami ay pagpunta upang ma-access ang array _POST. At kami na paunawa na, kung buksan namin ito back up muli, Jason dahan-dahan pagtanggi sa edad. pangalanan Jason, edad 14. Ang parehong mga bagay-bagay nagpa-pop up. Ngunit pumunta kami sa URL at mga variable ay hindi doon. At ang paraan na POST passes-- kaya tandaan kung paano tingnan ang source ng isang pahina. Pumunta kami sa network. I-refresh namin. At ito ay isa pang bagay na POST ay magbibigay sa iyo ng mga babala tungkol sa. Maaari mong nakita ang isang kahon, isang text kahon tulad nito sa iyong browser. Sigurado ka bang gusto mo upang magpadala muli ng isang form? POST ay kung ano ang mga pagpapadala ng 'mga forms. Dahil talaga kung ipinadala mo ang iyong impormasyon ng credit card sa isang tao, na hindi pagpunta sa magpapakita sa URL. Iyon ay magiging isang POST kahilingan. Kaya kapag i-refresh mo ang pahina, ito ay ipadalang muli na request post. Kaya ngayon ay nais namin upang ipadala ang bumuo muli dahil hindi ito ay pagpunta upang lumikha ng anumang mga duplicate na mga pagbili. At kami na mapansin na pababa dito, ang paraan na aming ginagamit ay POST. At sa katunayan ito ay hindi maglipat ng bytes. Ito mailipat 401 ng mga ito. Program ni pretty maliit na maliit. Ngunit mayroong wala kahit saan na maaari naming makita ang mga halaga na ay lumipas. Ang mga pahina ng web ay maaaring ang kanilang mga sarili makita, ngunit kami bilang mga gumagamit ay hindi maaaring makita, maliban kung ikaw ay isang hacker. Kung ikaw ay isang mahusay na hacker, maaari kang tumingin. Kung alam mo ang basic format ng HTML, ang mga halaga ay gumawa kilala ang kanilang mga sarili sa mga pahina. Magagawa mong upang makita. Ang mga halaga ay doon, ang mga ito sandali lang gaanong halata para sa iyo upang ma-access, karaniwang. Kami ay may anumang higit pang mga ba mga katanungan tungkol sa GET, POST before-- ano kami ay pagpunta sa susunod na gagawin ay talagang tumingin sa ilan sa mga code na kayo ay nagbibigay sa pset 7, makipag-usap tungkol kung paano ito ay gumagamit ng ilan sa mga konsepto, at makipag-usap tungkol sa mga bagay-bagay na kayo ay pagpunta sa may sa gawin ang isang maliit na piraso sa pset 7. Anumang higit pang mga tanong bago na? Higit pang mga tanong ka guys ay may? Great. Sige, tingnan natin hayaan isang maliit na piraso sa pset 7, walang duda kung ano ang iyong lahat ng pinaka nagaganyak tungkol sa. Ibig kong sabihin, ito ay isang bagay na David napupunta sa pamamagitan ng isang maliit na bit. Ngunit kami ay may tatlong mga direktoryo sa top, pati na rin ang isang configuration file. Iyan ay para sa mga database, na kung saan ipapakita namin makipag-usap tungkol sa tungkol sa limang minuto. Kabilang dito ang, hindi mo na kailangang upang tumingin sa direktoryong ito kung hindi mo nais na ngunit ito ay magaling na Alam mayroong lahat ng uri ng mga katulong. Katulong ay tulad helpful function. At pagkatapos kami ay may config, na nagtatakda ng ilang mga bagay-bagay up. May mga ilang mga pag-andar na CS50 ay may nakasulat na sa helper at config. At ang ilan sa PHP na na paglabas sa mga file ay gumawa ng isang pulutong ng mas maraming uri ng mahina ang ulo leg trabaho para sa iyo. Tulad ng kung pupunta tayo sa pampublikong login.php, na kung saan ay kung ano ang nagpapakita up kanan kapag ikaw ay pupunta sa pset 7. Susubukan naming makita na mayroong ito ay nangangailangan ng statement. At na uri ng tulad ng isang matalim na isama, hashtag isama kung ikaw ay ng isang mas bagong henerasyon. Ngunit ito talaga sabi na kailangan ko ng access sa lahat ng mga function sa config.php. At maaari kang magkaroon ng isang nangangailangan ng para sa lahat ng uri ng iba pang mga bagay. ang tunay na nangangailangan config katulong. Kaya kapag kailangan mo config, hindi ka din kabilang o nangangailangan Katulong rin. Kaya na ay nagbibigay sa iyo ng access sa lahat ng mga cool na mga pag-andar na kami ay pagpunta upang gamitin, mga bagay na gusto render. Talagang ako pagpunta sa luwag down na ito nang kaunti. Kaya ang function pagkatapos namin pagpunta sa pamamagitan ng paglalakad bago tayo magpatuloy sa SQL ng kaunti bit ay ang login.php function, lang dahil ito ay gumagamit ng ilan sa mga paksa na usapan lang natin ang tungkol sa PHP. Ang makikita mo ang unang bagay ay kung $ _SERVER. Ito ay isa pang global variable na ikaw ay pagpunta sa pagharap sa. Ito ay tulad ng _GET at _POST, ngunit kung ano server ay naglalaman na ito ay maaaring ipaalam sa iyo malaman kung ang mga kahilingan paraan ay isang GET o POST. Tulad ng dati kung ano ang aming ginagawa ay para lamang sa aming code na aming sinulat, lang namin ang pagbabago nito upang maging GET at POST depende sa kung ano ang may HTML. Ngunit may mga pahina na maaaring maging access sa parehong mga uri ng mga kahilingan. At baka gusto mong gawin iba't-ibang mga bagay-bagay depende sa uri ng kahilingan, tulad ng pag-login ay. Kaya maaari mong suriin na kahilingan Ang pamamaraan sa pamamagitan ng pag-access ng mga susi, sa pamamagitan ng paggamit ng isang key at pagkuha ng halaga ng isang bagay sa diksiyunaryo _SERVER. Kaya na ang isa pang pandaigdigang variable tulad _GET at _POST. Kung ito ay GET, gusto naming render ang login form. Render ay isang function na talaga ilalagay lamang ang naaangkop na HTML at magbabalik ito sa ilang mga parameter. Ang pamagat na ito ay isang parameter na ginagamit sa pagpapakita, nang kakatwa sapat na, ang pamagat ng pahina sa tanong, ang mga bagay up dito, sabihin o hello sa aming nakaraang halimbawa. Ngayon kami ay may isang iba't ibang mga bagay. Iba Pa kung ito ay POST, namin gawin ang ilang mga iba pang mga bagay-bagay. Kami ay gumagamit na walang laman method. Ito ay hindi na umiiral, ito ay walang laman. At nakita natin dati, PHP may makatarungang halaga ng mga built sa paraan na will-- David kung may mga pamamaraan na kapaki-pakinabang sa iyo, ang mga ito ay humanda sa iyo sa pamamagitan ng paglalakad na si David nagbibigay sa simula pangkalahatang-ideya, at din helpful bits Zamyla ni. Siya ay lahat ng tao sa likod. Maaari naming magalak lahat. Humihingi ay isang aptly pinangalanan function na na lang talaga mga print out ang ilang mga mensahe ng error, dahil CS50 ay napaka polite. At ngayon ito, ito ay isang mapaglalang bit dahil ito ay kung saan kami ay sa pagtanong ukol sa database. Ngayon hindi namin uusapang tungkol sa mga database. At kami ay pagpunta sa sa susunod na limang minuto o kaya, maximum. Ngunit ito ay isang function na CS50 ay may nakasulat upang makakuha ng isang talahanayan na karaniwang mula sa isang database na kami ay nagtatrabaho sa sa pset 7. Ako ay ganap na hindi maayos sa aking zero-index na ngayon. Ngunit oo, ito ay 7. Kaya query ito ay pagpunta upang bumalik sa isang array, talaga ay ang susi bit. At dahil ang mga bagay ay hindi na pag-type, kaya hilera ay isang array ng array. Dahil kapag kami ay nag-iisip tungkol sa isang table, kung ano ang namin ang pagpunta sa gawin ay, gaya ng natutuhan sa psets tulad ng mga laro ng 15, anyway kung saan ikaw ay nagkaroon na gumamit ng isang double array, kami talaga Mayroon array ng iba pang array ay gumagawa ng isang table. At nakuha mo hanay at haligi. At pagkatapos ay maaari mong ma-access ang mga ito tulad ng [0] [1], makukuha mo ang [0] [1]. Basic bagay-bagay na tulad ng. Kaya kung ano ang aming ginagawa dito sa function na ito, hinihingi namin ang database kung ang user na sinusubukan upang mag-login, na magiging ipinadala sa pamamagitan ng ang paraan ng POST. Susubukan naming makita namin nakukuha ang username mula _POST. Makikita nila ang may nagpadala, ang user o ikaw, ay magpapadala ng isang halaga sa pamamagitan ng isang form sa pamamagitan ng POST dahil ito ay username at password stuff. Sinusuri namin ang mga username upang makita, ay ito sa talahanayan? Dahil kung ang isang gumagamit ay log in, pagkatapos ay ang kanilang username ay dapat na naka-imbak sa table ng mga gumagamit na umiiral para sa site na ito. Kaya talaga kung ang user ay sa database, Query ay pagpunta sa bumalik na hilera, na kung saan ay isang array. Ngunit ang mga mapanlinlang na bahagi ay na kung kahit ang double array ay lamang ng isang hilera, kahit na ito ay isang isang hilera array-- tulad ng mayroon ka basically-- kung nakuha mo na ang isang laki ng isa array na may hawak ng isa pang array, talagang ikaw ay pagharap sa isang hanay. Ngunit ito ay itinuturing pa rin tulad ng isang double array. At ito ay kung saan ito ay maaring makuha nakakalito, dahil nakuha namin ang mga hilera dito. Ang aming mga variable ay mga hilera. At pagkatapos ay namin ang paglikha ng isang bagong hilera variable na tinatawag na at pagtatakda ng mga ito katumbas ng ang unang hilera ng mga hilera. At mapapansin mo na ang komentaryo sabi ni ito ay ang unang at lamang na hilera. Kaya ito ay ang mapaglalang bahagi kung saan ngayon function makakabalik arrays sa lalong madaling. Mayroong hindi mallocs. Hindi mo makikita ang mallocs. Kaya hindi mo makita ang mga seg faults. Ngunit function ay pa rin ang pagpasa sa paligid ng array at data sa mga pangkat. At mayroon kang maging maingat ng kung ano ang eksakto ay ibalik ang iyong mga pag-andar. At kahit na ito ay isa column na tulad nito, i-query Pupunta pa rin upang bumalik ng isang double array. Kaya sa pag-access na column-- o mo makapag-isip ng lahat ng ito bilang saliwain dahil pinag-uusapan natin ang tungkol sa mga hilera. Ngunit upang i-access ang isang hilera, hindi mo pwedeng sabihin na mga hilera. Kahit na ito ay isang hilera, kailangan mong huwag rowsrows [0] na uri ng matanggal ito panlabas na bit ng array at Mayroon lamang ng iyong isang hilera. Gawin ang ilang mga iba pang mga bagay. Mayroong isang function tinatawag password_verify na nakumpirma ang password na nai-post. At pagkatapos ay namin makita ang isa pang pandaigdigang variable dito, _SESSION. Talaga session id ay kung paano mo subaybayan ng kung ang isang tao ay naka-log in o hindi. Kaya ngayon na may login.php, kami ay pag-log ng isang user sa. Kaya kung ano ang gusto naming gawin ay gusto naming sabihin ang session id ay katumbas ng row id, na kung saan lamang ang may katuturan dahil bawat hilera ay magkakaroon ng ibang id number bilang bahagi ng table. Babalikan ka namin sa SQL sa isang second, kaya kung alinman sa mga ito Tila isang maliit na bit tulad ng blah, pagkatapos ay nabura ang lahat ng up. Ngunit kami ay pagpunta upang itakda ang id katumbas ang mga tamang bagay, pag-log in sa mga user sa. Humihingi ng paumanhin kung may mangyaring hindi tama. At iyon ay mga pag-login na layunin sa buhay bilang Professor Malan nais sabihin. Kaya na ay login.php. At ng maraming mga code na PHP mong isulat sa pset 7, ang mga ito ay isang maliit na bit. Huwag kalimutan na chmod sa wastong mga pahintulot. Magkakaroon nang kaunti tungkol sa na sa simula ng spec. Ngunit ang PHP na kayo pagsulat ay magiging paggawa ng mga bagay-bagay na katulad na ito. Ikaw ay pagpunta sa maging pag-access ng ilang mga bagay na ay ibinigay sa iyo sa mga pangkalahatang variable ng PHP na ay pagharap sa kasalukuyang naka-log in user, kung may Mayroon naging kahilingan na ipinadala sa ito page, iba't-ibang mga bagay-bagay na tulad ng. At ito ay din potensyal na iterating sa pamamagitan ng mga hilera ng mga bagay na ito. Sa isang iba't ibang mga pag-andar, query ay ibalik itong double array. At kung may mga karagdagang sa isang hilera sa mga ito, kung may are-- yes, kung may higit sa isang hilera sa mga ito, pagkatapos ito ay magiging isang table. At baka gusto mong umulit sa pamamagitan ng mga hilera ng array na ito gamit ang foreach loop na kami inilarawan. Kaya kung gagawin mo foreach sa isang double array, kung ano ang ang word-- dito, Kukunin ko talagang isulat ito. Isusulat ko ito ng mabilis dito. Kung kami ay may isang foreach ng mga hilera bilang hilera, kung ano ang uri ng hilera? May nakakaalam ba? Nakuha mo? Kaya mga hilera ay isang double array. Kaya kung ano ang foreach pagpunta upang ipahiwatig na gusto naming na ito mula sa double array kung kami ay iterating sa paglipas ng ito? Maaari talaga namin ipinapalagay na ito ay pagpunta sa maging alinman sa mga elemento, o mga hilera, o haligi, talaga. At kaya mga hanay at haligi namin maaaring tratuhin ang bilang ng parehong bagay. Talaga kung ano ang foreach loop ay pagpunta gawin ay ito ay pagpunta upang bumalik hilera. hilera ay magiging ng uri ng hilera, samantalang mga hilera ay isang double array. Kaya kung bibigyan ka ng foreach isang double array, ito ay hindi pagpunta upang umulit malalim na higit sa isang antas. Aling ay karaniwang sabihin kung may walong mga cell na ito sa table-- 1,2, 3 4, 5, 6, 7, 8-- ang foreach loop ay hindi pagpunta sa pumunta sa pamamagitan ng bawat isa sa mga cell. Ano ang foreach loop gagawin ay ito ay pumunta sa pamamagitan ng hanay na ito, magbibigay sa iyo ng mga ito ang buong hilera. At pagkatapos ay makikita ito pumunta sa pamamagitan hilerang iyon. Kaya lamang iterates ito ng isang antas ng malalim. Kung nagdagdag ka ng isang nested foreach loop, pagkatapos ay maaaring ituring ang bawat hilera ay bumalik mula sa hilera, gawin mo foreach hilera bilang elemento, sabihin nating. At pagkatapos ay maaari mong echo ang element. Kaya na ang isang maikling maliit na inumin sa kung paano maaaring gumagamit ka foreach loop sa konteksto ng query. Mayroon bang anumang mga katanungan sa PHP? Anumang bagay sa lahat bago tayo ilipat sa pakikipag-usap tungkol sa SQL at ang saya ng database? Magandang pakiramdam? Magandang pakiramdam. Lahat tama. Sabihin ilipat sa pabalik sa Ipaalam PowerPoint, kung saan ikaw ay malamang na hindi maintindihan. SQL, Ayos. Mga tao na sa aking seksyon ay karaniwang ay alam na subheadings ng mga acronym ay laging lamang ng unang salita Sa tingin ko ng tugma na na algorithm-- na acronym. Ito ay hindi isang algorithm. Kaya SQL ay isang database. Ito ay isang wika na gumagana sa mga database. At ang lahat ng mga database ay ay tables, hindi bababa sa ang paraan na SQL kumakatawan sa mga ito. Ang isa pang paraan upang isipin ang tungkol sa mga database ay database ay isang hanay ng mga pindutan at halaga talaga. Maaari mong isipin ang tungkol sa isang database ng isang diksyunaryo at din bilang isang table. Karaniwang ito ay isang paraan upang iugnay iba't-ibang data sa iba pang mga data, madalas sa pamamagitan ng mga hanay at haligi. At iyan ang paraan iyon ang SQL pinakamahusay na gumagana. Kaya ito ay isang halimbawa ng isang table. Mayroon akong ilang mga halimbawa ng mga tao sa aking seksyon, na kung saan Hindi ko ay may oras upang baguhin. Ngunit namin nakuha ang mga bagay tulad ID, pangalan, pinakamalakas, at bayan. Hindi ko alam kung saan sinuman ay mula sa aking seksyon, kaya lang ako pagpunta sa ipalagay lahat ng tao ay mula sa New York City dahil mayroon akong isang mataas na statistical posibilidad ng pagiging tama. SQL ay awtomatikong dadalhin pag-aalaga ng mga column ng mga ID para sa iyo. Kung nagpasok ka ng isang bagong hilera sa isang database SQL, ito ay dinagdagan na ID number at lamang talaga stick tulad ng limang mga pangalan, pinakamalakas, bayang kinalakhan, ang sinumang papunta sa dulo ng table. So ID ay isang haligi makikita mo kailangang mag-alala tungkol sa. Subalit, tulad ng sa kaso ng login.php, kapag kami ay nakakakuha ng mga session ID mula sa isang table at gamit lang ang ID, ID ay isang paraan para makilala isang elemento ng isang database. Kaya kung nagkaroon kami ng dalawang Sams, na parehong na itinuro CS50, at pareho ng na ay mula sa Milwaukee, mga gagawin magkakaroon pa rin ng mga numero ng natatanging ID at sa gayon ay naiiba sa konteksto ng table. Kaya ito ay kung ano ang SQL ay pakikitungo sa, nagtatrabaho sa sa likod dulo. Ito nga ang apat na mga utos na kailangan mo upang gumana sa SQL. At inihagis ko ang mga ito sa lahat ng up sa isang slide. Ngunit kami ay pagpunta sa pumunta sa pamamagitan ng ito ang lahat ng isa-isa. Ang unang utos ay UPDATE, na kung saan ay kung ano ang maaari mong asahan. Sabihin mayroon kang ilang mga data sa ang table na sa labas ng petsa. Tulad ng kung ikaw ay nag-iingat subaybayan ng pangalan ng mga tao at edad, kung ang isang tao ay pagtaas ng edad, pagkatapos ay ikaw ay pagpunta sa nais na pumunta sa at i-update ang edad na tao lamang ni. Para sa isang halimbawa na gumagana sa aming mga unang table-- huwag mag-alala tungkol sa pagsulat ng lahat ng ang mga utos at sa parehong oras. Ngunit kung ikaw ay nakuha update down, na kailangan maging mahusay para sa bahaging ito, dahil kami ay pagpunta sa bumalik sa table. Kaya kung pumunta kami pabalik sa table, sabihin nating ang isang bagay na nangyari ay nagkaroon ng lindol o isang linya ng kasalanan na split direkta sa pamamagitan ng New York City. At gusto naming i-update ang lahat ng tao na nakatira sa New York City. Lahat sila ay upang ilipat sa Pennsylvania. Iyan ay hindi isang bayan. Lahat sila ay upang ilipat sa New Haven. Mayroon kaming pumunta. Kaya lahat ng tao sa New York gumagalaw sa New Haven. At kaya na isang bagay na pag-edit ng tatlong mga hilera sa talahanayan na ito. Ngunit sa SQL, maaari mong gawin na sa loob lamang ng isa statement. Kaya pumunta kami pabalik sa UPDATE. Hayaan akong mabilis na muli burahin ang board. Kapag pinag-uusapan natin ang tungkol sa pag-update, may mga ng ilang mga bahagi ng syntax na key. Well, ang lahat ng mga syntax ay susi. Ngunit ang mga bagay-bagay sa green ay opsyonal. Ang white ay kinakailangan, tulad ng paunang-natukoy na mga pangalan. At ang mapusyaw na asul na mga bagay-bagay na nag-iiba depende sa mesa. Kaya na kung ano ang nangyayari sa may ang scheme ng kulay dito, hanggang doon. Kaya kung gusto naming upang i-update lamang ang mga hilera ng mga taong nakatira sa New York, kaya kung ano ang gusto naming gawin kung sinabi namin UPDATE? Kaya talahanayan ay kung saan namin inilagay ang pangalan ng aming table. Sabihin lang sabihin ang pangalan ng aming mga talahanayan ay table na isa. Kaya gusto naming UPDATE talahanayan ng isa. At gusto naming set-- kung ano ang gusto naming i-set? Well ang gusto naming sabihin, kaya column-- PHP itinuturing ng mga hilera ng mga natatanging identifier. At pagkatapos ay haligi ay ang iba't-ibang larangan ng mga elemento ng database. Kaya ang unang elemento ng database May pangalan ng Sam, pinakamalakas ng CS50, at isang bayan ng Milwaukee. Kaya kung namin sinabi itakda, tingnan natin hayaan ang mga parameter muli set na tumatagal. Mayroon kaming column ay katumbas ng halaga. Kaya gusto naming sabihin ang ilang mga column-- na tandaan ay isang field-- nais naming makita ang isang larangan katumbas ng isang bagong bagay. Kaya kung sinabi lang namin update table 1, magtakda ng pangalan pantay Elliot. Kumuha ng ilang mga tao mula sa mga bagong seksyon sa sa mga ito. Ngunit kung ginawa lang namin update table 1 itakda ang pangalan pantay Elliot, ano ang gagawin ang hitsura ng talahanayan tulad ng matapos na? Mga tao ay may anumang mga ideya? Oo. Madla: Lahat ng bagay sa na hilera ay maging Elliot. Tagapagsalita: lahat ng bagay na kung saan ang hilera? Madla: Sa unang hanay. Tagapagsalita: Sa unang hilera? Bakit ang unang hilera? Hindi ko ibig sabihin upang pumili sa iyo. Madla: Maaari lahat ng bagay sa buong table? Tagapagsalita: Lahat ng bagay sa ang buong table, yes. At na eksakto karapatan because-- ko lamang ay ang pagtulong sa iyo sa ilang sandali there-- dahil tinanggal namin ang opsyonal SAAN sugnay. Kung hindi ka magkaroon ng mga WHERE sugnay, ano ang gagawin ng mga utos na ito ay makikita ito sa trabaho sa bawat solong hilera sa talahanayan. Pangalan ng bawat tao'y kalooban maging Elliott, talaga, saan Elliot ay tunay masaya tungkol sa. O Yanni, isa sa dalawa. Ngunit lahat ng pangalan ay magbabago. Kaya ang paraan na ginagamit namin ang SAAN clause-- at ito ay sumasaklaw sa lahat ng mga WHERES na sa bawat isa sa mga iba't ibang mga bagay. Kaya mapapansin mo na SET ay may pantay na halaga ng haligi. At sa gayon ay SAAN. Ngunit ang mga ito ay iba't-ibang mga uri ng mga pahayag. Kaya katumbas ng haligi halaga sa SET ay sa assignment. Tulad namin sinasabi na gusto namin upang i-set name katumbas Elliot. Ngunit sa clause SAAN, ang mga ito ay ang pagkakapantay-pantay ng mga pahayag. Kaya sabihin nating nais lamang nating baguhin ang pangalan ng tao sa Elliot kung ang kanilang mga pangalan ay Ryan, sabihin natin. Kaya kapag sinabi namin SAAN pangalan ay katumbas Ryan, na Gusto matagumpay tanging pagbabago ang name-- gagawin ito lamang baguhin ang field na pangalan sa mga hilera kung saan ang mga field ng pangalan ay katumbas Ryan. Kaya kung kami ng maramihang mga tao pinangalanang Ryan, ang lahat ng kanilang mga pangalan ay magbabago sa Elliot. Ito ay katulad sa halimbawa ng kung ang isang kasalanan linya hating New York City at lahat ay lumipat sa New Haven, ang mga paraan na aming makakaya gawin iyon sa isang pahayag ay UPDATE table1 SET hometown = New Haven kung saan hometown katumbas New York City. Ito ay ang kapangyarihan ng mga ang UPDATE statement. Maaari naming piliin ang anumang bilang ng mga hilera sa pamamagitan ng tunay na mga pahayag tungkol sa mga patlang sa mga hilera. Hindi namin sinasabi UPDATE table1 set name = Elliot WHERE hilera = 1, maliban na magagawa namin kung sasabihin namin ID = 1. Kaya kami ay pagpunta sa maging nagtatrabaho sa pagkakapantay-pantay ng mga patlang, ang pagkakapantay-pantay ng mga haligi. Ngunit gamit ang field ID ay isang paraan upang piliin ang mga indibidwal na mga hilera na partikular, dahil ang patlang ID ay isang natatanging identifier sa isang database SQL. Kaya tulad ng pag-update ng row ng isa, ay katumbas ng ID 1. Ina-update ang hilera dalawang, lamang palitan na numero ng ID. Ngunit ang kapangyarihan ng SAAN statement ay na tayo Maaaring i-update ng mga bagay batay sa kung ano ang kanilang kasalukuyang mga halaga ng mga tiyak na mga bagay ay. Oo Elliot? Madla: At paano kung gusto mong to-- muli, ito ay isa pang katanungan. Ngunit ang aking unang tanong ay, kung saan ito nangyayari? Saan ako sa pag-update na ito? Ay ito sa isang code na PHP? Tagapagsalita: Saan mo i-update, yes. Kami ay pagpunta sa makipag-usap tungkol sa kung saan ang lahat ng ito mangyayari uri ng isang beses pumunta kami sa lahat ng mga utos. Ngunit ano ang kailangan mong alam para sa ngayon ay isa lamang na ang iyong database SQL umiiral bilang isang bagay upang ma-access sa pamamagitan ng mga query function, kung saan tumutukoy sa CS50. Kaya kung gagamitin mo ang function na query, maaari mong ma-access ang talahanayan na ito. Kaya ikaw ay pagpapadala ng mga utos sa iyong talahanayan sa PHP file sa pamamagitan ng function na query. Maaari mo ring i-play sa paligid sa iyong talahanayan ng direkta. At iyan ay ang pinakamahusay na paraan upang subukan ang mga uri ng mga utos. At kami ay pumunta sa pamamagitan ng eksakto kung paano ang gawin na sa loob lamang ng ilang sandali. Kaya na UPDATE command. At ang iba sa mga utos ay magiging mga uri ng mga katulad na, nagtatrabaho sa mga katulad na mga bagay. Ang maisingit ay marahil ang pinaka-iba mula sa UPDATE. Pupunta ako sa iwanan na up doon para sa lamang ng isang maliit na piraso at magtrabaho sa paglipas dito. Kaya INSERT sa, makikita mo ang mesa na ay pa rin ang parehong. Gusto mong INSERT sa. Ang paggamit ng malaking titik, SQL ay case insensitive. Kaya hindi mo na kailangang magsamantala mga bagay na ito. Sa pamamagitan ng convention, ang mga salita sa puti ay sa malaking titik. Ngunit kulay ko rin ma-code ang mga ito. Ang tanging dahilan na magsamantala sa iyo mga kapag tina-type mo ang mga ito ay upang bigyang-diin lamang na yaong mga constants. At kaya maaari mong alinman tingnan ang capitalization o ang katunayan na ako ng may-kulay na mga ito naiiba. Kaya namin ang nakuha ko maisingit, gawin muli table1 ipaalam. Ito ay ang lahat sa isang linya. Tingin lang ako sa pagkakahiwalay ito sa pamamagitan ng ang iba't-ibang mga pahayag. Kaya huwag mag-alala tungkol sa katotohanan na ginawa ito table1 papunta sa ikalawang linya. Kaya gusto naming INSERT SA table1 ilang mga halaga. At mapapansin mo ang opsyonal bit, na kung saan magagawa ko na sa sa isang segundo. Kaya Mayroon namin ang mga halaga. Kaya sabihin nating gusto naming idagdag Andi sa aming table, dahil miss namin Andi. Andi ay may sakit. Kaya sabihin magdagdag Andi sa aming table. Tandaan na ang numero ng ID ay awtomatikong na-update. Kaya ang tanging mga patlang tayo kailangan mag-alala tungkol sa mga pangalan, pinakamalakas, at bayan. At upang ang mga paraan na gawin namin na, pagtingin sa aming mga syntax, ay hindi namin Nalaman lamang ng mga panaklong, na may comma separated values, ang bawat isa ay isang halaga. Kaya kung gusto naming ipasok Andi sa ating table, lahat kami ay may sa gawin ang tama Andi. Ano ang pinakamalakas Andi, mga tao sa section Andi? Gusto niya flight, o gusto bilis, o isang bagay. Ano ang gagawin namin ay mayroon up doon? Mayroon kaming CS50, flight, bilis, at lakas. Madla: Oras ng paglalakbay. Tagapagsalita: Oras ng paglalakbay, amazing. Kaya Mayroon namin ang Andi, oras travel, at ang kanyang bayang kinalakhan. Iyan ay isang tunay na magandang katanungan. New York City, maliban na lamang kung may isang taong nakakaalam. Ang bawat tao'y ay mula sa New York ay ang aralin upang mag-alis mula sa araw na ito. Kaya ang pahayag na gagawin ipasok, bilang ikalimang hilera, may pinakamalakas na oras ng paglalakbay at isang bayan ng New York City. Ngunit ang mga opsyonal na field ay karaniwang isang paraan upang tukuyin ang eksaktong kung aling mga haligi na gusto mong ipasok ang mga bagay sa. Ang paraan na kami ay ginagawa ito ngayon, Andi, oras ng paglalakbay, New York City, ay pagpunta sa eksaktong pagkakasunud-sunod ng aming table-- name, pinakamalakas, bayang kinalakhan. At kung gusto mong gawin isang bagay na iba kaysa sa na, tulad ng sinasabi na hindi ninyo alam pinakamalakas ng isang tao, tulad ng kung paano hindi ko alam kung Andi pinakamalakas sa simula. Kaya ang lahat ng alam ko ay ang kanyang pangalan at ang kanyang bayang kinalakhan. Ano ang maaari kong gawin ay kaya kong do-- kukunin ko na burahin ito mabilis. Gusto kong i-update lamang ang mga haligi. At ito ay kung saan ang mga opsyonal na listahan ng mga haligi ay dumating sa play. Gusto ko lang i-update ang pangalan at bayan. At pagkatapos ay ako ay sinasabi na mga halaga. Makikita kong gawin Andi at New York City. Kung ako ay tinanggal na sa listahan ng mga haligi at tapos lang ito ng dalawang mga bagay-bagay, kung saan nais New York City ay wala na? Aling column gagawin New York City ay inilagay sa? Mga tao ay may anumang mga ideya? Pinakamalakas, eksakto. Kaya ito ay pumunta lamang sa order. At sa sandaling umabot sa dulo ng listahan, ito lamang tumigil sa pagpuno ng mga bagay sa. At ang mga halaga na makikita ito tumuon sa lalamunan lahat ng mga haligi ay lamang ay null. Kaya dahil tinukoy natin pangalan at bayan, kami ay pagpunta sa may ID 5, pangalan Andi, pinakamalakas null. Kaya pinakamalakas ay isang uninitialized halaga. Ikaw ay hindi kinakailangang makakuha ng mga parehong mga error Valgrind kung susubukan mo at ma-access ito. Ang lahat ay mabuti zeroed out, dahil null ay isang halaga sa SQL. Iyon ay isang pare-pareho. At pagkatapos hometown ay New York City. Kaya iyon ang maisingit command. Bago namin ilipat, may dalawang higit pang mga utos. Tao ay may anumang mga katanungan tungkol sa UPDATE, tungkol maisingit, tungkol sa SQL pangkalahatan bago ilipat namin papunta sa aming final bits? Mga tao pakiramdam mabuti, malaki. Pag-ibig ito. Kaya sabihin makipag-usap tungkol sa SELECT. Pagpunta kanal UPDATE sa paglipas dito. At SELECT ay magiging katulad na katulad. Ang layunin ng SELECT, Layunin SELECT sa buhay ay upang bigyan ka ng isang bungkos ng mga haligi na masiyahan ang ilang mga kundisyon. At kapag sinabi ko masiyahan ilang mga kundisyon, ang iyong isip maaari agad bumalik na ang SAAN sugnay na nagmula up sa UPDATE. At na sugnay ay eksakto doon sa SELECT. Kung hindi namin ilagay ang WHERE sugnay at sinasabi namin PUMILI pangalan, hometown-- nabaybay na ang isang maliit na wrong-- pangalan, bayang kinalakhan MULA table1. Kung sinasabi nating lamang, ano PUMILI ay pagpunta upang ibigay sa amin ay ito ay pagpunta sa bigyan kami ng isang double-- isang table, sa halip. Isang double array kung kami ay nag-iisip tungkol sa sarili PHP. Ngunit ito lamang ang pagpunta sa bigyan kami ng isang double ang dami ng dalawang columns-- pangalan, at bayan. At ito ay huwag pansinin ID. At ito ay huwag pansinin pinakamalakas. At ito lamang ang kailangan bigyan kami ng bawat isang hilera ng talahanayan na. Kaya kapag nilagay namin lamang Andi, kakailanganin naming Andi. At kami ay may orihinal na apat. Kung ito ay nai-update, na habilin sasalamin, at iba pa, at iba pa. Kaya ito ay dahil sa tayo ay hindi gamitin ang SAAN sugnay. Ngunit maaari naming gamitin ito sa eksaktong parehong paraan na ginagamit namin ito sa UPDATE. Kung nais lamang namin ng isang talaan ng mga pangalan at sobrang kapangyarihan ng mga taong naninirahan sa New York, maaari kaming magsagawa ng isang pahayag tulad ng PUMILI pangalan, superpower-- Lamang ako ng pagpunta sa iwan na- FROM table1 WHERE hometown = New York City. Kaya ito napupunta upang ipakita na maaari mong makakuha ng ganap na iba't ibang mga haligi, at pagkatapos ay ilagay haligi na hindi ka kahit pagkuha ng bumalik sa SAAN sugnay. Hindi namin kahit na gusto ang hometown ng lahat. Ngunit gusto namin ang mga pangalan at ang pinakamalakas ng tao na ang bayan ay New York City. Kaya na ang isang bagay na namin maaaring gawin sa ang WHERE sugnay ay maaari naming harapin ang mga haligi na hindi naman natin nais bumalik. Sa parehong paraan sa UPDATE, maaari naming pakikitungo may mga haligi na hindi namin kinakailangang nais na i-update. Maaari naming i-update ang lungsod ng lahat ng tao na ang pangalan ay Sam, halimbawa. Maaari naming i-update ang lungsod ng lahat ng tao na ang numero ng ID ay 2. Kaya lamang i-update ang lungsod ng pangalawang hilera kung saan hindi namin ay may upang harapin ang kinakailangan ang mga karaniwang tanong. At ALISIN ay, bilang Gusto mo asahan, ALISIN MULA table1. At pagkatapos ay nakuha namin ang isa pang SAAN sugnay. Kaya maaari naming sabihin SAAN ID = 1. Burahin ang unang hilera. At ALISIN ay palaging tanggalin ang isang hilera, o ito ay tanggalin ang ilang bilang ng mga hilera. ALISIN MULA mesa SAAN hometown = New York City Tatanggalin lahat ng tao sa New York City. Iyon ang dahilan kung nagkaroon ng isang biglaang trahedya plague at nais mo lamang na alisin ang lahat ng tao mula sa talahanayan na nanirahan sa isang tiyak na lungsod na na-hit sa pamamagitan ng mga salot. Sila ay maaaring magpahinga sa kapayapaan. Ito ang apat na SQL command na kailangan mong gamitin. Maaring hindi kahit na kailangan gamitin ang mga ito sa lahat. Ngunit ang mga ito ay ang apat na na inaasahan mong CS50 upang maging komportable sa pagpunta sa parehong quiz 1 at pset7 din at pset8. May muli talahanayan na lang. Sa isang ito, pinakamalakas Roy ay may na-update upang laser beam, na ay isang halimbawa ng hindi ko gamitin. Hindi ko alam kung saan ang isa Roy Mas pinipili, ngunit lakas. Roy ay may pinakamalakas ng lakas. Katherine ay hindi gumawa ng mga ito ngayon. Iyan ay kapus-palad. Ngunit siya ay may sobrang bilis. Well na noon ay PHP. Bago natin pag-usapan MVC, ginagawa kahit sino ay may mga katanungan tungkol sa PHP? Ngayon SQL, o PHP kung bigla kang magkaroon ng magkaroon ng isang katanungan tungkol sa PHP? Great. Lahat ng mga karapatan, lahat kami ay naka-set pagkatapos. Kaya ang pakikipag-usap nang kaunti tungkol sa view ng modelo controllers, sabihin bumalik sa ilang mga bagay-bagay sa pset7. Kaya kung ano ang view ng modelo controller is-- hindi ako upang i-save ang aking mga pagbabago sa pag-login dahil ako ganap butchered ito. Subalit karaniwang kami ay may dalawang hiwalay na mga bagay-bagay na nangyayari. Kami ay may isang pampublikong direktoryo na naglalaman ng ang code na pupuntahan pinaandar at ang mga pahina ng web na ito ay binisita. At mayroon din namin ito direktoryo views. At naglalaman views template. Ito ay kung ano ang function render-- nakita natin ang render function sa isang bungkos ng mga code na PHP na CS50 ito ay isinulat para sa iyo, na tumatagal ng ilang mga parameter. Ano na ang code ay ginagawa ay ito ay pagpunta sa view, na kung saan ay mga hanay ng mga tulad ng prewritten HTML code, at ito ay ang pagpasok ng mga halaga sa ilang mga lugar. Ito ay kung paano kapag ikaw pumunta sa CS50 Finance, ang parehong header ay sa bawat pahina. Ang parehong footer ay sa bawat pahina. Ito ay dahil sa ang paraan na gawa render ay makikita ito awtomatikong patch sa header na at viewer na kung saan maaari mong makita sa mga view. Kami ay talagang ay maaaring pumunta sa header, at Tumingin, ito ay isang HTML file na may isang ulo. Ito ay nakuha ng ilang mga stylesheet. Hindi mo na kailangan upang tumingin sa CSS para pset7 kung hindi mo nais na. Ngunit maaari mong baguhin mga ito kung nais mo, gumawa tumingin ng isang maliit na naiiba ang iyong Finance. Ito ay nakuha ng ilang PHP in ang header ng kaunti upang makita kung may isang iba't ibang mga pamagat ito ay dapat na ilagay sa header na ito. Ngunit lamang ng ilang mga iba pang mga script, at mga link, at iba pang mga bagay-bagay. Nagtatapos ang Head, nagsisimula katawan, at Oops, mayroon kaming ito kakaiba maliit na end bit. At may isang div, tulad ng isang walang anyo uri ng mga sangkap na may isang ideya ng gitna. At pagkatapos ay kapag nakita namin ang footer, kami ay may sa dulo ng isang div. Kami ay may isang ibaba, na kung saan ay kung saan ang teksto footer ay. Dulo ng mga div, dulo ng katawan, dulo ng HTML. Kaya kung ano ang render ay ginagawa render ay uri ng patching up header, isang iba't-ibang mga file na PHP ay naglalaman ng aktwal na mga bagay-bagay na Makikita mo ang, tulad ng iyong talahanayan ng mga stock kung ikaw ay bumibili o nagbebenta ng mga stock. At pagkatapos ay makikita idagdag ito sa footer. At ang mga view ng modelo ideya controller ay na tayo nais upang paghiwalayin ang kung paano bagay hitsura mula sa mga code. Ito ay nais naming paghiwalayin ang frontend at ang backend, kung saan ang frontend ay ang mga bagay-bagay na nakikita ng mga user, ang ganda visuals-- HTML, CSS, mga bagay tulad na, mga imahe, at iba pa. At ang backend ay PHP. Ito ang code na sumulat. Ito ay kung saan ang mga code na paggawa ng aktwal na operasyon. Ito ay kapag ikaw ay nagdadagdag ng isang stock sa iyong mesa, kapag ikaw ay bumibili at selling, na backend. At maaari naming, bilang na nakita mo, kabilang ang PHP direkta sa HTML. Kaya kung ano ang maaaring magkaroon ng tapos namin para sa ang atas na ito ay nagkaroon lamang isang file na HTML para sa bawat pahina, tulad ng pag-login. At pagkatapos ay sa pahinang iyon, lamang nagkaroon ng isang malaking block ng code na PHP, kabilang ang lahat ng mga code na page na partikular ay kailangan. At pagkatapos namin ay maaaring magkaroon tapos na ang para sa portfolio. Maaaring nagawa namin ang lahat ng mga pagbili at nagbebenta sa loob ng mga indibidwal na pahina. Ngunit dahil kami ay nagre-render hiwalay mula sa kung saan kami ay sumusulat ng backend code, maaari naming madali baguhin kung paano tumingin ng mga bagay na walang pagbabago ng bawat solong file. Ginagawa namin ang mga bagay na tulad idagdag lamang isang bagong div sa ibaba of-- Kamusta binago ko ang footer. Maaari mo lamang gawin mga bagay-bagay na tulad ng. Ngunit din, maaari mong baguhin ang buong layout visual nang hindi naaapektuhan kung ano ang pagpunta sa backend. At maaari mong baguhin ang buong backend at pa rin magkaroon ito ng itsura ng mga ito ay bago. Ito Ay ang ideya ng view model controller. At ito ay tunay na isang ipataw tularan sa ilan sa mga programming languages baka gusto mong gamitin para sa pangwakas na proyekto. Kung gagawin mo iOS-unlad, sila ay may mga tanawin, na kung saan ay kung ano ang makikita mo sa iPhone, at pagkatapos backend bilang tulad ng isang hiwalay na bagay. Maaari mong isipin ang tungkol sa ilang sandali. May isang pulutong ng mga binaries sa computer science, na kung saan ay funny, dahil ang lahat ng bagay ay sa binary. Hindi ko balak na iyon. Iyon ay isang pun unintended. Oo, pun hindi nilayon. Ngunit tulad ng h file at C file, may isang pulutong ng pagbubukud-bukod ng mga bagay na aming maaring hindi na kailangan. Kaya maaari lamang i-edit natin ang mga h file, o isang tao na maaari lamang makita ang isang h file at alam eksakto ang function na sa c file nang walang kinakailangang pag-alam kanilang pagpapatupad. Ang ideya ng pagkakahiwalay sangkap na umaasa sa isa't isa ngunit maaari ng ma-access ang uri ng bawat isa pamamagitan ng iba't ibang channel, pagpasa ng mga variable, lamang isama ang mga pahayag, ang mga bagay tulad na, ito prinsipyo ay tumutulong na lumikha ng mga application na maaaring maging mas madali edit sa pamamagitan ng maramihang mga tao, ay maaaring maging mas madaling nagbago o binago sa isang malaking proporsyon, at mas madaling debug sa maraming paraan. Talagang mabilis, mayroon akong ilang mga tip para pset7, na kung saan kukunin ko na gawin full screen kaya hindi ka lamang ng pagtingin sa the-- tip tip Tippee. May mga hindi na ang maraming mga tips. Ngunit nabanggit ko PHP ay mahirap na debug. Double at triple check ito. Kung ang iyong code ay hindi lamang Ipinapakita up sa pahina, marahil ito ay isang error PHP, paumanhin. Hindi mo na kailangan upang tumingin sa CSS kung hindi mo nais na. Ngunit sa sandaling tapos ka na, maaari itong maging isang magandang maliit na bagay masaya na pumunta lamang sa at gulo sa CSS parameter. CSS at HTML ay isang halimbawa ng isang model tingnan style controller bagay masyadong, right? Maaari kang magkaroon ng estilo ng mga tag sa loob ng mga elemento ng HTML. Ngunit kung ikaw uri ng outsourcing ang mga ito sa CSS, ang mga ito ay mas madaling i-edit, at i-play sa paligid sa, at magkaroon ng kasiyahan sa. Tratuhin CS50 helper function bilang mga itim na kahon. Hindi mo na kailangang malaman kung ano mismo ang render ang ginagawa, ngunit tiwala ito na laging gawin ang mga karapatan bagay depende sa kung ano ang iyong pumasa ito, mga bagay na tulad nito. At ako ay pinapayo nanonood walkthrough ni David, pagpunta sa pamamagitan ng lahat ng mga mga bagay-bagay, hindi lamang ang todos, ngunit ikaw talaga ay maaaring tratuhin ang mga ito bilang mga itim na kahon. Huwag pumunta sa mga mga function na naghahanap para sa mga bug. At salubungin ang pagbabalik ng ating panginoon Zamyla. Great. Mayroon bang anumang mga pangwakas na mga katanungan bago kami uri ng bounce para sa araw? Ako ba ay nakatira ko pa rin? Great. Hi livestream tao. Great. Mayroon bang anymore katanungan? Hindi? At pagkatapos ay sa tingin ko hindi namin magandang pumunta para sa araw na ito. Kukunin ko stick sa paligid ng isang maliit na piraso pagkatapos nito kung ang mga tao ay may mga katanungan sila ay natatakot na magtanong sa stream. Ngunit sa kabilang banda, ay may isang mahusay na araw.