[Powered by Google Translate] [Java 8]
[David J Malan] [Universiteti i Harvardit]
[Kjo është CS50.] [CS50.TV]
>> Mirëpritur mbrapa.
Kjo është CS50, dhe ky është fillimi i javës 8.
Një çift i mundësive të kësaj jave,
në mesin e tyre këtë diskutim këtu, në të cilën disa ushqime do të shërbehet.
Për më shumë detaje shikoni slides që janë online.
Dhe gjithashtu një tjetër ngjarje e kësaj jave nga vet Carriero tonë Thomas.
Ai është një nga miqtë e CS50 mësimdhënies ish-kreu i cili është tani në Dropbox,
dhe ai është djalosh i cili i tëri na me ju e dini se çfarë,
kështu që nëse ju doni më shumë të atij kokën me pëshpëritjet e tyre këtë pasdite për Dropbox dhe më shumë.
CS50 drekë është kjo e premte.
A na bashkohen në qoftë se ju jeni në gjendje, 01:15, si zakonisht, në zjarr dhe akull.
>> Dhe tani ne pikiatë në diçka të quajtur Seminare.
Seminare CS50 tanë, kujtoj, janë këto klasa fakultative udhëhequr nga shokët e mësimdhënies
dhe asistentë kurs dhe miqtë e kursit,
folks nga një grup në kampus quajtur ABCD, e cila është një grup i
technophiles në kampus, si dhe një grup të quajtur HCS,
Shoqëria kompjuterike Harvardit, studentë të cilët janë të interesuar në mënyrë të ngjashme në informatikë.
Regjistri i këtij viti i seminareve përfshin seminare për Android dhe iOS dhe JavaScript
dhe PHP, Unix, Vim, dhe më shumë, në mënyrë të kuptojë se këto seminare janë të ardhur deri.
Nëse ju dëshironi të RSVP për ndonjë prej tyre shkojnë në atë URL atje.
Ne pastaj do të postoni në faqen e internetit kursin e herë dhe vendet kur ata janë finalizuar.
Por e di se ka vlerë 5 vjeçare e seminareve të mëparshme në dispozicion online,
shumë prej të cilave janë ende shumë aktuale në drejtim të teknologjive ju mund të
duan të luajnë me të për projektet tuaja finale, kështu që shkojnë atje për disa video në dispozicion të tyre.
>> CSS, ata prej jush të cilët janë të njohur me CSS tashmë,
çfarë është ajo në një fjalë?
Çfarë është CSS?
Është Cascading fletë stili, dhe çfarë do të thotë kjo?
Çfarë do të bëni për ne, CSS?
Të gjithë të drejtë, le të ngrohtë deri me një e më të lehtë, HTML, HyperText Markup Language.
Çfarë do të bëni për ne?
Çdokush në të gjitha?
Është me të vërtetë duke kërkuar këto pyetje të vështirë.
HTML, HyperText Markup Language.
Po? Jo?
[Përgjigja e padëgjueshme Student]
Mirë, mirë, ai na lejon për të shënuar deri tekstit të shfaqur në një shfletues web.
Kjo nuk është një gjuhë programimi.
Kjo është me të vërtetë një gjuhë markup, që do të thotë se udhëzon shfletuesit se si për të shfaqur
informacion, kështu që mishërimi i thjeshtë këtë si ne kemi parë
është diçka e thjeshtë si super boldfacing, hapur parantezë parantezë b mbyllura thotë
të bëjë ky tekst bold, dhe kjo është në fakt vetëm një nga shumë mënyra
në të cilën ne mund ta bëjmë këtë, dhe në të vërtetë, këto ditë një qasje më të mirë
stylizing për faqen tuaj të internetit, duke bërë gjëra të guximshme dhe Italics
dhe u përqendrua dhe justifikuar dhe si, nuk është bërë me anë të HTML tags vetmuar
por me një teknikë të quajtur CSS, Cascading Style Sheets.
Kjo është një gjuhë në vetvete.
Edhe ajo nuk është një gjuhë programimi, por-
të gjithë, kjo është Dan, i cili mban bashkuar me ne sot.
Disa vështirësi teknike. Nuk është një problem.
>> CSS na lejon të stilizoj një faqe
duke vendosur se çfarë janë quajtur pronat, kështu që le të marrin një vështrim në këtë
me anë të disa shembujve bazë.
Më lejoni të shkoj në aplikim sot.
Unë kam 8 dosjen burim hënën në këtu,
dhe unë jam duke shkuar për të shkuar në një direktori të quajtur CSS, ku ne kemi një bandë e tërë
e dosjeve duke pritur për ne të drejtë këtu,
dhe në këtë dosje ne kemi, për shembull, search0.html nga koha e kaluar.
Tani, kujtojnë me search0 ne e kemi lënë në këtë shënim
nga lloj i zbatimit Google apo me të vërtetë vetëm fundin e përparme për atë një javë apo më shumë më parë,
dhe vini re se ne kishim disa etiketa të reja atje.
Ne kishim h1 për një titull të madh, të guximshme,
formë, e cila na lejohet që në fakt kanë një formë HTML për input të përdoruesit.
Veprim, ajo ishte domethënia e një atribut të veprimit
në HTML tag formë?
Cili ishte kuptimi i këtij veprimi,?
Unë vetëm do të bëj këtë sot.
Veprimi është destinacioni ku formulari do të dorëzohet.
Fakti se që thotë veprim = "google.com / kërko"
do të thotë se kur përdoruesi klikimeve butonin paraqesë ose ekuivalent
çfarëdo forme Fushat ata plotësuar do të dërgohen për të mos serverin tonë
apo aplikim tonë, por më tepër për atë URL të veçantë në Google.
Dhe metoda se do të përdorë quhet marrë,
dhe për të marrë, tani për tani, është vetëm një teknikë për kalimin informacion së bashku në një web server
me mënyrën e URL, kështu që le të marrin një vështrim të shpejtë mbrapa se si kjo funksionon.
>> Vini re se ka një input emri i të cilit është q
Lloji i të cilit është teksti dhe pastaj një input i dytë i llojit të paraqesë
vlera e të cilit është CS50 Search, dhe në të vërtetë, në qoftë se ne hapim këtë skedë këtu,
search0.html, kjo është një formë super të thjeshtë,
dhe në qoftë se unë kërkoni për diçka si shkenca kompjuterike
dhe pastaj hit enter ose kliko mbi CS50 Kërko
vini re se ajo që ndodh është përtej marrjen në Google
Unë e kam përfunduar në mënyrë specifike deri në këtë URL në krye,
google.com / Search? q = + kompjuter shkenca,
shkenca kompjuterike dhe është padyshim ajo që unë typed in
Shenja + thjesht do të thotë se ku ishte një karakter hapësirë,
dhe kjo është bërë nga shfletuesi vetëm për të siguruar se nuk ka asnjë
konfuzion dhe hapësirë ​​të bardhë në URL aktuale.
Dhe pastaj q, sigurisht, është emri parametri.
Ne nuk kemi parë se si ne, programues, në fakt mund të hyni në q ende.
Ne mund të supozojmë se Google e di se çfarë të bëjë me këtë këtu,
por ne do të merrni atje në kohën e duhur sot.
>> Por më lejoni të marrë një sy në vend search1.html,
e cila duket pak më ndryshe, sepse unë kam vendosur që kjo formë këtu ishte vetëm pak çalë.
Unë do të thotë, kjo është në të majtë të lartë.
Ka të vërtetë nuk ka estetikë të tij, dhe kështu që unë dua të stilizoj këtë
pak më shumë si Google, të cilit homepage, risjell,
edhe pse ju nuk mund të vizitoni atë që shpesh, duket sikur kjo sot në Halloween.
Në qoftë se ne vend hapë version 1 të këtij file, 1.html kërko, unë kam përqëndruar atë.
, Ende mjaft e shëmtuar, por të paktën tani kam filluar për të kontrolluar estetikë e kësaj faqeje
jo vetëm duke shënuar deri tij.
Le të marrin një vështrim në kërkim 1, dhe nuk është me të vërtetë vetëm një dallim këtu,
që mund të hidhen jashtë në ju, ose ndoshta jo,
por ajo është një linjë apo copëza të ndryshim?
>> Ka këtë atribut stil, kështu rezulton se në HTML
Elementet shumica, shumica tags mund të ketë një atribut stil mbi to,
dhe brenda kësaj atribut stil është një varg cituar,
dhe që string cituar është CSS.
Ju mund të vënë fletë Cascading Style në atje
duke specifikuar atë si një emër të pronës
pasuar nga një zorrë e trashë të pasohet nga një vlerë.
Kjo është lloj i një vendimi të projektimit fatkeq disa vjet më parë
që CSS është një gjuhë në vetvete,
por syntactically kjo është shumë e ndryshme nga HTML.
Në këtë rast, ne shohim se brenda faqen time, e cila është shkruar në HTML,
Kam CSS brendësi të këtyre thonjëza, dhe konventa për CSS
është se ju keni atë që quhet një pronë e ndjekur nga, përsëri, një zorrë e trashë,
pasuar nga vlera e kësaj pasurie, kështu që nuk ka asnjë shenjë të barabartë.
Nuk ka kuotat shtesë.
Është vetëm ky i ndarë zorrës së trashë kyçe vlera palë,
Teksti dhe linja e bën pikërisht atë që ajo thotë.
Ajo aligns tekstin në trupin e faqe, e cila është me të vërtetë guxim e faqe,
në qendër.
>> Mirë, atëherë rezultati përfundimtar, të jetë i qartë, është kjo.
Jo të gjithë që sexier, por të paktën është e përqëndruar dhe një pak më shumë si Google reale.
Por çfarë nëse unë në vend të hapur versionin 2 të këtij
dhe theksoj këtu poshtë një kod të ri krejt?
Tani në krye të faqes sime, e cila më parë kishte vetëm cilën tag
në të gjitha shembujt e mëparshme?
Ajo vetëm kishte këtë, titullin.
Një moment më parë kreu tag dukej si kjo.
Tani ajo ka një vend brenda tag stil të saj,
dhe kjo shumë, unë kërkoj falje, syntactically duket shumë e ndryshme nga HTML,
por ju merrni përdorur për të, ku në brendësi të tag stil
Unë tani mund të faktor se çfarë ishte një moment më parë
një atribut, atribut stil, dhe unë mund të vënë atë në krye të faqen time.
>> Pse?
E pra, ky është një hap drejt pastrimin gjërat, ashtu si në shkrim kod C
ne do të shkruaj ndonjëherë funksione të faktorit jashtë funksionalitetit të përbashkët.
Kjo është vetëm një pastruese pak për të filluar nga gjëra të tilla si factoring estetikë
në një vend qendror në vend që të gjitha shpërndaj gjithë HTML tuaj.
Kjo shumë e bën atë që thotë, edhe pse ka një grimë e sintaksës së re.
Kjo këtu është një përzgjedhës, dhe trupi do të thotë vetëm të zgjidhni elementin trupit
dhe të zbatojë vetitë e mëposhtme për të.
E pra, prona është saktësisht e njëjtë.
Për masë të mirë unë kam shtuar një pikëpresje në fund,
e cila ka tendencë të jetë konventë, dhe unë e kam mbështjellë tërë këtë pronë
në formatimin e teksteve kaçurrel, sepse unë në fakt mund të ketë gjëra të ndryshme këtu.
Unë në fakt mund të them diçka si ngjyra: blu;
>> Tani edhe kjo nuk do të jetë një hap drejt çdo gjë gjithçka që prettier,
por në qoftë se unë tani kthehem në versionin 2 kam bërë së paku tani trupin e mia
Teksti Faqe gjitha blu.
Butonin qëndron e njëjtë, sepse kjo është një input. Kjo nuk është tekst i pastër.
Por çdo gjë tjetër që është teksti, si CS50 Kërkimi deri krye, është në fakt blu.
Përsëri, të gjithë ne kemi bërë tani është hequr nga tag trupit, njoftim,
atribut stil, dhe ne kemi faktorizuar atë këtu.
Kjo nuk është një përmirësim i madh, por në qoftë se ne kemi marrë këtë hap më tej
njoftim se çfarë ne mund të bëjmë në këtë version të tretë këtu.
>> Në search3.html faqe është pothuajse identike
përveç për atë tag re tani?
Lidhje, kështu që kjo nuk është shumë me vend të quajtur
sepse ju nuk jeni lidhur në kuptimin e një hyperlink klikueshme.
Përkundrazi, ju jeni lloj i bërë ekuivalentin e C # përfshijë në
ku tag lidhja me një atribut href
dhe një atribut rel thotë të shkojnë përpara
dhe kopje ngjisni përmbajtjen e një file të quajtur search3.css të drejtë këtu, në thelb.
Ajo nuk ka fare të bëjë këtë, por kjo është fryma e saj.
Ajo thotë se të shkoni hapur këtë dosje, search3.css,
dhe trajtojnë atë sikur përdoruesi ka shtypur atë të drejtë këtu në krye të faqes
ashtu si kam bërë në shembullin e mëparshëm.
Search3.css, ndërkohë, është shumë e thjeshtë.
Ajo me të vërtetë vetëm përmban saktësisht se çfarë ishte një moment më parë
në tag stil, por kam faktorizuar atë këtu për dosjen e vet.
>> Edhe pse ne nuk kemi shpenzuar shumë kohë në të gjitha në HTML ose web programim
vetëm intuitive çfarë është motivimi, ndoshta, për factoring jashtë
kjo copë e vogël madje CSS në dosjen e vet
dhe pastaj duke përfshirë edhe atë me këtë tag Lidhje këtu?
[Përgjigja e padëgjueshme Student]
Mirë, kjo është më e lehtë për të lexuar në kuptimin që ju keni CSS tuaj në një skedar CSS.
Ju keni HTML tuaj në dosjen tuaj HTML, kështu që është më i lexueshëm në këtë kuptim.
Çfarë tjetër mund të jetë bindëse? Po.
[Përgjigja e padëgjueshme Student]
Yeah, kështu që ju mund të përfshijë atë shumë herë, kështu që tani që ne jemi duke bërë këto
shembuj themelore me fotografi individuale, por mendoj që ju jeni në të vërtetë duke e bërë
një faqe interneti të vërtetë si ju do të për pset 7 apo projekt përfundimtar ndoshta,
dhe ju dëshironi që të ketë webpages të shumta, siç është e zakonshme në siguri
Web aktual World Wide, dhe kjo do të jetë lloj i çalë
të ketë të kopjoni dhe ngjisni të njëjtën ngjyrë blu
dhe teksti njëjtën linjë qendra në çdo një prej këtyre faqeve.
Përkundrazi kjo e bën më shumë kuptim për faktor jashtë, ashtu si kemi bërë në C
me dosjen. h, e vënë atë në një vend qendror,
në këtë search3.css rast, dhe pastaj të lejojë ndonjë skedar
në faqen tuaj të vërtetë të përfshijë këtë dosje me anë të këtij tag këtu në linjë 16.
Si zakonisht është rasti, kemi filluar me versionin 0, cili lloj i punimeve
por nuk është domosdoshmërisht më të mirë, dhe me çdo hap,
Kërkim 1, kërko 2, 3 dhe tani kërkoni që ne kemi marrë këto hapa të fëmijës
drejt harton që janë të pastër dhe pak më përgatitore
për faqet më komplekse që ne mund të bëjmë poshtë rrugës.
>> Më lejoni të hapë një shembull të fundit këtu vetëm për të treguar
një faqe edhe më të stilizuar, por së pari le të shohim në HTML.
Kjo është search4.html, dhe vëreni se strukturalisht kjo është pothuajse e njëjtë
përveç për futjen e një tag të ri, div.
Div është një tag që prezanton një ndarje të faqes.
Ju mund të mendoj për këtë si një drejtkëndësh të padukshme.
Ai lloj i krijon një brez i kositur i zonës në faqen
që ju mund të stilizoj të gjitha përnjëherë.
Ajo që unë kam bërë këtu është si vijon.
Brenda tag trupin tim, i cili ka qenë atje të gjithë së bashku,
Unë jam duke thënë se të krijuar një ndarje të faqes këtu nëpërmjet linjave 45 deri 47,
dhe që do të thotë në thelb më jepni një drejtkëndësh padukshme përgjatë krye të faqes.
Pastaj më jepni një drejtkëndësh të dytë, megjithëse të padukshme, më poshtë se,
dhe për të identifikuar atë nga përmbajtja emrin, dhe pastaj së fundi,
më jepni një ndarje të tretë të faqes në fund
quajtur ID.
Ne do të shohim se pse e kam bërë këtë në vetëm një moment,
por konceptualisht Unë kam një ndarje header.
Unë kam një ndarje përmbajtje, dhe unë kam një ndarje futboll e faqes
edhe pse këto janë vetëm në Markup.
Ky përdorues nuk do të shoh 3 rectangles,
por lloj strukturalisht ka prapa skenave
ata janë të pranishëm në të vërtetë.
>> Tani, i cili kujdeset? Pse në të vërtetë e bëjnë këtë?
Çdo gjë tjetër në faqe është e njëjtë siç kemi parë më parë.
Këtu është forma ime. Ja input im, input ime, një pushim line dhe kështu me radhë.
Këtu është një imazh, edhe pse, kështu që ne do të shohim kur kjo erdhi nga në vetëm një moment.
Këtu është një futboll, i cili është i ri, vetëm sepse kam kërkuar për të futur
Përmbajtja e disa më shumë këtu.
Nëse ne lëvizni lart vëreni se ID e këtij div është header.
ID i këtij div është përmbajtje, dhe ID i këtij njërit është Fundfaqe.
Dhe si emri sugjeron, kur ju keni një atribut identiteti
në HTML, sipas definicionit duhet të identifikojnë unike
një nga elementët, një nga Etiketimet në faqen tuaj.
Barra është krejtësisht për ju të mbani mend se ju keni një ID header tashmë.
Ju keni një futboll. Ju keni një ID të përmbajtjes tashmë.
Kompjuteri nuk do të kuptoj se çfarë është një ID dispozicion është për ju,
kështu që ju mund të aksidentalisht jepni 2 etiketa një ID të header,
dhe se do të jetë vetëm e gabuar.
>> Ju duhet të mbani në mend atë që ju keni krijuar,
por sapo ju të keni bërë këtë njoftim se çfarë ne mund të bëjmë këtu.
Unë tani mund të specifikojë në tag tim stil në krye
ose ekuivalente në CSS dosjen time, në qoftë se unë isha ende duke përdorur atë version,
Unë mund të them # header, dhe se çfarë do të thotë është se çfarëdo tag
në këtë faqe ka një ID të header
dhe #, vetëm nga Konventa e njeriut, përfaqëson ID.
Shenja të mprehta ose paund shenjë përfaqëson ID.
Header është emri që unë i dha atë.
Kjo do të thotë të zbatohet këtë pronë CSS
për çfarëdo tag në këtë faqe mban një ID të header.
Marrëveshja same here.
Aplikoni këtë pronë, i cili ndodh të jetë i njëjtë, për çdo element
ID cilit është i kënaqur, dhe pastaj këtu poshtë
njoftimit kam marrë një pak njohës me futboll.
Çdo element të cilit ID është futboll, e cila nuk mund të jetë vetëm një nga definicioni,
të shkojnë përpara dhe të bëjë madhësia e saj të vogël font,
pesha e saj font bold, diferencë e saj 20 pixels.
>> Çfarë do të thotë kjo?
Kjo është vetëm një diferencë në krye, në fund, dhe majtës dhe të djathtës.
Kjo do të thotë më jepni një diferencë 20-pixel padukshme rreth saj
vetëm për të shtyrë çdo gjë tjetër larg nga ajo pak, si ju mund të bëni në Word,
Microsoft Word ose Pages apo si.
Dhe pastaj teksti align qendër.
Le të shohim rezultatin përfundimtar, dhe pastaj ne do të kthehemi deri në copëza e mbetur të një CSS atje.
Ky është versioni 4, e fundit tonë për shembujt e kërkimit, dhe kjo është shumë, shumë sexier.
Tani, në drejtësi, unë vetëm googled "google logo gjenerator font".
Dhe kjo lejohet mua për të krijuar një GIF, një format imazh, i cili duket sikur se ka.
Në fakt, ju mund ta bëni këtë shumë.
Ne kemi "Google gjenerator fonts logo."
>> Le të shohim nëse ne mund ta bëjmë këtë.
Mirë, unë mendoj se kjo është faqja e internetit kam përdorur.
Ne mund të themi KE 10, për shembull, dhe t'i bëjë ata të tyren.
Ju mund të luajnë me këtë ditë të gjithë të gjatë dhe pastaj right click mbi atë
dhe pastaj shkarko GIF aktuale, e cila është e gjitha që kam bërë.
Dhe vërtet, kjo është arsyeja pse në HTML time, kujtoj, mbi këtu
Unë kisha një etiketë imazh, i cili shkurtimisht pamë javën e kaluar
cilit burim është logo.gif.
Dhe çfarë ishte përsëri motivimi për të pasur këtë atribut alt,
Ky atribut alternativë?
Po.
[Përgjigja e padëgjueshme Student]
Mirë, kështu që 2 arsye të vërtetë, nëse shfletuesi nuk mund të tërheqë deri imazhin
sepse ju keni një lidhje të ngadaltë të rrjetit ose imazh është i korruptuar
ose diçka si kjo të paktën njeriut mund të shihni "CS50 kërkim,"
dhe pastaj edhe për arsye të aksesueshmërisë.
Nëse ju keni një përdorues i cili është i verbër dhe është duke përdorur një lexues ekran
dhe prandaj natyrisht që nuk mund të shohin imazhet ata mund te pakten
dëgjoni tekstin në qoftë se kompjuteri i tyre flet atyre.
>> Në përgjithësi, kjo është praktikë e mirë kur është fjala për qasjen e faqeve
në mënyrë që përdoruesit edhe në atë situatë mund të dëgjojnë ose shohin, kështu që të flasin,
çfarë është ajo që është në faqen tuaj.
Ka një gjë tjetër që kam bërë këtu
cila është një pak interesant, dhe ne do shih më shumë lidhje kjo në problemit vendosur 7
nëpërmjet njërit prej shorts drejtuara nga një nga Fellows mësimdhënies.
Por # Përmbajtja referohet tag
ID cilit është i kënaqur, por pastaj ka një karakter hapësirë, dhe pastaj nuk ka të dhëna fjala.
E pra, çfarë është interesante në lidhje me CSS është se ju mund të
referohen Etiketimet në një lloj faqja e hierarkike,
dhe atë që kjo copë e mjeteve CSS është gjetur tag
ID cilit është i kënaqur, dhe pastaj të zbatohet vetitë e mëposhtme
të gjithë tags dhëna që janë pasardhësit e përmbajtjes,
kjo është që janë prerë në brendësi të saj.
Gjurmë, përsëri, është e rëndësishme vetëm në kompjuter, jo të njeriut,
por nga Konventa ne porosit gjërat si të shkojmë më thellë në një faqe,
kështu që kjo do të thotë të aplikojnë një diferencë prej 5 pixel për çdo element të dhëna
që është diku brenda apo mbivendosur brenda
element i të cilit është i kënaqur ID.
>> Kush e bën që të aplikojnë për të?
E pra, nuk ka në fakt vetëm këto 2 djemtë këtu.
Vini re se brenda të formularit ka 2 inputeve,
si ka qenë për të gjithë këto shembuj.
Por njoftim se ato 2 inputeve të ndodhë që të mbivendosur brenda,
megjithëse pak të thellë, një çift i kryeradhës shtresa,
në brendësi të tag cilit ID është i kënaqur.
Çfarë do të thotë kjo?
Nëse ne do të shkojmë në shfletuesin këtu ju mund të shihni ndonjëherë në mënyrë pak-
më lejoni të zoom in-që ka një grimë mbushje mes butonin
dhe në mes fushën e tekstit.
>> Më lejoni që përkohësisht të kthehet off.
Më lejoni të shkoj deri në CSS e mia, dhe më lejoni të shkojnë përpara dhe vetëm
ndryshuar këtë diferencë prej 5 pixel në 0 pixels.
Më lejoni të shkojnë përpara dhe pastaj ruani skedarin, shkoni prapa në search engine
dhe rifreskoni, dhe të shikojnë mes të faqes.
Gjithçka u ngjeshur së bashku, dhe kur kam parë këtë shembull whipped up
Kam menduar se dukej budallallëk me fushën e tekstit dhe pastaj butonin menjëherë poshtë atë.
Unë të kërkuar për të pad atë pak, kështu që unë futur kufijtë.
Ajo që ne nuk do të bëjmë në leksion është të shkoni nëpër disa dhjetra
Pronat CSS se ekzistojnë, sepse, përsëri, nuk janë gjëra të tilla si madhësia e shkronjave,
pesha font, margin, text lidhur, dhe disa të tjerë duzinë,
dhe ne do t'ju rekomandojë në problemin vendosur për 7 tutorials ndryshme online
dhe referencat që ju lejon të marr këto gjëra deri.
Por ajo që është me të vërtetë e rëndësishme në fund të ditës
>> është për të kuptuar se si këto gjëra janë zbatuar.
Përsëri, në qoftë se ne kemi tag stil brenda të cilave
mund të shkoni selectors, lloj i identifikuesve që specifikojnë
për të cilin ju dëshironi të aplikoni këto prona,
dhe pastaj ju vënë prona si palë vlerë kyçe
ndarë nga një zorrë e trashë dhe përfundoi pastaj me një pikëpresje,
ose ju mund të shqyej të gjitha atë jashtë dhe e vënë atë në një skedar të veçantë CSS
vetvete.
Të gjithë të drejtë, ndonjë pyetje mbi konceptet
ose foto e madhe e CSS?
Ju do të shikoni përsëri më shumë nga ajo në pset 7,
por ne do të mbani atë në përgjithësi shumë e thjeshtë.
Jo? Dakord.
Është koha për një gjuhë programimi aktual,
dhe ne do kthehen tek një pak e CSS në formën e një shembull.
PHP është në fakt një gjuhë mrekullisht arritshme
në atë që është syntactically pothuajse ekuivalente me C.
Me fjalë të tjera, nëse ju e dini C, ju e dini për PHP pjesën më të madhe,
paktën syntactically, edhe pse ka disa karakteristika të reja
dhe disa koncepte të reja, ne do të duhet të shikoni në.
>> Por për pjesën më të madhe, tani që ne kalimi nga C për PHP
shumica e gjëra të reja është me të vërtetë në foto e madhe,
si ju përdorni një gjuhë për programin në Web në krahasim me
në command line ose në një keq të shpejtë siç kemi bërë deri tani.
Për referencë, veçanërisht me pset 7 dhe në vazhdim përfundimtare të projektit,
do të përfitojnë nga kjo URL këtu në qoftë se ju dëshironi të lexoni deri në formalitetet e PHP.
Është në fakt si një tekst falas online në mënyrë efektive,
dhe ju do të gjeni se çfarë është me të vërtetë e bukur për PHP
është se ka me qindra e funksioneve që vijnë me të,
ndërsa në C ju nuk domosdoshmërisht të kenë qasje në
Funksionet më shumë se ishin në bibliotekë matematikë, të CS50 bibliotekë.
Në PHP dhe një shumë prej gjuhëve moderne, Python dhe Ruby në mesin e tyre,
që ju të merrni qasje në kaq shumë funksione më shumë, që do të thotë që ju të merrni për të shkruar
Kodi shumë pak, sepse ju mund të qëndrojnë mbi supet e njerëzve të tjerë
që kanë shkruar tashmë gjëra të caktuara për ju.
>> Le të marrin një turne të shpejtë të sintaksës e PHP dhe pastaj shkruaj disa shembuj.
Çfarë është e bukur për të parë dhe më kryesorja PHP
po nuk ka funksioni kryesor.
Nëse ju doni të shkruani një program në PHP qe sapo filloni të shkruani kodin,
dhe ju nuk keni për t'u shqetësuar rreth kryesore.
Nuk ka asnjë int. Nuk ka kthim.
Nuk ka, argv argc që është e nevojshme kur ju shkruani programin.
Përkundrazi vetëm ju mund të filloni të shkruani kodin, dhe kjo është pjesërisht
sepse PHP është ajo që quhet një gjuhë interpretuar.
C është përpiluar, dhe ajo u përpiluar në kuptimin që ju të filloni
me kod burim, e drejtuar atë nëpërmjet tingëllimë, e cila është një përpilues,
dhe eventualisht pas disa numrin e hapave që ju të merrni kodin objekt, 0s dhe 1s.
PHP dhe Python dhe Ruby dhe Pearl dhe të tjerët
lloje të ndryshme të gjuhëve në të cilat ju nuk përpilojnë ato.
Ju nuk shkoni nga kodi burim për 0s dhe 1s.
Ju vetëm të drejtuar kodin burimor, dhe ju drejtuar kodin burimor
duke shkruar në një skedar teksti të zakonshme, duke i dhënë fund në. php në këtë rast
në vend të. c, dhe çfarë programi bën në kompjuterin tuaj
është ajo fjalë për fjalë interpreton linjë kodin tuaj duke rresht pas rreshti.
>> Me fjalë të tjera, në vend se të shkruani një program dhe të drejtuar programin
direkt ju në vend që të shkruani një program me një skedar përfundon në. php.
Pastaj ju drejtuar një program të quajtur php.exe aktuale, nëse ju jeni në Windows,
ose thjesht PHP nëse ju jeni në Mac OS apo Linux,
dhe ju ofrojnë si input për programin PHP kodin tuaj burim,
dhe qëllimi i tij në jetë është për të lexuar kodin tuaj të lartë në fund, e majta në të djathtë,
dhe çdo gjë që ju bëni kam thënë atë për të bërë.
>> Le të shohim se çfarë kjo do të thotë syntactically.
Në PHP kemi kushte.
Kjo rrëshqitje është identike me atë që ju pashë përsëri në 1 javë
sepse syntactically kushtet, IFS dhe IFS tjetër dhe tjetër në PHP
duken tamam si kjo.
Kur është fjala për shprehje boolean ata do të duken tamam si kjo.
Kur është fjala për anding gjëra së bashku si booleans ajo do të duken tamam si kjo.
Switches duken të njëjta, dhe ju merrni përfitimin shtuar në PHP
që ndizet në C vetëm mund të kaloni në një char apo Int.
Ju nuk mund të kaloni në një vlerë string.
Në PHP ju mund të vërtetë kanë një shprehje
që është një ndryshore përmbajtja e së cilës janë një varg,
dhe ju në fakt mund të bëni krahasimin varg në mënyrë të vërtetë intuitive,
Nuk krahasim akrep, me qëllim që të vendosë nëse do të bëjë apo rast unë j apo diçka tjetër.
Ne do të shohim se potencialisht para se të gjatë.
>> Sythe shumë mrekullisht janë të njëjta.
Për sythe kanë një initialization, një kusht, dhe disa numri i përditësime.
Ndërsa sythe gjithashtu ekzistojnë në PHP.
Bëni ndërsa sythe ekzistojnë edhe në PHP,
dhe vargjeve ekzistojnë në PHP, por këtu është ku fillon sintaksë për të marrë një pak më ndryshe,
por konceptet janë të njëjta, dhe konceptet me të vërtetë janë të njëjta
si ata ishin në javë me 0 Scratch.
Së pari dhe më kryesorja është $ shenjë.
Ky ishte një vendim i projektimit në PHP ku çdo variabël
në PHP nga dizajni fillon me $ shenjë.
Nuk ka asnjë më të X, Y, Z. Ajo është tani $ X, Y $, $ Z vetëm për shkak.
Kjo është diçka për të mbajtur në mend, dhe tani në anën e djathtë
kjo duket e ngjashme me një grup,
por ne jemi duke përdorur kllapa katrore këtu.
Në PHP dhe JavaScript, si ne do të shohim përfundimisht,
të deklarojë një rrjet që ju bëni kllapa katrore hapur dhe mbyllur kllapa katrore,
dhe atëherë ju keni një listë të ndara me presje e vlerave, nëse ints
ose strings ose karaktere, çdo gjë që ju dëshironi, brenda e asaj shprehjes atje.
>> Tani, si u bëjmë diçka si kjo në C?
Cili ishte sintaksë për statically deklaruar një grup të numrave të njohura?
Ajo ishte formatimin e teksteve kaçurrel, kështu që diferenca të vogla këtu, por në dy PHP
dhe përfundimisht JavaScript ajo vetëm përdor kllapa katrore, në mënyrë që me të vërtetë
detaje vetëm interesante këtu është $ shenjë për emrin e ndryshueshme
dhe gjithashtu kllapa katrore, dhe nuk është një gjë e çuditshme
që i janë hequr, si edhe në anën e majtë e shenjës =.
Çfarë është zhdukur që ne kemi qenë duke kërkuar për disa javë tani? Po.
[Përgjigja e padëgjueshme Student]
Madhësia, kështu që nuk ka asnjë përmendje të madhësisë së grup.
Sinqerisht, nuk ka përmendur kllapa katrore në anën e majtë
e shenjës =, dhe çfarë tjetër është zhdukur nga vija?
Po. >> [Përgjigja e padëgjueshme Student]
Lloji, kështu që çfarë është interesante në veçanti në lidhje me PHP
është që ajo nuk është një gjuha fort shtypen si C është,
dhe që është shtypur me forcë, në kuptimin që ju duhet të thoni char,
ju duhet të them int, ju duhet të them noton.
>> Çdoherë ju doni një ndryshore që ju duhet të tregoni se çfarë lloji tingëllimë saj është.
PHP është pak lazier.
Është shtypur lirshëm në kuptimin që
ju mund të keni gjithandej dhe karaktere dhe vargjet
dhe ints dhe kështu me radhë, por gjuha vetë
nuk ka të vërtetë kujdes atë që keni vënë në brendësi të një variable.
Ju nuk keni për të informuar atë më parë se çfarë lloji të dhënave
është duke shkuar në një ndryshore.
Kjo është plotësisht deri në ju, kështu që kjo është e bukur
në se ju nuk keni për t'u shqetësuar aq shumë për të dhënat e shtypur
dhe shqetësuese se çfarë argumentet tuaja dhe kështu me radhë.
Kjo gjithashtu do të thotë përfundimisht funksione në PHP do të jetë në gjendje të kthehen
ose një më të int e kohës, dhe ndoshta një herë në një kohë
ata do të kthehen një bool, një FALSE boolean, për shembull, për të ditur se diçka shkoi keq.
Kjo na jep disa upsides, por ajo gjithashtu do të na bëjë lloj i dizajnit nga
pak lazier kur është fjala për të dhënat e shtypur.
>> Çfarë tjetër është atje për të mbajtur në mendje këtu?
Variablat duken mjaft si kjo, kështu që $ s = "Hello, World".
Kjo është ndoshta nënkuptura për t'u ulur nga shembullin e mëparshëm,
dhe ne kemi një tjetër lloj lak.
Ky i fundit ne do të shohim në fakt një herë në një kohë që është mjaft i dobishëm,
a foreach ndërtimin.
Në këtë rast, lak foreach merr brenda kllapa e saj 3 fjalë tipike,
$ Diçka e parë, e cila është ajo array ju doni të iterate mbi anëtarët e,
pastaj fjalë fjalen si, dhe pastaj së fundi,
një tjetër emër ndryshueshme që ju të merrni për të zgjedhur.
Ajo mund të jetë foo, bar, apo element,
dhe çfarë e bën këtë konstrukt
është nëse $ array përmban 10 elemente
në çdo përsëritje të kësaj grup-keq, në çdo përsëritje të këtij lak
Elementi i quajtur variabël do të jenë të përditësuar
të jetë elementi i parë në grup, atëherë elementi i dytë në grup,
pastaj elementi i tretë i grup, duke obviating nevojën
për të bërë shënim pak bezdisshëm katror parantezë dhe
$ I në mënyrë që të indeksit në një rrjet.
PHP ka të gjithë atë punë për ju dhe në çdo përsëritje
vetëm duart ju element tjetër nga grup
pa ju pasur nevojë të dinë rreth ose kujdesen për vendndodhjen e saj numerike tregues.
>> Dhe pastaj në fund, tani për tani, nuk ka një tipar tjetër të PHP
që do të jetë jashtëzakonisht e dobishme, sidomos kur kemi filluar programimin në Web,
dhe kjo është e njohur si një grup shoqëruese.
Vargjeve që ne e dimë deri më tani si e 20 sekonda më parë
dhe për 8 javët e fundit janë të indeksuar numerikisht vargjeve,
lloj i vargjeve tradicionale ku indekset janë ints,
0, 1, 2, gjithë mënyrë më lart.
Vargjeve associative janë shumë më të fuqishme.
Ato ju lejojnë të ketë çelësat arbitrare,
indekset arbitrare dhe vlerat arbitrare.
Ndërsa në një grup tradicionale ajo është 0, 1, 2,
në një grup associative ju mund të ketë një indeks
ose një kyç i foo vlera e të cilave është bar.
Ju pastaj mund të ketë një tjetër emri i të cilit është kyç Baz dhe vlera e të cilave është qux.
>> Përsëri, emrat budallaqe shkenca kompjuterike generic ndryshueshme këtu,
por pikë është se ky grup nuk ka kllapa 0 ose 1 kllapa.
Është vend do të ketë parantezë parantezë foo dhe Baz.
Kjo është një shumë më të shkathët në atë që ne jemi duke shkuar të jetë në gjendje që të lidhen
Fjalët me fjalë të tjera, çelësat me vlera krejtësisht arbitrare,
dhe ne do të jetë në gjendje për të marrë ato vlera prapa në kohë konstante
sepse nën kapuç se çfarë një grup shoqerues
është me të vërtetë është një tabelë hash.
Kujtojnë se një tabelë hash ju lejon për të vënë në disa të dhëna
si të vënë në fjalë Davidit në qoftë se ju doni të futur Davidin në disa lloj fjalori,
dhe pastaj ju merrni mbrapa disa vlera tipike.
Në rastin e speller, e vërtetë apo e rreme.
David apo çfarëdo fjalë është ose nuk është në fjalor.
Një grup asociativ është me të vërtetë vetëm një tabelë hash,
por kjo është një mishërim më shumë përdorues miqësore për të.
Siç do të shohim, kjo do të na lejojë të bëjmë disa gjëra
shumë, shumë e lehtë.
>> Le të marrin një vështrim në disa PHP bazë
shembuj dhe shikoni se çfarë mund të bëjmë me këtë gjuhë.
Më lejoni të shkojnë përpara dhe të hapur deri në directory tonë burimor sot
një file të quajtur hello1.php.
Kjo skedë është komenti më shumë se ajo është kodi aktual,
prandaj më lejoni të vërtetë të hequr të gjitha komenteve nga dosja
dhe të pranishëm për ju ndoshta thjeshtë të programit PHP drejtë këtu.
5 linja, dhe disa prej atyre që janë të hapësirë ​​të bardhë,
kështu që të vëreni disa dallime kyçe këtu.
File quhet hello1.php.
Linja e parë, megjithatë, është <? Php.
Ngjashme në frymë të HTML,
se rend i karaktereve tregon kompjuter
"Hej, kompjuter, këtu vjen një program që ne jemi në në PHP."
Kjo e bën të sigurt se nuk është e hutuar se ajo është një gjuhë tjetër.
Linja 2 është një hapësirë ​​interesante bardhë.
Line 3 është miku ynë i vjetër printf,
këtë herë në kontekstin e PHP.
PHP ka versionin e vet të printf cila sillet njëjtë,
kështu që kjo është vetëm do të shtypura "Hello World,".
Dhe pastaj ky tag kundërta këtu?>, Thotë se është ajo për kodin PHP tim.
>> Le të shohim se si për të drejtuar këtë.
Unë jam duke shkuar për të shkuar mbrapa në dritaren time terminal këtu.
Unë jam duke shkuar për të shkuar në directory time PHP.
Vini re se ne kemi një bandë e tërë e dosjeve, i pari prej të cilave është hello.php.
Më lejoni të shkojnë përpara dhe për të drejtuar këtë hello1.php,, hyjnë.
Leja mohoi. Rregull.
Si e kemi fiksuar gjëra të tilla si kjo në të kaluarën?
Çfarë është ajo? >> [Përgjigja padëgjueshme Student]
Ne kemi nevojë për të lexuar dhe shkruar, por më lejoni të bëj ls-l.
Mbani mend këtë dalje disi fshehta ku hello1
duket të jetë i lexueshëm dhe të shkruhet nga mua
por i lexueshëm nga të gjithë të tjerët.
Kjo rezulton nga kjo në fakt nuk është një hap në drejtimin e duhur.
Dallimi, përsëri, me një gjuhë të interpretohet
është që ju nuk do të kandidojë programin direkt.
Ju në vend të drejtuar një përkthyes dhe dorëzojë atë kod
që ju keni shkruar kështu që mund të interpretojnë atë rresht pas rreshti.
Në këtë rast, përkthyesi apo program unë në fakt doni të drejtuar
fjalë për fjalë është quajtur PHP.
>> Diku në këtë hard drive e pajisjes nuk është një program
dikush tjetër shkroi quajtur PHP, ose në Windows php.exe.
Ajo që unë jam duke shkuar për të bërë këtu është që unë jam duke shkuar për të vërtetë të drejtuar PHP
por të japë atë si një argument command line kodin që kam shkruar,
dhe pastaj unë do të zoom jashtë dhe e goditi të hyjë.
Ajo shkon programin tim për mua, nga lart poshtë, e majta në të djathtë.
Më lejoni të shkoj përpara dhe të hapur një grindje të vogël të kësaj.
Në njoftimin hello2.php se kjo shumë
është kryesisht komente, kështu që më lejoni të shpëtoj nga ata si një çmenduri,
dhe çfarë është në mënyrë të qartë të ndryshme në lidhje me këtë dosje tani?
Nuk është kjo linjë e re, disi i fshehtë në krye.
Në linjë 1 është #! / Bin / php.
Bin është një konventë në Linux dhe Mac OS për binare,
kështu / bin do të thotë kjo është një dosje që përmban një bandë e binare
që është programuar, një nga të cilat është PHP.
#! është mbiquajtur mesele,
e cila është mënyra më e shpejtë për të thënë atë, dhe çfarë kjo do të thotë
është se kur ju drejtuar këtë program tani ka një aluzion në krye të file
që tregon se çfarë kompjuterin përkthyes për t'u përdorur.
>> Ajo merr pak i bezdisshëm, nëse keni pasur për të treguar përdoruesit tuaj dhe klientët tuaj
"Hej, ne shkruar këtë program të quajtur hello1.php."
Të gjithë ju duhet të bëni është të drejtuar përgjithmonë PHP dhe pastaj emrin e këtij programi.
Sinqerisht, kjo vetëm do të jetë nicer për të kandiduar hello1.php,
dhe në të vërtetë, ne mund të qoftë se ne bëjmë në vijim.
Më lejoni të shkojnë përpara dhe të bëjë ls-l, dhe njoftim në hello2 është ende vetëm lexuar shkruani
dhe pastaj lexoni lexuar, kështu që unë ende nuk mund ta bëjë këtë, hello2.php.
Por ne kemi prezantuar këtë ndonjëherë kaq pak kohë për herë të fundit, komanda chmod.
Nëse unë bëj një chmod + x, që do të thotë të gjitha përmbarueshmëria plus,
dhe pastaj hello2.php dhe pastaj do ls-l sërish njoftim se çfarë ndryshuar.
Një, Linux është treguar mua emrin e file në të gjelbër për të përcjellë idenë
se kjo ekzekutueshme, por më e rëndësishmja, në anën e majtë
vini re se pak përfaqëson X për ekzekutues tani është vendosur.
Çfarë kjo do të thotë që tani është që unë mund të kandidojë ./hello2.php si zakonisht,
goditur të hyjë, dhe për shkak të mesele në krye të dosjes
kjo është një aluzion, përsëri, për të Linux që thotë se
përdorni këtë përkthyes për të drejtuar këtë file.
Mos u shqetësoni detyruar përdoruesit të tipit të vërtetë atë.
>> Dhe ajo që është e bukur tani është lloji i parëndësishëm për klientët e mi, ose miqtë e mi
çfarë gjuhe kam shkruar këtë program në, kështu që unë mund të shkojë përpara me TM
dhe të riemërtoni këtë gjë për të hello2, për shembull.
Dhe tani, nëse unë bëj ./hello2
dhe zoom nga programi im vazhdon për të kandiduar.
Këto file extensions janë një konventë njerëzore që është e nevojshme
për diçka si tingëllimë dhe të bëjë që të shikoni për ta.
Por për PHP, unë mund të telefononi këtë gjë file extension dua.
Unë mund të gënjejnë botën në duke menduar se unë jam me të vërtetë mirë në Ruby,
dhe unë mund të shkruaj hello2.rb dhe pastaj të drejtuar këtë,
dhe voila, tani kam versionin rubin, e cila është një gënjeshtër plotë.
Por file extensions janë të pakuptimta
nëse skedari është i ekzekutueshëm dhe ka këtë aluzion të veçantë në krye të file.
>> Tani, si një mënjanë, më lejoni të ju tregojnë shpejt version 3,
e cila është një lloj mashtrim dobishme të dinë.
Në hello3 kam bërë diçka të gabuar pak
se unë do update online kodin burim.
Në versionin 3 rezulton se në shumicën e kompjuterëve Linux
ka një program të quajtur env për mjedisin,
dhe çfarë ju mund të bëni këtu është nëse ju nuk keni ide se ku PHP
është instaluar në hard drive lokale, sepse vërtet ajo mund të ndryshojnë bazuar në kompjuter
se dikush është duke përdorur, env vetëm thotë drejtuar env,
e cila është në shumicën e sistemeve, dhe të kuptoj se ku PHP është.
Vetëm një mashtrim të përbashkët në mënyrë që ju nuk duhet të shqetësohen për të gjetur se ku programi është.
Por në qoftë se ju bëni kujdes për të gjetur se ku është një program dhe ju nuk janë kujdesur deri më tani
ju mund të përdorni komandën e cila.
>> Më lejoni të zoom jashtë dhe lloji e cila php,
dhe vini re kjo tregon mua kjo është në të vërtetë në usr / bin / php.
Kjo është lloj i një gënjeshtër. Është gjithashtu në kazan.
Është vetëm tregon mua hit parë.
Nëse keni menduar ndonjëherë ku është tingëllimë, i cili tingëllimë, që është në usr / bin / tingëllimë,
të cilat e bëjnë, usr / bin / të bërë, dhe çfarë do të thotë se është e gjitha kjo kohë
ju mund të keni qenë të shtypur usr / bin / tingëllimë të hyjë për të kandiduar tingëllimë,
por kjo është lloj i lodhshëm për të bërë këtë, kështu që disa dosje
si usr / bin dhe bin supozohen të jenë defaults
kështu që kompjuteri di të shikoni në to për ju.
Çdo pyetje për të shkruar një super, super program të thjeshtë Hello World
në PHP dhe pastaj drejtimin e tij?
Sepse tani ne do të fillojnë për të futur sintaksë më bindës.
Të gjithë të drejtë, këtu ne do të shkojmë.
Këto programe që ne kemi parë në të vërtetë të gjitha ato para.
>> Nëse unë të hapur, për shembull, le të bëjë beer1.php,
ne nuk do të kalojnë nëpër disa versione të kësaj, por ajo që kam bërë
Unë u ula dhe ia derdhi vajin ose konvertuar
Kodi C ime për kodin PHP këtu.
Shumica e krye të file is deri këtu.
Ajo rezulton se ka një funksion të ri të quajtur linja leximi ne kemi nevojë.
GetString, risjell, nga 0 Java e tutje ishte një CS50 gjë.
PHP vjen me funksionin e saj vet user-friendly quajtur linja leximi
që merr 1 argument që specifikon shpejtë
se ju doni të tregojnë të përdoruesit, dhe çfarë e bën linja leximi
është ajo kthehet çdo gjë që përdoruesit lloje in
Në këtë rast, unë jam deklaruar një ndryshore të quajtur $ n.
Unë jam në atë ruajtjen e vlerës së kthimit të linja leximi
pas bërë përdoruesit me këtë varg.
Vetëm për të mbështetur, për të vërtetë të drejtuar këtë gjë, më lejoni të shkoj përpara
dhe të drejtuar beer1.php php.
Sa shishe do të ketë? Le të vetëm të bëjë këtë kohë 2.
Enter. Kjo është e gjitha.
>> Programi është funksionalisht identike me versionin e C javë më parë nga.
Por syntactically le të shohim se çfarë është e ndryshme.
Pasi kam marrë një int nga njoftimi përdorues që unë jam duke bërë disa kontrolluar gabim,
dhe nëse n është më pak se 1 kam lënë dhe unë të shtypura nga
një mesazh të keq për përdoruesit dhe dalje me 1.
Kjo shumë është pak më ndryshe.
Në C Çfarë kemi bërë? Në C kthyem 1.
Në PHP dilni me 1, që sinqerisht unë mendoj se është pak më shumë intuitiv
sepse ju jeni fjalë për fjalë programin e daljes.
Të gjithë të drejtë, dhe pastaj këtu poshtë këngë bezdisshëm është identike syntactically
me përjashtim të ndryshueshme, kështu që këtu poshtë në linjë 24 e tutje
njoftim tim për lak është pothuajse e njëjtë,
por unë kam $ në frontin e I dhe n,
dhe çfarë është gjithashtu mungon nga linjë 26 që ne kemi pasur në të kaluarën
kur shpalljen i ndryshueshëm?
Nuk ka asnjë lloji.
Kjo është e gabuar në PHP për të thënë int.
Ju thjesht nuk keni nevojë të bëni këtë.
Kompjuteri, PHP përkthyes është mjaft i zgjuar për të realizuar
se në qoftë se ju vendosni një numër në $ unë do të trajtojmë atë
si një numër për ju.
Dhe pastaj këtu poshtë kemi plug në $ i, $ i, $ i - 1.
Të gjithë e që është e njëjtë, dhe pastaj këtu poshtë bëjmë një "Wow, se është i bezdisshëm" printf
dhe pastaj dalje (0).
>> Përsëri, takeaway këtu është se edhe pse ne jemi duke shkuar për të shpenzuar relativisht
pak kohë në PHP, sigurisht kundrejt asaj që kemi bërë në C,
ajo është pothuajse e njëjtë, dhe kështu çfarë ne do të bëjmë sot dhe javën e ardhshme
dhe më tej është të përqëndrohet me të vërtetë në disa prej ideve të reja.
Vetëm për të parë se një gjë tjetër nuk përkthehet përsipër nga C,
kjo ishte një program super të thjeshtë që ne e bëmë në Javën e 1
ose 2 që cubed një vlerë.
Por ajo që ishte interesante në kohë në lidhje me këtë program është se ajo
paraqiti idenë e një funksioni me porosi me shkrim që ne vetë shkruante.
Sintaksa në PHP është pothuajse e njëjtë.
Ja programi im deri krye.
Njoftim përsëri mungon është çdo nocioni i kryesor.
Unë të filloni të shkruani kodin, dhe kjo është ajo që do të merrni ekzekutuar nga përkthyesi.
Unë të shtypura nga x 2 është tani, me sa duket.
Pastaj unë pretendojnë cubing ...
Pastaj unë e quaj funksion kubike dhe të kalojë në $ x
dhe të caktojë vlerën e kthimit në $ x.
Atëherë unë pretendojnë se kjo është Cubed, dhe atëherë unë them këtë, që shpresojmë se
do të thonë tani është x 8.
Sintaksa për funksionin në PHP është ndonjëherë në mënyrë pak ndryshe.
Përsëri mungon është lloji kthimit.
Përsëri mungon është lloji kthimit dhe gjithashtu mungon është se çfarë lloji tjetër?
[Përgjigja e padëgjueshme Student]
E pra, në rregull, kjo është e mirë. Le të kthehen në se në një sekondë.
>> Ne nuk kemi, për shembull, int këtu.
Ne nuk e bëjnë, për shembull, e kanë int këtu, sepse, përsëri, në PHP
ju thjesht nuk keni nevojë për të dhe nuk duhet ta bëjë këtë,
por nuk është kjo fjalen e re e quajtur funksion.
Në PHP është pothuajse pak më të qarta, sepse kur ju doni një funksion
ju thoni fjalë për fjalë funksion, ju t'i jepte një emër dhe më pas një listë të ndara me presje
në qoftë se ndonjë nga argumentet e saj.
Nuk ka nevojë për të thënë pavlefshëm ose diçka të tillë, dhe pastaj kthimi është i njëjtë,
$ A * $ a * $ a.
Çfarë është gjithashtu i mungon? Sammy vuri këtë këtu.
Në krye të file krejtësisht mungon në PHP gjithashtu është një prototip.
Kjo shumë është me dashje.
Gjuhë dhe përkthyesit si PHP janë të zgjuar se C ndonjëherë ishte
në hartuesit si tingëllimë.
>> Kujtojnë se tingëllimë, në qoftë se ju nuk e tregoni atë se kubike ekziston,
në qoftë se ju nuk e tregoni atë që printf ekziston si një prototip me
ose me nje # përfshijnë, gjithashtu, se do të bërtas me ju dhe as përpilojnë kodin tuaj.
PHP dhe gjuhë më moderne janë shumë të zgjuar, kur është fjala për këtë.
Ata do të marrin mbi vete për të lexuar nëpër të gjitha kodin tuaj
dhe pastaj bërtas në ju vetëm nëse ajo gjen askund kubike.
Kjo nuk ka rëndësi nëse kubike është në fund apo krye apo edhe në disa dosje të veçantë.
Gjuhët PHP dhe të ngjashme janë tani mjaft i zgjuar për të shikojmë përpara
në çdo gjë para gjykon si ju ka bërë një gabim.
Ku na çon kjo?
>> Le të bëjmë një shembull të fundit këtu në kushte,
dhe në qoftë se unë i hapur deri njoftim conditions2.php shumë
Sintaksa këtu është pothuajse e njëjtë.
Unë jam duke përdorur linja leximi vend të getString, por që linja është e njëjtë si më parë,
"Unë do të doja një numër të plotë ju lutem."
Unë pastaj të ketë një kusht, nëse, një tjetër në qoftë se, dhe pastaj një tjetër,
por funksionalisht ky program është edhe identik me atë që kemi bërë javë më parë,
kështu që në qoftë se unë të drejtuar këtë gjë, php e conditions2,
dhe unë t'i jepte një numër si 23 -
I kap një numër pozitiv. Nëse unë jap atë -1 unë kap një numër negativ.
Nëse unë jap se unë me të vërtetë kap 0 0.
Pra, kush kujdeset për të gjithë këtë?
Pra, një nga lloj fun e ushtrime këtu
për mua të paktën ishte për të shkuar mbrapa dhe shikoni se sa shpejt unë mund të zbatojë pset 5,
pset misspellings.
Kujtojnë se nuk ishte ky file i quajtur Shkruaj një fjalë,
dhe atje ishte një file i quajtur dictionary.c.
Ajo që unë kam qenë unë lloj i kaluar pak minuta dhe unë konvertuar kodin C
për kodin PHP, dhe ne nuk do të shpenzojnë shumë kohë në speller
sepse ashtu si në pset 5 ju nuk duhet të vërtetë për të
kalojnë shumë kohë në speller vetë, sepse vëmendja juaj ishte në fjalor.
>> Mjafton të them se në qoftë se ju lexoni me anë të speller,
Vlerësoni këtë fotografi këtu, kjo është shumë e shumë të barabartë me kodin C
kemi dhënë ju për pset 5.
Unë kam shtuar vetëm disa $ në vende.
Unë kam ndryshuar emrat e disa funksion, nëse ata nuk ekzistojnë në PHP.
Ka një gjë tjetër këtu, preg_match,
e cila është mënyra më pak njohës të bërë diçka, por ne do të kthehen me atë përfundimisht.
Por në të shkurtër, speller është pothuajse identike, dhe në qoftë se ju shikoni në fund shumë
ajo përfundimisht pështyn jashtë është kjo këtu,
fjalë misspelled, fjalë me fjalë, fjalor në tekst.
Të gjithë të drejtë, kështu që çfarë është interesante tani është në vijim.
Në krye të dosjen time unë jam duke kërkuar dictionary.php.
Ashtu si C # ka përfshirë PHP ka një funksion të veçantë të quajtur kërkojnë
që shumë e shumë të bën të njëjtën gjë, të kërkojë një skedar të quajtur dictionary.php.
Si mund të shkoj në lidhje me zbatimin e pset 5?
Më lejoni të shkoj përpara dhe të hapur një skedë këtu.
Më lejoni të marrë një referencë pak këtu.
Dhe më lejoni të krijoni një skedar të ri dhe të fillojnë duke e quajtur këtë dictionary.php.
Më lejoni të vënë atë në një tjetër dosje kështu që ne mund të bëjmë këtë jetojmë.
Dhe tani unë do të zoom in
Unë jam duke shkuar për të filluar dosjen time PHP me kllapa hapur php mbyllur kllapa.
Dhe pastaj këtu ka pasur disa funksione që unë e nevojshme për të zbatuar për pset 5,
kështu që më lejoni të filloj zbatimin e disa prej atyre,
kështu që kontrolloni funksion, i cili kishte për të marrë një fjalë në si një argument.
Ne do të bëjmë që dhe të vijnë përsëri në atë në një moment.
>> Nuk ishte ngarkesës funksion, i cili mori në atë si argument?
Fjalor, kështu file që unë në fakt donte të ngarkesës.
Nuk ishte madhësia funksion, i cili nuk ka marrë ndonjë argumente
dhe nuk kishte funksion-çfarë ishte tjetër?
Shkarkoj, i cili nuk ka marrë ndonjë argumente ose.
Këto janë 4 funksionet që unë do të duhet për të zbatuar tani në PHP,
dhe atë që unë jam duke shkuar për të bëni është të shkoni përpara dhe të bëjë këtë.
Një shumë prej jush përdorur një tabelë hash në pset 5,
kështu që le të shkoj përpara dhe të krijojë një tabelë hash në PHP.
Bërë.
Kjo më jep një tabelë hash. E pra, pse?
Një, quhet ndryshueshme $ tavolinë, vetëm për të sjell në mendje deri idenë e një tabelë hash.
Kllapa katrore, megjithatë, kujtoj, përfaqëson çfarë?
Një grup, por në vargjeve PHP nuk duhet të jenë të indeksuar numerikisht.
Ata gjithashtu mund të jenë të vargjeve associative,
që do të thotë që ju mund të keni çelësat arbitrare dhe vlerat.
>> Pjesa më e madhe si në pset 5, atyre prej jush që e bëri Implementimi hash tryezë
ndoshta keni futur fjalën dhe pastaj futur atë në një zinxhir të listave të lidhura,
ose ju ruajtur vlerën e vërtetë diku apo diçka për këtë qëllim.
Ju disi mend faktin se fjala ishte aty.
Tani për tani, kjo do të jetë tryezën time hash,
dhe kështu që tani për të shkuar në lidhje me zbatimin e funksionit të kontrollit
Unë vetëm duhet të shikoni brenda asaj tabelës hash
dhe të shohim nëse një fjalë është atje.
Ajo që unë jam duke shkuar për të bërë është që unë jam duke shkuar për të thonë se nëse-
le të themi isset, i cili është një funksion PHP që fjalë për fjalë do të thotë vetëm është vendosur kyç,
kështu isset ($ table [$ fjalë],
dhe nëse po kthehen vërtetë.
Kjo ishte. Kjo është pset 5 në PHP.
E pra, në drejtësi, në rregull.
Kthimit të rreme tjetër, kështu që nuk është atje.
Çfarë është me të vërtetë ndodh këtu?
E pra, nëse tavolinë apo tabelë hash-këtu më në përgjithësi,
është një grup shoqerues që do të thotë që ju mund të indeksit në të
me një fjalë si "fjalë", dhe ju duhet të merrni mbrapa disa vlera.
>> Ne jemi lloj të marrë një hap përpara nga vetja.
Ajo do të jetë mirë në qoftë se llojin e ne fakt ngarkuar skedarin e parë,
kështu ngarkesës nuk është mjaft e thjeshtë, por më lejoni të shkoj përpara dhe nxit
një zbatim të vërtetë të shpejtë të ngarkesës.
Më lejoni të shkojnë përpara dhe të thonë fjalët e merr fjalorin file.
Funksioni fotografi në PHP hap një skedar
dhe ju kthehet në një koleksion të të gjitha fjalë në këtë dosje,
vetëm duart e tyre për ju.
Kjo ishte një dhimbje e madhe shumë, nuk është ajo?
Tani foreach, kjo është ndërtimin tonë të re, foreach ($ $ fjalë si fjalë).
Kjo lak do të fillojë iterating mbi fjalët array
dhe të caktojë për variablin $ fjalës çdo fjalë në dosjen
nga e para të dytë të tretë të katërt gjithë rrugës
kështu që unë nuk duhet të bëjë bezdisshëm [I] simbol dhe si.
Dhe atë që unë jam thjesht do të bëni për secilin nga këto fjalë
është ruajtur atë në tryezën time, duke indeksimit në tryezë
dhe pastaj duke bërë vërtetë, sepse për të kujtuar
se një fjalë është në fjalorin tim të gjitha unë me të vërtetë duhet të bëni
është lloj i shfletoj pak dhe thonë se kjo fjalë në tryezën time hash është atje, e vërtetë.
Dhe në qoftë se kjo nuk është atje, unë nuk kam për të vënë në mënyrë eksplicite të rreme,
përndryshe unë do të keni për të vënë të rreme për të gjitha fjalët e mundshme në univers.
>> Kjo mjafton për mua vetëm për të vendosur një vlerë indeksi
të vërtetë nëse një fjalë në fakt është në tryezën time hash.
Tani, unë jam duke prerë një çift të qoshet këtu se unë do të tundë duart e mia në për tani,
por tani funksioni ngarkesës është bërë.
I ngarkesës të gjitha fjalët nga skedari në një rrjet.
Unë iterate mbi atë grup, dhe për çdo fjalë në rrjet
Unë plug it në tryezën time hash me 1 linjë të kodit.
Kjo është e bukur. Ti e di se si ne mund të zbatojë masën tani?
E pra, madhësia është gjithmonë shumë e lehtë, në drejtësi.
Këtu ne vetëm mund të kthehen numërimin e tabelës.
Kjo është goxha e lehtë shumë, të numëruar numrin e gjërave në tabelë.
Kjo është lloj i vërtetë nuk më efikase.
Unë ndoshta duhet të ketë një madhësi të ndryshueshme quajtur kështu që ne mund të bëjmë atë
në kohë të vazhdueshme, por kjo është goxha e lehtë.
Oh, dhe pastaj zbraz, në qoftë se ne të vërtetë duan të jenë të anal këtu
mund të themi se është se si ju të shkarkoj diçka.
Ju vetëm të vendosur ndryshoren barabartë me një rrjet të zbrazët,
dhe ajo merr shpëtoj nga gjithçka që ishte atje.
Nuk ka nevojë për të thirrur të lirë.
>> Përsëri, unë kam shkurtuar disa qoshe, dhe unë kërkoj falje për të vendosur caktimin e problemit 5
ndoshta në C, por në qoftë se ne tani të shkojnë përpara dhe për të drejtuar këtë,
Unë jam duke shkuar për të drejtuar versionin e vërtetë që kam shkruar më parë
vetëm kështu që unë nuk kam bërë ndonjë gabime syntactical whatsoever.
Më lejoni të shkojnë përpara dhe të drejtuar speller. Përdorimi është i njëjtë.
Këtu është një fotografi e cila sapo fjalor përmban foo fjalë.
Këtu është një file teksti që përmban vetëm foo bar.
Le të spell check këtë, speller kështu, duke përdorur këtë skedë në këtë fjalor skedar teksti.
Ka një fjalë misspelled, bar, dhe voila.
Bërë me pset 5.
Le të marrin një pushim 5-minutëshe këtu, dhe ne do të kthehen dhe më shumë në PHP.
Të gjithë të drejtë, ne jemi të kthyer.
Le të mos-urrejnë për një kohë.
Le të shohim nëse tani në fakt kjo nuk ishte një pozitiv
në fakt zbatimin e këtë gjë në PHP.
Dhënë, ai mori 45 sekonda për të zbatuar.
>> Por le të shkojnë përpara dhe të drejtuar gjëra tani.
Më lejoni të shkojnë përpara dhe për të drejtuar një version C
i speller, dhe ne do të drejtuar atë në një prej dosjeve mëdha,
cila është King James Bibla.
Dhe që këtu është-le të shkojnë në dosje C tonë,
speller në King James 5.
Një shumë e fjalë misspelled.
Mirë, kështu që është prodhimi ju ndoshta mori edhe nëse kohët janë pak më ndryshe,
në qoftë se ju mori gjithçka punon si duhet, dhe kështu që është koha në total për të spell check
James Mbreti Bibla ishte 0,38 sekonda, në mënyrë mjaft të mirë duke përdorur se zbatimi.
Tani më lejoni të shkoj në versionin PHP, të cilat ne vetëm shkruante.
Më lejoni të drejtuar speller në King James.
Uh, injorojnë atë gabim. Unë jam në directory gabuar.
Speller në King James 5.
Bërë gati.
>> Mirë, vëzhguesi i zgjuar do të kuptojë se ishte më shumë se 3 sekonda atje.
Kjo është koha e vërtetë running.
Ajo rezulton se kjo merr kohë për të nxjerr shumë të tekstit jashtë
për shkak të buffering çështje, por histori të gjatë të shkurtër,
që ishte 3.15 sekonda të kohës, koha makinës CPU,
kundrejt asaj ishte një moment më parë?
Ashtu si 0,3.
Unë do të thotë, është një urdhër i madhësisë ngadalshëm, kështu që ku është
Ngadalësimi qesharake që vijnë nga?
E pra, siç ka qenë rasti me vendimin më ndonjë dizajn që kemi bërë
në klasë gjatë 9 javëve të fundit ka pothuajse gjithmonë këtë tradeoff.
Ndonjëherë vetëm në mes të hapësirës, ​​nganjëherë në mes të hapësirës dhe kohës,
, hapësirë ​​kohë dhe përpjekje të zhvillimit, dhe në të vërtetë këtu, edhe pse
kemi ruajtur një sasi të madhe të kohës, ndoshta potencialisht 10-20-30 orë
e kohës për zbatimin e zhvillimit spell checker
nga kurbanit atë në vetëm 45 sekonda me këtë gjuhë
çmimi që ne të paguajë është se ajo është një urdhër i madhësisë ngadalshëm si rezultat,
dhe kjo në përgjithësi është rasti me gjuhën më të madhe çdo interpretuar,
PHP, Python, Ruby, Pearl ose të tjerët ku
nëse ju jeni duke shkuar për të drejtuar atë nëpërmjet një përkthyesi dhe kanë lexuar kodin tuaj
rresht pas rreshti, nga lart poshtë, e majta në të djathtë,
që ndërmjetës do të marrë disa kohë për të vetin,
dhe atë që ju u ndjenjë këtu në 3 sekonda, në krahasim me 0,3 sekonda
është fakti se nuk është ky ndërmjetës i cili ka fjalë për fjalë interpretuar kodin tonë
rresht pas rreshti, dhe Perëndia ndalon nëse ju jeni në brendësi të një lak
me një fotografi të madhe që përmban qindra e mijëra fjalë.
>> Kjo lart do të shtoni deri dhe të shtoni deri dhe të shtoni deri dhe të shtoni deri.
Për një mjet si kjo nuk është ndoshta gjuha e mira për të përdorur për zbatimin e
a spell checker nëse menjëhershme është në interes të përdoruesit tuaj dhe për ju.
Por luksoze ne kemi në një moment është në qoftë se ju
përdorin një gjuhë si PHP ose një shumë të gjuhëve interpretuar
në kontekstin e Web, për këtë çështje, ju keni dobi
se në internet është shumë më e ngadalshme se shumicën e kompjuterëve.
Ju keni një CPU GHz në kompjuterin tuaj, 2 GHz, ndoshta edhe më shumë këto ditë.
Por realiteti është në internet ka një sasi të lartë të fshehtë
ku për një shfletues të bisedoni me një server, edhe pse pamë javën e kaluar
se kjo është goxha e shpejtë, një gjysmë Millisekonda apo më shumë,
shton se shumë lart, dhe nëse ju jeni të shkarkimit gjëra të tilla si një imazh
apo një foto Facebook ose marrjen e mesazheve të menjëhershme mbi kërcëllimë Facebook,
Gchat apo të ngjashme, të gjitha këto vajtje-ardhje herë
midis shfletuesit dhe server fillimit të shtoni deri,
gjë që e bën zgjedhjen tuaj të veçantë të gjuhës në shumë raste
jo të gjithë që e rëndësishme, kështu që ju jeni mirë duke përdorur një gjuhë pak më e ngadalshme
si PHP ose Python Ruby ose
por për të cilat nuk janë upsides madh për ju dhe kolegët tuaj
dhe miqtë tuaj, sepse ju mund të zbatojë gjërat kështu, në mënyrë shumë të shpejtë.
Dhe për më tepër, ju keni rrezik shumë më pak të meta të sigurisë të caktuara.
Nuk ka pointers në PHP.
Nuk ka gabime seg që ju lehtë mund të nxisin
në të njëjtën mënyrë që ju mund të në C.
Me C se ju jeni super në afërsi të hardware.
Me gjuhë PHP dhe të ngjashme ju jeni lloj i nivelit të lartë, në mënyrë që të flasin,
me një shumë prej mbrojtjes midis jush dhe çfarë është në të vërtetë ndodh
brenda makinës, dhe kjo është vetëm një tradeoff.
>> Ne kemi marrë deri në pikën e të pasurit më moderne, këto gjuhë të nivelit të lartë
si PHP për shkak të mësimeve të nxjerra në gjuhët PHP si në C.
Por në qoftë se ju nuk e kuptoni atë që është në vazhdim e sipër nën kapuç gjithë këtë kohë
ju me siguri nuk mund të bëjnë vendime të drejta projektimit,
dhe sigurisht kur vjen puna për të punuar në një vend si Facebook apo Google
apo ndonjë nga këto vende që janë gjithnjë e duke luajtur me të dhëna të mëdha përcakton
edhe në qoftë se ju shkoni mbrapa dhe mos premed dhe janë duke punuar me disa MD
në disa të dhënave të mëdha vendosur që përfshin pacientët dhe mjekët
dhe si duke përdorur mjetet e drejtë është jashtëzakonisht bindës
sepse përndryshe analiza tuaj të disa të dhënave mund të marrë sërë sekonda,
ose ajo mund të marrë fjalë për fjalë orë.
Ky është vetëm një shembull, për të mos irrituar me përpjekje sa më shumë
ajo ishte në C, por për t'ju ndihmuar të vlerësojmë se kur ju bëni diçka të zbatojë në C
ju me të vërtetë kuptojnë, ose në teori, të vërtetë kuptojnë
se si çdo gjë është ose duhet të punojnë, dhe ju keni kontroll pothuajse të plotë
mbi atë që po ndodh nën kapuç, dhe me këto gjuhë të nivelit të lartë
ju duhet të heqë dorë nga kontrolli më shumë për njerëzit që shpiku ato
dhe i nënshtrohen më shumë për vendimet e tyre të projektimit se tuajat.
Por në qoftë se ne kemi marrë për të dhënë se performanca
nuk është mjaft aq i rëndësishëm në Web për shkak të këtyre çështjeve të tjera,
vetëm me shpejtësi të rrjetit janë pak të ngadalshëm se sa CPU shpejtësi gjithsesi,
kështu që ne mund të lloj të përballojë për të përdorur një gjuhë pak më të ngadalshme
nëse upsides janë gjëra që ne mund të zhvillojnë 10 herë më të shpejtë, ose edhe më shumë.
>> Le të shohim se si ne mund të filloni duke përdorur këtë.
Më lejoni të shkoj në një dosje
ndër shembujt e sotme quhet frosh.ims,
dhe kjo ishte në fakt i motivuar personalisht nga fakti se gjëja e parë
Kam shkruar për Web vjet më parë pas marrjes CS50 dhe CS51
ishte një website për programin IMs Frosh, sportive fillestar i brendshëm,
e cila në atë kohë kjo ishte vjet mjaft parë se në kohën
nuk kishte faqen e internetit për programin, edhe pse ka pasur një Web,
dhe në vend ka pasur një Proctor në Wigglesworth ku në qoftë se ju të kërkuar
të regjistroheni për volejboll ose futboll ose çfarëdo që ju do të plotësoni një copë letër.
Ju pastaj do të ecin nëpër oborr.
Ju pastaj do të trokasin në derën e tyre dhe rrëshqitje në derën e tyre, ose dora në Proctor
një copë letër me emrin tuaj në të, ose nëse nuk ju duan të jenë një kapiten i ekipit,
atë sport që ju të kërkuar për të bërë, dhe çfarë ju keni qenë fjetore in
Ajo ishte lloj i një mënyrë të shkollës së vjetër të bërë gjëra, dhe kjo ishte një kryeministër
mundësi për të Automate një shumë të këtij procesi.
Ju thjesht shkoni në faqen e internetit. Ju shkruani diçka in
Ju merrni një konfirmim email, dhe bum, ju jeni bërë.
>> Kjo ishte gjëja e parë që kam bërë, megjithëse në një gjuhë quajtur Pearl,
por është relativisht e lehtë për të bërë në PHP, dhe kjo është lloj i përfaqësuesit
nga problemet që ju mund të filloni zgjidhjen, kur ju mund të shprehin veten
programuar dhe nuk duhet të mbështetet në gjëra të tilla si faqet e Google
ose Excel ose mjete që janë dorëzuar për ju.
Ju djema tani kanë mundësinë për të bërë gjëra të tilla si kjo.
Ky është një version super e shëmtuar e një formë,
por le të vetëm e përdorin atë për fillimin e bisedës ku kjo është e
afërsisht çfarë forme dukej si vjet më parë për ne
për të mundësuar njerëzit në Web për të nënshkruar për Frosh IMS.
Ne kemi kërkuar për një emër, një checkbox për të nëse janë apo jo ata dëshironin të jenë kapiten,
mashkull apo femër, dhe pastaj atë që ata ishin në fjetore,
dhe atëherë ata do të paraqesin këtë formë.
Le të shikojmë të parë nën kapuç në HTML që përfaqëson këtë faqe.
Më lejoni të shkoj në froshims0,
dhe si një mënjanë, për pset 7 Unë jam duke marrë për të dhënë
drejtoritë dhe dosjet që unë jam vënë gjërat in
Ne do të ecin ju nëpërmjet saktësisht se ku stuff ka për të shkuar në aplikim,
i cili urdhëron mod ju keni për të kandiduar, kështu që mos u bëni merak për të gjithë të
Detajet budallaqe syncing në nga get-go këtu.
>> Të gjithë të drejtë, këtu është froshims0.php.
Më lejoni të lëvizni poshtë, dhe çfarë është kurioz këtu,
kjo është një fotografi PHP, por ajo që është në brendësi të saj, në mënyrë të qartë?
Kjo është një tërësi shumë të HTML, dhe në të vërtetë, origjina e php
me të vërtetë kanë qenë për të qenë një Web-centrike gjuhë.
Një moment më parë ne kemi përdorur atë për të zbatuar shembullin birrë,
kushtet shembull, shembulli Përshëndetje, dhe kjo është në rregull.
Ju mund të përdorni PHP si gjuhë e shkruar
ku një dorëshkrim është në të vërtetë vetëm nomenklatura dhënë një program të shpejtë dhe të pista
apo diçka që ju shkruani në një gjuhë shkruar një ose më në përgjithësi interpretuar.
PHP është super e dobishme për shkak se ju keni parë se sa shpejt
relativisht ne mund të nxit programe në PHP.
Por ajo është projektuar të vërtetë për t'u përdorur për Web,
dhe i projektuar për Web në kuptimin që vërejnë deri këtu në krye të dosjes
Unë të fillojë me <? Php.
Atëherë unë kam një bandë e komenteve padobishme, të dhëna, por pastaj unë mbyll mënyrën PHP.
Por pastaj unë të bjerë në mënyrë të HTML.
>> Çfarë është interesante në lidhje me PHP është edhe pse përfundon në fotografi. Php
ajo është menduar në përgjithësi për të bashkë-përzier me HTML,
Kodi PHP disa, disa HTML.
Dhe ne do të shohim në fund se ne mund të fillojë të bezdis ata përveç
dhe për të mbajtur të ndara nga PHP HTML tonë tone krejt,
por origjina e PHP vërtetë ishin të ju jap këtë fleksibilitet,
se në qoftë se ju doni disa HTML shkruani vetëm atë, dhe që do të jetë
nxjerr nga goja identike të shfletuesit.
Por në qoftë se keni nevojë për disa teknika programimi,
Kodi disa programimi, ju gjithashtu mund të vënë atë në dosjen e saktë të njëjtën, si ne do të shohim së shpejti.
Ja HTML im.
Unë kam marrë një titull nga kjo për Frosh IMS.
Unë kam marrë një tag trupit i cili ka marrë disa CSS mbi atë për çdo gjë qendër në mes,
dhe pastaj poshtë këtu kam një formë e cila me sa duket do të dorëzohet
në një skedë të re të quajtur register0.php, kështu që ne do të shohim se në një moment.
Është përdorur një metodë të quajtur mesazhin, të cilin ne do të kthehen për të si.
Atëherë unë kam disa inpute formë, një emër i quajtur, të cilit lloj është teksti,
një emri i të cilit është kapiten, të cilit lloj është checkbox,
dhe kjo, ne nuk kemi parë atë më parë, por kjo e bën pikërisht atë që ajo thotë.
Ju do të merrni një checkbox në vend të një kuti teksti.
Poshtë këtu ju keni një buton radio, e cila është një nga ato butonat rrethore
që ju të mund ta zgjidhni këtë një ose se një.
>> Vini re se është e qëllimshme që i dha të dyja butonat e radios emrin e gjinisë.
Kjo është se si ju të merrni përjashtimin reciprok ku ju duhet të klikoni
ose kjo një ose se një, dhe nga klikuar tjetër
ajo unchecks të tjera, kështu që ju duhet për t'i dhënë atyre të njëjtin emër
në qoftë se ju duan ata të jenë reciprokisht ekskluzive si kjo.
Dhe pastaj për konvikt, unë nuk mendoj se ne kemi parë këtë, por kjo është një menu zgjidhni, një drop-down menu.
Tag për këtë është zgjedhur.
Ju pastaj jepni drop-down menu një emër,
dhe atëherë ju keni një bandë e tërë e këtyre opsioneve.
I pari, vetëm për estetikë, është një varg bosh.
Unë vetëm të kërkuar për të drop down jetë bosh nga default,
dhe pastaj ka Apley, Canaday, Grays, dhe kështu me radhë.
Dhe njoftim dikotomi këtu.
Opsioni në drop down ka një vlerë,
por pastaj ajo ka një emër njeriut-miqësore, e cila në këtë shembull
është identike, por në qoftë se ne të vërtetë donte të jetë anal që ne mund të kemi
vlera e këtij drop down jetë vetëm short version,
Grays, por ne mund të vërtetë të them se Grite Hall njerëzore në fakt e sheh,
por kjo nuk është e gjitha se interesante, kështu që unë vetëm mbajtur atë të thjeshtë dhe i bëri ata identike.
Pastaj poshtë në fund kemi një buton Submit
që kemi parë më parë, por vini re unë vetëm ia dha një fjalë të ndryshme.
Në vend të kërkimit CS50 I dha etiketën "Registrohu".
>> Rezultati përfundimtar është ky webpage këtu, dhe përsëri,
ku e bën këtë për të marrë dorëzuar?
Ajo merr dorëzuar për disa dosje, vlera e atribut të veprimit,
e cila ishte register0.php.
Le të shohim se çfarë në të vërtetë ndodh këtu.
Më lejoni të shkojnë përpara dhe të plotësoni këtë formular, thonë David,
mashkull, Matthews, dhe pastaj unë do të them regjistroheni.
Më lejoni të zoom jashtë dhe klikoni regjistroheni.
Mirë, kështu që lloj i kotë, por le të shohim se çfarë është në të vërtetë ndodh.
Vini re se URL ka ndryshuar të jetë register0.php.
Çfarë është interesant mungon nga URL, edhe pse, edhe pse ne vetëm dorëzuar një formë?
[Përgjigja e padëgjueshme Student]
Mirë, kjo është vetëm përdorues miqësore Chrome qenë këto ditë.
Kjo është në fakt atje. Ata vetëm fshehur atë për të ruajtur hapësirën.
Por mendim të mirë, mendim të mirë.
Drejt anën tjetër URL, pse, çfarë mungon? Po.
[Student] string query.
String query, kështu që kujtoni nga shembuj të thjeshtë tanë kërkimit Google.
Sapo kam klikoni butonin paraqesë URL
mori mua në Google, por pastaj nuk kishte? q = shkenca kompjuterike ose çfarëdo kisha shtypur in
Kjo është për shkak se ne kemi përdorur metodën e merrni me shembullin e kërkimit.
>> Këtë herë ne jemi duke përdorur çfarë metodë në vend?
Post, dhe një nga dallimet e menjëhershme
mes të merrni dhe pas është se pas nuk ka vënë kontributin e përdoruesit në URL.
Ajo fsheh atë. Ajo ende dërgon atë.
Në fakt, ajo që ne jemi duke parë në shfletuesin këtu, pasi ne do të zbulojë në një moment
duke shikuar në register0, po unë jam vetëm duke parë përmbajtjen
e grup që janë dorëzuar nga shfletuesi në server.
Por URL nuk ka?, Nuk ka asnjë fjalë kyçe
ose vlerat në të, dhe pse është kjo?
E pra, post ju lejon të paraqesë ende të dhënat nga një server në formë,
por nuk e vënë atë në URL, kështu çfarë lloj informacioni është pas
veçanërisht e përshtatshme për ndoshta kur jeni duke i kërkuar përdoruesit të
shkruani input në formë?
Diçka si një fjalëkalim, diçka si çfarë tjetër?
Numrat e kartës së kreditit.
Çdo gjë që është e butë të ndjeshme që ju ndoshta nuk dëshironi mbaron deri në URL
në qoftë se vetëm për shkak se kjo do të thotë shokun tuaj apo anëtar i familjes mund të këndoj vetëm nëpërmjet
historia juaj e internetit dhe pastaj fjalë të shihni fjalëkalimet tuaja,
fjalë për fjalë të parë kartën tuaj të krediti numrat sepse shumica e shfletuesit
mend në historinë çfarëdo URLs ju keni qenë në,
kështu që në qoftë se vetëm për shkak se do të ishte një ide e keqe.
Përdorimi fsheh Postimi se detaje nga përdoruesit.
>> Gjithashtu, si mund të ngarkoj një foto në Facebook?
Mirë, vetëm 2 mekanizma të vërtetë ju mund të përdorni,
edhe pse ka një ato pak të tjera më misterioze, është marrë dhe pas.
Si mund të ngarkoj një foto mundësisht me anë të një URL?
Ju në fakt mund të bëjë atë.
Ju mund të merrni një JPEG ose GIF ose bitmap dhe ju mund të përfaqësojnë atë në heksadecimal
ose diçka që quhet bazë 64.
Në vend të bazës ju përdorni 16 64 bazë, e cila në thelb duket si
Karaktere ASCII, dhe ju mund të vërtetë të ngarkoj një foto me anë të një URL
pas një pikëpyetje, por ka kufizime në përgjithësi madhësia.
Shumica e shfletuesit detyrojë URLs të jetë jo më shumë se 1.000 karaktere,
ndoshta 2.000 karaktere apo si, kështu që ju nuk mund të ngarkoni
një 10 MB Facebook photo.
Për të cilat ju përdorni post si edhe, kështu që tani për tani të merrni vë parametrat në URL,
që është e bukur dhe e dobishme ndonjëherë, por për çdo gjë të ndjeshme apo të mëdha
post është rruga për të shkuar.
Çfarë është në të vërtetë duke bërë register0 këtu?
E pra, në qoftë se unë i hapur deri register0 njoftim se ky është një faqe super e thjeshtë,
por kjo është demonstruar faktin se unë mund të bashkë-shoqërohem, për mirë apo për keq,
HTML me PHP.
Kjo skedë tërësi, me përjashtim të komenteve në krye, janë HTML
përjashtim për këtë djalë këtu.
>> Vini re në mes të PHP kodin tim,
në mes të HTML time, kam lloj përkohësisht
hyri në mënyrën e PHP.
Unë jam duke e quajtur një funksion të veçantë të quajtur print r.
Kjo do të thotë të shtypura rekursive, dhe atë që nuk është ajo Recursively shtyp
çdo gjë që ju ndryshueshme dore atë, dalje pikëpresje, PHP mode.
Dhe tag para ju jep para-formatuar tekstin,
Teksti mono hapësirë ​​në mënyrë që çdo hapësirë ​​që ju të shikoni në fakt atë.
Ajo nuk zhduket. Çfarë është pas?
E pra, çfarë është interesante dhe bindëse në lidhje me PHP
është se sa herë që ju të paraqesë një formë duke përdorur të marrë ose të postoni
çdo gjë që është paraqitur për ju nga një shfletues
PHP vetë shifrat se çfarë ato çifte kyçe vlerë janë,
Shifrat e nëse nuk ka shenja të barabarta, shifra nëse ka një pikëpyetje.
Ai e bën gjithë punën e vështirë për ju, dhe pastaj duart ju një grup shoqerues
përmban gjithçka që përdoruesi typed në formë.
E pra, çfarë fushat e bëri këtë formë kemi?
>> Ajo kishte 4 fusha.
Njëri ishte një fushë teksti të quajtur emrin.
Njëri ishte një checkbox quajtur kapiten.
Njëri ishte një buton radio quajtur gjinore,
dhe një ishte një drop-down menu quajtur fjetore,
kështu që kur unë të shtypura njoftim Recursively
përmbajtjen e këtij variablit të veçantë.
Kjo është një ndryshore globale të veçantë të quajtur fjalë për fjalë $ _POST, në të gjitha shkronja kapitale.
Kjo është një variabël e veçantë globale që krijon PHP vetëm për ju
dhe duart për ju në mënyrë që ju mund të hyni në çdo gjë
që është dorëzuar nëpërmjet një formë nga një përdorues.
Dhe duke e quajtur r shtyp mbi-ju nuk do ta bëjë këtë në një aplikim normale.
Ne jemi duke e bërë këtë për të parë brenda këtij variablit,
dhe çfarë është në brendësi të saj, mirë, 4 çelësat,
4 parametrat http, në mënyrë që të flasin,
emri, kapiten, gjinia, fjetore, dhe pastaj vlerat që përdoruesi
shtypur në me një përjashtim.
Unë i llojit D-A-V-I-D.
I kontrolluar kuti, edhe pse, për meshkuj, e cila me sa duket dorëzuar një vlerë
i vetëm m të jetë i ngjeshur.
>> Kur kam zgjedhur Matthews që është vlerë që u zgjedhur,
dhe kjo është pak budalla, por kjo është konventë.
Kur kam kontrolluar kuti, me një vlerë prej më, "në", u dorëzuar për checkbox.
Në qoftë se unë nuk e kishte kontrolluar atë, asnjë vlerë do të kishte qenë dërguar whatsoever.
Kjo është vetëm duke na dhënë njohuri në atë që është në brendësi të këtij variablit të veçantë globale,
dhe kjo është në mënyrë të veçantë që është quajtur një ndryshore globale super.
Ajo ekziston kudo për ju brenda kodin tuaj në mënyrë që ju në fakt mund të hyni në atë.
Kjo nuk është se bindëse, kështu që le të përdorni të vërtetë globale super
dhe në fakt të përpiqen për të regjistruar dikë.
Në froshims1 unë jam duke shkuar për të bërë një ndryshim.
Unë jam duke ndryshuar veprimet të jenë të register1.php,
dhe unë jam duke bërë një gjë tjetër.
Unë kam qenë lloj i zënë ngushtë me cilësinë e webpage tim atje.
Kjo është goxha e shëmtuar, sinqerisht, kështu që rezulton
që ju mund të përdorni shumë lehtë në Web
Kodi JavaScript tjerëve, CSS tjerëve
që ata kanë shkruar dhe me burim të hapur dhe vënë në dispozicion si një bibliotekë,
kështu që të flasin, dhe për shembull, këtu unë jam duke përdorur një bibliotekë të lirë në dispozicion,
një bandë e kodit që dikush tjetër ka shkruar.
>> Twitter ndodhur për të shkruar këtë kod, dhe është quajtur Biblioteka bootstrap,
dhe kjo është vetëm një bandë e stilit fletë CSS, një bandë e. fotografi css
se dikush tjetër ka shkruar dhe i realizuar artistikisht se si të merrni gjithçka e bukur dhe goxha
në mënyrë që njerëzit si ne mund të shqetësohen më pak rreth estetikë dhe të përqëndrohet më shumë
në logjikën dhe programimin aktual.
Duke i lidhur atë me këtë tag, i cili është tag njëjtë kam përdorur kujtohet për styles3.css më herët,
Unë tani kanë qasje në një skedar të quajtur bootstrap.min.css.
Min thjesht do të thotë se ata kanë minified atë dhe ata kanë marrë shpëtoj të gjithë hapësirës së bardhë dhe kështu me radhë
vetëm për të siguruar që ata nuk janë dërguar mua bytes më tepër se unë në fakt duhet.
Por aty është një bandë e tërë e CSS, kështu që nëse unë tani të hapë version 1 e Frosh IMS
vëreni se dosja ime është definitivisht prettier.
Tani ajo është ende vetëm bardhë e zi, por vini re se vetëm duke përdorur fletë stilin e tyre
dhe duke përdorur disa funksione të saj në formën time kjo nuk është e mahnitshme,
por është patjetër më të pastër se sa ishte më parë, dhe projektues nuk është duke bërë atë të drejtësisë.
Ka linja pak gri rreth butonat dhe rreth fushën e tekstit të drejtë këtu,
por është patjetër më të pastër se sa ishte më parë.
>> Tani, në drejtësi, unë nuk duhet të ndryshojë markup mia pak.
Ky është versioni 1, dhe të vëreni se unë kam përdorur një pak tags reja,
dhe sinqerisht, unë nuk kishte asnjë ide se si për të bërë këtë deri sa kam lexuar dokumentacionin e
për bibliotekën Twitter bootstrap, dhe ata më thanë, nëse ju doni të përdorni bibliotekën tonë
përdorin një element FIELDSET brenda formën tuaj,
vënë fjalën që ju dëshironi për të treguar e ardhshme në një fushë brenda një tag të etiketë,
pastaj jepni kontributin tuaj një emër, ashtu si më parë,
dhe pastaj për checkbox, jo vetëm që ju të përfundojë atë në një element etiketë,
ju përdorni diçka që quhet një klasë, kështu që ne nuk e kemi parë këtë më parë,
por ju do të shihni këtë në një pantallona të shkurtra pset 7 s.
Një klasë në CSS ju lejon të bëni diçka shumë të ngjashme me ID,
por para kur kemi pasur një ID me simbolin #
që ishte për një dhe vetëm një element.
Çfarë është mirë për një klasë është se elemente të shumta mund të kenë të njëjtën klasë
ose njëjta gjëra CSS aplikuar për të.
>> Por përsëri, më shumë në ato në të shkurtër, si dhe pjesa tjetër e kjo është thjesht kopjoni dhe ngjisni
nga dokumentacionit të tyre, ku unë kam shtuar një etiketë këtu dhe atje.
Dhe në fund, sepse unë kam përfshirë tag lidhjen në krye,
çdo gjë duket prettier automatikisht
nga thjesht duke shënuar deri faqen time në një mënyrë që
Twitter pritet, dhe ka kaq shumë mënyra të ndryshme
për të bërë këtë, dhe kjo është me të vërtetë shumë e përshtatshme.
Në këtë pikë të semestrit, si ju do të shihni në spekulim pset 7-së,
Googling shikoj, leximit deri në bibliotekat, duke përdorur CSS e njerëzve të tjerë
dhe JavaScript për të zgjidhur problemet ndihmëse
për të vendosur vetë problemit është e inkurajuar me siguri dhe është mënyra
Web-i është ndërtuar këto ditë, duke qëndruar mbi supet e njerëzve të tjerë
kështu që ju mund të vërtetë të përqëndrohet në problemet e reja dhe interesante.
Por tani le të përqëndrohet në, përsëri, logjikën.
>> Kjo ishte një mënyrë e tërthortë të shpejtë në estetikë vetëm për të ju tregojnë drejtimin në të cilën ju mund të shkoni.
Unë jam duke shkuar për të kthehen në një shëmtuar për tani vetëm për shkak se
nuk ka distractions me sende Twitter, dhe më lejoni të shkoj përpara dhe të hapur
froshims2, e cila, përsëri, ndryshon vetëm në, register2.php veprimit,
dhe le të marrin një vështrim në atë që efekti është këtu.
Më lejoni të shkojnë përpara dhe të shkruani Davidit.
Unë nuk do të jetë kapiten këtë kohë.
Unë do të them mashkull, Matthews, regjistrimin.
Damn atë. Mirë, kjo është një vidhos deri në pjesën time.
Stand by.
Register2, linja 22, nëse është bosh ose-keq.
Le të reload.
Mirë, pas dorëzimit këtë formular çfarë ndodhi?
I shtypur në Davidit, kontrollohet mashkull, klikuar Matthews, regjistrimin.
Ju jeni regjistruar. (Pra, jo të vërtetë.)
Kjo është qartë një hap përtej vetëm shtypje nga përmbajtjen e disa ndryshore,
Por çfarë është në të vërtetë këtë fotografi doing?
Në register2.php
vëreni se unë kam disa kodin e ri.
Brenda tag trupin tim kam thelb një rast tjetër të ndërtuar,
por për shkak se unë jam bashkë-duke sjellë këtë me disa HTML
Unë duhet të hyjë dhe të dalë mënyra PHP mbrapa dhe me radhë, kështu që le të shohim se çfarë unë jam duke bërë.
>> Në rreshtin e parë këtu unë jam duke thënë se në qoftë se është rasti
se super Postimi globale është bosh për çelës e emrit,
kështu që me fjalë të tjera, në qoftë se përdoruesi nuk ka të jepni një vlerë për emrin në formë,
pastaj bosh do të kthehen vërtetë, sepse vlera është bosh.
Ose-Njoftim vertikale bare-nëse gjinore është bosh
brenda këtij globale super të veçantë, e cila, përsëri, përfaqëson përmbajtjen e formularit,
ose konvikt është e zbrazët, atëherë unë jam duke shkuar për të shkuar përpara dhe bërtas në përdorues.
Si? E pra, unë jam duke shkuar njoftim të thotë që ju duhet të jepni emrin tuaj, gjininë, dhe konvikt.
Le të vërtetë sjell atë gabim.
Më lejoni të kthehem në formën time. Më lejoni të rifreskoni të qartë atë.
Dhe unë jam vetëm duke shkuar për t'i dhënë atyre Davidin, dhe ata nuk kanë nevojë të dinë se ku unë jetoj.
Regjistrohu. Me sa duket unë nuk duhet të tregoni atyre se ku unë jetoj.
Ju duhet të sigurojë gjininë tuaj, emrin dhe konvikt. Kthehu mbrapa.
>> Dhe unë mund të klikoni për të shkuar përsëri në atë formë, por pse është kjo?
E pra, në këtë rast nuk ishte emër bosh, por gjinore ishte dhe fjetore ishte,
kështu që kjo shprehje tërësi vlerësohet të vërtetë, dhe edhe pse sintaksa është pak i ri,
përsëri, ne të hyjë mënyrën PHP, njohur, nëse deklaratë,
por pjesë e re këtu është vetëm kjo zorrës së trashë, dhe unë e kishte dehur duke hequr një parantezë
nga aksident, por njoftim zorrës së trashë, dhe që do të thotë
edhe pse ne jemi të daljes gjithçka PHP mënyrën
që vijon duhet të nxjerr nga goja fjalë për fjalë në shfletuesin
derisa ju të shihni një bllok tjetër, siç bëjmë ne këtu,
në të cilin rast ju duhet të nxjerr në vend këtë,
derisa ta shohin endif, kështu që disa pak sintaksë e re
që lejon mua për të toggle mes HTML dhe PHP.
Ne mund të pastër këtë ide përfundimisht, por tani për tani,
kjo është lloj i një mënyrë bindëse e gabimit kontrolluar formën.
>> Tani, unë them se ju nuk jeni të regjistruar me të vërtetë, sepse padyshim ne kemi bërë asgjë, por të të dhënave,
kështu që le të vërtetë të përpiqet të bëjë diçka të ftohtë.
Në froshims3 Dallimi i vetëm është që unë jam duke shkuar për të dorëzuar për register3,
kështu HTML nuk është i njëjtë.
Në register3 këtë njoftim.
Kjo është një lloj i sexy.
Në krye unë jam duke përdorur një deklaratë të kërkojë, kështu që kjo është si # përfshijnë.
Këtë herë nuk është stdio.h ose diçka të tillë.
Kjo është një bibliotekë PHP, dhe kjo quhet PHPMailer.
Si e di që të përfshijë pikërisht këtë varg cituar?
Kam lexuar atë në dokumentacion, kështu që kur ata më tha të vënë këtë në krye të dosjes
në qoftë se ju doni të përdorni një bibliotekë të veçantë të quajtur PHPMailer që e bën atë që ajo thotë.
Kjo ju lejon të dërgoni një email përmes PHP.
Tani le të lëvizni poshtë më tej.
>> Njoftim për të filluar unë jam në mënyrë PHP këtë kohë e tërë,
kështu që tani vërehet këtu poshtë pas importimit atë bibliotekë,
kështu që të flasin, unë jam duke bërë disa kontrolle mendje e shëndoshë.
Nëse kjo është rast se emri nuk është bosh
dhe gjinia nuk është bosh njoftim Exclamation pikë-
dhe fjetore nuk është i zbrazët, atëherë përdoruesi ka plotësuar formularin e logjikisht, të paktën të mjaftueshme.
Unë nuk e kujdesit në qoftë se ata janë kapiteni apo jo. Unë vetëm nevojë për emrin e tyre, gjininë, dhe konvikt.
Në qoftë se ata kanë mbushur ato jashtë në mënyrë që asnjë nga këto fusha janë bosh
kjo është pak më e sintaksë e re.
PHP, si një mënjanë, është një objekt orientuar programimit gjuhë
të cilat disa nga ju djema mund të kujtojnë nga autoblindat apo si.
Tani për tani, nëse panjohura, vetëm e di se të përdorni këtë bibliotekë
ju duhet të shkruani një linjë të kodit si kjo duke përdorur një fjalen i ri,
fjalë për fjalë një fjalen i ri i quajtur të ri.
Por përtej kësaj, ne kemi disa sintaksë njohur.
Kjo është një operator shigjetë, e cila është e ngjashme me atë që ne e përdorur për structs në kontekstin e pointers.
Për sot PHP nuk ka pointers,
por e di se tani për tani në brendësi të ndryshueshme postës
është në thelb një lloj tregues për një bibliotekë të veçantë
se dikush tjetër ka shkruar, dhe në qoftë se unë dua të hyni në funksionet specifike
brenda kësaj biblioteke unë, si në C, përdorni operatorin shigjetë,
edhe pse këto nuk janë në të vërtetë pointers.
Kjo është lloj i versionit vet PHP tij.
Kjo do të thotë shkoni në bibliotekë dhe thirrje funksionin IsSMTP.
SMTP, risjell, nga Warriors tona të Net referohet email,
dhe se vetëm do të thotë të përdorni një server mail për këtë regjistrim IMs Frosh.
>> Çfarë presë dua të përdorni?
E pra, Harvardit, në qoftë se ju Google përreth, ka një server mail quajtur smtp.fas.harvard.edu.
Nëse jeni duke luajtur së bashku në shtëpi ose ju jetoni në një rrjet Comcast
ajo mund të jetë diçka si smtp.comcast.net.
Është krejtësisht varet se ku jetoni dhe kush ISP juaj është.
Pasi që unë jam duke shkuar për të vendosur adresën time nga arbitrare të jetë jharvard@cs50.net.
Unë jam duke shkuar për të vendosur më pas për të adresuar të jetë jharvard@cs50.net.
E vetmja mënyrë që unë e dija se këto funksione janë quajtur SetFrom dhe AddAddress
është, përsëri, kam lexuar dokumentacionin.
Kjo nuk është lloj i njohur magjike për të gjithë programuesit.
Pastaj kam vendosur një subjekt në "regjistrim".
Dhe tani kjo linjë është pak e shëmtuar, sepse çfarë do të thotë operatori dot në PHP?
Çdokush e di?
Lidh.
Në C ajo është një dhimbje në të qafës tek lidh 2 vargjet së bashku.
Ju duhet të merren me malloc ose realloc ose të gjitha që stuff
vetëm për të zgjeruar gjatësinë e një varg.
Në PHP, në JavaScript dhe gjuhë të tjera
ju zakonisht mund ta bëni këtë me një karakter të vetëm.
Në këtë rast, do të thotë dot të marrë këtë varg këtu
dhe append për atë në këtë varg.
>> Oh, dhe nga mënyra, append për atë këtë varg,
i cili ndodh të jetë një variabël brenda e asaj globale super.
Pastaj append për atë një linjë të re, kështu që të gjitha këto pika do të thotë vetëm
mbani bërë një varg më të madh dhe më të mëdha dhe më të mëdha,
dhe ju nuk keni për t'u kujdesur aspak për malloc apo si në një gjuhë si kjo,
dhe ka mënyra të tjera për të bërë këtë, por kjo është një shpejtë
mënyra për të hedhur atë.
Çfarë është kjo duke bërë?
Është krijuar një trup email që do të thotë: Emri: Captain: Gjinia: konvikt:
të gjithë në linja të veçanta, dhe pastaj së fundi,
një linjë e kodit, dhe unë jam duke shkuar për të injorojë këtë tani për tani.
Nëse == false thjesht do të thotë nëse diçka shkoi keq,
por magjike ndodh këtu.
Mail dërgoni thotë dërgoj këtë email.
Le të shohim se çfarë rezultati neto është.
Në fund të dosjes, vëreni se do të thonë se ju jeni me të vërtetë të regjistruar
në qoftë se unë të marrë atë larg.
Nëse, megjithatë, përdoruesit vida lart, vërejmë se kemi filluar këtë
nëse gjendja deri këtu, në qoftë se nuk është i zbrazët dhe jo bosh
dhe jo bosh ne dërgoni mail.
Përndryshe, ne jemi duke shkuar për të dërguar këtë linjë të kodit,
i cili do të ketë efekt, si ju do të shihni në pset 7, i Përcjellin përdorues
prapa aty ku ata erdhën, froshims3.php.
>> Gishtat e kaluar, përndryshe kjo do të jetë demo më zhgënjyese sot.
Këtu ne do të shkojmë.
Më lejoni të hapur kutinë time-mail për jharvard në Gmail.
Asnjë mail tani. Dakord.
Tani, më lejoni të hapur froshims3, e cila është shembulli i tretë dhe i fundit ne do të shohim në këtu.
Mirë, këtu ne do të shkojmë.
Nate, ai do të jetë, kapiteni mashkull, nga, të themi, Apley.
Regjistrohu. Mirë, ju jeni të regjistruar me të vërtetë.
Tani në qoftë se unë lëviz mbi të email-it tim, oh, Zoti im.
Unë kam vetëm një email dërguar dinamike në Web.
>> Le të largohen në atë shënim.
Një video është i afërt për ne leksion humbur. Shihemi javën e ardhshme.
[CS50.TV]