Kryetari 1: Të gjitha, të drejtë mirëpritur mbrapa. Kjo është CS50. Dhe ky është fillimi i javës së nëntë. Dhe ky është fillimi i pjesës tjetër të kohë në CS50, në të cilën ne Tranzicioni tani, më në fund, në web Aspekti i kursit, ku ju do të të gjeni se një shumë e themele që ne kemi qenë eksportues për disa javë ende kthehen për të vizituar, ose ndjekin, na. Por tani, ju do të gjeni se kjo është një qëllim të magnitudë më të lehtë për realizimin e detyrave të caktuara dhe zgjidhjen e problemeve të caktuara - aq shumë sa që edhe në qoftë se keni menduar grupe të caktuara problematike ishin në fun e tyre Mënyra vet, unë mendoj se ju do të gjeni se p vendosur 7, 8 p vendosur, dhe pastaj, në fund të fundit, projekti përfundimtar do të jetë të gjithë më shumë gratifying sepse ju do të të gjeni se ne fillojmë të marrë për të dhënë tani gjërat pëlqen menaxhimin e kujtesës, dhe pointers, dhe se çfarë po ndodh në nën kapuç. Dhe përsëri, tematike, të gjithë të gjithë Semestri ka qenë ky layering dhe layering. Dhe tani ne jemi lloj i lart këtu, duke qëndruar në Supet e javëve të kaluara. Tani, kujtohet nga hera e fundit që ne biseduar se si interneti ka punuar. Dhe kjo ishte ndoshta një oversimplification, por mos harroni se çdo kompjuter në botë ka një IP adresuar, edhe pse kjo është pak e një thjeshtëzim ende. Dhe ato adresat janë përdorur për unike identifikojnë makina në mënyrë që kur ju të dërgoni informacion, ose pako, kështu që të flasin, ata mund të kenë një origjinë adresa dhe një adresë destinacion. Dhe ato adresat IP të njëjta mund të përdoret si për mirë ashtu edhe për keq, për të ndjekur ju, për shembull. Në fakt, çdo njëri prej jush me një laptop hapur tashmë, ose nje telefon në tuaj xhep, ka një adresë IP në rrjetin e Harvardit. Dhe kjo nuk është e gjitha se e vështirë për të që lidhen me atë se kush dhe ku jeni janë këto ditë. Por më shumë se ndoshta në të ardhmen. Tani unë mendova se do të sjellë përsëri disa kujtimet e [? rritur?] dhe do t'ju japë një tjetër nga një klip të ju tregojnë se mund të gjeni të njohur. Nëse ne mund të zbehtë dritat për vetëm disa sekonda. Të Numb3rs treguar. 2 Gjuha: Kjo është një 32-bit adresa IPP4. Kryetari 3: IPP, si në internet? 2 Gjuha: Rrjeti Privat. Për rrjetit privat Amita së. Ajo është aq e mahnitshme. Kryetari 3: Come on, Charlie. 2 Gjuha: Është. Një pasqyrë IP adresa. Ajo na lënë të shikojnë se çfarë ajo është duke bërë në kohë reale. Kryetarja 1: OK, kështu që gjërat pak gabuar me këtë foto. Kështu një, dhe kjo një është e pranueshme, kjo është në të vërtetë nuk është një adresë IP e vlefshme. Një IP adresë e vlefshme duhet të jenë numra i w.x.y.z formës, ku secili prej ato letra është 0 deri në 255. Por kjo është në rregull, sepse ashtu si filma ku ata numrat e telefonit të rreme, ata fallco adresat IP. Ju nuk e goditi në fakt serverat reale. Por mendje ju, kjo është një shfletues. Dhe browsers nuk do të fillojnë kompjuteri Kodi kompjuter si kjo. Dhe nëse ne shikojmë pak më thellë, njoftim se gjuha që ata janë duke parë në ekran është një gjuhë e quajtur Objektiv C, e cila eshte gjuha ne iPhone Apps të cilat janë të shkruara, veçanërisht ato që përfshijnë crayons, si ju mund të shihni nga kodin burim këtu. OK, mendova se kjo ishte funny. Pra, kjo copë e kodit ka absolutisht asgjë të bëjë me çdo gjë që ky episod të veçantë ishte rreth. Pra, është lloj i shaka në folks duke marrë për këtë të dhënë. Por kjo nuk është e gjitha që vështirë për të marrë këto detaje teknike drejtë. Dhe unë do t'ju nxisja. Dhe në të vërtetë, 50 shumë mirë mund të prishin një shumë e shfaqje televizive dhe filma ose ju sepse ju do të gjeni se kjo është vetëm nuk është e mundur se çfarë ata janë bërë në ekran. Por në të vërtetë, ky është kodi që ju mund të shohin atë në një aplikim iPhone ose Mac OS aplikimit. Ajo ka asgjë në të gjitha të bëjë me sigurinë. Kështu që të mbajë një sy jashtë për më shumë fun gjëra të tilla si kjo. Por sot ne fillojmë të zhyten në të vërtetë thellësisht në një gamë të tërë të gjuhëve. Nje vërtetë, njëri prej kryesor takeaways e kësaj pjese të sigurisht nuk është për të mësuar se si të programit në PHP, jo për të mësuar SQL në vetvete, nuk për të mësuar JavaScript në vetvete, por më tepër të mësojnë veten se si të mësojnë yourself gjuhët e reja, sepse, me të vërtetë, ne të fillojë të marrë tani Rrota trajnimit jashtë në mënyrë që pas fundi Sigurisht, ju nuk presin një 20 specifikim faqe ju tregojnë se si për të zbatuar një program. Ju keni përbërësit e mjaftueshme në tuaj Mendja, dhe mjetet e mjaftueshme në mjet tuaj kit, me të cilat për të filluar ndërtimin e zgjidhje për problemet me interes për ju për disa grup nxënësit, për disa Projekti i hulumtimit, apo me të vërtetë ndonjë gjë me interes për ju. Pra, për këtë qëllim, kujtoj se kjo ishte foto ne tërhoqi herën e fundit. Dhe kjo është dy kompjutera, klienti dhe sever, duke folur me njëri-tjetrin. Dhe protokolli, gjuha, në mënyrë që të flasin, se këto dy kompjuterë të ndodhë për t'u flet quhet HTTP. Dhe kjo është vetëm protokolli përdoret nga kompjutera për të transferuar informacion mbi World Wide Web. Web, natyrisht, është vetëm një shërbim që shkon në krye të ashtu-quajtur internet. Çfarë është një tjetër shërbim në dispozicion në lartë e internetit këto ditë? Disa protokoll tjetër ose - çfarë është ajo? Audienca: FTP. Kryetari 1: FTP. Pra File Transfer Protocol është një tjetër. Shumica nga ju ndoshta nuk e kanë përdorur atë. Por shumica prej jush ndoshta kanë përdorur gjëra të tilla si Gchat, ose të çastit mesazheve më në përgjithësi, sigurisht email. Dhe ata, gjithashtu, janë shërbime që të kandidojë për lartë të internetit për shkak se, në fund të ditës, internet vetë me të vërtetë vetëm për të marrë të dhënat nga pika A në Pika B. Dhe ai përdor një numër të grimcat vetë, njëri prej tyre ose të dy prej tyre më në përgjithësi quhet TCP / IP, e cila është të thotë se një kompjuter on internet në fakt mund të jetë bërë gjëra të ndryshme, email, dhe web, dhe kështu me radhë. Google bën një shumë prej kësaj. Pra, si janë ato shërbime unike identifikohet, nuk themi, në një kompjuter që mund të vërtetë të jetë bërë gjëra të shumta? Numrin e portit. Dhe këto janë vetëm njerëzore arbitrare konventat si 80 është web, 443 është web Encrypted, 25 është e-mail. Dhe ka një bunches e të tjerëve. Dhe ato numra janë të përfshira thjesht në ato pako të informacionit, ato Zarfi virtuale, që në fakt përmbante një kërkesë ose një përgjigje. Pra, kur ju të merrni një përgjigje nga mbrapa web, në mënyrë tipike, ju nuk shoh ndonjë Numrat e ç'ka në aspektin e Kodi statusi i përgjigjes. Ju nuk mund të vërtetë shohim punët e brendshme të pako që vijnë prapa. Por 200 ka me të vërtetë do të thotë OK. Dhe kjo do të thotë të gjitha është e mirë. Ju mund të keni parë një bandë e këtyre. Cili është ndoshta më e zakonshme ju keni parë në internet? 404. Ajo thjesht do të thotë skedar nuk u gjet. Kjo do të thotë dikush dehur. Ju e bëri duke mistyping URL, apo dikush tjetër e bëri duke ju dhënë një URL të pavlefshme, ose ata fshihen dosja dhe URL është ende duke u përdorur nga njerëzit. Pra, çdo numër arsyesh mund të shpjegojë pse një file nuk është gjetur. Dhe ju do të shihni, në javët që vijnë, këto kodet e tjera gabim, dhe ju do të të përfitojnë nga disa prej tyre. Keqja është 500. Nëse ju merrni një gabim 500 në kodin e keni shkruar, të mendojnë se si lloj i analog i gabimeve në Seg Bota e programimit web. Kjo nuk është fare aq e tmerrshme. Por ai thjesht do të thotë se, diku, ju dehur. Pra shohim përpara për ata. Por le të shohim nëse ne mund të shikoni këto në kontekst. Më lejoni të shkoni në një shfletues këtu dhe të bëjë të mëposhtme. Pra, kjo është Chrome, i cili ndodh të të jetë i instaluar në aplikim. Por shumica çdo shfletues këto ditë ka disa funksionalitetin ekuivalent. Unë jam duke shkuar për të shkuar deri menu e kromit-së, dhe shkoni te Tools, dhe unë jam duke shkuar për të shkuar për Developer Tools. Dhe ju do të shihni se ky panel pak hapet në pjesën e poshtme të dritares. Një shkurtore, të jetë i sinqertë, që unë zakonisht përdorin veten është Right click Kontrolli ose klikoni kudo në internet faqe dhe thjesht shkoni te Inspect Element. Dhe kjo jo vetëm që do të hapë të ketë kjo për ju. Ai gjithashtu do të hapë, në mënyrë specifike, Elementet pjesa më anën e majtë. Pra, ne jemi natyrisht duke parë Google. Ata ndryshoi logon e tyre sot. Por, në qoftë se unë lëvizni poshtë deri këtu, njoftim se nën Elements, ju shihni atë që quhet HTML, HyperText Markup Gjuha, dhe kjo është gjuha se kjo dhe të gjitha faqet e internetit, me të vërtetë, janë të shkruara in Por kjo është formatuar në fakt për ne shumë më shumë lexueshëm se sa normalisht është. Në fakt, në qoftë se unë zoom out, dhe unë në vend Just right click ose kontroll Kliko klikoni mbi faqe, dhe pastaj shkoni tek View Page Source, kjo është fjalë për fjalë se çfarë Google zbritur në shfletuesin tim. Pra, disa person ose persona shkroi Google.com përdorur këtë kodin burimor. Shumica e kjo nuk është HTML. Është në fakt një gjuhë e quajtur JavaScript, e cila ne do të vijnë për të mërkurën. Por çfarë Chrome, dhe çfarë çdo shfletues mund të bëjë për ne, është lloj i shoh kaluar të gjitha distractions e Sintaksa çmendur, dhe prap të bardhë hapësirë për ne, dhe madje edhe nxjerrë në pah sintakse, ose Colorize gjëra për ne. Pra, ju do të gjeni se këto ashtuquajtura Qendër Zhvilluesish ndërtuar në shfletues do të bëjë jetën tuaj në mënyrë, aq shumë e lehtë sepse ju mund të shqyrtojë, me anë të këtij menu interface, pikërisht ajo themelor kodi burim është për çdo faqe në internet. Dhe vërtet, kjo është një nga më të mënyra efektive për të mësuar se si ta bëni diçka të re, të paktën nëse faqja nuk është aq komplekse sa të trullos, është të fillojnë poking rreth HTML është, shikoni në CSS ashtuquajturës saj, të cilat ne do të vijë te nje bit si edhe, për të marrë një të kuptuarit se si programues zbatuar disa veçanti tipar i faqes. Por më teknikisht të drejta interesante tani ajo do të jetë kjo. Nëse unë shkoj tek tab Rrjetit, tani le qartë këtë. Unë jam duke shkuar për të klikoni pak kalojnë simbol këtu, dhe pastaj shkoni në një faqe interneti. Dhe unë jam vetëm duke shkuar për të tipit në Facebook.com. Asnjë HTTP, HTTPS jo, nuk ka WWW. Le të shohim se çfarë në të vërtetë ndodh këtu. Enter. Tani vini re një bandë e tërë e stuff vetëm shfaq këtë në panelin e poshtme, në shtesë në faqen e internetit shfaqeshin në krye. Unë jam duke shkuar për të lëvizni prapa deri në Tab Rrjeti këtu, dhe unë jam duke shkuar për të klikoni në rreshtin e parë. Çfarë është ky mjet do të zbulojë për ne është edhe çdo njëri prej kërkesave HTTP që me shpejtësi sapo shkoi prapa dhe me radhë në mes shfletuesin tim dhe server Facebook. Dhe kështu çdo njëri prej këtyre rreshtave paraqet një kërkesë të tillë apo reagimi, një ose më shumë prej ata zarf virtuale. Ose më rastësisht, është si një person si një person, një klient në një , restorant kërkuar për diçka përsëri, dhe përsëri, dhe përsëri. Dhe kamerier mban sjellë ajo kthehet një në një kohë. Deri tani, në qoftë se unë zoom në në këtë, njoftim dhe kjo do të jetë gjë e tillë se ju jeni të mirëpritur për të inkurajuar dhe për të luajtur me të në tuaj, sepse ne nuk do të shkojnë nëpër çdo gjë në hollësi të madhe. Por vini re se ka një tabs pak nën këtu - Headers, preview, përgjigje, Cookies, dhe koha. Unë jam vetëm duke shkuar për të shikojmë në headers tani për tani, sepse këto janë pak përbërësit e brenda zarfit asaj të ndihmojë për të marrë të dhënat dhe nga vende. Pra, së pari, më lejoni të klikoni këtë, Shiko Burimi tjetër për Headers kërkesës. Nuk është kërkesa që shfletuesi im, Krom, në këtë rast, ka dërguar në brendësi të se zarf virtuale. Ju do të kujtojnë javën e kaluar unë typed dorë, ndërsa ajo pretenduar të jetë një shfletues. Pastaj ai kujtoi se kjo është server kërkoni për nikoqirin e quajtur Facebook.com. Dhe pastaj nuk ka pak më misterioze Informacioni që ne do të tundë duart tona tani për tani. Por në qoftë se unë të fillojë të lëvizni poshtë tani në kjo dritare, më lejoni të shkoj në headers përgjigje. Kjo ishte ajo që është në virtuale Zarfi që u kthye nga Facebook.com. Dhe në qoftë se unë klikoni View Source vetëm për të parë tekstin e parë e saj, njoftim disa gjëra. Një, Facebook gjithashtu flet njëjtë protokoll, version 1.1 tij. Pra, kjo është e bukur. Por statusi Kodi 301, lëvizur përgjithmonë. E pra, ku ka dreq Facebook shkojë? Ç'është kjo duke u përpjekur për të përcjellë tek ne? E pra, njoftim poshtë këtu ka një tjetër header quajtur lokacionit. Pra, pse është Facebook thënë mua se ata u zhvendos përfundimisht në atë URL pranë Vendodhja? Kam harruar www. Pra, kjo ishte zgjedhja ime. Në fakt, shumica prej nesh rrallë, ndoshta, shkruani www.whatever.com këto ditë. Por, ajo rezulton nga një administrator sistemi, si Facebook, mund të konfiguroni serverat e tyre në një mënyrë të tillë se ose Facebook.com punon, ose www.Facebook.com punon, ose, me të vërtetë, Ndonjë parashtesë tillë në frontin e tyre emri i domain. Pra, ata që kanë bërë për ne. Dhe ata janë Përcjellin na, ndoshta për disa teknike, disa arsye të marketingut. Ata vetëm duan të canonicalize on www.Facebook.com. Por kjo nuk është mjaft kjo. Nëse unë lëvizni poshtë këtu, le të shikoni se çfarë ndodh. Kjo është thënë mua ne për të lëvizur përgjithmonë http://www.Facebook.com. Pra, le të shohim në kërkesën e dytë që shfletuesi im dërgon. Për fat të keq, kjo duket si Facebook ka lëvizur përsëri për shkak dytë kërkesë, duke përzgjedhur atë URL në vend, thotë se, gjithashtu, u zhvendos përgjithmonë. Dhe më lejoni të lëvizni poshtë këtu për headers përgjigje. Ku Facebook ka shkuar tani? Pra, HTTPS. Deri tani Facebook ka filluar, veçanërisht në dritën e tanishme ngjarjet në muajt e fundit, dhe sidomos edhe në dy vitet e fundit të detyrojë të gjithë përdoruesve të tyre, në një të mirë mënyrë, për përdorim HTTPS, e cila është më e siguruar, edhe pse jo krejtësisht të sigurt. Dhe kështu që tani faqja ime, browser-i im është do të kërkojë këtë URL tretë. Dhe tani, në fund, ne të merrni ndryshe paparë 200 OK. Pra, çfarë në botë ose të gjitha këto rreshta të tjerë këtu poshtë. I shtypur fjalë për fjalë një gjë, dhe my shfletuesi duket se kanë kërkuar si 20 disa gjëra të çuditshme. Çfarë është kjo? Audienca: Scripts? Kryetari 1: scripts, fotografi kaq të tjera shkruar në një gjuhë të quajtur JavaScript, e cila, përsëri, ne do të shihni një grimë të mërkurën. Çfarë tjetër? Fletë stil. Pra, diçka në një gjuhë të quajtur CSS, të cilat ne do të shohim në një grimë. Gifs, dhe JPEG, dhe PNGs, dhe imazhet, dhe fotografi film - çdo gjë që një web faqe ka është më e mundshme në formën e një skedar. Dhe kështu që ajo që ne jemi duke parë në të majtë hand side nuk është e gjitha e dosjeve që Chrome kishte për të shkarkuar, Recursively, në qoftë se ju do të, në mënyrë që të përbëjnë tërësinë e faqes. Pra, ajo që ne pamë një moment më parë me Google, në qoftë se unë klikoni mbi Elemente tab, ky, i sigurt, është HTML, gjuhë që përbën këtë faqe. Por ka bunches e gjëra të tjera. Ka një logo. Ka ata blu-ish icons atje. Dhe nuk ka elemente të tjera ende në Faqja që vetë mund të jetë Fotografi të ndara. Pra, çfarë është e mirë për një shfletues është se kjo duket në gjuhën Ne jemi duke shkuar për të filloni të shkruani, ose ju keni tashmë Shkrim filluar në P set 7, shifrat nga ku ato fotografi jetojnë, dhe shkon dhe grabs ato si. Dhe unë nuk mund ta theksoj sa duhet, madje edhe pse disa nga kjo mund të duket një grimë Arcane ose dërrmuese në shikim të parë, të mësuarit se si të programojnë Aplikacionet për web, kjo është paçmuar për të kuptuar se si këto mjete pak punë. Këto janë lloj si GDB si mjete, por shumë më e thjeshtë, në fund të fundit, për të përdorur - dhe me të vërtetë ju jep sytë në atë ne kemi qenë duke marrë për të dhënë për mjaft disa kohë tani. Pra, çfarë mund të bëjmë ne tani me ky informacion? E pra, le të vërtetë të marrë një vështrim në konceptet themelore HTML. Dhe ne do të shtyjë, pasi ne tashmë kemi, për të seksione këtë javë, për problemin vendosur 7 specifikim, për disa nga më të Veçoritë e këtyre gjuhëve. Por le të shohim nëse ne nuk mund të pikturoj një fotografia e asaj që ju duhet të kuptoni përgjithshëm këtu. Pra, HTML, HyperText Markup Language, nuk është një gjuhë programimi. Çfarë do që me të vërtetë do të thotë? Pra HTML duket si ky. Dhe disa nga ju tashmë e dini këtë. Disa prej jush kanë qenë duke bërë këtë për disa kohë. Por le të shohim nëse ne nuk mund të plotësoni në disa boshllëqet si. Pra, vini re disa gjëra këtu. Një, kjo është vetëm tekst. Pra, kjo është vetëm si kod burim në C, ose disa gjuhë të tjera. Vini re se nuk duket të jetë një model këtu. Ka kryeradhë, por teknikisht kryeradhë është vetëm njerëzore konventë. Një shfletues nuk e kujdes, nëse ka të re Linjat dhe skedat të doja që ne shohim atje. Por vini re se nuk ka simetrite këtu. Nuk është ajo që unë do të thërrasë, në krye të këtij file, tag hapur, ose fillim tag, i quajtur HTML. Dhe pastaj, poshtë poshtë, rreshtuar të përkryer lart, ashtu si bëjmë me formatimin e teksteve kaçurrel, ne shohim parantezë hapur, përpara plagë, HTML, simboli i ngushtë. Pra, kjo është afër korrespondon tag, tag apo fund, për atë gjë. Së bashku, çdo gjë brenda ashtuquajtur tag hapur dhe tag të ngushtë kompozoj atë që ne do të thërrasë një element. Dhe ne do të shohim, në një moment të vetëm, kjo është me të vërtetë si një nyje në një pemë. Sepse në qoftë se ju mendoni rreth tani kryeradhë që është nënkuptuar këtu, ju lloj i kanë, si, një gjysh nyje quajtur HTML. Sa fëmijë mund të ju them, duke u bazuar në këtë foto, element HTML ka? Pra, ndoshta dy. Njëra është element kreu, me sa duket. Dhe është një element trupi. Dhe pse dy fëmijë? E pra, unë jam vetëm lloji i inferring se nëse Unë kam një tag kokë dhe pastaj të hapur një tag ngushtë kreu, që është një element. Dhe pastaj, në qoftë se ka një trup tjetër i hapur tag dhe një tag të ngushtë trupit, kjo është si një element tjetër. Pra, në kuptimin që, nëse unë lloj i qarkulloj fotografia në anën e saj, kjo është si të paturit e një HTML tag, dhe pastaj një tag kokë, dhe pastaj një tag trupit, dhe pastaj disa, teksti Tungjatjeta botë, i varur off tag trupit vetë. Pra, ne mund të tërheqë një foto që mund të duket si kjo. Këto forma janë arbitrare. Por vëreni se unë kam përdorur një lloj të elips në krye për të përfaqësuar vetë dokumentin. Kjo rezulton atje mund të jenë sende të tjera në brendësi të një faqe web që unë nuk e kam tërhequr këtu. Pra, ne jemi duke shkuar për të edhe të ul receptorin e telefonit HTML off nyja e një nyje të ashtu-quajtur dokument. Dhe pastaj ne kemi kokën dhe trupi dhe titulli, njoftim, cila është e mbivendosur tej. Unë nuk e mërzit duke vënë linjë shtesë Prishet brenda të tag titullin. Ajo thjesht ndjehet si ajo ishte duke u pak a shumë të fjalëshumë. Kështu që unë e la atë në një rresht atje, me Titulli i hapur, përshëndetje bota, titulli afër. Dhe pastaj ne kemi disa tekst varur jashtë prej këtu. Pra, kjo foto do të kthehen në na kur ne zhyten në JavaScript. Dhe të kuptuarit se kur ju HTML shkruaj si kjo, çfarë është një shfletues duke bërë? E pra, ne nuk duhet të shqetësohen për se si është bërë kjo, ose me çfarë algorithm, por në fund të ditës, kur merr një shfletues HTML si se, nga Facebook apo Google, ajo parses atë, kështu që të flasin, ajo lexon atë, me diçka si fread, të lartë për të fund, e majta në të djathtë, dhe si ajo realizon, oh, tag hapur, dhe pastaj të mbyllë tag, ajo fillon të malloc, kështu që të flasin, një nyje ne nje peme. Dhe kur ajo ballafaqohet me, siç e kemi nënkuptuar këtu me vulë, një nyjen fëmijë, ajo mallocs një nyje për atë dhe bashkangjitur qe te pema. Pra strukturat pemë, pemë binare, pemë tresh, dhe pemë të mëdha, që Ne lëshoi ​​në një javë ose dy më parë, njoftim se parimi i njëjtë është vijnë tek ne. Dhe kushdo që zbatohet, Chrome çfarëdo Ekipi bëri që, me sa duket kishte për të zbatuar disa lloj strukturë pemë nën kapuç. Dhe kjo në vetvete është ndoshta në një gjuha si C, ose C + +, ose nje ulët gjuha niveli që ne do të tani përdorin majë web. Deri tani, ndoshta, kjo do të bëjë më shumë kuptim. Tatuazh Aktuale nga një djalë të cilët mund të zhgenjeheni përfundimisht, lloj. OK, të gjithë të drejtë, kështu që një shumë e humorit web. Kjo nuk është me të vërtetë ndodh mbi kështu edhe sot. Pra, ne do të lëvizë. Dakord. Pra, le të marrin një vështrim tani në disa shembuj. Të thjeshtë të mundshme gjë mund të jetë kjo. Unë jam duke shkuar për të shkuar përpara dhe e hapur deri në gedit një skedar të quajtur hello.php. Dhe brenda këtu, unë jam duke shkuar për të shpejt vetëm të bëjë këtë, printf, të japin kuotën e mbyll thonjëzat, "Hello World". Pra, njoftim, dhe unë do të bëj n backslash time, Unë nuk kam shqetësuar për të deklaruar kryesore. Ajo rezulton, në PHP, dhe një shumë të gjuhë, ju nuk keni nevojë për një kryesore Funksioni në vetvete. Ju vetëm mund të filloni me shkrim programi juaj. Tani, kur unë ruani këtë file, njoftim Jam do të duhet të bëjë të mëposhtme. Unë nuk jam duke shkuar për të përdorur të bërë, dhe unë nuk jam do të përdorni tingulli sepse PHP, ndryshe nga C, nuk eshte nje gjuha përgatitur. Kjo është ajo që quhet një interpretohet gjuhës, që do të thotë se ju drejtuar atë si një input përmes një program tjetër quajtur një përkthyes. Dhe se programi i lexon atë, të lartë për të fund, e majta në të djathtë, dhe bën çdo gjë që ju them se për të bërë. Pra, në këtë rast këtu kam një linjë që thotë se printf. Pra, kur kam drejtuar këtë kod burim, hello.php, megjithëse një program që ndodh, të përshtatshme, që do të quhet PHP, Programi që PHP është duke shkuar për të lexuar këtij file, fund e krye, e majta në të djathtë, dhe ajo do të bëjë atë që kam them atë për të bërë - ekzekutimin kodin, dhe nëse ajo nuk e njeh diçka, vetëm pështypje it out. Kështu që unë jam duke shkuar për të shkuar përpara dhe të kandidojë PHP e hello.php. Enter. Dhe kjo nuk është krejt ajo që kam menduar. E pra, pse është kjo? E pra, PHP është një gjuhë që është në fakt projektuar të jetë mjaft ndërthurur me web. Kur bën web faqet me këtë gjuhë PHP, si ne do të shohim së shpejti, ne do të doni të bëni diçka si të shtypura jashtë linjave si kjo. Kështu që unë jam duke shkuar për të bërë këtë. Parantezë Open, pikëpyetje, PHP, dhe tani unë jam vetëm duke shkuar porosit vetëm për të mbajtur gjëra të bukur. Dhe tani unë jam duke shkuar për të bërë një pyetje shënojë kllapa ngushtë. Pra, ka një grimë e asimetri këtu. Ju nuk e bëjmë këtë. Dhe ju nuk e bëni një plagë, kështu që PHP është pak më ndryshe. Por tani, në qoftë se unë përsëritur edhe njëherë këtë program, PHP hello.php, tani unë të merrni në fakt botë Hello. Dhe ne do të shohim se pse kjo është e vlefshme. Njëra, ajo lejon mua që të specifikojë, super mënyrë eksplicite, kjo është Kodi, ekzekutuar këtë. Dhe kjo është me të vërtetë atë që këto tags veçanta nënkuptojnë këtu. Por ajo gjithashtu do të thotë se në qoftë se unë vetëm bëj diçka si unë synoj gjatë këtu, që që do të thotë, fjalë për fjalë, që thjesht do të të shtypen jashtë, pa nevojën për në fakt telefononi printf, apo të shtypura, ose ndonjë funksion i ngjashëm. Pra, ne do të kthehen me atë në një moment të vetëm. Së pari, le ta bëjmë këtë. Brenda të pajisjes, ne kemi një direktori të quajtur Vhosts, për virtuale pret, do të pakësojë ushtrinë lokale, çaj publik. Pra, kjo është një fjalëshumë pak, por histori e gjatë Shkurtimisht, pajisja nuk është i dizajnuar vetëm për të mbështetur C. Është gjithashtu projektuar për të mbështetur PHP. Por kjo është projektuar gjithashtu të jetë një web server, dhe nje server Database. Dhe kjo është projektuar dhe konfiguruar të vërtetë, të jenë të kujton çfarëdo komerciale web hosting kompani që ju mund të paguani $ 5 në muaj për, 100 $ në muaj për të. Çfarëdo shërbimi është, ajo është konfiguruar të jetë shumë e ngjashme me një reale prodhimi botëror server. Dhe se çka do të thotë se është në drejtimin e aplikim është web server software. Kjo ndodh të quhet Apache. Është vetëm të lirë dhe me burim të hapur, dhe shumë popullor. Dhe ne kemi konfiguruar Apache për të dini se në qoftë se kam vizituar një URL të caktuar, me Kromit ose çfarëdo shfletuesi brendësi të aplikim, për të parë në këtë directory për dosjet që përdoruesi është duke kërkuar. Me fjalë të tjera, le të më të shkojnë përpara dhe të bëjë këtë. Brenda directory tim publik, unë jam duke shkuar të shkojnë përpara dhe të krijojë një skedar quajtur index.html. Kjo më jep tab këtu. Dhe unë jam duke shkuar për të shkuar shumë shpejt dhe të shkojnë përpara dhe të më përplaste jashtë ky program këtu. DOCTYPE HTML, i cili tani për tani, vetëm supozojmë që ju keni për të tipit. Kjo është vetëm një tag misterioze, që nuk është me të vërtetë një HTML tag, që saktëson se këtu vjen disa HTML. Unë jam duke shkuar për të shkuar përpara dhe të krijosh ajo që ne pamë një moment më parë. Këtu është kreu i faqes. Brenda kokës ishte - kështu titullin. Pra, ne do të thonë hello, botën. Dhe pastaj këtu ishte poshtë tag trupit. Më lejoni të mbyllë tag trupit. Dhe pastaj në këtu unë do të them, vetëm për qartësi, përshëndetje bota. Pra, kjo është, ndoshta, më e thjeshtë web faqja është e mundur ju mund të bëjë kjo është e vlefshme. Është sintaksore të vlefshme. Çdo gjë që është hapur është e mbyllur. Çdo gjë është e mirë në vetëquajtur dhe prerë. Pra, le të shohim tani se si unë mund të hyni në këtë skedë. E pra, më lejoni të shkoj për të Chrome këtu. Dhe më lejoni të shkoj në http://localhost/index.html. Pra, çfarë është host lokale? E pra, më çdo kompjuter në botë, Linux, Mac OS, Windows, ka një pseudonim quajtur host lokale. Pra, nëse ju ndonjëherë të dëshironi të bisedoni në kompjuterin tuaj - megjithëse, çuditërisht instinktivisht - ju e quani veten presë lokale. Nuk ka rëndësi se çfarë kompjuteri juaj aktual është quajtur, nëse kjo është MacBook Davidit Ajri, ose diçka më shumë fjalëshumë si kjo. Pra, kjo URL është me sa duket do të përdorin HTTP për të biseduar me të presë lokal, njëjti kompjuter, aplikim, dhe ajo do të kërkojë, të marrë vetëm një me mend, se çfarë fotografi? Index.html. Pra, pajisja ka qenë e konfiguruar në avancojë të dini se në qoftë se unë jam duke kërkuar për diçka si index.html, shikoni për ne nje dosje quajtur Vhosts, ne nje dosje të quajtur localhost, në një dosje aty quhet publik. Kjo është ku të gjithë publikun tim fotografi do të jetë. Kështu që unë tani jam duke shkuar për të goditur Enter. Dhe mallkuar, nuk është se e ndaluar Mesazhi, i njohur ndryshe si 403, të Kodi numerike për të. Pra, çfarë është e gabuar këtu? E pra, kjo nuk është e mjaftueshme për të vetëm të vënë fotografi brenda dosjen time. Unë kam nevojë për të vërtetë të bëjë të mëposhtme. Më lejoni të shkoj në Vhosts directory tim, në localhost, në publik, dhe le mua bëni l ls dash. Dhe ka disa gjëra të tjera këtu për qëllime sotme. Por njoftim në anën e majtë, e ardhshëm me index.html, ne shohin vetëm një RW. Dhe në të kaluarën, çfarë RW ka qëndruar për? Vetëm të lexojnë apo shkruajnë. Fakti që ajo thotë se në rw majtë thotë unë, pronari i këtij file, mundemi lexojnë apo shkruajnë atë. Por unë duhet të le të gjithë njerëzit në Bota lexoni këtë, edhe pse nuk shkruajnë atë. Kështu që unë jam duke shkuar për të ndryshuar mënyrën e fotografi, chmod, të gjitha r plus për të dhënë gjithkush lexoni leje në file i quajtur index.html. Dhe në qoftë se unë tani Rivendos l ls dash, njoftimi se, gjatë këtu, disa më shumë R-kanë popped up. Dhe tani për tani, spekulim shkon në më shumë detaje. Për të vendosur P 7, që vetëm do të thotë të gjithë tani mund të lexoni këtë skedar. Nëse unë kthehem në shfletuesin tim tani ringarkoni dhe, voila. Përshëndetje Të Gjithëve. Dhe unë mund edhe të hapur mjetet e krom e mia dhe të shohim, ashtu si dhe me Google Facebook se ka HTML im, formatuar pak ndryshe dhe të ngjyrosur. Nëse unë shkoj në skedën e rrjetit dhe ringarkoni faqe, njoftim që ka marrë kërkojë që Chrome është dërguar për të pajisjes. Ka 200 për se file të veçantë. Pra me pak fjalë, kjo është se si të gjitha këto copa të ndryshme po vijnë së bashku. Kjo ndodh pikërisht kështu që web server ne jemi duke përdorur të drejtën tani nuk është e largët, si Facebook. Kjo është fjalë për fjalë në të njëjtin kompjuter, cila eshte perfekte rregull. Pra, më shumë se çfarë mund të bëjmë në një web faqe? E pra, vetëm, le të fllad përmes një çift nga këto gjëra. Por më lejoni të shkoj përpara dhe të rihapë Gedit me index.html. Dhe më lejoni të shkoj përpara dhe të thonë hello CS50, ruani këtë file, të shkojnë prapa shfletuesi, ndryshimi i vërtetë underwhelming. Por, çfarë nëse ne duam që në fakt të lidhura me diçka tani? Pra, rezulton se ne mund të kemi lidhjet në HTML tags që janë vetëm vetë. Kjo ndodh për të quajtur tag spirancë. a href barabartë https://www.cs50.net, www.cs50.net quote ngushtë, simboli i ngushtë. Dhe tani le të shohim se çfarë tjetër vjen më pas. Unë e kam hapur tag. Unë tani duhet ta jepni atë një frazë si CS50. Më lejoni të mbyllë tag. Dhe vini re disa gjëra. Edhe pse ekziston kjo gjë fshehta këtu, unë nuk kam përsëritur atë kur ju mbyllë tag. Ju vetëm të mbyllë tag me emrin e saj vetëm. Dhe kjo është ajo që është njohur si një atribut me një vlerë. Atributet vetëm të modifikojë sjelljen e disa tag brenda një faqe. Pra, kjo është e specifikuar që hiper referencë, mënyrë e sofistikuar për të thënë URL për këtë spirancë, për këtë Lidhje, duhet të jetë CS50.net. Dhe teksti që ne duam të tregojmë përdoruesi nuk është se URL papërpunuara, por më tepër CS50 fjala. Pra, në qoftë se tani unë reload, më lejoni të zoom në për qartësi, më lejoni të rifreskoni faqen, vini re se ne kemi në këtë shkollë të vjetër blu nënvizoi lidhjen. Dhe në qoftë se unë rri pezull mbi të, dhe ajo që po ndodh të jenë ashpër të parë, në fund lëshuar qoshe duart e ekranit, njoftim se ajo thote URL te cilin Unë jam duke shkuar për të shkuar. Dhe në qoftë se unë klikoni aty, voila, tani unë jam duke e bërë faqet e internetit. Dhe ne e kemi çuar veten në faqen kryesore. Por njoftim se çfarë potencialeve kjo na ofron. Siguria është shumë në modë këto ditë. Çka nëse unë në vend të thoni diçka si këtë, dhe unë në vend të shkojnë në, të themi, le të shikoni, fakeCS50.net. Rifresko këtë Faqe. OK, kështu që vëreni ajo ende duket si unë jam shkuar për CS50, nëse një sy të mprehtë do të vini re unë jam duke shkuar për CS50 rreme. Unë jam guessing kjo sferë nuk është marrë. OK, kështu që nuk është në dispozicion. Pra, kjo është e mirë. Askush në fakt ka se domain. Por le të jetë pak më shumë me qëllim të keq sepse kjo është lloj stupid. Çfarë ndodh nëse ne ndryshojmë këtë Paypal-it. Dhe çka nëse ne e quajmë këtë, si, www.paypal.badguy.com, çfarëdo domain është. Kjo ndoshta ekziston. Pra, tani më lejoni të rifreskoni faqen. Dhe këtu kemi një lloj i phishing sulmi, P-H-I-S-H-I-N-G, e cila eshte Fjala budalla dhënë për një sulm që përpiqet të informacioneve peshku, ose, më mirë ende, paratë, nga populli nga tricking ato në sigurimin e informacionit që ata nuk mund të bëjë ndryshe. Kjo duket krejtësisht legit, e drejtë? Unë duhet të ketë një lidhje këtu për Paypal.com. Në drejtësi, në qoftë se unë seks të njëjtë me atë me disa graphics, ne mund të bëjë atë të duket më shumë si PayPal. E drejta? Sepse unë mund të, si një mënjanë, Unë mund të shkoj për të Paypal.com. Dhe ne kemi parë vetëm se si unë mund të shikoni të gjitha HTML tyre. Unë vetëm mund të kopjoni dhe të krijosh estetikë e Paypal vend se të shkojnë shkolla e vjetër këtu. Por vini re, sigurisht, dhe kjo është pak ende i vogël, vetëm në pjesën e poshtme qoshe majtë, si në një pikë 10 font, ae shihni se çfarë ju jeni URL në të vërtetë do të jetë çuar në. Dhe kështu që nëse ju keni marrë ndonjëherë Spam thënë të shkojnë përpara, dhe ju jeni i llogarisë ka qenë i komprometuar. Ju lutem klikoni në këtë link dhe le të na njohin fjalëkalimin tuaj kështu që ne mund të siguruar që ju jeni ju, kurrë nuk bëjnë këtë. Këto gjëra duhet të shkojë pa thënë. Por kjo është mrekullisht zbavitës, dhe tragjike, si çdo vit kjo duket të ndodhë për disa jo-zero numri i njerëzve. Dhe kjo është bukuria i sulmeve phishing. Ju mund të dërgoni një email milion. Dhe edhe në qoftë se 0.01% e njerëzve të vërtetë klikoni mbi Paypal dhe ju jap tuaj password, kjo është ende një jo-zero numër njerëz që e kam dhënë vetëm ju paratë e tyre. Dhe dërguar postë elektronike, natyrisht, është mjaft lehtë dhe, në thelb, të lirë këto ditë. Pra, histori të gjatë të shkurtër, mrekullisht ide e bukur, e drejtë? Vite më parë, kjo ishte më e hershme , web mundësuar një rrjet të hyperlinks në mesin e burimeve. Por kaq shpejt mund të jetë përdoret për qëllime të sëmurë. Dhe email, mjafton që të them, këto ditë, kanë ngulitur HTML brenda. E pra, më lejoni vetëm një gjë tjetër. Dhe ne do të shtyjë kryesisht tek seksioni në Problemi vendosur shtatë të ju lejojnë të shqyrtuar hollësitë. Por më lejoni të shkoj përpara dhe të bëni disa gjëra këtu. Unë jam duke shkuar për të shkuar në dhe të deklarojë atë që quhet një div, ose ndarja, i-faqe. Më lejoni të mbyllë këtë tag div. Dhe unë jam duke shkuar për të thonë se deri ketu krye të faqes. Dhe pastaj poshtë këtë, unë jam duke shkuar për të bërë diçka si një div, të mbyllë këtë tag, dhe të bëjë pjesën e poshtme të faqes. Dhe le të ruani atë. Pra, tani le të kthehemi në dosjen time. Shumë underwhelming. Por ajo ndarje është përdorur për të, nën kapuç, është ajo e vërtetë një element i bukur strukturore. Ajo nuk ka asnjë estetikë aq sa ne mund të shohim, përveç, me sa duket, vënë gjërat në linjat e reja. Por vini re, si një mënjanë, vetëm goditur Shkruani nuk e prerë atë në HTML si ajo bën në C. Ju mund të mendoni se kjo është do të vënë një hendek bukur i madh ndërmjet sipërme dhe të poshtme të faqes. Por kjo është injoruar. Hapësirë ​​të bardhë është injoruar në thelb faqet e internetit të tjera se sa shumë para bar hapësirë ​​karakteri, ose kthimi topi, që ju goditi në tastierë. Nëse ju doni më shumë thyen line, ju duhet të specifikojë atë veten. Kështu që unë jam duke shkuar për të bërë disa gjëra këtu për të treguar se çfarë po ndodh. Unë jam duke shkuar për të shtuar një atribut që ekziston Dhe përsëri, mënyrë që ju të mësoni ajo ia atribuon ekzistojnë, çfarë tags ekzistojnë, me të vërtetë, është referenca ne linje. HTML është lloj i gjuhës - kjo është nuk është një gjuhë programimi. Ajo është një gjuhë markup - se pas një gjysmë ore të mirë, ndoshta, një orë me ajo, me siguri ju do të kuptoj, më gjasa, ideja themelore. Dhe pastaj një Google search larg është mbi të gjitha tags mundshme që ju mund të jetë të interesuar in Dhe per spekulim, që është mjaft mirëpritur dhe inkurajuar këtu. Deri tani më lejoni të shkoj përpara dhe të bëni diçka si kjo. Background-color. Dhe tani, unë jam duke shkuar për të bërë diçka si e kuqe, pikëpresje. Dhe ju mund të bëni këtë në disa mënyra të ndryshme. Unë jam vetëm një lloj të shtypni atë si super në mënyrë të qartë të jetë e mundur. Por kjo rezulton se kjo vlerë është këtu atë që quhet CSS, Cascading Style Sheets, e cila është një tjetër gjuha krejt. CSS ka të bëjë asgjë me tags hapur dhe tags ngushta. Ajo ka të bëjë me pronat. Dhe prona janë thjesht vlera kyçe çifte, të cilat thjesht do të thotë disa fjalë, zorrës së trashë, dhe pastaj disa fjalë tjetër. Dhe në qoftë se ju keni ato të shumta, ose vetëm një këtu, ju mund të përfundojë atë me një pikëpresje, vetëm për qartësi. Por kjo, gjithashtu, do të punojnë këtu. Tani çfarë do të bëni këtë? Ju mund ndoshta me mend. Më lejoni të shkojnë përpara dhe rifreskoni këtë faqe. Dhe tani ajo është me të vërtetë vijnë së bashku. Pra krye të faqes sime është e kuqe. Por ajo që është kyç këtu është se, unë përmenda më herët, që ju jep div një ndarje e faqes. Dhe kjo është me të vërtetë atë që bën. Ajo në thelb ndan në faqen një drejtkëndësh që ju mund atëherë manipuluar. Dhe ky nocion i rectangles është lloj i bindëse në atë që, në qoftë se ju mendoni se e më ndonjë faqe interneti, nuk ka ndoshta disa struktura në të. Shumica nga ju ndoshta keni parë shumë rrallë Homepage Facebook, nëse ju jeni të regjistruar në gjithë kohës. Por në faqen Facebook në shtëpi, nuk ka disa lloj div përgjatë krye. Dhe kjo nuk mund të jetë aq e thjeshtë si një div, por ka një Rajoni drejtkëndëshe atje. Pjesa tjetër e faqes është si një div i madh, si një shumë më të Rajoni madhe drejtkëndëshe. Pra, histori të gjatë të shkurtër, vetëm duke pasur këto blloqe pak ndërtesës, Aftësia për gjëra model si rectangles, nëse të gjerë ose të ngushtë, ju gjithashtu mund të bërë kolonat potencialisht, ju lejon të nxjerr faqet, me të vërtetë, megjithatë ju do të doja. Ne jemi me të vërtetë vetëm kruarje sipërfaqja këtu. Në të vërtetë, në qoftë se unë bëj një tjetri, më lejoni të shkoj përpara dhe të bëjë stil, background-color, ne do të bëjmë diçka si blu, kuotat e ngushtë. Le Rifresko këtë. Pra, tani ajo po bëhet edhe më e shëmtuar. Por tani unë mund të lloj të tregojnë off P time ngritur pesë aftësitë, e drejtë? Red. Ajo kujton mua e RGB, Red Trefishon gjelbër blu. E pra, ajo rezulton në programimin e web, ose web design, e cila është kjo, ne kemi nuk programuar ende asgjë në vetvete, ju mund të vërtetë ketë kod heksadecimal. Pra, diçka diçka, diçka diçka, diçka diçka. Kështu që ju mund të ketë gjashtë heksadecimal karaktere, ose tre, në disa raste, dhe secili prej këtyre pikëpyetjeve duhet të jetë një hexadecimal digits, zero nëpërmjet f. Nëse unë dua që të ketë një shumë të kuqe, dhe asnjë jeshile, blu dhe jo, çfarë është kundërta e zero kur duke përdorur magji? Është f. Kështu që unë mund të bëj FF, zero zero zero zero, ruani këtë, dhe tani vijnë këtu poshtë. Dhe unë nuk mund të vërtetë shoh një ndryshim. Pra mbyll thonjëzat quote "e kuqe" është me sa duket sinonim për të gjithë të kuqe, jo jeshile, asnjë blu. Ndërkohë, le qëllimisht ndryshojnë kjo të jetë diçka të rastit, si ABCDF. Le të shohim se çka është. Kjo është një blu të vërtetë e bukur, fakt, blu fëmija. Të gjithë të drejtë, kështu që këto janë vetëm tani Kombinime disi të rastit të karaktere. Pra, ne nuk do të merrni bogged poshtë në këtu. Por përsëri, kjo flet për saktësi që ju të mund të fillojnë të zbatohen - edhe në qoftë se ju jeni të tronditur shumë nga estetikë. Në fakt, në qoftë se ju me të vërtetë duan të jenë të impresionuar, më lejoni të shkoj përpara dhe të ndryshojë font size, për shembull. Dhe njoftim pikëpresje, e cila është e nevojshme atje. Font size, ne mund të jetë vetëm qesharake këtu, 96 pikë. Ruaj këtë. Wow, kjo është një madhësi të madhe font. Të gjithë të drejtë, kështu që është shumë e lehtë. Dhe në të vërtetë, ju jeni në thelb duke parë web faqja e parë kam bërë vjet më parë, kur kam parë mësuar këtë stuff. Është shumë e lehtë për të bërë shumë gjërat e shëmtuara dhe shpejt. Dhe në qoftë se ju jeni të njohur me Wayback Machine në archive.org, ju mund të gjeni të gjitha shëmtuar ime web faqet undergrad. Njëri kishte Kermit Frog në frontin. Unë shkova me një fazë, ku kam menduar ajo ishte e ftohtë për të marrë sfondin e një perde të kuqe, kur kam mësuar se si ju Imazhen mund tjegull përsëri, dhe përsëri, dhe përsëri, për të mbushur një faqe me një i madh ngjitës perde të kuqe. Dhe pastaj, në krye të kësaj, ishte një ikonë që keni pasur për të klikoni për të hyrë në shtëpinë time Faqja shkak se ishte shumë në modë. Dhe pastaj programi im i parë që kam shkruar ndonjëherë nuk ishte në PHP, por në një gjuhë të quajtur Pearl, shkroi një libër mysafir, i cili është një gjë me të vërtetë e ftohtë se një Shumë njerëz presin që t'ju të ketë në një faqe në shtëpi. Kur ju të merrni në faqen, ata duan që ju të nënshkruajë në të, dhe të thonë se kush jeni, dhe pse ju jeni atje. Kjo është shumë 1990 style web design. Por këto ditë, me siguri, ne kemi vijnë shumë më larg. Dhe ju do të shihni, në seksionin, dhe madje edhe në problemin vendosur shtatë, nga leveraging biblioteka këto ditë, ajo është aq shumë e lehtë për të bërë gjërat prettier shpejt. Really këtu, ne jemi vetëm kruarje sipërfaqja e asaj që ju mund të bëni stilistikisht. Dhe në fakt, tashmë, më lejoni të theksoj se kjo tashmë është duke u shëmtuar, nuk vetëm estetikisht, por në aspektin nga stili i kodit tim, ose Dizajni i kodit tim. Unë kam comingled aktualisht HTML, i cili është tags gjelbër hapura atje, me Pronat CSS, e cila është krejtësisht legit. Kjo është me të vërtetë ku gjuha kishte origjinën e tij. Por, në interes të projektimit të pastër, shumë si kemi filluar sende factoring nga dosjet në C. dosjeve H, le të mua në fakt praktikojnë këtë lloj të Parimi dhe të fillojnë të bëjnë këtë vend. Më lejoni të vënë një etiketë stil deri këtu, e cila gjithashtu ekziston në HTML, dhe më lejoni të të specifikojë në vijim. Më lejoni të fshini këtë. Ngjyra e sfondit është e do të jetë e kuqe. Unë jam duke shkuar për të fshirë këtë tërësisht. Unë jam duke shkuar për të hequr qafe të stilit atribut, dhe unë jam duke shkuar për unike identifikojnë këtë div me një fjalë - në mënyrë arbitrare, por të arsyeshme, të japin kuotën e mbyll thonjëzat "top". Dhe id është një speciale atribut unike që përcakton një element i caktuar HTML si ka atë id. Nëse unë tani dua të stilizuar atë, deri këtu në kreu i faqes sime, brenda tag stil, njoftim që Unë mund të bëj krye hash. Dhe atëherë unë mund të vënë një çift të kacurrela Formatimin e teksteve, kujton e C, dhe pastaj le mua ngjitur në atë stilizim. Dhe më lejoni të shkoj përpara dhe të parashikojmë këtu ku unë jam duke shkuar me këtë. Më lejoni gjithashtu të krijojë një per te div poshtëm. Më lejoni të rrëmbyer këtë kod shëmtuar nga poshtë këtu, e vënë atë në këtu, dhe unë do të jetë pak më anal dhe tani ajo stilizuar vetëm duke vënë gjërat e tyre më vete line, duke i dhënë fund me pikpresje. Më lejoni të shpëtoj nga tag stil. Por unë nuk jam bërë ende. Unë kam nevojë për të bërë një gjë tjetër. Yeah, id barabartë mbyll thonjëzat citoj, "fund", apo çfarëdo id unë dua të jap atë element. Tani, më lejoni të shkoj përsëri mbi këtu. Dhe kjo është e tmerrshme. Unë nuk mund të merren me 96 pikë. Le të bëjmë 24 pikë. Ose ju mund të jetë më i saktë. Ju mund të përdorni të vërtetë pixels, px, kështu që që ju të vërtetë të marrë grurë finer kontrollin mbi faqen tuaj. Si një mënjanë, që nuk është domosdoshmërisht Gjëja më e mirë në qoftë se përdoruesit, për Arsyet e aksesueshmërisë, duan të të jetë në gjendje për të rritur madhësive. Pra, të kuptojnë se nuk janë mënyra e të bërit gjëra që nuk shprehin domosdoshmërisht çdo gjë e vështirë Kodi. Të gjithë të drejtë, kështu që është më e madhe, 24 pikë, se çdo gjë është paracaktuar. Por tani kjo është një pastruese pak. Dhe më lejoni të merrni këtë një hap më tej. Ashtu si idenë e dosjeve header, vini re ne jemi një hap më afër me atë. Unë kam jashtë faktorizuar, por u largua ende, brenda faqes sime, këtyre rregullave CSS. Pse unë mund të duan të marrin këtë një hap më tej, hiqni kjo krejt, dhe vënë atë në një skedar të veçantë? Kështu që unë mund të ripërdorimin atë, e drejtë? Kjo është vetëm lloj i intuitës tani. Para se, unë pohoi se ajo ishte vetëm marrjen e shëmtuar që ka stilin brenda atributet e divs veten. Por vetëm lloj të mendojnë se përmes. Si faqja juaj merr të gjatë dhe më të gjatë, në qoftë se ju jeni vënë këtu, dhe këtu, dhe këtu, dhe këtu, të gjitha këto të ndryshëm ngjyrat, dhe madhësive font, dhe të tjera të tilla atributet, faqe juaj është shumë shpejt do të bëhet i pakontrollueshëm për ju. Në qoftë se dikush vjen tek ju dhe thotë, oh, ju e dini se çfarë? Unë vërtetë do të doja për të ndryshuar madhësinë e shkronjave nga dy pika të tjera, ju mund të ketë për të shkuar dhe për të gjetur dhe të zëvendësojë një numër i madh i linjave të kodit. Është shumë më bindëse për të përqendroj të gjitha estetikë të tilla këtu. Por në qoftë se ju dëshironi të ripërdorë ato estetikë në faqet e internetit të shumta, të gjitha më tërheqës, per shembull, të krijojë një skedar quajtur me ato përmbajtje. Dhe më lejoni të bëjë këtë. Ruaj këtë skedë. Unë them styles.css, arbitrare, por konvencionale. Unë do të vënë atë në shtëpinë e John Harvardit Direktoria tani për thjeshtësi. Dhe çfarë mund të bëj në web faqen time është të merrni shpëtoj nga tag stil krejt, dhe disi unintuitively, përdorni një lidhje tag, i cili nuk ju jap një lidhje në hyperlink, ndjenja klikueshme, por ku unë them, Lidhje href barabartë styles.css. Dhe marrëdhënia që ky element ka me web faqe është për të shërbyer si fletë stilin e saj. Pra, si nuk e di këtë? Një, ju vetëm lexuar manualin, Google ose ju rreth, dhe ju shikoni në burime të ndryshme. Unë do të thotë, se me të vërtetë është se si ju të vini deri Teknikat si kjo, dhe, në përputhje me këtë idenë e mësimdhënies veten reja gjuhë, përsëri, ju do të gjeni se ka vetëm një numër i caktuar i gjërave për çdo gjuhë që, sapo ju të merrni ata, ju do të gjeni se ai merr më të shpejtë dhe më të shpejtë për të shkruar. Në të vërtetë, për të mësuar një programim të ri Gjuha është aq shumë më shpejt se një i ri gjuha e folur sepse këto gjëra janë shumë më të vogla dhe shumë më tepër përcaktuar saktësisht. Por unë e kam theksuar një grimë i një anomali këtu. Pse kam theksuar këtë plagë përpara këtu? Sepse unë kam për të mbyllur tag. Unë duhet të mbyllë tag. Dhe ju do të gjeni burime të panumërta online që nuk domosdoshmërisht tags ngushta. Dhe realisht, kjo nuk është rreptësisht nevojshme teknike për të dhe nuk janë Arsyet e realitetit, shfletues janë vetëm mjaft tolerante e gabimeve në web faqet, për mirë apo për keq, por më së shumti më keq. Pra, kjo këtu është vetëm një mënyrë e pastër duke thënë diçka të trashë si kjo, ku në qoftë se ju doni të hapur tag Lidhje por mbyllni atë, vërtetë nuk ka asnjë nocion e përmbajtjes për një tag link. Ajo thjesht do të thotë kjo ngarkesës paraqesë dhe e vënë atë këtu. Është si të përfshijnë të mprehtë në C. Ju mund të të hapur dhe të mbyllur një tag të gjitha përnjëherë brenda markuesit të njëjtë. Dhe ka shembuj të tjerë të kësaj. Kjo nuk është mënyrë për të bërë këtë, por tag br, për pushimet e linjës, në qoftë se unë me të vërtetë të kërkuar për të arritur atë që unë kam qenë duke u përpjekur për të para se duke e goditur Enter, nëse Unë them në mënyrë eksplicite pushim linjë, pushim linjë, pushim linjë, pushim line, dhe pastaj rifreskoni këtë faqe, ju tani do të vëreni se poshtme të faqes eshte, me të vërtetë, shumë më larg në poshtë poshtme të faqes. Por edhe që mund të bëhet shumë më tepër pastër me CSS, dhe me margjina, dhe me estetike të tjera të tilla teknika. Kështu që tani për tani, janë takeaways këtë. Në HTML, ne kemi këto gjërat quhet tags. Në CSS, ne kemi këto gjëra quajtur pronat. Ne mund të comingle këto dy gjuhë, ose duke përdorur atribut stil, ose tag stil, ose më mirë akoma, factoring it out krejt, siç bëjmë ne në problem të caktuar 7. Pyetjet, atëherë, rreth bazat konceptuale këtu? Audienca: Unë kam një pyetje. Kryetari 1: Oh, sorry. Audienca: Pse nuk ishte me ngjyrë - FOLËSI 1: Oh, ne tab tjetër? Kjo këtu? Audienca: Jo, kjo është si - Kryetari 1: Oh, kjo është për shkak se Unë kam qenë duke u spërkatur. I vënë dosjen në vendin e gabuar. Pra, nëse unë në fakt e vënë atë këtu, dhe unë chmod ajo, të gjitha r + për styles.css, dhe tani ringarkoni faqe, tani ne merrni stilizim mbrapa. Dhe për shkak se janë të madhësive font ndryshe, ne nuk e shohim mjaft sa më shumë hapësirë ​​të bardhë. Ne në vend të parë se çfarë është default është në vend. Mirë pyetje. Po? Audienca: Pse është lidhja tag brenda në kokë? Kryetari 1: Pse është lidhjet brendësi etiketë e kokë - Përgjigja e shkurtër, vetëm për shkak se. Kjo është ajo që u vendos. Kjo është ku tags Lidhje të shkuar, kur ju keni atë që e quajti një fletë të jashtëm stil. Pyetje të tjera? Të gjithë të drejtë, dhe le ta bëjmë këtë. Ne të argëtohen aq shumë përpara nesh sot. Kjo është vetëm kruarje sipërfaqen e CSS. Le ta bëjmë këtë. Le të marrin një pushim pesë minuta këtu sepse, per email-it tim, le të ul receptorin e telefonit në aty deri 02:30-ish sot. Por në qoftë se ju keni për të largohen, kjo është në rregull. Por ne do të ecur përpara pas një pushim pesë minuta. Dhe ne do të mësoni diçka të vogël rreth PHP, MySQL, dhe më shumë. Të gjithë të drejtë, kështu që le të përpiqet, tani, të lidhin një disa prej këtyre ideve së bashku dhe të bëjë, thonë, vetë motor tonë të kërkimit. Kam vënë re, në vend interesant, në vijim. Kur ju jeni në Google.com, ju jeni në mënyrë tipike në një URL si ky këtu me asgjë pas dot com. Por në qoftë se unë të kërkuar diçka të trashë si macet, dhe hit Enter, ne do të merrni - nuk stupid, por ju e dini. OK, kështu që të vini re, në krye të faqes, tani, URL është, natyrisht, të ndryshuar. Dhe kjo nuk është asgjë ri tek ndonjë nga ne. Ju klikoni lidhjet dhe sende ndodh në web. Por ajo që është interesante këtu eshte vijim. Ka një tërësi shumë rrëmujë, por le mua flak gjëra që unë nuk kuptojnë mjaft ose nuk vërtetë duken relevante. Më lejoni të shpëtoj nga kjo. Më lejoni të shpëtoj nga kjo. Dhe më lejoni të vetëm të shpëtoj i gjithë kësaj. Dhe tani vini re se macet është në URL, pasuar me një q, atëherë një të barabartë të regjistroheni në frontin e tij. Pra, ajo rezulton nga kjo është se si Mënyra se si funksionon kur vjen puna për input dhe output. Ne kemi folur gjatë rreth Kutitë e zeza, e drejtë? Pra, në qoftë se kjo është një funksion zbatohet këtu si një kuti e zezë, ajo merr të dhëna dhe prodhon prodhimit, të mirë, do të thotë nga të cilat ju japin të dhëna për një website është nga rruga, shpesh, i URLs saj. Ju thjesht vënë një pikëpyetje dhe pastaj një çelës është e barabartë me vlerën. Dhe pastaj ndoshta një simbol, dhe pastaj një tjetër kyç është e barabartë me vlerën, atëherë ndoshta një tjetër simbol, kyç është e barabartë me vlerën. Kjo është se si ju të kalojë në çelësat dhe vlerat, palë e inputeve. Pra, nëse unë hit Enter tani, çfarë është interesante në lidhje me Google është se të gjithë rrëmujë që unë fshihet nuk duket të jetë e domosdoshme. Të gjitha Unë kam nevojë për të dërguar tek Google është pyetja Mark q barabartë me macet për të marrë mbrapa disa macet. E pra, implikimi i që, atëherë, është në qoftë se unë të tërheqë deri Gedit, unë kam filluar bërë vetë motorin e mia Kërko këtu në një skedar të quajtur seach0.html. Dhe më lejoni të shkoj përpara dhe të fshini një linjë më shumë se ju nuk ishin menduar për të parë. Dhe tani, më lejoni të shkoj në shfletuesin tim vet, kështu që mos të Google, dhe të shkojnë në http://localhost. Dhe kjo po ndodh që të merrni në rrugën. Pra, ne jemi duke shkuar për të kanë për të thënë lamtumirë se tani për tani, kjo lëvizin gjatë këtu, oh, tani ne jemi duke shkuar për të duhet të thonë lamtumirë për këtë dosje. Kurdo që të keni një skedar të quajtur index.html ose index.php në një directory, nëse serveri web është konfiguruar në këtë mënyrë, ajo që ju do shihni, by default, është përmbajtja e që fotografinë më tepër se një listë e directory, siç kam kërkuar këtu. Më shumë për këtë në spekulim. Ju nuk e shihni se. Pra, kjo është ajo që unë në fakt donin. Por një moment më parë, ka pasur një fotografi në këtë dosje të quajtur dhe index.php index.html. Dhe kështu ishte e web server treguar mua ato fotografi. Në vend të kësaj, unë dua këtë direktorium renditur këtu. Kështu që unë jam duke shkuar për të shkuar në CSS dhe të shkojnë në search0. Dhe unë pretendojnë se kjo është e do të jetë fillimi i konkurrues mi search engine. Dhe për të bërë këtë, unë jam duke shkuar për të shkuar në këtu, në CSS, dhe e hapur deri me gedit, kërko 0. Por për fat të keq, nuk ka nuk do më shumë këtu. Të gjitha që bëra ishte të përdorni një tag shkon, e cila ndodh të quhet H1, e cila thelb do të thotë i madh dhe guximshme, dhe kjo është ajo. Por mjetet me të cilat ne mund sigurojnë inputet janë nëpërmjet këtyre gjërat quhet forma. Pra më lejoni të shkoj përpara dhe të hapur dhe të mbyllur, preemptively, një formë tag atje. Dhe më lejoni të shkoj përpara dhe të bëjë diçka si kjo. , Input Lloji i barabartë me tekstin. Dhe pastaj le të mbyllë brenda tag kllapa vetë. Unë nuk kam nevojë për të filluar një fushë teksti dhe të ndaluar një fushë teksti. Është vetëm do të jetë atje apo jo. Dhe pastaj më poshtë se, le të bëjë input type barabartë paraqesë. Ruaj këtë. Dhe tani le të vetëm të bëjë një kontrolloni mendje e shëndoshë të shpejtë. Le të reload. OK, kështu që nuk është e keqe. Kjo nuk është stili i Google-it, por kjo është goxha e ngushtë. Ka një fushë teksti. Unë mund të shkruani disa sende në, hit Enter, por asgjë nuk ndodh ende. Dhe kjo është për shkak se unë nuk kam specifikuar një veprim për këtë formë, mënyrë që të flasin. Pra, nëse unë kthehem në element formë, ajo rezulton jashtë, dhe unë e di këtë vetëm nga të paturit të lexuar dokumentacionin, që tag formë merr një atribut quajtur veprim që është URL e faqes së internetit në të cilën ju dëshironi të dërgoni formularin. Unë vërtetë nuk mendoj se ne kemi kohë për të zbatojë fundin e tërë prapa për një kërkoni sot engine. Pra, ne jemi vetëm do të thotë, eh, shkoni tek google.com / kërkimit. Dhe tani më lejoni ta mbyll kuotat mia. Dhe më lejoni të specifikojnë më tej se metodë për të përdorur është duke shkuar që do të quhet merrni. Long histori e shkurtër, nuk ka dy mënyra, në paktën, që ju mund të paraqesë informacion nga shfletuesi në server. Njëra është të merrni, dhe, për qëllime të sotme, që thjesht nënkupton ne URL. Ju shikoni saktësisht shënon fjalë, është e barabartë me shenja dhe ampersands se e pamë më herët. Ose ka një alternativë të quajtur pas. Tani për tani, e di se post është përdorur shpesh kur ju doni të ngarkoni fotografi, si imazhe dhe kështu me radhë, ose kur ju doni të paraqesë kartë krediti informacion, ose Fjalëkalimet, çdo gjë që nuk bën të vërtetë të bëjë kuptim, konceptualisht, ose siguria e mençur, për t'i dhënë fund deri në URL e Shfletuesi juaj, ku prindërit snooping, apo roommates, apo dikush me qasje në kompjuterin tuaj mund të shohin. Pra, le të shpëtojë atë këtu. Dhe unë duhet të bëjë një gjë tjetër. Kjo nuk do të mjaftojë vetëm për të thonë se më jepni një fushë teksti. Unë kam për të dhënë atë fushë të vlerësojmë një emër. Pra më lejoni të marrë hua zgjedhjen e Google-it emrat, q, dhe të përcaktojë që të dytë atribuojnë Unë nuk të vërtetë kujdeset për emri i butonin Paraqit. Të gjitha unë intereson dorëzon Çfarë përdoruesi lloje in Dhe tani kjo është lloj i shëmtuar. Ai vetëm i thotë paraqesë. Ajo rezulton, dhe unë e di këtë nga Dokumentacioni, unë në fakt mund të them Vlera e barabartë mbyll thonjëzat citat "CS50 seach, "quote ngushtë. Pastaj le të reload herë. Kështu që unë mbaj goditur Command-R, apo Kontrolli-R në tastierën time për të ringarkoni. Tani ne kemi një më interesante search engine. Ajo nuk duket si mjaft Google ende, edhe pse. Pra, le të shkojë përpara në këtu dhe të bëjë një pushim të vogël line. OK, kështu që tani që ne kemi Google. Ne fakt pothuajse nuk kanë Google. Kështu që tani se çfarë do të ndodhë? Unë jam duke shkuar për në diçka shkruani si macet. Dhe shfletuesi do të bëj analizë gramatikore se forma që kam përcaktuar. Dhe kjo po ndodh që të dërgoni përdoruesit për atë URL. Pra këtë kohë, për disa arsye kurioz, Kam marrë më shumë informacion në lidhje me rezervat se në lidhje me macet aktuale. Por kjo është në rregull, sepse ne ende njoftim përfundoi deri këtu, q barabartë me macet. Pra histori të gjatë të shkurtër, ajo duket mjaft parëndësishëm për të marrë të dhëna nga përdoruesi. Dhe të jetë e drejtë, nuk ka bunches e llojeve të tjera të fushave formë. Ka kuti kontrolloni, dhe pak reciprokisht ekskluzive butonat e radios, dhe drop down menu, dhe më shumë. Por të gjithë atyre që janë relativisht të zbatohet lehtë si kjo fushë teksti ishte. Dhe në fund të fundit, ne vetëm duhet të bëni i sigurt se dikush është duke dëgjuar në tjetrin fund të rreshtit në mënyrë që të merrni atë Informacioni i përpunuar, disi, dhe na japë përsëri macet tona. Le të shikojmë në një pak më shumë të përfshira shembull. Më lejoni të shkoj në directory Vhost tim, në host lokale, publike, dhe ku unë vënë kodin burimor të sotëm. E gjithë kjo do të jetë në kurs të faqen e internetit për ju për të kallajxhi me. Dhe kur të shkoj në froshims, më lejoni të hapur deri tani këtij file, froshim0.php. Ky është një fjalëshumë pak më shumë, kështu që ne nuk do të shkruaj këtë nga zeroja. Por vetëm tani një njoftim disi pak Karakteristikat e njohur. Një, tag formë, veprim ndryshe. Kjo nuk është një URL të plotë. Tani, kjo është me sa duket për skedar të quajtur register0.php sepse, në një moment, Unë jam duke shkuar për të mësuar pakëz diçka në lidhje me PHP, një programimit gjuha, sepse PHP mund të përdoret për të të zbatojë atë që Google zbatohet si Fundi i kthyer motorët e tyre të kërkimit. Google, në realitet, ndoshta përdor disa Python, disa C + +, dhe bunches e gjuhëve të tjera. Por ne me siguri mund të zbatojë kërkim rezultatet duke përdorur PHP, nëse kemi dashur. Por tani për tani, ne do të mbani atë të thjeshtë. Dhe kjo është në fakt të kujton një nga faqet e internetit të tjera shumë të parë kam bërë vite më parë. Kthehu në ditën time, jeni i regjistruar për sport i brendshëm si një studente nga plotësojë një copë letër, duke ecur nëpër oborr, dhe atë në rënie mailbox i nje Proctor në Wigglesworth, dhe se ishte si ju regjistruar. Dhe kështu projekti im menjëherë pas CS50, ishte për të vënë këtë, gjë që e bën të përsosur kuptim, onto web, e cila nuk ishte e si në modë atëherë si është tani. Por të gjithë ne kishte të bënte ishte të krijojë, në thelb, një formë HTML. Dhe kjo formë e shikoi afërsisht si kjo. Kam pasur një kontribut për Emri fillestar s. Unë kisha një tjetër kutin për të nëse janë apo apo jo ata dëshironin të jenë kapiten, çfarë gjinore tyre ishte, dhe çfarë fjetore tyre ishte. Dhe atëherë unë kodifikua e vështirë në gjëra të si Apley Gjykatës, dhe Canaday, Grays, dhe kështu me radhë. Pra, përsëri, tags reja. Nuk e kanë parë këto para, e re atribute, por mjaft të arritshme. Pasi ju e shihni një shembull, ju mund të lloj të marrë hua këtë ide dhe të bëjë një rënie down menu për ndonjë gjë më të madhe. Por ajo që është kryesore është se secili prej këto gjëra kanë emra. Dhe në fund të kësaj forme, nuk ka një buton submit cilit etiketë, ose vlera, është regjistri. Pra, le të shkojnë në këtë faqe. Më lejoni të kthehem në listë directory. Më lejoni të shkoj në froshims, dhe të shkojnë në froshim0.php. Pra, kjo është e shëmtuar, të jetë e drejtë. Kështu që unë mund të patjetër të stilizoj kjo me disa CSS, unë mund të bëjë disa graphics, ndoshta shtoni disa ngjyra, dhe e bëjnë këtë prettier. Por funksionalisht, unë do të argumentojnë se kjo është në të vërtetë mjaft të plotë. Për fat të keq, kur unë plotësoni këtë jashtë, David, Kapiten, Mashkullore, ne do të zgjidhni, le të themi Matthews, Regjistrohu, gjithçka që ndodh është kjo. Por vini re një çift të takeaways. Njëra, ajo u kthye ata fotografinë Rezultatet, me sa duket? Pra, kjo është, me të vërtetë, register0.php. Kështu që fakti që ne pamë atë veprim Vlera e një moment më parë për register0, kjo konfirmon që ne me të vërtetë përfundoi deri në atë dosje të veçantë. Tani kjo është vetëm tekst shëmtuar. Por vini re se ky tekst është vijnë nga strehuesit lokal, cila eshte nga aparatit. Mendo e aparatit tani si vetëm një web server që mund të jetë në Shkenca Center. Kjo mund të jetë në web aktuale. Pra, kjo është e arritshme publikisht. Pra, në mënyrë të qartë, ka disa mënyra e kalimit formojnë inputeve në terren në një server kështu që ajo mund të bëjë diçka me ta. Për fat të keq, register0 është shumë budalla. E gjithë kjo nuk është shtypur nga një rrjet që duket si kjo. Dhe kjo nuk është një koleksion në Ndjenja që ne e dimë atë. Rezulton se PHP, dhe një shumë të gjuhë, kanë jo vetëm numerikisht vargjeve indeksuara parë i të cilit indeksi është zero, atëherë një, pastaj dy, pastaj dot, dot, dot, n minus 1. Kjo është ajo që quhet një array asociativ. Nje grup shoqerues është një në të cilin ju mund të ruajë çiftet kyç vlera ku çelësi nuk është domosdoshmërisht një numër. Kjo mund të jetë në fakt një varg, një fjalë. Dhe kështu që kjo mund të zbatohet, nën kapuç, ajo rezulton, duke përdorur një strukturë të dhënave njohur si një? Mendim diçka dramatike ishte gati të ndodhë - tabelë hash. Pra, një tabelë hash, risjell, ata prej jush kush e bëri atë për të vendosur P 6, ose kujtojnë edhe ajo, të paktën edhe në qoftë se ju e bëri një përpjekje, një tabelë hash, në përdorimin tonë, është përdorur për të vetëm dyqan fjalë. Por me të vërtetë, ju jeni ruajtjen çelësat dhe vlerat. Nëse keni zbatuar një tabelë hash për P vendosur 6 fjalor, çelësat ishin fjalët e vetë, dhe vlerat efektivisht ishin të vërteta apo të rreme. Po, këtu, ose implicite, jo jo, këtu. E pra, ne mund të përgjithësojmë këtë ide. Dhe ne mund të përdorni një shumë të dhëna të ngjashme struktura për të ruajtur jo string në vetvete vetëm në tryezën tuaj të hash, por mendoj se në çdo një prej hash tuaj Tabela e nyjet. Dhe ju mund të bëni edhe këtë në një përpjekje në vend se të ketë vetëm një bool. Ju mund të keni diçka tjetër. Çka nëse nuk ka qenë çelësi Maxwell, për , por i shkallës quote mbyll thonjëzat "emri", ose citoj "Kapiten." mbyll thonjëzat Dhe brenda Struktura C të dhënat tuaja, ju vënë një vlera, jo vetëm një Boolean, por me vlerë të si kuotë mbyll thonjëzat "David", ose "M", ose "Matthews," dhe kështu me radhë. Kështu që ato struktura të njëjta të të dhënave që ne të përdorura me sa duket ekzistojnë në gjuhë të tjera. Dhe unë do të argumentojnë se ata janë në të vërtetë shumë, shumë më e thjeshtë për të hyrë ketu. Le të në fakt të marrë një sy tani në një sintaksë të tillë. Unë jam duke shkuar për të shkuar në një directory PHP. Dhe unë jam duke shkuar për të hapur një të mirë version i Hello-0 nga më parë. Vini re se të gjitha që bëra ishte shtoni disa komente. Pra, ne mund të shpëtoj atë çmenduri. Dhe ky program bën vërtet printime përshëndetje, sepse unë kam specifikuar në mes tags që unë dua për të ekzekutuar atë kod. Tani, ne do të shohim në një moment pse kjo është e dobishme. Por le të hapur një shembull tjetër këtu. Më lejoni të shkojnë përpara dhe të hapur deri thonë, gedit i kushteve të një. Kjo është rruga prapa në kohë tani. Por javë më parë, unë mendoj se, në një javë apo dy javë, kemi pasur një shembull të quajtur conditions1.c. Dhe kam vendosur për të reimplement atë në PHP, vetëm për lloj të theksojmë se PHP, sintaksore, është pothuajse identike me C. Kjo nuk është një hap i madh nga java e fundit për këtë. Vini re se në krye të këtij programi, i cili fillon, si më parë, me disa komente, të cilat unë do të shpëtoj i si një çmenduri. Vini re se unë jam në PHP Mënyra në këtë skedë. Pra këtë kod ne do të shohim, do të merrni ekzekutohet. Vini re se nuk ka linja leximi, cila eshte ndoshta analog në PHP e getString. Vini re se kjo është pak më ndryshe. Ju në fakt specifikoni një të shpejtë për të funksion të quajtur linjë lexuar, dhe kjo është çfarë sheh përdoruesi. Pra, ju nuk keni për të printf dorë. Por kjo nuk është një punë e madhe. Unë jam duke shkuar për të ruajtur, brenda $ n, kthejë vlerën e kësaj, kështu që çdo gjë lloje përdorues është në int tyre. Dhe këtu është një tjetër kuriozitet. Ajo rezulton, në PHP, çdo ndryshore vetëm duhet të jetë prefixed me shenjë të dollarit. Kjo është pak i bezdisshëm. Por unë nuk njoftim se çfarë kanë bërë në PHP. Çfarë është zhdukur nga ana e majtë anë e barabartë me shenjë? Asnjë përmendje e tipit. Pra, kjo është e ndryshme nga C. Për mirë ose per keq, PHP eshte nje lirshëm gjuha e shtypur. Ai e bën të ketë numra. Ajo ka strings. Ai e bën të ketë Booleans. Dhe kjo e bën të ketë disa të dhëna të tjera lloje. Por ju, programues, zakonisht nuk keni për t'u kujdesur për to. Kokë e kësaj është se ai e bën atë një pak më e lehtë për të programit. Ju mund të mendoni pak më pak. The downside është ajo gjithashtu hap ju deri në mete e mundshme në qoftë se ju aksidentalisht trajtuar një numër si një varg, një varg si një numër, potencialisht, por edhe atëherë, PHP, dhe një shumë prej gjuhëve, janë mjaft tolerante. Ata do të përdorin atë që quhet hedh nënkuptuar. Dhe në qoftë se ju provoni të përdorni n në kontekstin i një situate numerike, ajo do të kthyer atë këtu do të jetë një string, sepse në qoftë se përdoruesi lloje diçka në të, dhe ju të merrni rezultatin, si me linja leximi, ose të merrni varg, se do të kthehet një varg. Por njoftim, nja dy rreshta më vonë, unë kontrolloni nëse n është më i madh se zero. Pra, PHP është duke shkuar për të hedhur implicite mia "String" 123, ose çfarëdo përdorues lloje në, në një int. Pra me pak fjalë, stuff vetëm punon shumë më tepër intuitive. Pra, ne tani të fillojë për t'u çlodhur një pakice prej gjërat që ne kemi bërë në të kaluarën. Një shumë kjo stuff është njëjtë, edhe pse. Ende kanë barabartë barabartë. Si një mënjanë PHP gjithashtu është e barabartë barabartë barabartë, por më shumë në atë, ndoshta, në ardhmja. Kjo ishte një. Typo por dy barabartë me shenja do të thotë të njëjtën gjë si më parë, për krahasim. printf do të thotë të njëjtën gjë si më parë. Backslash n do të thotë të njëjtën gjë si më parë. Pra, si mund unë të drejtuar këtë program? E pra, si më parë, në qoftë se unë bëj PHP, , conditions1.php dhe lloji në një numër si 123. Kjo është një numër pozitiv. Nëse unë të shkruani në 0, unë marr 0. Dhe në qoftë se unë të shkruani në numrin 123 negative, unë të marrë mbështesin një numër negativ, e cila është vetëm për të thënë, sintaksore, PHP është super, super të ngjashme. Pra, pse është kjo e dobishme tani në një kontekst web? E pra, le të kthehemi tek kjo froshims shembull, i cili dukej, përsëri, si kjo këtu. Dhe le të vërtetë tërheq lart web faqe përsëri, e cila dukej si kjo. Çfarë mund të bëjmë me të dhënave që është dorëzuar? E pra, më lejoni të hapur një më të reja version i kësaj. Dhe ju do të shihni se problemi grupe specifikim ju ecën me anë të një pakice prej tyre. Në vend se të filloni me zero, le të shohim në froshims3, e cila e bën pak më shumë. Njoftim të parë, në të vërtetë, le të hapur atë që ishte 0, kështu që ju shihni Regjistri 0 çfarë ishte. Vini re çfarë bëri Regjistri 0. Një, Kam komentet në krye. Fshini ato dhe të përqëndrohet vetëm në këtë. Më të përmbajtjes së register0.php janë, padyshim, çfarë gjuhe? Vetëm PHP papërpunuara. Pra njoftimi, ky skedar nuk fillon me, në, kllapa moment të hapur, Pyetja e Mark, PHP. PHP nuk ju lejojnë të përzihem Kodi PHP me HTML tags. Por unë kam bërë që këtu brenda i-faqe mbi ketu. Tani, përsëri, ju do të vetëm e di këtë nga Duke shikuar në të manualit. print_r, ajo rezulton, është print_recursive. _recursive Dhe kjo është vetëm një i dobishëm funksion të shërbimeve që vetëm printon jashtë, Recursively, çdo gjë që ju dorëzojë atë. Nëse ju dorëzojë atë një koleksion, ajo do të shtypura një rrjet. Nëse keni anë një numër, ajo do të shtypura një numër. Anë një varg, ajo do të printoni një varg. Nëse keni anë një tabelë hash, ajo do të shtypura nga një tabelë hash. Ju nuk keni për të shkruar të gjitha e atij kodi veten. Tani vëreni se unë jam duke hyrë në Mënyra PHP mbi këtu. Unë jam daljes mënyrën PHP mbi këtu. Pra, kur web server lexon këtë fotografi fund e krye, e majta në të djathtë, sepse ajo përfundon në një filename quajtur. php, çdo gjë që nuk është brenda e etiketave PHP është vetëm do të jetë fol jashtë, si HTML papërpunuara. Nuk ka punë e madhe. Por, sa më shpejt që web server njoftimeve këtë, ajo do të them, unë nuk duhet të nxjerr nga goja, fjalë për fjalë, e print_r post. Unë duhet të ekzekutojë në vijim linjë e kodit. Pra, pyetjen e fundit, atëherë, për këtë skedë është, mirë, çfarë dreq është kjo? Merrni një guess. Çfarë është $ _POST, ndoshta? Audienca: [padëgjueshme] Kryetari 1: Po, të dhënat postuar. Recall, le të shkoni përsëri në koha për një moment të vetëm. froshim0, përsëri, dukej si kjo. Një shumicë super e kjo është vetëm HTML. Përsëri, disa tags ju nuk keni shihet akoma, ose me të cilin ju jeni tashmë të njohur. Por gjëja më interesante ishte kjo. Kjo linjë është ajo që me të vërtetë i lidh ajo për dosjen tonë register0.php. Unë jam dorëzimin me postë metodë. Dhe kjo do të thotë se parametrat lloje përdorues në nuk janë do të përfundojë deri ku. Ata nuk do të jeni të shfaqen në URL. Ata janë ende duke shkuar për të dërguar nga klienti, nga shfletuesi, te server, por vetëm me anë të disa të tjera mekanizëm që ne do të heqin dorë nga duart tona në për sot, por kjo nuk është në URL. Por njoftim marrëdhënien tani me mesazhin, e cila, duke konventë, eshte me të vogla këtu. Por, nëse unë i hapur deri register0.php, Unë jam me sa duket kjo shtypje. Pra, kjo është një lloj i çuditshëm emërtimin konventë. Por ajo që është e bukur në PHP është se kur duke përdorur PHP në një kontekst të internetit, jo në një command line si unë e bëri një moment më parë, kur ju jeni në të vërtetë duke e përdorur atë në një web faqe në një directory Vhost siç jemi ne, automatikisht do të plotësoni këtë PHP gjë, e cila eshte nje grup shoqerues, kështu që të flasin, një tabelë hash, me gjithçka përdoruesit typed in Në të shkurtër, $ _POST në të gjitha shkronja kapitale është një ndryshore globale që sapo PHP mënyrë magjike krijon për ju kur duke përdorur PHP në një kontekst web. Dhe kjo e vë në brendësi të saj të gjithë emrat e parametrave në formën që edhe u dërgua tek kjo skedë dhe të gjithë vlerat që përdoruesi typed in Pra, kjo duart për ju atë përdorues për të shtypur në atë formë. Pra, para se, kemi marrë dalje të vërtetë budalla i vetëm duke parë këtë, sepse të gjithë unë e bëri u Recursively printoni këtë koleksion. Çelësi është emri, vlera është David. Çelësi është kapiteni. Vlera është më. Dhe shigjetë të dyfishtë dhe kënd kllapa atje, kjo është vetëm arbitrare. Kjo nuk është kodi. Kjo është vetëm mënyrë PHP për të treguar ju çfarë vlera e disa kyç është. Por tani më lejoni të propozoj që në froshIMs3, kjo është pothuajse identike përveç se dorëzon tek kjo skedë. Dhe përsëri, ne jemi duke shkuar për lloj të vetëm shikim në këtë, vetëm për të parë disa sintaksë, por njoftim se çfarë e bën këtë fotografi. Merrni një guess bazuar vetëm në linjat e Kodi, të cilat ndoshta do të duken si Greke, në një farë mase, është me sa duket duke bërë. Kjo skedë është e lidhur disi në postë, e-mail. Pra, çfarë është ky program duke bërë? Në këtë version, në qoftë se unë ishin në fakt të plotësoni këtë formular - dhe më lejoni të shkoj në froshIMs3 jo, froshIMs0 - forma duket e njëjtë. David, kapiten, mashkull, fjetore, Matthews. Por në qoftë se unë të paraqesë këtë, kjo fotografi është duke shkuar për të shkuar në register3.php. Dhe unë pretendojnë, duke kërkuar në është kodi burim, ajo do të disi përfshijnë email. Më lejoni të shkojnë përpara dhe të hapur këtë deri në një dritare të madhe, kështu që ne mund ta shohin atë më të pastër. Ne jemi në Vhosts host, lokale, publik, froshims. Unë jam duke shkuar për të hapur një tjetër Programi, vetëm kështu ne mund të shikoni më shumë në një herë. Deri tani këtu, vini re disa gjëra. Në krye të file është i hapur parantezë, pyetja shënojë, PHP. Pastaj ka një bandë e komente, të cilat ne mund të injorojë, është jointeresant tani për tani. Tani ka kjo. Kjo rezulton nga PHP ka një shumë e kodit të quajtur kërkojnë. Kjo është shumë e ngjashme në frymë të C- përfshijnë, përfshijnë hash, i cili thelb grabs përmbajtjen e disa fotografi të tjera dhe vetëm plops ata këtu, kështu që ju mund t'i përdorë ato. Në këtë rast, ka aplikim, para-instaluar, një bibliotekë, e lirë dhe Biblioteka burim të hapur i quajtur PHP Mailer që çdokush mund të shkarkoni nga interneti. Ne vetëm e bëri atë për ju. Dhe kjo do të thotë unë tani kam email Funksionalitetin në dispozicionin tim. Tani, vini re disa gjëra. Unë jam duke shkuar për të vërtetuar Formulari i dorëzimit s. Rezulton PHP, një, ka Exclamation pikë për operatorin, jo vetëm si C. Por PHP gjithashtu ka një funksion quajtur bosh. Empty vetëm Jep true nëse vlera e të gjë që ju dorëzojë atë në kllapat është bosh, si përdoruesi nuk ka asgjë të tipit in Pra, kjo është thënë, dhe njoftim Sintaksa, shumë të kujton C, nëse çelësi Emri, kështu fusha Emri ne formen, e cila është dorëzuar me postë, nga përdoruesit, nuk është që të zbrazët, dhe të tyre panjohur nuk eshte bosh në formën siç mirë, dhe fjetore e tyre nuk është i zbrazët - njoftim, por unë nuk e kujdesit në lidhje me kapiten, atëherë çfarë jemi duke shkuar për të bërë? Unë jam duke shkuar për të ekzekutuar kjo linjë e kodit. Dhe ju mund të mendoni për këtë lloj të si malloc, por kjo është pak njohës shumë se kaq. Por tani për tani kjo më jep një të veçantë përpilohet e tipit PHP mailer. Por injorojnë fjalen e re për sot. Tani unë jam duke shkuar për të thirrur një funksion të quajtur IsSMTP, i cili thotë se, përdorni SMTP. Kjo është port 25, ashtu si video javën e kaluar, kur gjëja u hedhur email në firewall. Porti 25 është SMTP. SMTP do të thotë të përdorni mail server. Cili e, ne mund të përdorni të Harvardit SMTP.fas.harvard.edu. Ne mund të vënë nga adresa të jetë John Harvard. Nëse unë lëvizni poshtë më tej, unë mund të vënë Adresa e pranuesit, vetëm në mënyrë arbitrare, të jetë e John Harvard si. Pra, ai do të jetë emailing veten. Tani unë mund të vënë këtë temë të jenë regjistrimi. Dhe unë mund të vënë trupin e-mail si më poshtë. Kjo linjë duket pak më e fshehtë, por kjo është vetëm për shkak se nuk ka shumë e informacionit në të. Një, ka një operator dot. Dikush duhet të dini tashmë se çfarë operatori bën dot. Është varg. Pra, nëse ju doni të marrë një varg në PHP, dhe append atë, ose prepend atë, për të tjetër string në PHP, ju falënderoj Perëndinë nuk duhet të përdorin strcopy dhe malloc, dhe e gjitha kjo më. Nëse ju doni të lidh dy vargjet, kush kujdeset për kujtesën. Le PHP shifër që për ju. PHP Çfarë do të bëjë me operatorin dot këtu është vetëm të bëjë një dënim të madh jashtë i kësaj linje, kjo linjë, kjo linjë, kjo linjë. Dhe tani njoftimi, ajo do për t'u mbylljen në vlerat. Pra email që John Harvard po ndodh për të marrë është fjalë për fjalë do të thonë , emri i zorrës së trashë, diçka që, në vend, atëherë ne mbyllni të vargut dhe lidh mbi çfarëdo përdoruesi typed në, pastaj një linjë e re. Pastaj, në linjën e ardhshëm të John Harvardit mail, ajo do të thonë Kapiten, Me ose asgjë. Ajo do të them gjininë, mashkull apo femër. Fjetore do të jetë Matthews në rastin tim. Dhe pastaj njoftim pikëpresje njohur në fund. Dhe pastaj, këtu poshtë, njoftim, disi fshehtë ende, por përsëri, pas një model që do të bëhen më të njohur pas vendosur P 7, në qoftë se duke dërguar postën kthimit të rreme, pastaj të shkojnë përpara dhe të vdesin. Pra PHP ka një funksion të quajtur vdesin, të cilat, fjalë për fjalë, vetëm vret website dhe vetëm printime nga çfarëdo ju tregoni atë - e saj është duke vdekur fjalë, kështu që të flasin. Dhe kjo, në këtë rast, ajo do të shtypura se çfarë gabimi është për info çdo gjë që ka ndodhur të shkojnë keq. Pra, histori të gjatë të shkurtër këtu, çfarë kemi është një shembull ku kur përdoruesi dorëzon formularin, froshim0, froshims3.php, ajo shkon në register3.php. Por register3.php pastaj vazhdon për të ekzekutuar të gjitha këto linja. Pra, ka një aways Pak të marrë këtu. Njëri, me sa duket kjo është mjaft e lehtë, programuar, për të dërguar email, cila është e mirë. Kur përdoruesit të regjistroheni për faqen tuaj, në Në këtë rast, kur ata të regjistroheni për tuaja sport, ju mund email studente Proctor, apo John Harvard, në këtë rast. Por kjo gjithashtu do të thotë që ju mund të bëni çfarë? Dërgo email nga dikush për të gjithë. Dhe kjo është shumë e vërtetë. Kjo nuk është aq e lehtë të bëhet nëse ju jeni duke përdorur për të përdorur Gmail. Por në qoftë se ju keni përdorur ndonjëherë Eudora apo Outlook, ju mund të pretty much thoni një mail server që ju jeni dikush që ju dëshironi. Dhe ky është vendi ku unë duhet të vënë në se kapelë dhe thonë, nuk e bëjmë këtë. Por kjo është testament për të vetëm se sa e lehtë ajo është për të kryer sulme phishing, dhe dërgoni email anonim, dhe Spam, më në përgjithësi. Dhe me të vërtetë boils down Fakti që të gjithë ju duhet është disa qasje programatike. Si një mënjanë takimit tim, më të afërt me bordi ad, vit mi studente, ishte kur zbulova këtë cool që gënjejnë, wow, ju mund të dërgoni email nga askush. Dhe kështu që ne ishin të paturit e disa budallaqe Argumenti, fjalë për fjalë, në Matthews, në mesin e grupit tim Proctor. Edhe unë nuk e mbani mend çfarë ishte çështja. Por kam kërkuar që të përpiqen për të vënë një fund të këtij debati stupid. Kështu që unë vendosa që unë thjesht do të dërgoni një email në grupin tim Proctor, duke pretenduar të jetë djalë tjetër, me mendimin e te cilit I nuk u pajtua, dhe e kanë atë të pranojë në heshtje çfarëdo mendimi im ishte në ky debat veçanti. Dhe kështu unë kam trilluar kete email duke përdorur një Teknika të ngjashëm në frymë me këtë. Por kjo ishte në të vërtetë e lehtë në kohë. Hit dërgoni. Ai nuk ishte i kënaqur, as nuk do të kanë qenë bordi ad. Dhe unë isha shumë shpejt kapur brenda sekonda sepse, siç e dini, unë nënshkruaj email e mia në një mënyrë të caktuar. Dhe pse unë bëj atë me dorë, në të mëdha pjesa, 15 vjet më vonë, sepse unë kam qenë trauma nga kjo. Unë nuk kam një nënshkrim në email tim tani. Por në vitin 1995, unë vetëm kishte një sig, një nënshkrim në email time. Pra, nuk ishte ky shënim duke thënë, Të nderuar Grupi Proctor, unë pranoj në heshtje mendimin tim dhe të bien dakord me Davidin, nënshkruar kështu dhe kështu, linjë e re, linjë e re, DJM. Pra, nuk e bëjmë këtë ose, në përgjithësi, të marrë Avantazhi i kësaj teknike. Por kur bën një faqe interneti, si për projekti juaj i fundit, kur bën një website për diçka sipërmarrëse, kjo është se si, pragmatike, ju mund të Shërbimet e levave të tjera në internet si postën dhe pastaj në fakt dërgoni gjëra duke përdorur kodin. Pra, si mund të përmirësohet me këtë? E pra, së pari le të marrin një turne të shpejtë të disa nga gjërat që ju do të shihni, dhe pastaj të marrë një vështrim në nja dy shembuj. Pra, një, për të siguruar, sepse ne jemi duke fluturuar përmes PHP. Dhe unë e di, në disa pika, ju do të keni që në fakt të fillojë këtë shkrim, nëse ju nuk e keni tashmë. Kuptojë se, një, lloji kryesor është e nga dritarja me PHP. Nëse ju doni të shkruani kodin që merr ekzekutuar, ju thjesht filloni të shkruani atë në një file i quajtur. php për aq kohë sa ju keni kllapa e hapur Pyetja e Mark PHP tag. Por vëreni këto janë Kushtet në PHP. Vini re, kjo është rrëshqitje e saktë të njëjtën kemi pasur në një javë kur ne kishim Kushtet në kushte C. PHP janë strukturalisht dhe sintaksore njëjtë. Vetmi ndryshim i vërtetë është në qoftë se ju keni marrë variablave të përfshira, ju keni ato shenja dollar. Ndërkohë, shprehjet Boolean duken vetëm si kjo për ose-ing apo dhe-ing bashku. Switches shikoni saktësisht njëjtë. Çfarë është e bukur në PHP, ndërsa në C, çelsin duhet të jenë raste për primitives si ints ose karktereve, në PHP deklaratat tuaja rasteve mund të jetë në fakt në një vargjet tërësi, e cila eshte në fakt lloj i bukur. Ju kursen disa kohë. Nuk mund të bëjë që në C. Këtu ka një lak për në PHP. Kjo është identike. Mund të ketë disa shenja të dollarit per variablat. Ju nuk duhet të përmendet se diçka është një int. Ju vetëm të deklarojnë atë me një shenjë të dollarit dhe Emri i variablit. Por një për lak është i njëjtë. Një lak, ndërsa është i njëjtë. Një bëni ndërsa loop është i njëjtë. Kjo është pak më ndryshe. Pra, me PHP, me një rrjet, ju mund të statike të deklarojë një rrjet, si në C, por ju përdorni kllapa katrore. Në C, ju do të përdorni formatimin e teksteve kaçurrel, edhe në qoftë se ju e dinte se. Por kjo është në të vërtetë shumë e zakonshme në PHP të deklarojë një rrjet, në këtë rast, e numrave, dhe të thërrasë Numrat e ndryshueshme. Variablat vetë duket si ky. Këtu është një varg, të japin kuotën e mbyll thonjëzat "hello bota. "Ju mund të ketë një n backslash. Unë thjesht nuk e bëni në këtë rast. Tani kjo është një konstrukt interesante. C nuk e kanë këtë. Por kjo është super e dobishme. Dhe ju do të shihni këtë në grup P 7 spekulim - një për secilin konstrukt. Nëse ju doni të ritheksoj mbi të gjitha Elementet një koleksion, ju nuk keni për t'u marrë me $ i $ n dhe, dhe + +, dhe të gjitha këto. Ju mund të vërtetë të them, në PHP, këtë - për çdo numër si numër, kështu që Unë jam duke supozuar se $ numrat eshte nje grup i numrave. Dhe kur them për çdo numër si numër, kjo do të automatikisht, si lak im ekzekuton, rinovuar, në çdo përsëritje, vlera brenda shenjave numrit dollar - përsëri, dhe përsëri, dhe përsëri në këmbë për mua mbi këtë rrjet. Pra, vetëm ajo na kursen kodin. Asnjë semicolons, nuk ka + + 's, Jo unë është, nuk e N, kjo është vetëm e bukur. Por PHP gjithashtu ka kjo. Dhe kjo është super i fuqishëm. Dhe ju do të përdorni këtë, duart mbi, ne vendosur P 7. Dhe array asociativ është shpallur edhe me kllapa katrore. Por njoftim sintaksë tani. Kjo është e ngjashme me atë që pamë me print_r një moment më parë. Sa taste, si një kontroll pak sanitar, bën këtë array duket të ketë. Pra, ajo ka dy. Dhe unë e quaj këtë një rrjet. Por në qoftë se ajo ndihmon, ju mund të mendoni i kësaj tryeze si hash, ose si një array asociativ. Por kjo është vetëm një tjetër Lloji i vektorit. Dhe përsëri, gjuhë të ndryshme kanë këto. Ne do të shohim diçka të ngjashme ne JavaScript si edhe. Ka dy çelësat. Njëra është mbyll thonjëzat citoj, "simbol", një është të japin kuotën e çmimeve "." mbyll thonjëzat Dhe ato çelësat çdo kanë një vlerë. Në këtë rast vlera simbol është FB, për Vlera e Facebook, dhe çmimi është 49, 26, e cila ishte e aksioneve Facebook çmimi si e këtij mëngjesi. Pra, çfarë është e dobishme në lidhje me një array asociativ. Unë mund të ketë pasur një numerikisht array indeksuar me vetëm kllapa katrore thjeshta. Dhe unë mund të ketë pasur shenjë të dollarit quote barabartë vetëm këtë. Më lejoni të bëjë në fakt atë. Supozoni se unë në vend shpalli vetëm ky grup si kjo. Kjo është krejtësisht e vlefshme, sintaksore. Ajo nuk humbasin ndonjë informacion, në vetvete. Unë ende e shoh se simbol është fb, dhe se çmimi është 49, 26. Pra, pse janë asociative vargjeve bindëse? Audienca: Ju nuk keni për të kujtuar ku keni vënë stuff. Kryetari 1: Pikërisht, ju nuk keni për të kujtuar ku keni vënë stuff. Ju nuk keni për të kujtuar në mënyrë arbitrare Simboli i aksioneve që është në kllapa zero, dhe çmimet e aksioneve është në një parantezë, e cila është veçanërisht e rrezikshme nëse ju ndryshuar gjërat, përfundimisht. Është shumë nicer për të asociuar atë që ne do të thërrasë metadata me të dhënat tuaja aktuale. Unë do të argumentojnë se ajo që ne me të vërtetë kujdeset rreth këtu është fb dhe 49, 26. Simboli dhe çmimi është metadata që përshkruan të dhënat që në fakt intereson. Por kjo është vetëm kaq shumë më e lehtë për të hyrë. Tani, si një mënjanë çfarë është çmimi që ne të paguajnë? Ne kemi qenë bërë këtë në CS50 për disa javë. Ky funksion duhet të vijë në një kosto. Memory. Pra, ju nuk jeni vetëm ruajtjen e një 32-bit integer, per shembull. Ju jeni ruajtjen simbolin / 0, ndoshta. Pra, ju jeni duke përdorur më shumë memorie. Dhe çfarë është performanca e kërkoni diçka deri në një array asociativ, ndoshta? Kjo është ndoshta më i ngadalshëm. Random Access është e bukur, sidomos kur ju mund të bëni kërkimin binar. Por nëse ju jeni në të vërtetë tani nuk keni kërkuar për numrat, por për vargjet, kjo me të vërtetë është zbatuar nën individualitet, ndoshta si një tabelë hash, ku ju përdorni ose një tryezë të hash me chaining të veçantë. Ose ju përdorni një të përpiqen për të vërtetë ruajtur vlerat. Pra, ndoshta ju mund të bëni kohë të vazhdueshme, por ju ende duhet të shikoni në S-Y-M-B-O-L, potencialisht, në vend të vetëm 32 bit për të kërkuar diçka. Pra, përsëri, ato ide të njëjta vijnë mbështesë të përsëritet në këtë kontekst. Por përsëri, PHP tani ka disa super Globals se, ajo rezulton, janë vargjeve asociative. Ne pamë një një moment më parë, $ _POST. Dhe se GLOBAL super ka çelësat dhe vlerat. Konkretisht, çelësat vargoj me çfarë? Ku çelësat në $ _POST vijnë nga? Vetëm për radhitje? Audienca: Emri. Kryetari 1: Emri, ku? Audienca: [padëgjueshme] Kryetari 1: Emri është atribut. E pra, ku, ku bëri ata fillimisht vijnë nga? Forma. Pra, nëse një faqe HTML tag ka një formë, brenda të cilit janë disa inpute, si kontrolloni kuti, kuti teksti, drop down menutë, secila prej të cilave ka një emër, ato Emrat përfundojë si çelësat në $ _POST, dhe, sinqerisht, për këtë çështje, $ _GET. Nëse metodë është të merrni, të njëjtën ide. Ajo është vetëm në një global të ndryshme super. Dhe vlerat, natyrisht, vijnë nga çfarëdo përdorues shtypen në të tij ose shfletuesi i saj. Por ka disa të tjerë. Ka cookie, të cilat ne do të kthehen përfundimisht. Por, ata janë gjërat që ju e dini web përdor për disa të mira apo e keqja. Por ne do të vijnë përsëri në këtë. Server dhe kohen, dhe ata të dy kanë disa dobi të veçantë. Por, le të marrin një vështrim në këtë. Më lejoni të shkojnë përpara dhe të hapë një shembull quajtur Pra mvc0.php MVC qëndron për vijim. Dhe ne kemi prezantuar më herët se kjo është tipike, me të vërtetë, për të merrni ju dizajnimin Set Problem 7, dhe gjithashtu projektet përfundimtare, në një lloj të industrisë Mënyra standarde, dhe mënyra të pastër. Është dizajn të mirë. Pra, ju jeni gati për të parë, dhe ju do të Përvoja, në P set 7, paradigmë, lloj e nje mendim programuese, që duket një diçka të vogël si kjo. M për Model, C për Controller, V for View. Long histori e shkurtër, MVC është vetëm lloji i një metodologjie, një mënyrë për të bërë faqet e internetit, në veçanti, ku ju vënë të gjitha, fraza tuaj stupid - logjika e biznesit - të gjithë pronën tuaj intelektuale në atë që quhet një kontrollues, një skedar si index.php, ose ne do të shohim, quote.php, ose buy.php. Në kontekst të caktuar Problem 7, tuaj Modelet zakonisht përmbajnë të dhënat tuaja, asgjë lidhur me një bazë të dhënash, si ne do të përfundimisht shohin dhe pikëpamjet tuaja përmbajnë estetikë e juaj faqe, HTML, CSS. Pra, ne tashmë e panë këtë në C pak bit duke përdorur fotografi. h. Ne me të vërtetë e pa atë një moment më parë me CSS, nga factoring stilizim CSS stuff nga HTML tonë. Pra, MVC është me të vërtetë vetëm në lidhje me vizatim rreshta në rërë dhe duke thënë, Kodi interesante programimit për tuaja website i takon në atë që ne do të thërrasë kontrollues. Stuff lidhur me bazën e të dhënave në mënyrë tipike përfundon në një model. Por ju do të shihni, në grup Problem 7, ne bashkojë C dhe M për të mbajtur atë të thjeshtë. Por pikëpamje është ku të gjithë HTML tuaj dhe estetikë zakonisht shkojnë. Pra, çfarë do të thotë kjo në terma realë? E pra, më lejoni të shkoj në MVC tonë Direktoria si më poshtë. Dhe ju do të shihni më shumë nga këto shëtiti nëpër ne spekulim. Pra, në mvc0, unë pretendojnë se kjo është, si, 0 version i faqeve CS50 së. Të gjithë ne kemi është disa HTML, si një i madh tag H1, me sa duket. Dhe pastaj një listë bulleted. Unë kurrë nuk kam parë një listë bulleted para, por nuk ka punë e madhe. Le të shikojmë shpejt në kodin burimor. Rezulton nga një listë e parenditur me plumba është e ul hapur parantezë me njërën apo më shumë artikuj lista, li. Pra, këtu është një njoftim tag spirancë. Ne pamë se një moment më parë. Pra, kjo është se si unë zbatuar kjo faqe. Unë kam marrë dy lidhje, dy artikuj listë, një ul për lista renditura, dhe fundi rezultat, estetikisht, kjo është shumë e website goxha, version 0 këtu. Por ajo që është interesante është se si kjo tani është zbatuar nën kapuç. Më lejoni të shkoj në Gedit dhe të hapë këtë Shembulli i parë për një tabllo. Dhe ne do të shikojmë se çfarë është me të meta, potencialisht, në këtu. Tani, nëse unë shkoj në localhost, publike, MVC, vëreni një fotografi pak. Unë jam duke shkuar për të thirrur këto, për moment, të gjithë kontrollorët. Por kjo është pak e një abuzimi, sepse ju do të shihni çdo gjë është perziere në brendësi të tyre. Dhe më lejoni të shkoj në brendësi të index.php. Dhe ne shohim, fjalë për fjalë, HTML njëjtë. Pra, edhe pse këtë fotografi përfundon në . Php, Ai nuk do të thotë ajo ka për të keni ndonjë kod PHP. Ajo mund të jetë vetëm HTML papërpunuara, megjithëse kjo është lloj i trashë. Por nuk ka asnjë njoftim hapur parantezë PHP tag, me përjashtim për këtë, të cilat, sinqerisht, është vetëm atje për të shërbyer si një koment. Por kjo nuk është funksionalisht edhe se interesante. Por këtë njoftim. Çfarë është interesante është ajo që tani Ndryshimet në këtë faqe. Më lejoni të klikoni Ligjeratat. Dhe njoftim URL është gati të ndryshojë. Tani unë jam në lectures.php. Më lejoni të klikoni zero. Tani unë jam në week0.php Dhe tani le të mua të hapur këto dosje në Gedit. Jo vetëm indeksi, por le mua hapë leksione. Dhe më lejoni të shpëtoj nga komentet të përqëndrohet në këtë pjesë vetëm. Dhe tani më lejoni të hapur vetëm një më shumë, week0.php, hedhin larg komente, vetëm për të pastruar këtë. Dhe tani vini re në vijim. Menduarit të vërtetë lloj kujdes për projektimit, dhe le të bëjë atë linjë up njëjtë, çfarë mund të bëhet mirë këtu, mendoni ju? Si nuk kam bërë një një javë? Si në lidhje me këtë. Pra, kjo është se si unë bëra një javë. Unë shkova deri tek File, New, Paste, Save, week1.php, dhe pastaj unë shkova në këtu. Dhe unë ndryshuar një - çfarë ishte kjo, një për të premten. I ndryshuar e zero të njërit. I ndryshuar këtë me një. OK, kështu që tani shikoni në dosjet e mia. Çfarë mund të bëhet ndryshe? Ku është mundësi, ndoshta? Pra, nuk ka mundësi për të filluar factoring këtë stuff jashtë. Më lejoni të hapur, si një Spoiler, për çfarë ju do të shihni në grup P 7. Nëse unë i hapur deri, tani, në versionin index.php pesë prej kësaj, ajo duket mënyrë më të fshehtë, pa dyshim. Por kjo, tani, është ajo që unë do të thërrasë një kontrollues që është kontrollin Logjika e faqes sime. Dhe ju mund të lloj i rindërtuar, intuitive, ndoshta, se çfarë po ndodh. Në rreshtin e parë, kjo është pak fshehtë. Por vini re unë jam duke kërkuar, si me përfshijnë të mprehtë, një file i quajtur helpers.php. Dhe atëherë unë jam duke e quajtur, me sa duket, një funksion, i quajtur suvatoj, duke kaluar në dy argumente. Njëra është mbyll thonjëzat kuotë, header. Dhe tjetra është, çfarë lloj Lloji i të dhënave është kjo, bazuar në on Sintaksa tonë më herët? Është një grup shoqëruese. Në mënyrë të veçantë, ajo është duke kaluar në titull me disa metadata që kujton mua se çfarë është dhe vlera e tij. Pastaj unë shoh një hard koduar ul, kështu që disa HTML papërpunuara. Por atëherë unë jam kthyer në mode PHP duke e quajtur një suvatoj funksion. Pra, edhe në qoftë se ju kurrë nuk kam përdorur HTML ose PHP para, dhe edhe pse kjo duket frikshme, pse është kjo ndoshta dizajn më të mirë? Çfarë është më mirë për atë, bazuar në konkluzion? Audienca: [padëgjueshme] Kryetari 1: Më pak të tepërta në atë nuk ka asnjë tag HTML më shumë, jo më shumë kokat tag, tag jo më shumë trupin në çdo dosje mallkuarit. Në vend të kësaj, unë kam faktorizohen jashtë perbashkesi dhe me sa duket vënë ato në një skedar që lidhet disi me një kokë. Dhe e njëjta gjë për trupin ngushtë tag, tag ngushtë HTML. Kjo është ndoshta poshtë këtu brenda i diku futboll. Dhe ju do të shihni, në grup Problem 7, një turne të vogël nëpër këtë. Pra, çfarë shtrihet përpara? Një gjë që ne nuk kemi aftësinë ende për të është që në fakt të ruajtur të dhënat. Dhe kështu që ajo që ne do të fillojmë të shohim E mërkurë, për shembull, është se juaj mik i vjetër Excel, ose numrat, lejon ju për të ruajtur shumë Të dhënat në rreshta dhe kolona. Rezulton nga ju mund të bëni se në çfarë quajtur një bazë të dhënash, programuar. maniak Dhe kjo rezulton jashtë, pasi që, ne do të jetë në gjendje për të ruajtur gjëra të tilla si kjo, të cilën ju do të shihni përsëri në grup P 7, një bandë e tërë e përdoruesve dhe Fjalëkalimet, e fundit e të cilave janë në fakt koduar, ashtu si ata ishin në edicionin e vendosur P 2 hacker-së. Dhe në fund, ju do të zbatojë këtë, tuaj Etrade-si faqe interneti që zbaton kolektivisht CS50 financave. Së fundi, meqë keni qëndruar këtu kaq vonë Sot, në qoftë se ju vijnë përsëri në këtë pjesë e kampusit, at 04:00 Sot, ne do Ju nuk japin vetëm këshilla, në SCES Këshillimin Panairi, at 4:00 pm në Maxwell-Dworkin, ne do të ju jap disa Dream Americone, Qershi Garcia, Brownie Chocolate krem ​​karamel, çokollatë Brumë Chip Cookie, dhe kur ju të Google Monkey chunky, ju merrni këtë. Pra, të gjitha që i pret në 04:00 PD në Maxwell-Dworkin. Shihemi të mërkurën si. 2 Gjuha: Në ardhshme CS50, RJ fle in RJ: seksioni im! Ha! Oh,