[Powered by Google Translate] [8 savaitė] [David J Malan] [Harvardo universiteto] [Tai CS50.] [CS50.TV] Sveiki sugrįžę. Tai CS50, ir tai yra 8 savaitės pradžios. Galimybių pora šią savaitę, tarp jų tai kalbėti čia, kuriame kai kurie maisto bus įteiktas. Norėdami gauti daugiau informacijos patikrinti skaidres, kad yra internete. , O taip pat kitas įvykis šią savaitę mūsų pačių Thomas Carriero. Jis yra vienas CS50 buvęs mokymo bičiuliams, kurie šiuo metu yra ZMI, ir jis užsikabinęs vaikinas, kuris mus, jūs žinote, ką, todėl, jei norite daugiau šiuo pagrindu jų aptarimas šį ZMI ir daugiau popietę. CS50 pietūs šį penktadienį. Ar prisijungti prie mūsų, jei yra galimybė, 1:15, kaip įprasta, ugnies ir ledo. Ir dabar mes pasinerti į kažką vadinama Seminarai. Mūsų CS50 Seminarai, prisiminti, yra šie neprivalomi kursuose, kuriuos vedė mokymo bičiuliais ir kursų padėjėjai ir draugai ir, žinoma, žmonės iš miesteliu grupė vadinama ABCD, kuris yra grupė technophiles miesteliu, taip pat grupei, vadinamai HCS, Harvardo kompiuterininkų sąjunga, magistrantams, kurie panašiai domisi kompiuterija. Šių metų seminarų grafikas apima seminarus Android "ir" iOS ir "JavaScript" ir PHP, Unix, Vim, ir daugiau, todėl suprantame, kad šie seminarai artėja. Jei norite RSVP bet kurį iš jų galvą į šį URL ten. Mes tada rašyti aikštyno svetainėje laikus ir vietas, kai jie bus užbaigti. Bet žinau, ten 5 metus susikaupusį ankstesnių seminarų galima rasti internete, iš kurių dauguma vis dar yra labai daug dabartinių technologijų Galbūt Jūs norite žaisti su savo galutinius projektus, todėl galva kai kurių jų turimų vaizdo įrašų. CSS, tiems iš jūsų, kurie jau susipažinę su CSS, kas tai yra, trumpai tariant? Kas yra CSS? Tai Cascading Style Sheets, ir ką tai reiškia? Ką tai padaryti už mus, CSS? Viskas gerai, leiskite sušilti lengvesnį vieną, HTML hiperteksto kalba. Ką tai padaryti už mus? Kas nors ne visi? Tai tampa tikrai nepatogu Atsakydami į šiuos klausimus. HTML hiperteksto kalba. Taip? Ar ne? [Nesigirdi studentas atsakas] Gerai, gerai, ji leidžia mums, kad pažymėtumėte tekstą rodyti interneto naršyklėje. Tai nėra programavimo kalba. Tai iš tiesų tai kalbą, tai reiškia, kad nurodo naršyklę, kaip rodyti informacija, todėl paprasčiausias įsikūnijimas, kaip mes matėme yra kažkas super paprasto, pavyzdžiui boldfacing, skliaustai atidaromi B uždaryta laikiklis sako šis tekstas drąsus, ir kad iš tikrųjų tik vienas iš daugelio būdų , kurioje mes galime padaryti, kad ir iš tiesų, šiais laikais geriau požiūris į savo tinklalapį, stylizing siekį paryškinti kursyvu centre ir pagrįsta, o kaip, nebuvo padaryta tik per HTML žymes o su technika vadinama CSS, Cascading Style Sheets. Tai pas save kalba. Jis taip pat nėra programavimo kalba, tačiau visi, tai Danas, kuris išlaiko prisijungti prie mūsų šiandien. Tam tikrų techninių sunkumų. Ne problema. CSS leidžia mums Stilizuoti puslapį nustatant, kas yra vadinama savybės, todėl galime imtis apsilankykite čia kai kurių pagrindinių pavyzdžių. Leiskite man eiti šiandien į prietaiso. Turiu 8 šaltinio pirmadienis katalogą čia, ir aš ruošiuosi eiti į katalogą vadinamas CSS, kur mes turime visa krūva failų laukia mūsų čia, ir šiame aplanke turime, pavyzdžiui, search0.html nuo paskutinio karto. Dabar, prisiminti su search0 mes palikome šią pastabą tarsi įgyvendinimo "Google", ar tikrai tik priekinę per savaitę arba tiek atgal, ir pastebėjo, kad mes turėjome keletą naujų žymes. Mes turėjome h1 didelis, drąsus pozicijoje, forma, kuri leido mums iš tikrųjų turi HTML formą vartotojo įvestį. Veiksmo, kas buvo veiksmų atributo reikšmė HTML formos tegus? Koks buvo šio veiksmo prasmė? Aš tiesiog tai padaryti šiandien. Imtis veiksmų, kad paskirties, kai forma bus pateikta. Tas faktas, kad sako action = "google.com / search" reiškia, kad, kai vartotojas paspaudžia mygtuką "Siųsti" arba atitinkamą bet kokios formos laukai užpildyti bus išsiųstas ne į mūsų serverį arba mūsų prietaisas, o tik tą konkretų URL iš "Google". Ir metodas, ji ketina naudoti vadinamas gauti, ir gauti, dabar, yra tik perduoti informaciją kartu į interneto serverį technika URL, todėl galime priimti greitai pažvelgti atgal, kaip tai veikia. Atkreipkite dėmesį, kad ten įėjimas, kurio vardas yra q kurio tipas yra tekstas ir tada antrasis input tipo pateikti kurių vertė yra CS50 paieška, ir iš tiesų, jei mes atverti šį failą, search0.html, tai yra super paprasta forma, ir jei aš ieškoti kažką panašaus į kompiuterių mokslo ir tada paspauskite ENTER arba paspauskite ant CS50 Paieška pastebėti, kad tai, kas vyksta ne tik patekti į "Google" Aš specialiai galų gale šiuo URL adresu viršuje google.com / search? q = kompiuteris + mokslas, ir kompiuterių mokslas, žinoma, tai, ką aš įvedėte. + Tiesiog reiškia, kad kur tarpas buvo, ir tai padaryti naršyklėje, tiesiog įsitikinkite, kad nėra į faktinį URL sumišimas ir tarpas. Ir tada Q, žinoma, yra parametro pavadinimas. Mes nematėme, kaip mes, programuotojas, iš tikrųjų gali pasiekti q dar. Mes galime manyti, kad "Google" žino, ką daryti su čia, bet mes ten laiku šiandien. Bet leiskite man pažvelgti ne search1.html kuri atrodo šiek tiek kitoks, nes aš nusprendžiau, kad ši forma čia buvo tik šiek tiek nevykęs. Aš turiu galvoje, tai viršuje kairėje. Ten tikrai nėra estetika, ir todėl aš noriu Stilizuoti šiek tiek daugiau kaip "Google", kurio pagrindinis puslapis, prisiminti, net jei jūs negalite aplankyti, kad dažnai atrodo taip šiandien Helovinas. Jei mes, o ne atverti šio failo, paiešką 1.html 1 Versija aš centre. Vis dar gana negraži, bet bent jau dabar aš pradėjau kontroliuoti šio puslapio estetika, ne tik ženklinimas. Paimkime kambarį paieška 1 išvaizdą, ir ten tikrai tik vienas skirtumas, , kurios gali iššokti į tave, o gal ir ne, bet kas viena eilutė arba fragmentą skirtumas? Ten tai stilius atributas, todėl Pasirodo, HTML dauguma elementai, dauguma žymės gali būti stiliaus atributas ant jų, viduje ir šio stiliaus atributas yra kotiruojama eilutė ir kad cituojamas eilutė yra CSS. Cascading Style Sheet galite įdėti ten nurodydama ją kaip nuosavybės pavadinimas po kurio dedamas dvitaškis, po kurio vertė. Tai rūšies gaila dizaino sprendimą prieš keletą metų kad CSS yra pas save kalba, bet sintaksiškai, tai labai skiriasi nuo HTML. Šiuo atveju matome, kad mano tinklalapį, kuris yra parašytas HTML vidų, Turiu CSS viduje šių kabučių, ir CSS konvencija , kad jūs turite tai, kas vadinama turtą, po to, vėl, storosios žarnos, po šio turto vertės, todėl nėra lygybės ženklas. Nėra jokių papildomų citatos. Tai tiesiog tai dvitaškis atskirti esminė vertybė pora, Teksto eilutė, tai, ką ji sako. Derinamos tekstą puslapio tekste, kuri yra tikrai į puslapio viduriai, centre. Gerai, tada galutinis rezultatas būtų aišku, tai. Ne visi, kad seksualesnis, bet bent jau centre ir šiek tiek daugiau kaip tikroji Google. Bet kas, jei aš vietoj atverti versija 2 ir atkreipti dėmesį žemyn čia visai naują žymą? Dabar mano puslapyje galvos, kuris anksčiau turėjo tik tegus visų ankstesnių pavyzdžių? Jis tiesiog turėjo tai, pavadinimą. Metu senumo galva tegus atrodė taip. Dabar, o ji turi stiliaus tegus viduje, o tai taip pat, atsiprašau, sintaksiškai atrodo labai skiriasi nuo HTML, bet jums priprasti prie jo, pagal kurią viduje stiliaus tegus Dabar galiu veiksnys, kas buvo prieš akimirką atributas, stiliaus atributas, ir aš galiu įdėti jį mano puslapyje pačiame viršuje. Kodėl? Na, tai yra žingsnis link valymo dalykų, panašiai kaip raštu C kodą mes kartais parašyti funkcijas veiksnys bendrą funkcionalumą. Tai tik šiek tiek švaresnis pradėti faktoringo iš dalykų, pavyzdžiui, estetika vienoje vietoje, o ne visa tai įžerti visą savo HTML. Tai taip pat ką ji sako, nors ir šiek tiek naujos sintaksės. Tai čia yra selektorių, ir kūnas tiesiog reiškia, pasirinkite kūno elementas ir taikyti šias savybes. Na, turtas yra lygiai tas pats. Gera priemonė Aš pridėjo kabliataškiu pabaigoje, kuris linkęs būti konvencija, ir aš suvynioti visą šį turtą Garbanotasis petnešos, nes aš iš tikrųjų galėtų turėti skirtingus dalykus čia. Aš iš tikrųjų galėtų pasakyti kažką panašaus spalvos: mėlyna; Dabar tai taip pat nebus link nieko žingsnis visa tai gražiau, bet jei aš dabar grįžti į versiją 2 Aš bent jau dabar savo kūno puslapio tekstas visa mėlyna. Mygtukas lieka ta pati, nes tai įėjimas. Tai nėra vien tekstas. Bet visa kita, kad yra tekstas, kaip CS50 Paieška iki viršaus, iš tikrųjų yra mėlyna. Vėlgi, visi mes padarėme dabar yra pašalinti iš organizmo žyma, pranešimas, stiliaus atributas, ir mes, apskaičiuotus jį čia. Tai nėra didžiulis patobulinimas, bet jei mes priimsime šį dar vieną žingsnį Atkreipkite dėmesį, ką mes galime padaryti šioje trečiosios versijos čia. Į search3.html tinklalapis yra beveik identiškas išskyrus už ką naują žymę dabar? Nuoroda, todėl tai nėra labai taikliai pavadino nes nesate susietos spausti hipersaitą prasme. O, jūs tarsi daro ekvivalentą # include C kuria link tag href atributo ir Požymis rel sako, kad eiti į priekį ir kopiją įterpti failo turinį vadinamas search3.css čia, iš esmės. Tai ne visai tai padaryti, bet tai yra jo dvasia. Ji sako, eiti atidaryti šį failą, search3.css, ir laikyti jį, jei vartotojas įvedėte jį čia puslapio galvos kaip ir aš ir ankstesniame pavyzdyje. Search3.css, tuo tarpu, yra gana paprasta. Tai tikrai tik yra būtent tai, kas buvo prieš akimirką stiliaus tegus, bet aš, apskaičiuotus jį čia į savo failą. Nors mes ne daug laiko praleido ne visi HTML ar Web programavimas tiesiog intuityviai, kas motyvacija, galbūt, faktoringo iš šis mažas fragmentą, net į savo CSS failą ir tada su šiuo link tag čia? [Nesigirdi studentas atsakas] Gerai, tai lengviau skaityti, ta prasme, kad jūs turite savo CSS CSS failą. Jūs turite savo HTML kodą į savo HTML failą, todėl labiau įskaitomas šia prasme. Kas dar gali būti patrauklus? Taip. [Nesigirdi studentas atsakas] Taip, kad jūs galite jį įtraukti daug kartų, todėl dabar mes darome tai pagrindiniai pavyzdžiai, kurių atskirų bylų, bet tarkime, kad jūs iš tikrųjų daro tikra interneto svetainė, kaip jūs 7 pset ar jūsų galutinis projektas galbūt, ir norite turėti kelis tinklalapius, nes yra tikrai dažnas tikrasis World Wide Web, ir jis būtų rūšies nevykęs nukopijuokite ir įklijuokite tą patį mėlyną spalvą ir tas pats tekstas suderinti centrą kiekvieną šių puslapių. O tai suteikia daugiau prasmės veiksnys, panašiai kaip mes padarėme C H failo, įdėti jį į vienoje centrinėje vietoje, šiuo atveju search3.css, ir tada leisti bet kokį failą į savo svetainę, kad iš tikrųjų įtraukti šį failą Šios žymės čia line 16. Kaip paprastai, mes pradėjome versija 0, kokios darbų bet nebūtinai geriausias, ir su kiekvienu žingsniu, paieška 1, paiešką 2, o dabar paieška 3 mes Šie kūdikio veiksmus link dizainus, kurie yra šiek tiek švaresnis ir daugiau parengiamasis daugiau sudėtingesnių puslapių, kad mes galime padaryti keliu. Leiskite man atverti vieną paskutinį pavyzdį, čia tiesiog parodyti dar labiau stilizuotas puslapis, bet pirmiausia leiskite pažvelgti į HTML. Tai search4.html ir pastebėsite, kad struktūriniu tai beveik tas pats išskyrus įvedus naują žymą, div. Div yra tegus kad pristato puslapio padalinys. Jūs galite galvoti apie tai, kaip nematomas stačiakampyje. Jis tarsi sukuria ploto pradalges į tinklalapį kad jūs galite Stilizuoti visus iš karto. Ką aš padariau čia yra taip. Viduje savo kūno žymę, kuri buvo ten visi kartu, Aš sakau sukurti puslapio pasidalijimo čia per linijas 45 per 47, ir tai reiškia, kad iš esmės man duoti nematomą stačiakampį išilgai puslapio viršuje. Po to man duoti antrą stačiakampį, nors ir nematomas, žemiau, kad ir nustatyti jį pagal pavadinimą turinio, ir tada galiausiai, duok man trečiojo valstybės padalijimo puslapio apačioje vadinamas ID Mes pamatysime, kodėl aš tai padarė vos per akimirką, bet konceptualiai turiu antraštės padalijimo. Turiu turinio padalinys, ir aš turiu puslapio poraštės pasidalijimas nors tai tik žymėjimo. Vartotojas nepamatysime 3 stačiakampiai, bet tarsi struktūriškai yra užkulisiuose jie iš tikrųjų metu. Dabar, who cares? Kodėl iš tikrųjų tai padaryti? Visa kita puslapyje yra tas pats, kaip mes matėme anksčiau. Štai mano anketa. Štai mano įėjimas, mano įvesties eilutės lūžį ir pan. Štai paveikslėlis, nors, todėl mes pamatyti, kur tai atėjo iš vos akimirką. Štai apačia, kuris yra naujas, tik todėl, kad aš norėjau pristatyti daugiau turinio. Jei mes slinkite aukštyn pastebėti, kad šio div ID antraštė. Šio div ID turinį, ir šio vieno ID apačia. Ir, kaip rodo pavadinimas, jei turite atributą ID HTML, pagal apibrėžimą, jis turi vienareikšmiškai identifikuoti vienas iš elementų, vienas iš jūsų puslapyje žymes. Našta yra visiškai jums prisiminti, kad jūs jau antraštės ID. Turite parašo. Jau turite turinio ID. Kompiuteris nesiruošia išsiaiškinti, kas jums prieinama ID todėl galite netyčia 2 Tags žinutę antraštėje ID, ir kad būtų tiesiog klysta. Jūs turite nepamiršti, ką jūs sukūrėte, bet kai jūs padaryti, kad būtų pranešama, ką mes galime padaryti čia. Dabar galiu nurodyti savo stiliaus tegus viršuje arba analogiškai mano CSS failą, jei aš ir toliau naudoti šią versiją, Galiu pasakyti, # antraštę, ką tai reiškia, kad nepriklausomai nuo tegus šio tinklalapio antraštėje ID ir #, tiesiog žmogaus konvencijos, atstovauja ID. Aštrus ženklas arba ženklas svaras atstovauja ID. Antraštė yra pavadinimas, kad aš davė jį. Tai reiškia, kad taikyti šį CSS nuosavybė bet tegus šiame puslapyje tenka žinutę antraštėje ID. Čia tas pats sandoris. Taikyti šį objektą, kuris atsitinka būti tas pats, bet kurio elemento kurio ID yra turinys, ir tada žemyn čia pastebėsite, aš šiek tiek mėgėjas su poraštę. Bet koks elementas, kurio ID yra apačia, iš kurių gali būti tik vienas pagal apibrėžimą, eiti į priekį ir padaryti jo šrifto dydis mažesnis, šrifto svoris drąsus, skirtumas 20 taškų. Ką tai reiškia? Tai tik viršuje, apačioje, ir į kairę ir teisę marža. Tai reiškia, kad, duok man 20-pixel nematomą skirtumą aplink jį visa kita tiesiog stumti toli nuo jo šiek tiek, kaip jūs galite padaryti "Word", "Microsoft Word" arba puslapiai ar panašiai. Ir tik paskui tekstas Lygiuoti centre. Pažiūrėkime galutinį rezultatą, ir tada mes grįžti likusiai vienai fragmentą CSS. Tai yra 4 versija, mūsų paskutinės paieškos pavyzdžių, ir tai yra daug, daug seksualesnis. Dabar, tiesą sakant, aš tiesiog googled "Google" logotipo šrifto generatorius. Ir kad leido man sukurti GIF, vaizdo formatą, kuris atrodo, kad. Iš tiesų, jūs galite tai padaryti taip pat. Mes turime "google fonts logo generatorius." Leiskite pamatyti, jei mes galime tai padaryti. Gerai, aš manau, kad tai yra puslapis, kurį aš. Galime sakyti, EB 10, pavyzdžiui, ir padaryti juos savo. Jūs galite žaisti su tai visą dieną ilgai, tada dešiniuoju pelės mygtuku spustelėkite jį ir tada atsisiųsti faktinį GIF, kuris yra viskas, kad aš. Ir iš tiesų, tai kodėl mano HTML, prisiminti, kaip čia Aš turėjau vaizdo žymą, kurį mes matėme trumpai praėjusią savaitę kurių šaltinis yra logo.gif. Ir ką vėl buvo šį atributą alt motyvacija, ši alternatyva atributas? Taip. [Nesigirdi studentas atsakas] Gerai, kad 2 priežastys tikrai, jei naršyklė negali atsigriebti vaizdą nes jūs turite lėtą ryšį su tinklu arba paveikslėlis yra sugadintas ar kažkas panašaus, bent jau žmogus gali pamatyti "CS50 paieška" ir tada taip pat pritaikymo neįgaliesiems priežasčių. Jei turite vartotoją, kuris yra aklas ir naudojate ekrano skaitytuvą ir todėl akivaizdžiai negali matyti vaizdų jie gali bent išgirsti tekstą, jei jų kompiuteris kalba jiems. Apskritai, tai geriausia praktika, kai jis ateina į puslapių prieinamumo , kad net tokioje situacijoje Vartotojų galima išgirsti ar pamatyti, taip sakant, kas tai yra, į savo puslapį. Yra vienas kitas dalykas, kad aš čia kuris yra šiek tiek įdomus, ir mes pamatyti daugiau apie šią problemą, 7 per vieną šortai, vadovaujama vienos mokymo bičiulių. Bet # turinys yra į žymės kurio ID yra turinys, bet ten tarpas, ir ten žodis įėjimas. Na, kas įdomu CSS yra, kad jūs galite kreiptis į žymeles puslapyje Rūšiuoti hierarchiškai, ir ką tai CSS priemonėmis fragmentą rasti žymės kurio ID yra turinys, o tada taikyti šias savybes visi įvesties žodžius, kurie palikuonys turinio, , kurie įspaudžiami viduje ji. Įdubimas, vėl, yra svarbus tik prie kompiuterio, o ne į žmogaus, bet pagal susitarimą mes įtrauka dalykų, kaip mes einame giliau į puslapį, todėl tai reiškia, kad taikyti 5 taškų skirtumą, bet kokį pirkimo elemento kad kažkur viduje arba įdėtos viduje  elementas, kurio ID yra turinys. Kam tai taikoma? Na, yra iš tikrųjų tik šie 2 vaikinai čia. Pastebėti, kad formos viduje yra 2 įėjimai, kaip ten buvo visi šie pavyzdžiai. Tačiau atkreipkite dėmesį, kad šie 2 įėjimai atsitiktų būti įdėtos viduje, nors ir šiek tiek giliai, pora sluoksnių įdubimas, viduje žymens, kurio ID yra turinio. Ką tai reiškia? Jei mes einame į naršyklę, čia galite pamatyti vis tiek šiek tiek leiskite man padidinti, kad yra šiek tiek kamšalu tarp mygtuko ir tarp teksto srityje. Leiskite man laikinai įjunkite, kad ne. Leido man eiti į mano CSS, ir leiskite man eiti į priekį ir tik pakeisti šį skirtumą iš 5 taškų 0 taškų. Leiskite man eiti į priekį, tada ir išsaugoti failą, grįžti į paieškos ir paleisti, ir žiūrėti į puslapio vidurį. Viskas gavo suspaustas kartu, ir, kai aš pirmą kartą plakta šį pavyzdį Aš maniau, kad atrodė kvailas teksto lauką ir tada mygtuką iš karto po jo. Aš norėjau jį šiek tiek padas, todėl aš pristatė maržas. Ką mes negali padaryti paskaitą eiti per keletą dešimčių CSS savybės, kurios egzistuoja, nes, vėlgi, yra dalykų, pavyzdžiui, šrifto dydžio, šrifto svoris, marža, teksto suderinti ir kelios dešimtys kitų, ir mes nukreips jus problema nustatyti 7 įvairių samouczków internete nuorodos, kad leidžia jums pasirinkti šiuos dalykus. Bet kas tikrai svarbu, kad dienos pabaigoje yra suprasti, kaip šie dalykai yra. Vėlgi, jei mes turime stilius tegus viduje gali eiti į selektoriai, identifikatorių, rūšiuoti, kad nurodyti , kuriam norite taikyti šias savybes, ir tada jūs įtraukėte savybes, kaip esminė vertybė pora atskirtų dvitaškio ir tada pasibaigusių kabliataškiu, arba jūs galite įplėšti, kad iš ir įdėti jį į atskirą CSS failą pas save. Viskas gerai, bet kokie klausimai dėl sąvokų Big Picture CSS? Jūs vėl pamatyti daugiau pset 7, bet mes, kad jis paprastai yra gana paprasta. Ar ne? Gerai. Atėjo laikas faktinio programavimo kalba, ir mes grįžti į šiek tiek CSS pavyzdžiui. PHP yra iš tikrųjų nuostabiai suprantama kalba , kad jis yra sintaksiškai beveik prilygsta C Kitaip tariant, jei žinote, C, jūs žinote, didžioji dalis PHP, bent sintaksiškai, nors ir yra kai kurių naujų funkcijų ir kai kurias naujas sąvokas, mes turime pažvelgti. Bet didžioji dalis, dabar, kad mes perėjimas nuo C PHP dauguma naujų dalykų yra tikrai paveikslą, kaip jūs naudojate kalbą programą internete, o ne į komandų eilutę arba mirksi greitai, nes mes jau daro iki šiol. Prašymą priimti prejudicinį sprendimą, ypač 7. Pset ir baigiamojo projekto Tolimesnio pasinaudoti šio URL čia, jei norite perskaityti apie PHP formalumų. Tai tikrai patinka free online vadovėlį efektyviai, ir jūs taip pat pastebėsite, kad tai, ką tikrai malonu apie PHP yra tai, kad yra šimtai funkcijų, kad ateina su juo, C o tu nebūtinai turi prieigą prie daugiau funkcijų, negu buvo matematikos bibliotekoje, CS50 biblioteka. PHP ir šiuolaikinių kalbų, Python ir Ruby tarp jų daug, jūs gaunate prieigą prie tiek daug daugiau funkcijų, o tai reiškia, jūs gaunate rašyti daug mažiau, kodas, nes jūs galite stovėti ant kitų žmonių pečių kas jau parašyta tam tikrų dalykų už jus. Paimkime greitai apžiūrėti PHP sintaksė ir tada parašyti keletą pavyzdžių. Kas malonu apie PHP pirmiausia yra ne pagrindinė funkcija. Jei norite rašyti PHP programą, jums tiesiog pradėti rašyti kodą, ir jūs neturite jaudintis, pagrindinis. Ne int. Ten nėra kelio atgal. Nėra jokios argv, argc, kad yra reikalinga, kai rašote programą. O jūs galite tiesiog pradėti rašyti kodą, ir tai yra iš dalies nes PHP yra interpretuojama kalba tai, kas vadinama. C buvo parengta, ir buvo sudaryta ta prasme, kad jums pradėti su šaltinio kodu, paleiskite jį per Apsukite metalinis garsas, kuris yra kompiliatorius, ir, galiausiai, po kurio keletas žingsnių, jūs gauti objekto kodą, 0s ir 1s. PHP ir Python ir Ruby ir Pearl ir kiti Yra įvairių tipų kalbų, kad jūs neturite renka juos. Jums nereikia eiti iš išeities kodo 0s ir 1s. Jūs tiesiog paleisti kodą, ir paleisti šaltinio kodą rašyti įprastą tekstinį failą, šiuo atveju baigiasi ... php , o ne c, o tai, ką programa daro jūsų kompiuteryje ji tiesiog supranta jūsų kodo eilutę, eilutė po eilutės. Kitaip tariant, o ne parašyti programą ir paleisti programą tiesiogiai jums, o ne parašyti programą su ... php failą su plėtiniu. Tada paleisti faktinė programą, pavadintą php.exe, jei esate "Windows", arba tiesiog PHP, jei esate Mac OS ar Linux, ir jūs pateikiate kaip indėlio į PHP programos savo išeitinį kodą, ir jos gyvenimo tikslas yra skaityti jūsų kodas viršaus į apačią, iš kairės į dešinę, ir daryti, ką sakiau tai daryti. Pažiūrėkime, ką tai reiškia sintaksiškai. PHP mes turime sąlygas. Tai Pristatymas yra identiška tai, ką matė atgal 1 savaitę nes sintaksiškai sąlygos, IFS ir kitur Ifs ir kita, PHP atrodo lygiai taip pat kaip tai. Kai jis ateina į Būlio išraiškos jie ketina atrodo kaip. Kai jis ateina į kartu anding dalykus kaip loginę ji ketina atrodo kaip. Jungikliai atrodo tas pats, ir jūs gaunate papildomą naudą PHP kad C jungikliai gali tik įjungti char arba int. Tu negali pereiti į eilutės reikšmę. PHP jūs iš tikrųjų galite turėti išraišką kad yra kintamasis, kurio turinys eilutė, ir jūs iš tikrųjų galite string palyginimą ir realiame intuityvusis, ne rodyklė palyginimas, siekiant nuspręsti, ar bylą i arba j ar kažkas kita. Mes pamatysime, kad potencialiai prieš ilgas. Kilpos per nuostabiai yra tas pats. Kilpos turi pradėti, naudojant sąlygą, ir šiek tiek atnaujinimų skaičių. , O kilpos taip pat yra PHP. Daryti, o kilpos taip pat egzistuoja PHP, ir matricos, PHP, bet čia, kur sintaksė pradeda gauti šiek tiek skiriasi, tačiau šios sąvokos yra tos pačios, ir apibrėžti sąvokas, iš tikrųjų yra tas pats , kaip jie buvo Savaitės 0 su nulio. Pirmiausia ir svarbiausia yra $ ženklas. Tai buvo PHP dizaino sprendimas, pagal kurį bet kuri kintamasis PHP dizainas prasideda nuo $ pasirašyti. Daugiau nebėra X, Y, Z. Tai dabar $ x, $ y, $ Z tik todėl, kad. Tai kažkas, reikia nepamiršti, o dabar dešinėje pusėje tai atrodo panašu į masyvą, bet mes naudojame skliaustus čia. PHP ir JavaScript kalba, kaip mes galų gale pamatyti, paskelbti masyvą, ką daryti atvirą laužtinis skliaustas ir uždarytas kvadratinių laikiklį, ir tada jūs turite kableliais atskirtą sąrašą vertybių, ar int stygomis arba simbolių, ką norite, viduje šis žodžių junginys ten. Dabar, kaip gi mes padaryti kažką panašaus C? Koks buvo statiškai pripažinti žinomų skaičių masyvo sintaksė? Tai buvo garbanotieji petnešų, tiek nedidelis skirtumas, bet tiek PHP ir galiausiai Javaskriptą, jis tiesiog naudoja skliaustus, todėl tikrai tik Įdomi detalė yra $ ženklas Kintamojo pavadinimas , o taip pat laužtiniuose skliaustuose, ir yra dar vienas keistas dalykas , kad buvo praleistas, taip pat kairėje pusėje = ​​ženklo. Ko trūksta, kad mes jau reikia savaites dabar? Taip. [Nesigirdi studentas atsakas] Dydis, todėl ten neužsimenama masyvo dydžio. Atvirai kalbant, nėra laužtiniuose skliaustuose paminėjimas kairėje pusėje = ženklo, ir kas dar trūksta nuo linijos? Taip. >> [Nesigirdi studentas atsakas] Tipas, todėl, kas įdomu, ypač apie PHP yra tai, kad ne stipriai įvedėte kalba kaip C yra ir tai labai įvedėte ta prasme, kad jūs turite pasakyti char, turite pasakyti int turite pasakyti plūdės. Bet kuriuo metu norite kintamąjį Apsukite metalinis garsas jūs turite pasakyti, ką jos tipas. PHP yra šiek tiek tingus. Tai ta prasme, kad laisvai įvedėte jūs galite turėti plūdės ir simbolių ir juostelės ir int ir tt, bet ir pati kalba nerūpi, ką jūs įtraukėte viduje kintamojo. Jūs neturite iš anksto pranešti jai, koks duomenų tipas vyksta į kintamąjį. Tai visiškai priklauso nuo jūsų, todėl tai yra gražus , kad jūs neturite jaudintis, kaip daug apie duomenų rašyti ir kelia nerimą, ką jūsų argumentai ir kt. Tai taip pat reiškia, galiausiai PHP funkcijos bus suteikta galimybė grįžti arba int didžiąją dalį laiko, ir gal kartą, o jie bus grąžinti bool, boolean false, pavyzdžiui, reiškia, kad kažkas negerai. Tai suteikia mums keletą upsides, tačiau ji taip pat leis mums tarsi dizainas šiek tiek tingus, kai kalbama apie duomenų spausdinimą. Ką dar reikėtų nepamiršti, čia? Kintamieji atrodo visai patinka, tad $ s = "hello, pasaulis." Tai galbūt, kuriuos galima numanyti, remiantis EB ir ankstesniame pavyzdyje, ir mes turime kitą kilpą. Tai vienas mes iš tikrųjų matyti vieną kartą, o, nes jis yra gana patogus, foreach statyti. Šiuo atveju, foreach kilpa mano viduje savo Skliaustai 3 tariant paprastai $ Kažkas pirmoji, kuri yra tai, ką masyvas norite kartoti per nariams, tada tiesiog raktinį žodį, ir tada galiausiai, kitą kintamąjį pavadinimas, kad jums pasirinkti. Jis gali būti foo bar, ar elementas, ir ką tai konstruktas yra, jei $ masyvas yra 10 elementai iteracijos bet šis masyvas atsiprašau, ant kiekvieno šio ciklo iteracijos kintamasis vadinamas elementas bus atnaujinama pirmasis elementas masyve, tai antrasis elementas masyve, tada Trečiasis elementas masyve, ir taip išvengti būtinybės padaryti šiek tiek erzina kvadratinių laikiklis žymėjimą ir $ I, kad į masyvo indeksą. PHP daro viską, kad darbas jums ir ant kiekvieno iteracijos tiesiog perduoda jums kitą elementą iš masyvo Jums net nereikės žinoti apie ar rūpintis savo skaitmeninius indeksus vietą. Ir tada galiausiai, dabar, yra vienas kitas bruožas PHP , kad bus labai naudinga, ypač kai mes pradedame programavimo internete, ir tai žinoma kaip Association masyvą. Matricos, kad mes žinome, iki šiol kaip prieš 20 sekundžių ir per pastaruosius 8 savaites yra skaitmeniniu būdu indeksuoti matricos, rūšies tradicinių masyvų, kur indeksai yra int, 0, 1, 2, visi ant iki būdas. Association masyvai yra daug galingesnis. Jie leidžia savavališkai raktus, savavališkai indeksų ir savavališkai reikšmės. Kadangi tradiciniu masyvo 0, 1, 2, Association masyvas, jūs galite turėti indeksą foo raktas, kurio vertė yra baras. Tada galite kitą klavišą, kurio pavadinimas yra Baz ir kurio vertė yra qux. Vėlgi, kvailas kompiuterių mokslo Bendroji kintamųjų vardai čia, bet esmė yra ta, kad šis masyvas neturi kronšteino 0 arba bracket 1. Tai vietoj ketinate turėti laikiklis foo ir laikiklis Baz. Tai daug labiau universalus, kad mes ketiname, kad būtų galima susieti žodžius su kitais žodžiais, raktai su reikšmėmis visiškai savavališkai, ir mes bus suteikta galimybė gauti šias vertybes nuolat laiko nes po gaubtu asociatyvus masyvas tikrai yra maišos lentelė. Prisiminkite, kad maišos lentelė leidžia jums įdėti kai kuriose įėjimo įdėti žodis Dovydo, jei norite įterpti Dovydą į kažkokį žodyno, ir tada jums tam tikrą vertę paprastai. Speller, true arba false. Davidas arba bet žodis ar nėra žodyne. Asociatyvus masyvas yra tikrai tik maišos lentelė bet tai daug patogesnę naudotojui įsikūnijimas. Kaip matysime, ji ketina leisti mums padaryti kai kurių dalykų labai, labai lengvai. Paimkime bent kai kurių pagrindinių PHP išvaizdą pavyzdžiai ir pamatyti, ką mes galime padaryti su šia kalba. Leiskite man eiti į priekį ir atverti mūsų šaltinio katalogą šiandien rinkmena, pavadinta hello1.php. Šis failas yra didesnis komentaras, nei ji yra tikrasis kodas, todėl leiskite man iš tikrųjų pašalinti visus komentarus iš failo ir pateikti jums turbūt paprasčiausias PHP programa čia. 5 linijos, ir kai kurie iš jų yra tarpas, pastebėti kai kuriuos pagrindinius skirtumus čia. Failas yra vadinamas hello1.php. , Nors pačioje pirmoje eilutėje yra , reiškia, kad viskas mano PHP kodą. Pažiūrėkime, kaip paleisti. Aš ruošiuosi grįžti į mano terminalo lange čia. Aš ruošiuosi eiti į mano PHP kataloge. Atkreipkite dėmesį, kad mes turime visa krūva failų, iš kurių vienas yra hello.php. Leiskite man eiti į priekį ir paleisti šią, hello1.php, įveskite. Leidimas nesuteiktas. Gerai. Kaip mes nustatyti dalykų, pavyzdžiui, tai praeityje? Kas tai? >> [Nesigirdi studentas atsakas] Mums reikia skaityti ir rašyti, bet leiskite man padaryti ls-l. Prisiminti šią šiek tiek neaiškūs išvestį pagal kurį HELLO1 man atrodo, kad perskaityti ir rašyti bet visi kiti perskaitomas. Pasirodo, tai iš tikrųjų yra žingsnis teisinga kryptimi. Skirtumas, vėlgi, interpretuojama kalba yra, kad jums nereikia paleisti programą tiesiai. Jums, o ne paleisti vertėją ir perduoti ją kodas kad rašėte, todėl ji gali interpretuoti tai eilutė po eilutės. Šiuo atveju, vertėjas ar programa tikrai norite paleisti yra tiesiog vadinamas PHP. Kažkur ant šio prietaiso kietajame diske yra programa, kažkas rašė vadinamas PHP arba "Windows php.exe. Ką aš ruošiuosi daryti čia aš ruošiuosi iš tikrųjų paleisti PHP , bet ir suteikti jai kaip komandinės eilutės argumentas kodą, kad aš parašiau, ir tada aš nutolinti ir spustelkite Enter klavišą. Jis veikia mano programa man, iš viršaus į apačią, iš kairės į dešinę. Leiskite man eiti į priekį ir atverti šiek tiek dispersija. Hello2.php įspėjimo, kad tai taip pat dažniausiai yra komentarai, todėl leiskite man atsikratyti tų, kaip išsiblaškymas, ir tai, kas aiškiai skiriasi dabar apie šią rinkmeną? Ten tai nauja linija, šiek tiek paslaptingas viršuje. 1 eilutę #! / Bin / php. Bin konvencija dėl Linux ir Mac OS binaries, taip / bin reiškia, tai yra aplankas, kuriame yra binaries krūva kad yra užprogramuotas, iš kurių vienas yra PHP. #! yra pravardžiuojamas Szulernia sakydamas, kad tai greitas būdas, ir ką tai reiškia yra tai, kad, kai jūs paleisti šią programą dabar yra užuomina į failo viršuje kad pasakoja kompiuterį, ką vertėjas naudoti. Ji gauna šiek tiek erzina, jei jums turėjo pasakyti savo vartotojų ir savo klientams "Ei, mes parašė šią programą, pavadintą hello1.php". Viskas, ką jums reikia padaryti, tai amžinai paleisti PHP ir tada šios programos pavadinimas. Atvirai kalbant, tai tiesiog būti gražiau paleisti hello1.php, ir iš tiesų, mes galime, jei mes, atlikite šiuos veiksmus. Leiskite man eiti į priekį ir daryti ls-l, ir pastebėjo, hello2 ji vis dar tik skaityti rašyti ir tada skaityti skaityti, todėl galiu dar tai padaryti, hello2.php. Bet mes pristatėme tai vis tiek trumpai paskutinį kartą, chmod komanda. Jei aš tai padaryti chmod + x, kuri reiškia, kad visi plius įgyvendinamumo, ir tada hello2.php ir tada ls-l dar kartą pastebėti, kas pasikeitė. Vienas, Linux rodo man failo pavadinimą žalia perteikti idėją kad ši vykdomąjį, bet dar svarbiau, kairėje pusėje pastebėti, kad tiek atstovaujanti X, skirtas vykdomąjį jau yra nustatyta. , Ką tai dabar reiškia, galiu paleisti ./hello2.php, kaip įprasta, paspauskite "Enter", ir dėl pačiame viršuje Bylos Szulernia tai užuomina, vėlgi, Linux, sako naudoti šią vertėjo paleisti šį failą. Negalima nerimauti verčia vartotojui įveskite jį. Ir kas malonu dabar tai tipo nesusiję su mano klientai ar mano draugai , kokia kalba aš parašiau šią programą, todėl galiu eiti į priekį su mv ir pervadinti šį dalyką hello2, pavyzdžiui. Ir dabar, jei aš ./hello2 ir nutolinti mano programa ir toliau paleisti. Šie failų plėtiniai yra žmogaus konvencija, kad būtina Apsukite metalinis garsas ir kurie jų ieškoti kažką panašaus. Bet PHP, galėčiau skambinti šiuo failo plėtinys, ką noriu. Aš galėčiau apgauti pasaulį į mąstymą, kad aš tikrai gerai Ruby, ir aš galėčiau parašyti hello2.rb ir tada paleisti šią ir voila, dabar turiu Ruby versiją, kuris yra visiškas melas. Bet failų plėtiniai yra beprasmis jei failas yra vykdomąjį ir šį podpowiedź failo viršuje. Dabar, kaip ir žemę, leiskite man parodyti jums greitai versija 3, kuris yra tarsi naudinga apgauti žinoti. Į hello3 aš ką nors šiek tiek neteisingą kad aš atnaujinti kodą internete. 3-oje versijoje it turns out, kad dauguma Linux kompiuterių yra programa, vadinama ENV aplinkos, ir ką galite padaryti čia yra, jei jūs neturite idėjos, kur PHP yra įdiegta vietiniame kietajame diske, nes iš tikrųjų jis gali skirtis priklausomai nuo kompiuterio kad kažkas naudoja, env tiesiog sako, paleisti env, , kuri yra daugelyje sistemų, ir išsiaiškinti, kur PHP yra. Tik bendro triukas, kad jūs neturite nerimauti išsiaiškinti, kur programa yra. Bet jei jūs rūpintis sužinoti, kur programa yra, o jūs nesate rūpinamasi iki šiol galite naudoti, kurie komandą. Leiskite man nutolinti ir tipas, php, ir pastebėsite, jis man sako, tai tikrai usr / bin / php. Tai koks melas. Jis taip pat dėžutėje. Tai tiesiog rodo man pirmą kartą nukentėjo. Jeigu jūs kada nors susimąstėte, kur Apsukite metalinis garsas yra, kuris Apsukite metalinis garsas, tai usr / bin / Apsukite metalinis garsas, padaryti, usr / bin / padaryti, ir ką tai reiškia yra visą šį laiką jums galėjo rašyti usr / bin / Apsukite metalinis garsas įveskite paleisti Apsukite metalinis garsas, bet tai tipo varginantis tai padaryti, todėl kai kurie katalogai kaip usr / bin ir bin yra laikomi pagal nutylėjimą kad kompiuteris žino, jums pažvelgti į juos. Klausimų, kaip rašyti super, super paprasta Hello World programa PHP ir tada paleisti jį? Nes dabar mes pradėsime įdiegti patrauklesnį sintaksę. Viskas gerai, čia mes einame. Šios programos iš tikrųjų mes matėme visus juos prieš. Jei aš atverti, pavyzdžiui, darykime beer1.php mes negalime eiti per keletą versijų, bet ką aš padariau buvau atsisėdo ir užpilkite ją ar konvertuojamos mano C kodas, PHP kodo čia. Dauguma failo viršuje komentarai čia. Pasirodo, ten viena nauja funkcija, turime vadinami readline. GetString, išėmimą iš apyvartos, nuo 0 Savaitės tolyn CS50 dalykas. PHP ateina su savo patogi funkcija vadinama readline , kuri trunka 1 argumentą, kurioje patikslinama, greitai kad norite parodyti, kad vartotojas, ir ką readline tai grąžina, kokia vartotojas įveda in Šiuo atveju, aš skelbiantis kintamasis vadinamas $ n. Aš saugojimo vertės grąžintą readline po paskatino vartotoją šios eilutės. Tiesiog atsargines kopijas, iš tikrųjų paleisti tai, ką, leiskite man eiti į priekį ir paleisti php beer1.php. Kiek butelių bus ten būti? Tegul tiesiog padaryti 2 šį kartą. Įveskite. Štai ir viskas. Programa yra funkciškai identiška C versija nuo savaites. Bet sintaksiškai pažiūrėkime, kas skiriasi. Po to, kai gaunu pranešimą iš vartotojo, int, kad aš darau šiek tiek klaidų tikrinimas, ir jei n yra mažesnis nei 1 Aš mečiau ir aš spausdinti atsiprašau pranešimas vartotojui ir išeiti su 1. Tai taip pat yra šiek tiek kitoks.  In C, ką mes galime padaryti? In C grįžome 1. PHP išeisite su 1, tai atvirai tai aš manau, šiek tiek labiau intuityvus , nes jūs tiesiog iš programos. Viskas bus gerai, ir tada žemyn čia erzina daina yra tapatus sintaksiškai išskyrus kintamąjį, todėl čia apačioje atitinka 24 tolimesnė pastebės mano už linijos yra beveik tas pats, bet aš turiu $ priešais i ir n ir, kas taip pat trūksta 26 nuo linijos, kad mes jau praeityje deklaruojant kintama i? Nėra jokios tipas. Ji yra neteisinga, PHP pasakyti int. Jūs tiesiog neturite reikia padaryti, kad. Kompiuteris, vertėjas PHP yra pakankamai protingas suprasti, , kad, jei jūs įtraukėte $ jis laikys kaip jums. Ir tada žemyn čia mes prijungti $ i, $ i, $ i - 1. Visa tai yra tas pats, ir tada žemyn, čia mes: "Oho, tai erzina" printf ir išeikite (0). Vėlgi, išsinešimui čia yra, kad nors mes ketiname išleisti gana mažai laiko tikrai palyginti su ką mes padarėme, C, PHP, tai beveik tas pats, ir, kad tai, ką mes šiandien ir kitą savaitę ir už jos ribų yra sutelkti dėmesį tikrai dėl kai kurių naujų idėjų. Tik pamatyti, kad vienas kitas dalykas, išversti iš C, tai buvo super paprasta programa, mes padarėme 1 savaitė arba 2 kubeliais reikšmę. Bet tai, ką apie šią programą buvo įdomu yra tai, kad pristatė pasirinktinį raštiško funkcijos sąvoka, kad mes patys parašė. PHP sintaksė yra beveik tas pats. Štai mano programa iki viršaus. Pastebėsite, vėl nėra, bet pagrindinė sąvoka. Aš pradėti rašyti kodą, ir tai, kas vyksta gauti vykdo su vertėju. Galiu spausdinti, x 2, matyt. Tada aš reikalauti cubing ... Tada aš vadinu kubo funkciją ir perduoti pagal $ x ir gautas reikšmes $ x. Tada galiu reikalauti, kad jis kubeliais, ir tada aš sakau tai, kuri, tikiuosi, sakys X dabar 8. PHP funkcijos sintaksė yra vis tiek šiek tiek skiriasi. Vėl trūksta grįžimo tipo. Vėl trūksta grįžimo tipo ir taip pat trūksta, yra tai, kas kito tipo? [Nesigirdi studentas atsakas] Na, gerai, tai gerai. Galime sugrįžti, kad per sekundę. Mes neturime, pavyzdžiui, INT čia. Mes neturime, pavyzdžiui, buvo int čia nes, vėlgi, PHP jūs tiesiog neturite reikia ir neturėtų daryti, kad, , o ten tai naujas raktinis žodis "funkcija. PHP tai beveik šiek tiek aiškiau, nes kai norite funkciją jūs tiesiog pasakyti, funkciją, kurią jūs duodate jam vardą ir tada atskirkite kableliais jei toks yra jos argumentus. Nereikia pasakyti negaliojančiu ar ko nors panašaus, o tada grįžti yra tas pats, $ * $ * $. , Kas taip pat trūksta? Sammy nurodė tai čia. Ne visiškai nebuvimo PHP failo viršuje taip pat yra prototipas. Tai taip pat susiję su dizainu. Kalbos ir žodžiu, pavyzdžiui, PHP yra protingesni nei C kada nors buvo kompiliatorius, pavyzdžiui, Apsukite metalinis garsas. Prisiminkite, kad Apsukite metalinis garsas, jei tu negali pasakyti, kad kubą egzistuoja, jei tu negali pasakyti, kad printf egzistuoja kaip prototipą arba # include, gerai, jis buvo ketinama šaukti į tave ir net sudaryti savo kodą. PHP ir daugiau šiuolaikinių kalbų yra daug protingesni, kai jis ateina į šį. Jie bus priimti jį į save perskaityti per visą savo kodą ir tada klykauti ne tik tada, jei ji nustato, kubo niekur. Nesvarbu, jei kubas yra apačioje arba viršuje arba net tam tikru atskirame faile. PHP ir panašios kalbos yra pakankamai protingas, kad žiūrėti į priekį ne viskas prieš laikant jus kaip padarė klaidą. Kur tas palikti mus? Darykime paskutinį pavyzdį sąlygomis, ir jei aš per atverti conditions2.php pranešimą sintaksė čia yra beveik tas pats. Aš naudoju readline vietoj GetString, tačiau ši linija yra tokia pati, kaip ir anksčiau, "Norėčiau prašome sveikasis skaičius." Tada jei sąlyga else if, tada kitas, bet funkciniu požiūriu ši programa taip pat identiškas, ką mes padarėme savaites, todėl, jei aš paleisti tai, ką iš conditions2, PHP, ir duodu kaip 23 - Paėmiau teigiamą skaičių. Jei aš tau tai -1 Paėmiau neigiamą skaičių. Jei aš tau tai 0 iš tiesų pakėlė 0. Taigi, who cares apie visa tai? Na, vienas iš pratimų čia įdomus rūšiuoti bent jau man buvo grįžti ir pamatyti, kaip greitai aš galėjau įgyvendinti pset 5, rašybos klaidų pset. Prisiminkite, kad ten buvo toks failas, kuris vadinamas speller.c ir ten buvo rinkmena, pavadinta dictionary.c. Ką aš padariau buvo I rūšies praleido keletą minučių ir aš konvertuoti C kodą PHP kodo, ir mes ne praleisti daug laiko Speller nes tik kaip 5 pset tu tikrai ne reikia daug laiko praleidžia Speller pati, nes jūsų dėmesys buvo žodyną. Pakanka pasakyti, kad jei jūs skaitote per Speller, šį failą čia, tai beveik prilygsta C kodas mes jums suteikė pset 5. Aš ką tik įdėjote kai $ tose vietose. Aš pasikeitė tam tikrų funkcijų pavadinimus, jei jie neegzistuoja PHP. Yra dar vienas papildomas dalykas čia, preg_match kuris yra šiek tiek mėgėjas būdas daryti kažką, bet mes grįžti į, kad galų gale. Bet trumpai tariant, Speller yra beveik identiškas, o jei peržvelgsite pačioje apačioje galiausiai jis išspjauna, tai čia, žodžiai su klaidomis, žodžių žodynas, žodžių teksto. Viskas gerai, tai kas įdomu dabar yra toks. Mano failo viršuje aš reikalaujant dictionary.php. Lygiai taip pat, kaip C # include PHP turi specialią funkciją, vadinamą reikalauja kad gana daug daro tą patį, gali reikalauti failą pavadinimu dictionary.php. Kaip aš galiu eiti apie įgyvendinimo pset 5? Leiskite man eiti į priekį ir atverti failą čia. Leiskite man šiek tiek nuorodą čia. Ir leiskite man sukurti naują failą ir pradėti vadinti šią dictionary.php. Leiskite man įdėti jį į kitą aplanką, kad mes galime tai padaryti gyventi. Ir dabar aš priartinti Aš ruošiuosi pradėti savo PHP failą su skliaustai atidaromi PHP uždarytas laikiklį. Ir tada čia yra keletas funkcijų, man reikia įgyvendinti pset 5 todėl leiskite man pradėti įgyvendinti kai kuriuos iš tų, todėl funkcija patikrinimas, kuris turėjo žodį kaip argumentas. Mes tai padarysime ir grįžti į ją po akimirkos. Load function, kuris vyko kaip argumentas kokiais? Žodyną, kad failas, kad aš iš tikrųjų norėjau įkelti. Funkcijos dydis, kuris nesiėmė jokių argumentų ir ten buvo funkcija-kas buvo? Iškrauti, kuri nesiėmė jokių argumentų. Tai yra 4 funkcijos, kad man reikia dabar įgyvendinti PHP, ir tai, ką aš ruošiuosi daryti, tai eiti į priekį ir tai padaryti. Iš jūsų daug naudojamas maišos lentelę pset 5, todėl leiskite man eiti į priekį ir sukurti maišos lentelės PHP. Atlikta. Tai suteikia man maišos lentelę. Na, kodėl gi? Vienas kintamasis vadinamas $ stalo, tik įsivaizduoti maišos lentelė idėją. Skliaustus, nors prisimenu, atspindi tai, ką? Masyvas, bet PHP masyvai neturi turėti būti skaitmeniškai indeksuojami. Jie taip pat gali būti Association masyvai o tai reiškia, jūs galite turėti savavališkai raktus ir reikšmes. Panašiai kaip pset 5, tiems iš jūsų, kurie padarė maišos lentelė realizacijas tikriausiai įterpė žodį ir tada įterpti jį į susietų sąrašų grandinėje, arba įrašėte tikrosios kažkur ar kažką šiuo klausimu vertę. Jūs kažkaip prisiminė tai, kad ten buvo žodis. Nes dabar, kad bus mano maišos lentelė, ir todėl dabar eiti apie įgyvendinimo funkciją žymės Aš tiesiog reikia pažvelgti į vidų tos maišos lentelė ir pamatyti, jei žodis yra. Ką aš ruošiuosi daryti aš ruošiuosi pasakyti, jei tarkim isset, kuris yra PHP funkcija, kuri reiškia tiesiog tik yra pagrindinis rinkinys, taip isset ($ table [$ žodis], ir jei taip, return true. Štai ir viskas. Štai PHP 5 pset. Na, tiesą sakant, viskas gerai. Else return klaidinga, todėl ten nėra. , Kas iš tikrųjų vyksta? Na, jei stalo arba maišos lentelė čia apskritai yra asociatyvus masyvas, tai reiškia, kad galite indeksuoti į jį kaip žodžio "žodis", ir jūs turite gauti tam tikrą vertę. Mes natūra gauti vienu žingsniu į priekį apie save. Būtų malonu iš gražus, jei mes iš tikrųjų pakrauta failą, apkrova yra ne visai taip paprasta, bet leiskite man eiti į priekį ir pakelti  tikrai greitai įgyvendinti apkrovos. Leiskite man eiti į priekį ir pasakyti žodžiai gauna failą žodyną. PHP failą funkcija atidaro failą ir grįžta į visi šios bylos tariant masyvo, tik rankas jas jums. Tai buvo didelis skausmas buvo ne? Dabar formomis, tai yra mūsų naujas konstruktas, foreach ($ as $ žodis žodžiai). Šis ciklas ketina pradėti iteravimu per masyvo žodžius ir priskirti prie $ word kintamojo kiekvieną failą žodį nuo pirmojo prie antrojo į trečiąjį, ketvirtąjį visą kelią todėl aš neturiu daryti erzina [i] žymėjimą ir pan. Ir ką aš tiesiog ketinate daryti kiekvieno iš šių žodžių yra laikyti jį mano stalo indeksuojant į lentelę ir tada daryti tiesa, nes prisiminti kad žodis mano žodyne, viskas, ką aš tikrai reikia padaryti rūšies apversti šiek tiek ir pasakyti, kad tai mano maišos lentelės yra žodis, tiesa. Ir jei jo ten nėra, aš ne aiškiai įdėti klaidingas, kitaip aš turiu įdėti false visatos visų galimų žodžių. Pakanka man tik nustatyti indekso vertė tiesa, jei žodis yra iš tikrųjų mano maišos lentelės. Dabar aš pjovimo kampus pora čia, kad aš pamojuoti savo rankas dabar, bet dabar apkrova funkcija atliekama. Įkelti visus žodžius iš failo į masyvą. Aš kartoti per tą masyvą, ir kiekvienam masyve žodį Aš prijunkite jį į mano maišos lentelės 1 eilutę kodo. Tai įdomus. Jūs žinote, kaip mes galime įgyvendinti dydis dabar? Na, dydis visada yra gana paprasta, tiesą sakant. Čia mes galime tiesiog grįžti skaičių stalo. Tai gana nesudėtinga, suskaičiuoti dalykų lentelėje. Kad iš tikrųjų rūšies nėra pats efektyviausias. Aš tikriausiai turėtų turėti kintamasis vadinamas dydis, todėl mes galime tai padaryti nuolat, bet tai gana lengva. O, tada iškrauti, jei mes tikrai norime būti analinis čia mes galime pasakyti, tai, kaip jūs iškrauti kažką. Jūs tiesiog nustatyti lygią Tuščio masyvo kintamąjį, ir jis gauna atsikratyti visko, kas ten buvo. Nereikia skambinti nemokamai. Vėlgi, aš iškirpti tam tikrų kampų, ir atsiprašau už priskyrimo problemą, 5 galbūt C, bet jei mes dabar eiti į priekį ir paleisti, Aš ruošiuosi iš tikrųjų paleisti versiją, kad aš parašiau iš anksto tik todėl, kad aš nepadarė jokių sintaksės klaidų kokia. Leiskite man eiti į priekį ir paleisti Speller. Naudojimas yra tas pats. Čia yra žodyno failas, kuris tiesiog yra žodis foo. Čia yra tekstinis failas, kuri tiesiog yra foo juostą. Leiskite patikrinti rašybą, tad Speller šio failo, naudojant šį žodyno failą. Yra vienas klaidingai parašyto žodžio, baras, ir voila. Padaryta su 5 pset. Paimkime 5 minučių pertrauką čia, ir mes sugrįšiu ir daugiau apie PHP. Viskas bus gerai, mes atgal. Darykime manęs nekenčia, tam tikrą laiką. Tegul dabar iš tikrųjų pamatyti, jei tai nebuvo teigiamas Įgyvendinant šį dalyką PHP. Natūralu, jis truko 45 sekundžių įgyvendinti. Bet eikime į priekį ir paleisti dalykus. Leiskite man eiti į priekį ir paleisti C versija Speller, ir mes pasistengsime ją paleisti vieną iš didžiausių failų Karalius Jamesas Biblija. Ir kad čia yra eikime į mūsų "C" aplanką, Speller King James 5.. Daug neteisingai parašytus žodžius. Gerai, kad produkcija, jūs tikriausiai gavo, net jei laikai yra šiek tiek kitoks, jei jūs turite viską tinkamai veikia, ir tik laikas iš viso patikrinti rašybą Karalius Jamesas Biblija buvo 0,38 sekundžių, gana gera, kad tokių nuostatų taikymas. Dabar leiskite man eiti į PHP versija, kuri mes tiesiog parašė. Leiskite man paleisti Speller apie King James. Oi, ignoruoti šią klaidą. Aš klaidingą kataloge. Speller King James 5.. Beveik jau padaryta. Gerai, sumani stebėtojas suprasite, kad buvo daugiau nei 3 sekundes. Tai yra tiesa, važiavimo laikas. Pasirodo, kad tai užima laiko išspjauti daug teksto iš dėl buferinė problemas, bet ilga istorija trumpa, , kuris buvo 3,15 sekundžių laiko mašina, procesoriaus laiko, , palyginti su tai, kas buvo prieš akimirką? , Pavyzdžiui, 0,3. Aš turiu galvoje, didėjančia tvarka lėčiau, tais atvejais, kai yra tai, kad juokinga sulėtėjimas iš? Na, kaip buvo su dauguma bet kokį dizainą, mes padarėme sprendimą per pastaruosius 9 savaites klasės ten beveik visada tai kompromisas. Kartais tarp tik erdvėje, kartais tarp erdvės ir laiko, erdvė, laikas ir plėtros pastangos, nors ir, žinoma, čia mes išgelbėti daug laiko, o gal ir potencialiai 10-20-30 valandos vystymosi metu, įgyvendinimo rašybos tikrintuvą virželis jį vos per 45 sekundžių su šia kalba kaina, kurią mes mokame yra tai, kad didėjančia tvarka lėčiau, todėl, ir tai paprastai yra su dauguma bet interpretuojama kalba, PHP, Python, Ruby, Pearl ar kiti, pagal kurį jei jūs ketinate paleisti jį per vertėją ir ją skaityti savo kodą eilutė po eilutės, iš viršaus į apačią, iš kairės į dešinę, kad tarpininkas ketina imtis laiko savo, ir tai, ką jūs čia buvo jausmas per 3 sekundes, palyginti su 0,3 sekundžių yra tai, kad tai yra tarpininkas, kuris turi tiesiog aiškinti mūsų kodą eilutė po eilutės, ir neduok Dieve, jei esate viduje kilpa su didžiule failą, kuriame yra šimtai tūkstančių žodžių. Kad virš galvos ketina pridėti ir pridėti iki pridėti iki pridėti iki. Kaip šis įrankis tai tikriausiai ne geriausias kalbą naudoti įgyvendinimo rašybos tikrintuvas, jei betarpiškumo sudominti savo naudotojams ir jums. Bet prabangos turime akimirką, jei naudoti kaip PHP programavimo kalba, ar daug interpretuojančioms kalboms iš interneto, tuo klausimu, turite naudos kad internetas yra daug lėčiau nei daugelyje kompiuterių. Turite GHz CPU kompiuteryje, 2 GHz, o gal net ir daugiau šių dienų. Tačiau realybė yra internete yra didelis kiekis latentinis o naršyklėje kalbėti prie serverio, nors mes matėme praėjusią savaitę , kad gana greitai, pusę milisekundės, arba tiek, kad per daug išauga iki, ir jei jūs esate parsisiuntimo dalykų, pavyzdžiui, paveikslėlio arba "Facebook" nuotrauka ar gauti momentinius pranešimus per Facebook plepėjimas, Gchat ar panašiai, visi šių abi puses laikais tarp naršyklės ir serverio pradėti pridėti, , kuris paverčia jūsų ypatingą kalbos pasirinkimas daugeliu atvejų ne visi, kad reikia, kad jūs gerai naudojant šiek tiek lėtesnis kalbą kaip PHP ar Python arba Ruby , tačiau dėl kurių yra didžiulis upsides jums ir jūsų kolegos ir jūsų draugai, nes galima įgyvendinti dalykų, taip, taip daug greičiau. Ir, be to, jūs turite daug mažesnis tam tikrų saugumo spragų. PHP Nėra jokių patarimų. Nėra jokių seg gedimai, kad jūs galite lengvai sužadina tokiu pačiu būdu Jūs galite C. Su C esate super arti prie aparatūros. Su PHP ir panašios kalbomis jūs tarsi aukštesnio lygio, taip sakant, daug tarp jūsų ir ką gynybos iš tikrųjų vyksta mašinos viduje, ir tai tik kompromisas. Mes Dotarłeś iki taško, turintys šių labiau šiuolaikišką, aukšto lygio kalbų kaip PHP, nes pamokų kalbomis, pavyzdžiui, PHP, C Bet jei jūs nesuprantate, kas vyksta po gaubtu visą šį laiką jūs tikrai negali padaryti tinkamus projektinius sprendimus, ir, žinoma, kai kalbama apie vietą, pavyzdžiui, "Facebook" ar "Google" dirba arba bet kurioje šių vietų, kad vis dažniau žaisti su didelių duomenų rinkinių net jei jūs einate atgal ir daryti premed ir dirba su tam tikru MD dėl kai kurių didelių duomenų dalyvauja pacientai ir gydytojai ir, pavyzdžiui, naudojant tinkamas priemones yra labai įtikinamos nes kitaip jūsų kai kurių duomenų analizė gali trukti sekundes, ar ji gali tiesiog trukti kelias valandas. Tai yra tik vienas pavyzdys, o ne žlugdo jums su kiek daugiau pastangų jis buvo C, bet padėti jums įvertinti, kad kai jūs įgyvendinti kažką C jūs tikrai suprasti, ar teoriškai tikrai suprasti kaip viskas yra arba turėtų dirbti, ir jūs turite beveik visiškai kontroliuoti daugiau nei tai, kas vyksta po gaubtu, ir su šiais aukštesnio lygio kalbomis jūs turite atsisakyti labiau kontroliuoti žmonių, kurie juos išrado ir taikomos daugiau jų dizaino sprendimus nei tavo. Bet jei mes priimame kaip savaime, kad veiklos yra ne visai taip svarbu internete dėl šių kitų klausimų, tik tinklo greitis yra šiek tiek lėčiau nei procesoriaus greitis vistiek, todėl mes galime rūšiuoti sau leisti naudoti šiek tiek lėtesnis kalbą jei upsides mes galime sukurti 10 kartų greičiau ar net daugiau. Pažiūrėkime, kaip mes galime pradėti naudotis. Leiskite man eiti į aplanką tarp šiandienos pavyzdžių vadinamas frosh.ims ir tai iš tikrųjų buvo asmeniškai inicijuojami dėl to, kad pats pirmas dalykas, Aš parašiau dėl interneto metus po CS50 ir CS51 atsižvelgiant buvo už Frosh IGS programos interneto svetainėje, pirmakursis vidines sporto, kuris tuo metu tai buvo pakankamai metų, kad tuo metu, kai nebuvo programos, nors interneto svetainė, ir vietoj to, kad buvo Proctor Wigglesworth, pagal kurią, jei jūs norėjote užsiregistruoti tinklinį ar futbolą ar kas jums užpildyti popieriaus lapą. Jūs tuomet eiti per kieme. Tada būtų pasibelsti į jų duris ir skaidrių savo duris arba ranka į Procter popieriaus gabalas su savo pavadinimu ant jo, nesvarbu, ar norite būti komandos kapitonas, kokia sporto, ką norėjo padaryti, ir ką bendrabučio jums buvo. Tai buvo tarsi senosios mokyklos būdas, kaip daryti dalykus, ir tai buvo svarbiausias galimybė automatizuoti šio proceso daug. Jūs eikite į svetainę. Tipo kažkas in Jūs gausite patvirtinimą elektroniniu paštu, ir strėlės, baigsite. Tai buvo pats pirmas dalykas, aš padariau, nors kalba vadinama Pearl, bet tai gana lengva padaryti, PHP, ir tai yra tarsi atstovo problemų, galite pradėti spręsti, kai jūs galite išreikšti save programiškai ir neturi remtis dalykų, pavyzdžiui, "Google" svetainėms arba "Excel" arba priemonių, kad būtų perduodamas jums. Jus vaikinai dabar turi galimybę padaryti kažką panašaus. Tai yra super bjaurus Formos versija bet tegul tiesiog naudoti jį nuo pokalbio pradžios, pagal kurį tai yra maždaug kas forma, kaip atrodė prieš keletą metų mums , kad žmonės internete užsiregistruoti Frosh IV. Mes paprašėme pavadinimą, pažymėti žymės langelį, ar jie norėjo būti kapitonas, vyrai ar moterys, ir tada ką bendrabučio jie buvo, ir tada jie būtų pateikti šią formą. Tegul pirmo žvilgsnio apačioje gaubtu HTML, kuris atitinka šį tinklalapį. Tegul man eiti į froshims0, ir panaikinti, 7 pset aš savaime suprantamu dalyku katalogus ir aplankus, kad aš juos in Mes padėsime jums per kur tiksliai Daiktai turi eiti į prietaisą, mod komandas turite paleisti, todėl nereikia nerimauti visus kvailas Išsamiau sinchronizavimą nuo get-go čia. Viskas gerai, čia froshims0.php. Leiskite man slinkti žemyn, ir, kas įdomu, čia, tai yra PHP failas, bet tai, kas viduje, aiškiai? Tai visai daug HTML, ir iš tiesų, PHP kilmę tikrai buvo už tai, kad interneto orientuotas kalba. Momentas, atgal mes jį įgyvendinti alaus pavyzdį, sąlygos, pavyzdžiui, Apie pavyzdžiui, ir to pakanka. Galite naudoti PHP kaip skriptų kalba kai scenarijus yra tikrai tik nomenklatūra, greitai ir purvinas programos ar kažkas, kad jums rašyti scenarijus arba apskritai interpretuojama kalba. PHP yra super naudinga, nes jūs matėte, kaip greitai palyginti galime pakelti PHP programas. Bet tai buvo tikrai skirtas naudoti internete, ir skirta internete, kad ta prasme, pastebėsite, čia ne failo viršuje Aš prasideda