[Powered by Google Translate] [Nedēļa 8]
[David J Malan] [Hārvarda]
[Tas ir CS50.] [CS50.TV]
>> Laipni lūdzam atpakaļ.
Tas ir CS50, un tas ir sākums 8 nedēļas.
Pāris iespēju šonedēļ,
vidū šis diskusija šeit, pie kuriem daži pārtikas tiks pasniegtas.
Lai iegūtu sīkāku informāciju izbraukšana slaidus, kas ir tiešsaistē.
Un arī cits notikums šonedēļ mūsu pašu Thomas Carriero.
Viņš ir viens no CS50 ir bijušais vadītājs mācību līdzcilvēkiem, kuri ir tagad pie Dropbox,
un viņš ir puisis, kurš saliekts mūs līdz ar jūs zināt, ko,
tādēļ, ja jūs vēlaties vairāk, ka galvas viņu runāt šajā pēcpusdienā par Dropbox un vairāk.
CS50 pusdienas ir šo piektdien.
Vai pievienoties mums, ja jums ir iespēja, 1:15, kā ierasts, uz Uguns un ledus.
>> Un tagad mēs nodoties kaut ko sauc Semināri.
Mūsu CS50 Semināri, atgādināt, ir šīs izvēles nodarbības, ko vada mācību vieszinātnieki
un kursa palīgi un draugi protams,
ļaudis no grupas par Campus sauc ABCD, kas ir grupa
technophiles uz pilsētiņu, kā arī grupa sauc HCS,
Hārvardas Computer Society, undergraduates kuri līdzīgi interesējas skaitļošanas.
Šogad žurnāla semināru ietver seminārus par Android un iOS un JavaScript
un PHP, Unix, Spars, un vairāk, tāpēc saprotam, ka šie semināri nāk uz augšu.
Ja vēlaties, lai RSVP par kādu no tiem doties uz šo URL tur.
Pēc tam mēs post par kursu mājas lapā norises laiku un vietu, kad tie tiks pabeigti.
Bet zinu, ka 5 gadu vērts iepriekšējo semināru pieejama tiešsaistē,
daudzi no kuriem joprojām ir ļoti daudz pašreizējā attiecībā uz tehnoloģijām jūs varētu
vēlas spēlēt ar jūsu gala projektu, tāpēc dodies tur dažas pieejamās video būvēšana.
>> CSS, tiem no jums, kuri ir pazīstami ar CSS jau,
kas tas ir īsumā?
Kas ir CSS?
Tas kaskādes stila lapas, un ko tas nozīmē?
Ko tas darīt mums, CSS?
Labi, pieņemsim iesildīties ar vieglāku viens, HTML, hiperteksta iezīmēšanas valodu.
Ko tas darīt mums?
Kāds vispār?
Tas kļūst patiešām neērti jautā šiem jautājumiem.
HTML, hiperteksta iezīmēšanas valoda.
Jā? Nē?
[Dzirdams studentu reaģēšanas]
Labi, labi, tas ļauj mums, lai atzīmētu tekstu, lai parādītu tīmekļa pārlūku.
Tas nav programmēšanas valoda.
Tas ir patiešām iezīmēšanas valoda, kas nozīmē, ka tā uzdod pārlūku, kā parādīt
informāciju, tāpēc vienkāršākais iemiesojums tas, kā mēs esam redzējuši
ir kaut kas super vienkāršu, piemēram boldfacing, atvērts bracket b slēgta iekava saka
padara šo tekstu treknrakstā, un tas ir tiešām tikai viens no daudziem veidiem
kurā mēs varam darīt, un, protams, šajās dienās labāka pieeja
lai stylizing savu interneta lapu, lai lietas treknrakstā un slīprakstā
un centrēts un pamatota un tamlīdzīgi, nav veikta, izmantojot HTML tagus atsevišķi
bet ar tehniku, ko sauc CSS, kaskādes stila lapas.
Tas ir valoda pati par sevi.
Tas arī nav programmēšanas valoda, bet-
visiem, tas ir Dan, kas tur savieno mūs šodien.
Dažas tehniskas grūtības. Nav problēmu.
>> CSS ļauj Stylize lapu
nosakot to, ko sauc īpašības, tāpēc pieņemsim to apskatīt šo
veidā dažiem pamata piemēriem.
Ļaujiet man aiziet uz ierīces šodien.
Man ir avota 8 pirmdiena direktoriju šeit,
un es esmu gatavojas iet uz direktoriju sauc CSS kur mums ir visai ķekars
Failu gaida mūs šeit,
un šajā mapē mums ir, piemēram, search0.html no pēdējo reizi.
Tagad, atgādināt ar search0 devāmies uz šo piezīmi
pēc veida īstenojot Google vai tiešām tikai priekšējā galā par to nedēļā vai tā atpakaļ,
un ievēroju, ka mums bija dažas jaunas tagus tur.
Mums bija H1 par lielu, drosmīgu pozīcijā,
formā, kas ļāva mums tiešām ir HTML veidlapu lietotāja ievadi.
Rīcība, kāda bija jēga rīcības atribūtu
uz HTML veidlapas tagu?
Kāda bija šī, darbības jēga?
Es ņemšu tikai darīt šodien.
Rīcība ir galamērķis, kur forma būs jāiesniedz.
Tas, ka šis saka darbība = "google.com / search"
nozīmē, ka tad, kad lietotājs noklikšķina uz iesniegšanas pogas vai ekvivalents
jebkādā formā lauki tie aizpildīti gatavojas nosūtīt ne uz mūsu serveri
vai mūsu ierīce, bet gan ar šo konkrēto URL Google.
Un metode tas gatavojas izmantot sauc saņemt,
un saņemt, lai tagad, ir tikai paņēmiens, lai iet informāciju kopā ar web serveri
veidā URL, tāpēc pieņemsim veikt ātri apskatīt atpakaļ, kā tas darbojas.
>> Ievērojiet, ka tur ir ieejas, kura vārds ir q
kuru tips ir teksts un pēc tam ievadīt otrreiz tipa iesniegt
kuru vērtība ir CS50 meklēt, un, protams, ja mēs atvērt šo failu šeit,
search0.html, tas ir super vienkārši forma,
un, ja es meklētu kaut ko līdzīgu datorzinātņu
un tad hit ievadiet vai noklikšķiniet uz CS50 Search
ievēroju, ka tas, kas notiek ir tikai kļūst Google
Es esmu īpaši beidzās šajā URL augšpusē,
google.com / search Q =? dators + zinātne,
un datorzinātne ir acīmredzami tas, ko es drukāti collas
Zīme + tikai nozīmē, ka tur telpa raksturs bija,
un tas ir darīts ar pārlūku tikai, lai pārliecinātos, ka tur nav
apjukums un balto faktisko URL.
Un tad Q, protams, ir parametrs nosaukums.
Mēs neesam redzējuši, kā mēs, programmētājs, faktiski var piekļūt q vēl.
Mēs varam pieņemt, ka Google zina, ko darīt ar šo šeit,
bet mēs tur nokļūt laicīgi šodien.
>> Bet ļaujiet man to apskatīt vietā pie search1.html,
kas izskatās nedaudz atšķirīga, jo es nolēmu, ka šī forma šeit bija tikai nedaudz klibs.
Es domāju, tas ir pie augšējā kreisajā pusē.
Tur tiešām nav estētika ar to, un tāpēc es gribu Stylize šo
nedaudz vairāk kā Google, kura mājaslapa, atsaukšana,
pat ja jūs nevarēsiet apmeklēt to, ka bieži vien, izskatās šodien Halloween.
Ja mēs tā vietā atvērt šo failu, meklēt 1.html 1 versija, es esmu centrēts to.
Joprojām ir diezgan neglīts, bet vismaz tagad esmu sācis kontrolēt estētiku šajā lapā,
ne tikai marķējuma augšu pantu.
Pieņemsim to apskatīt 1 meklēšanas, un tur patiešām ir tikai viena atšķirība šeit,
kas varētu izlēkt pie jums, vai varbūt ne,
bet kāda ir viena līnija vai fragmentu atšķirība?
>> Tur ir šis stils atribūtu, tāpēc izrādās, ka HTML
lielākā daļa elementu, vairums tagi var būt stila atribūtu uz tiem,
un iekšā šī stila atribūts ir citēts virkne,
un kas kotētas virkne ir CSS.
Jūs varat likt kaskādes stila lapas, kas tur
precizējot to kā īpašuma nosaukums
seko kols seko vērtību.
Tas ir sava veida neveiksmīgā projektēšanas lēmumu pirms dažiem gadiem
ka CSS ir valoda pati par sevi,
bet sintaktiski tas ir ļoti atšķirīgs no HTML.
Šajā gadījumā mēs redzam, ka iekšpusē manu mājas lapā, kas ir rakstīts HTML,
Man ir CSS iekšā šos citātus, un par CSS konvencija
ir tas, ka jums ir, ko sauc par īpašumu seko, atkal, resnās zarnas,
seko apmērā no šā īpašuma, tāpēc nav vienādības zīme.
Nav papildu citāti.
Tas ir tikai tas resnās atdalītas atslēgas vērtību pāri,
un teksta līnija dara tieši to, ko tā saka.
Tas saskaņo tekstu ķermeņa lapā, kas ir patiešām zarnas no lapas,
centrā.
>> Labi, gala rezultāts tam, lai būtu skaidrs, tas ir.
Ne visi, kas sexier, bet vismaz tas ir centrēts un nedaudz vairāk kā reālā Google.
Bet ja es tā vietā atvērt versija 2 Šī
un norādīt uz leju šeit jaunu tagu pavisam?
Tagad galvas manu lapu, kas agrāk bija tikai kas tag
visos iepriekšējos piemēros?
Tas vienkārši bija tas, titulu.
Pirms brīža vadītājs tagu izskatījās.
Tagad tā vietā tas ir stils tag iekšpusē no tā,
un tas arī, es atvainojos, sintaktiski izskatās ļoti atšķiras no HTML,
bet jūs pierastu pie tā, ar ko iekšpusē stila taga
Es tagad var faktors, ko bija pirms brīža
atribūts, stils atribūts, un es varētu nodot to pie ļoti top manu lapu.
>> Kāpēc?
Nu, šis ir solis pretī tīrīšanas lietām augšu, līdzīgi rakstiski C kods
mēs dažreiz rakstīt funkcijas faktors kopējas funkcionalitāti.
Tas ir tikai nedaudz tīrāku sākt faktoringu veic lietām, piemēram, estētika
uz vienu centrālā atrašanās nevis to visu izkaisīt visā savā HTML.
Arī tas, ko tā saka, pat ja tur ir jaunu sintaksi mazliet.
Tas šeit ir atlasītāju, un ķermenis vienkārši nozīmē izvēlēties ķermeņa elementu
un piemērot šādus rekvizītus uz to.
Nu, īpašums ir tieši tāds pats.
Labs pasākums Esmu pievienotās semikolu beigās,
kas mēdz būt konvenciju, un es esmu ietin visu šo īpašumu
cirtaini lencēm, jo ​​es patiešām varētu būt dažādas lietas šeit.
Es patiešām varētu teikt kaut ko līdzīgu krāsas: zila;
>> Tagad arī tas nav būs solis jebko visu, kas glītāka,
bet, ja es tagad iet atpakaļ uz versiju 2 Es esmu vismaz tagad ir ķermeņa manu
lapas teksta visu zilā.
Poga paliek tās pašas, jo tas ir ieguldījums. Tas nav tīrs teksts.
Bet viss pārējais, kas ir teksts, piemēram CS50 meklēt up top, faktiski ir zilā krāsā.
Atkal visi mēs esam darījuši tagad tiek izņemt no ķermeņa tag, paziņojot,
stilu atribūts, un mēs esam noteicis to šeit.
Tas nav milzīgs uzlabojums, bet, ja mēs šo vienu soli tālāk
pamanīt to, ko mēs varam darīt šajā trešā versija šeit.
>> Jo search3.html mājas lapa ir gandrīz identisks
izņemot to, ko jaunu tagu tagad?
Saikne, tāpēc šis nav ļoti trāpīgi nosaukts
jo jūs neesat savieno tādā nozīmē, klikšķināmos hipersaiti.
Drīzāk, tu esi veida dara ekvivalentu # ietvert C
kuru saikne tagu ar href atribūtu
un rel atribūts saka iet uz priekšu
un kopēt ielīmēt saturu failu sauc search3.css tieši šeit, būtībā.
Tas nav gluži darīt, bet tas ir gars no tā.
Tajā teikts iet atvērt šo failu, search3.css,
un pret to, it kā lietotājs bija drukāti to tepat galvas lapas
tāpat kā es darīju iepriekšējā piemērā.
Search3.css, tikmēr ir diezgan vienkāršs.
Tas tiešām vienkārši ir tieši tas, ko bija pirms brīža
stilā tagu, bet es esmu noteicis to šeit uz savu failu.
>> Pat ja mēs neesam pavadījuši daudz laika visu HTML vai tīmekļa programmēšanu
vienkārši intuitīvi kāda ir motivācija, varbūt, faktoringu ārpus
šo mazo fragments pat CSS uz savu failu
un tad arī to ar šo saiti tagu šeit?
[Dzirdams studentu reaģēšanas]
Labi, tas ir vieglāk lasīt tādā nozīmē, ka jums ir jūsu CSS CSS failu.
Jums ir jūsu HTML jūsu HTML failu, tāpēc tas ir vieglāk lasāms šajā ziņā.
Kāds cits varētu būt pārliecinoši? Yeah.
[Dzirdams studentu reaģēšanas]
Jā, lai jūs varētu iekļaut to vairākas reizes, tāpēc tagad mēs darām šos
pamata piemēri ar atsevišķiem failiem, bet pieņemsim, ka jūs faktiski padarot
reālā mājas tāpat kā jūs par 7 PSET vai jūsu gala projektu varbūt,
un jūs vēlaties, lai vairākas interneta lapas, kas ir noteikti kopējā par
faktiskais World Wide Web, un tas būtu sava veida klibs
lai ir kopēt un ielīmēt to pašu zilā krāsā
un tas pats teksts saskaņots centru katrā no šīm lapām.
Drīzāk tā ir lielāka jēga faktors, kas, līdzīgi kā mēs esam darījuši C
ar. h failu, ielieciet to vienā centrālā vietā,
Šajā gadījumā search3.css, un pēc tam ļauj jebkuru failu
savā mājas lapā, lai reāli iekļaut šo failu veidā šī taga šeit 16 rindā.
Kā tas parasti notiek, mēs sākām ar 0 versiju, kāda veida darbu
bet ne vienmēr labākais, un ar katru soli,
meklēšana 1, meklēšana 2, un tagad meklēt 3 Mēs esam izmantojuši šīs bērnu pasākumus
uz dizainparaugiem, kas ir nedaudz tīrāka un vairāk sagatavošanās
vairāk sarežģītu lapām ka mēs varētu darīt uz leju ceļa.
>> Ļaujiet man atvērt vienu pēdējo piemēru šeit tikai, lai parādītu
vēl vairāk stilizēts lapā, bet vispirms pieņemsim apskatīt HTML.
Tas ir search4.html, un ievēroju, ka strukturāli tas ir gandrīz tāds pats
izņemot ieviešot jaunu tagu, div.
Div ir tagu, kas ievieš sadalījumu lapā.
Jūs varat domāt par to kā neredzamu taisnstūris.
Tā veida rada vāla zonas mājas lapā
ka jūs varat stylize visu uzreiz.
Ko es esmu darījusi šeit ir šāds.
Iekšā mana ķermeņa tag, kas ir tur visi kopā,
Es saku izveidot sadalījumu lapā šeit pa 45 līnijām, izmantojot 47,
un tas nozīmē, ka būtībā man neredzamu taisnstūri gar lapas augšpusē.
Tad dod man otru taisnstūri, lai gan ar neredzamu, zemāk, ka,
un identificēt to ar nosaukumu saturu, un tad visbeidzot,
man 1/3 sadalījumu lapas apakšā
sauc ID.
Redzēsim, kāpēc es esmu izdarījis tikai brīdi,
bet konceptuāli man ir iesākuma sadalījumu.
Man ir satura sadalījumu, un man ir kājenes sadalījumu lapas
pat ja tie ir tikai atzīmes.
Lietotājs nav gatavojas redzēt 3 taisnstūri,
bet sava veida strukturāli tur aiz kulisēm
viņi faktiski klāt.
>> Tagad, kurš rūpējas? Kāpēc patiesībā darīt?
Viss pārējais lapā ir tādi paši kā mēs esam redzējuši iepriekš.
Te ir mana forma. Te ir mana ieejas, mans ieguldījums, līnijas pārtraukumu un tā tālāk.
Lūk attēls, lai gan, tāpēc mēs redzēsim, ja tas nāca no tikai brīdi.
Lūk kājene, kas ir jauns, tikai tāpēc, ka es gribēju, lai ieviestu
daži vairāk satura šeit.
Ja mēs ritinātu uz augšu pamanīt, ka šī div ID ir iesākums.
Šīs div ID ir saturs, un šo vienu ID ir kājeni.
Un kā liecina nosaukums, ja jums ir ID atribūts
HTML, pēc definīcijas tas ir unikāli identificē
viens no elementiem, kas ir viens no jūsu lapā tagus.
Slogs ir pilnīgi par jums jāatceras, ka jums ir iesākuma ID jau.
Jums ir kājeni. Jums ir saturs ID jau.
Dators nav gatavojas izdomāt pieejama ID ir par jums,
lai jūs varētu nejauši dot 2 tags ID galvenes,
un tas būtu vienkārši nepareizi.
>> Jums ir jāpatur prātā, ko esat izveidojis,
bet tad, kad jūs esat darījuši, lai paziņojumu, ko mēs varam darīt šeit.
Es tagad var norādīt manā stilā tag augšā
vai līdzvērtīgi manā CSS failu, ja es vēl joprojām izmantojot šo versiju,
Es varu teikt # galveni, un ko tas nozīmē, ka neatkarīgi no tagu
Šajā mājas lapā ir ID galvenes
un #, tikai ar cilvēka konvenciju, pārstāv ID.
Straujais zīme vai restīte pārstāv ID.
Galvene ir vārds, kas man deva to.
Tas nozīmē, piemēro šo CSS īpašuma
lai kāds tagu šajā lapā lāči ID galvenes.
Pats nodarbojas šeit.
Piemērot šo īpašumu, kas notiek, ir tas pats, uz jebkuru
kura ID ir saturs, un pēc tam uz leju šeit
paziņojums es saņēmu mazliet mīļotājs ar kājeni.
Elements, kura ID ir kājenes, kas tur var būt tikai viens pēc definīcijas
iet uz priekšu un darīt tās fonta izmērs ir mazāks,
tā fonta svars drosmīgs, tā starpība 20 pikseļi.
>> Ko tas nozīmē?
Tas ir tikai starpība augšā, apakšā, un pa kreisi un tiesības.
Tas nozīmē dot man 20 pikseļu neredzamu starpību ap to
tikai push viss pārējais prom no tā mazliet, piemēram, jūs varētu darīt Word,
Microsoft Word vai lapu vai līdzīgi.
Un tad teksts saskaņot centru.
Pieņemsim redzēt gala rezultātu, un tad mēs iesim atpakaļ līdz vienu atlikušo fragmentu no CSS tur.
Šī ir versija 4, mūsu ilgst meklēšanas piemērus, un tas ir daudz, daudz sexier.
Tagad, godīgumu, es tikko googled "google fontu logo ģeneratoru."
Un tas ļāva man radīt GIF, attēla formāts, kas izskatās, piemēram, ka tur.
Patiesībā, jūs varat darīt pārāk.
Mums ir "google fontu logo ģeneratoru."
>> Redzēsim, vai mēs varam izdarīt.
Labi, es domāju, ka tas ir mājas lapā es izmantot.
Mēs varam teikt EK 10, piemēram, un padarītu tos paši.
Jūs varat spēlēt ar šo visu dienu un tad tiesības, noklikšķiniet uz tā
un pēc tam lejupielādēt faktisko GIF, kas ir viss, kas man bija.
Un patiesi, tāpēc manā HTML, atgādināt, nekā šeit
Man bija attēla tagu, ko mēs redzējām īsumā pagājušajā nedēļā
kuru avots ir logo.gif.
Un kāda atkal bija motivācija, kam šo alt atribūtu,
Šī alternatīva atribūtu?
Yeah.
[Dzirdams studentu reaģēšanas]
Labi, tāpēc 2 iemesli tiešām, ja pārlūkprogramma nevar uzvilkt attēlu
jo jums ir lēns tīkla savienojums vai attēls ir bojāts
vai kaut kas tamlīdzīgs vismaz cilvēks var redzēt "CS50 meklēšanu,"
un tad arī pieejamības dēļ.
Ja jums ir lietotājs, kurš ir akls un izmanto ekrāna lasītāju
un tāpēc, protams, nevar redzēt attēlus viņi var vismaz
dzirdēt tekstu, ja viņu dators runā to viņiem.
>> Kopumā šī ir labākā prakse, kad runa ir par pieejamību lappušu
tā ka pat lietotājiem šajā situācijā var dzirdēt vai redzēt, tā sakot,
kas tas ir, ka ir jūsu lapā.
Tur ir viena cita lieta, kas man bija šeit
kas ir nedaudz interesanti, un mēs redzēsim vairāk par šo problēmu komplekts 7
izmantojot vienu no šorti, ko vada viens no mācību vieszinātnieki.
Bet # saturs attiecas uz atzīmi
kura ID ir saturs, bet tad tur telpu raksturs, un tad tur ir vārds ieejas.
Nu, kas ir interesanti par CSS ir tas, ka jūs varat
atsaukties uz birkas lappuses Kārtot hierarhiski,
un ko tas CSS līdzekļiem Fragments ir atrast tagu
kura ID ir saturs, un tad piemēro šādus rekvizītus
visiem ieejas tagus, kas ir pēcnācēji satura,
kas ir kas ir izrobots iekšpusē no tā.
Līdzinājums, atkal, ir tikai svarīgi ar datoru, nevis uz cilvēku,
bet pēc tradīcijas mēs ievilkumu lietas kā mums iet dziļāk lapā,
tāpēc tas nozīmē piemērot normu 5 pikseļi uz jebkuru ieejas elementu
kas ir kaut kur iekšā vai ligzdotas no
elements, kura ID ir saturs.
>> Kurš, kas attiecas uz?
Nu, tur tiešām tikai šie 2 puiši šeit.
Pamanīt, ka iekšpusi veidā tur ir 2 ieejas,
jo tur ir bijis visu šo piemēru.
Bet paziņo, ka šie 2 ieejas gadās būt ligzdotas,
kaut mazliet dziļāk, pāris slāņi atkāpi,
iekšpusē tag kura ID ir saturs.
Ko tas nozīmē?
Ja mēs ejam uz pārlūku šeit jūs varat redzēt kādreiz tik nedaudz,
ļaujiet man tuvinātu-ka ir par polsterējumu mazliet starp pogas
un starp teksta laukā.
>> Ļaujiet man pagaidām savukārt ka off.
Ļaujiet man aiziet līdz manu CSS, un ļaujiet man iet uz priekšu un vienkārši
mainītu šo starpību no 5 pikseļi uz 0 pikseļiem.
Ļaujiet man iet uz priekšu, tad un saglabāt failu, dodieties atpakaļ uz meklēšanas dzinēju
un pārlādēt, un skatīties vidū lapā.
Viss got saspiests kopā, un, kad es pirmo reizi saputota šo piemēru augšu
Es domāju, ka izskatījās stulbi ar teksta laukā un tad poga tieši zem tā.
Es gribēju, lai pad it nedaudz, tāpēc es iepazīstināja starpības.
Ko mēs nedarītu lekciju, ir iet cauri vairākiem desmitiem
CSS īpašības, kas pastāv, jo, atkal, ir lietas, kā burtu izmērs,
fonts svaru, starpība, teksta izlīdzināt, un daži desmiti citi,
un mēs nodot jums problēmu komplekts 7 dažādos konsultācijas tiešsaistē
un norādes, kas ļauj uzņemt šīs lietas uz augšu.
Bet kas ir patiešām svarīgi beigās, dienā
>> ir izprast, kā šīs lietas tiek piemēroti.
Atkal, ja mums ir stils tagu iekšā kas
varat iet selektori, kārtot identifikatoru, kas norādītu
Uz ko vēlaties lietot šos īpašumus,
un tad jūs nodot īpašības, kā galveno vērtību pāra
atdalītas ar kolu un tad beidzās ar semikolu,
vai jūs varat kraķis visu šo, un nodot to atsevišķā CSS failu
pati par sevi.
Viss labais, kādi jautājumi par jēdzieniem
vai liels priekšstatu par CSS?
Jūs atkal redzēt vairāk par to 7 PSET,
bet mēs turpinām to parasti ir diezgan vienkārši.
Nē? Labi.
Ir pienācis laiks par faktisko programmēšanas valodu,
un mēs atgriezties mazliet CSS veidā piemērs.
PHP ir tiešām lieliski saprotamā valodā
jo tas ir sintaktiski gandrīz līdzvērtīga C.
Citiem vārdiem sakot, ja jūs zināt, C, jūs zināt, lielākā daļa PHP,
vismaz sintaktiski, lai gan ir dažas jaunas funkcijas
un daži jauni jēdzieni mums būs apskatīt.
>> Bet lielākā daļa, tagad mēs pāreja no C līdz PHP
Lielākajā daļā jauno sīkumi ir tiešām liels attēls,
Kā jūs izmantot valodu programmas tīmeklī, nevis
pie komandrindas vai mirgojošu ātri, kā mēs esam darījuši līdz šim.
Par atskaites, it īpaši ar 7 PSET un galīgo projekta vēlāk,
Vai izmantot šo URL šeit, ja jūs vēlaties, lai izlasītu up par PHP formalitātes.
Tas tiešām patīk bezmaksas tiešsaistes mācību grāmata efektīvi,
un jūs atradīsiet arī, ka to, kas ir patiešām jauki par PHP
ir, ka pastāv simtiem funkciju, kas nāk ar to,
tā kā C Jums nav obligāti piekļūt
vairāk funkcijas nekā bija math bibliotēka, CS50 bibliotēka.
PHP un Moderno valodu Python un Ruby starp tiem daudz,
Jums piekļūt tik daudz vairāk funkciju, kas nozīmē, jums rakstīt
daudz mazāk kodu, jo jūs varat stāvēt uz citu cilvēku pleciem
, kas jau ir rakstīts dažas lietas jums.
>> Pieņemsim veikt ātri tūre sintaksi PHP un tad uzrakstīt dažus piemērus.
Kas ir jauka par PHP pirmkārt
ir tur nav galvenā funkcija.
Ja jūs vēlaties rakstīt programmu PHP jūs vienkārši sākt rakstīt kodu,
un jums nav jāuztraucas par galveno.
Nav int. Nav atgriešanās.
Nav argv, argc kas ir nepieciešams, kad jūs uzrakstīt programmu.
Drīzāk jūs varat vienkārši sākt rakstīt kodu, un tas daļēji ir
jo PHP ir tas, ko sauc interpretē valodas.
C tika apkopoti, un tā tika apkopota tādā nozīmē, ka jūs sākat
ar izejas kodu, palaist to caur šķindēt, kas ir kompilators,
un galu galā pēc kāda skaita soļus jūs saņemsiet objekta kodu, 0s un 1s.
PHP un Python un Ruby un Pearl un citi
Ir dažādi veidi, valodu, kas jums nav apkopošanai.
Jums nav iet no avota kodu, lai 0s un 1s.
Jūs vienkārši palaist pirmkodu, un jūs palaist pirmkodu
rakstot uz parasto teksta failu, kas beidzas. php šajā lietā
vietā c. un ko programma dara datorā
tas ir burtiski interpretē savu kodu pozīcijai pa līniju.
>> Citiem vārdiem sakot, nevis uzrakstīt programmu un palaist programmu
tieši jūs, nevis uzrakstīt programmu ar failu, kas beidzas. php.
Tad jūs palaist faktisko programmu sauc php.exe, ja jūs par Windows,
vai tikai PHP, ja jūs par Mac OS vai Linux,
un tu sniedz kā ieguldījumu, lai PHP programmas savu pirmkodu,
un tā mērķis dzīvē ir, lai lasītu savu kodu augšas uz leju, no kreisās uz labo,
un vai kāds jūs esat teicis to darīt.
>> Paskatīsimies, ko tas gatavojas nozīmē sintaktiski.
PHP mums ir apstākļi.
Šī slide ir identisks tam, ko jūs redzēja atpakaļ 1 nedēļas
jo sintaktiski apstākļi, IFS un cits IFS un cits PHP
izskatās tieši tāpat kā šis.
Kad runa ir par boolean izteiksmes viņi gatavojas izskatās tieši tāpat kā šis.
Kad runa ir par anding lietas kopā, jo booleans tas notiek, lai izskatās tieši tāpat šis.
Slēdži izskatās vienādi, un jūs saņemsiet papildu labumu PHP
ka in C slēdži varēja pārslēgties tikai uz char vai Int.
Jūs nevarētu pāriet uz virknes vērtību.
PHP jūs faktiski var būt izteiksmi
kas ir mainīga, kura saturs ir virkne,
un jūs faktiski var darīt stīgu salīdzinājumu reālajā intuitīvā veidā,
nav rādītājs salīdzinājums, lai izlemtu, vai darīt lietas man vai j vai kaut kas cits.
Mēs redzam, ka potenciāli pirms ilgi.
>> Cilpas pārāk brīnumaini ir tas pats.
Par cilpas ir inicializācijas, nosacījums, un daži no jaunumiem numuru.
Bet cilpas pastāv arī PHP.
Vai vienlaikus cilpas pastāv arī PHP,
un masīvi pastāv PHP, bet šeit ir, ja sintakse sāk saņemt mazliet atšķirīgs,
bet jēdzieni ir tas pats, un jēdzieni tiešām ir vienādi
kā tas bija nedēļā 0 ar nulles.
Pirmkārt un galvenokārt ir $ zīme.
Tas bija dizaina lēmums PHP turklāt jebkuru mainīgo
PHP ko dizains sākas ar $ zīmi.
Tur ir ne vairāk X, Y, Z. Tas tagad $ X, $ Y $ Z tikai tāpēc.
Tas ir kaut kas jāpatur prātā, un tagad par labajā pusē
Tas izskatās līdzīgi masīvs,
bet mēs esam izmantojot kvadrātiekavas šeit.
PHP un JavaScript, jo mēs beidzot redzēt,
deklarēt masīvu jūs darīt atvērtu kvadrātiekavas un slēgtas kvadrātiekavas,
un tad jums ir ar komatiem atdalītu vērtību sarakstu, vai Ints
vai virknes vai chars, ko jūs vēlaties, iekšā šī vārda tur.
>> Tagad, kā mēs kaut ko darīt, kā šis C?
Kāds bija uz statiski deklarējot masīvu zināmo sintakse?
Tas bija cirtaini bikšturi, tāpēc nelielas atšķirības šeit, bet gan PHP
un galu galā JavaScript tas vienkārši izmanto kvadrātiekavas, tik tiešām
vienīgais interesanta detaļa šeit ir $ zīme mainīgo nosaukumu
un arī kvadrātiekavas, un tur ir viens ziņkārīgs lieta
kas ir izlaisti kā arī kreisajā pusē = zīmi.
Kas trūkst, ka mēs esam bijuši pieprasot nedēļas tagad? Yeah.
[Dzirdams studentu reaģēšanas]
Lielumu, tāpēc nav no lieluma masīvs pieminēt.
Atklāti sakot, tur nav kvadrātiekavās pieminēšana kreisajā pusē
no = zīmi, un ko vēl ir pazudis no līnijas?
Yeah >> [dzirdams studentu reaģēšanas].
Veids, lai to, kas ir interesants, jo īpaši par PHP
ir tas, ka nav stingri drukāti valoda kā C ir,
un tas ir stipri drukāti kas nozīmē, ka jums ir jāsaka palija,
Jums jāsaka int, jums jāsaka pludiņu.
>> Anytime jūs vēlaties mainīgo Jums pateikt šķindēt kāda tā tips ir.
PHP ir nedaudz lazier.
Tas ir brīvi drukāti tādā ziņā, ka
Jūs varat būt pludiņus un chars un stīgas
un Ints un tā tālāk, bet pati valoda
nav īsti aprūpi, ko jūs likts iekšā ir mainīgs.
Jums nav to informēt iepriekš, kādu datu tips
notiek ar mainīgo.
Tas ir pilnībā atkarīgs no jums, tāpēc tas ir jauki
jo jums nav jāuztraucas par daudz par datu ierakstot
un neuztraucoties, ko jūsu argumenti ir un tā tālāk.
Tas nozīmē arī eventuāli funkcijas PHP gatavojas, lai varētu atgriezties
nu int lielāko daļu laika, un varbūt reizi brītiņa
tie būs atgriešanās bool, Būla nepatiess, piemēram, lai norādītu, ka kaut kas nogāja greizi.
Tas dod mums dažas upsides, bet tas arī padara mūs veida ar dizainu
mazliet lazier kad runa datu rakstīt.
>> Kas vēl ir tur paturēt prātā?
Mainīgie izskatās gluži kā šis, tāpēc $ s = "Hello, World".
Tas ir iespējams, secināms no iepriekšējās, piemēram,
un mums ir cita veida cilpas.
Tas viens mēs faktiski redzēt vienu reizi, bet, jo tas ir diezgan parocīgs,
foreach būvēt.
Šajā gadījumā foreach cilpa ņem iekšā no tās iekavas 3 vārdus parasti,
$ Kaut pirmais, kas ir tas, ko masīvs jūs vēlaties atkārtot pār locekļiem,
tad burtiski atslēgvārdu kā, un tad visbeidzot,
cits mainīgā nosaukums, kas jums izvēlēties.
Tas var būt foo, bārs, vai elements,
un ko tas būvēt dara
ir, ja $ masīvs satur 10 elementus
par katru atkārtojuma šis masīvs-piedodiet, par katru atkārtojuma šīs cilpas
mainīgo sauc elements būs jāatjaunina
būt pirmais elements masīva, tad otrais elements masīva,
tad trešais elements masīva, tādējādi novēršot nepieciešamību
darīt nedaudz kaitinošas kvadrātiekava notācija un
$ I lai indeksā masīvs.
PHP dara visu šo darbu, lai jūs un par katru iterāciju
tikai rokas jums nākamo elementu no masīva
bez jums, kam nepieciešamības zināt vai rūp tās skaitlisko indeksa vietā.
>> Un tad visbeidzot, tagad, tur ir vēl viena iezīme PHP
kas būs ļoti noderīga, it īpaši, ja mēs sāktu uzstādījuma tīmeklī,
un kas ir pazīstams kā asociatīvā masīva.
The masīvi, ka mēs zinām līdz šim no 20 sekundes pirms
un par pēdējo 8 nedēļu tiek skaitliski indeksētas bloki,
kārtot tradicionālo masīvu, kur indeksi ir Ints,
0, 1, 2, visu ceļu uz augšu.
Asociatīvas bloki ir daudz spēcīgāks.
Tās ļauj jums ir patvaļīgu atslēgas,
patvaļīga indeksi un patvaļīgi vērtības.
Tā kā tradicionālā masīvā tas ir 0, 1, 2,
jo asociatīvā masīva var būt indekss
vai atslēgu foo kuru vērtība ir bārs.
Pēc tam jūs varat būt citu atslēgu, kuras vārds ir baz un kuru vērtība ir qux.
>> Atkal, stulba datorzinību sugas mainīgo nosaukumi šeit,
bet punkts ir tas, ka šis masīvs nav bracket 0 vai Stiprinājumi 1.
Tas tā vietā nāksies bracket foo un bracket Baz.
Tas ir daudz vairāk universāls, ka mēs ejam, lai varētu saistīt
vārdus ar citiem vārdiem, atslēgas ar vērtībām pilnīgi patvaļīgi,
un mēs braucam, lai varētu saņemt šīs vērtības atpakaļ pastāvīgu laiku
jo zem motora pārsega, ko asociatīvais masīvs
patiešām ir, ir hash tabulu.
Atgādināt, ka hash tabulu ļauj īstenot kādu ieguldījumu
patīk īstenot vārda Dāvidam, ja jūs vēlaties, lai ievietotu Dāvidu par sava veida vārdnīcu,
un tad jūs saņemsiet atpakaļ kādu vērtību parasti.
Attiecībā uz Speller, patiess vai nepatiess.
Deivids vai kāds vārds ir vai nav norādīts vārdnīcā.
Asociatīvā masīva patiešām ir tikai hash tabulu,
bet tas ir daudz vairāk lietotājam draudzīgs iemiesojums no tā.
Kā mēs redzēsim, tas notiek, lai ļautu mums darīt dažas lietas
ļoti, ļoti viegli.
>> Pieņemsim to apskatīt dažus pamata PHP
piemēri un redzēt, ko mēs varam darīt ar šo valodu.
Ļaujiet man iet uz priekšu un atvērt mūsu avota direktorijā šodien
failu sauc hello1.php.
Šis fails ir vairāk komentārs, nekā tas ir faktiskais kods,
tāpēc ļaujiet man faktiski noņemt visus komentārus no faila
un jūs iepazīstināt varbūt vienkāršākais PHP programmas šeit.
5 līnijas, un daži no tiem ir balta telpa,
tāpēc ievērosiet dažas nozīmīgas atšķirības šeit.
Failu sauc hello1.php.
Pati pirmā rinda, lai gan, ir <? Php.
Līdzīgi garā HTML,
ka rakstzīmju secība stāsta dators
"Hei, dators, šeit nāk programmu mēs esam PHP."
Tas padara pārliecināts, ka tas ir ne sajaukt, ka tā ir kāda cita valoda.
Līnija 2 ir interesants atstarpēm.
Līnija 3 ir mūsu vecais draugs printf,
šoreiz saistībā ar PHP.
PHP ir sava versija par printf kas uzvedas tieši tas pats,
tāpēc tas ir tikai gatavojas drukāt "Sveika, pasaule."
Un tad šis pretī tagu šeit,>,? Nozīmē, ka tas arī viss par manu PHP kodu.
>> Let 's redzēt, kā palaist šo.
Es esmu gatavojas doties atpakaļ uz manu termināļa logu šeit.
Es esmu gatavojas iet manā PHP direktorijā.
Ievērojiet, ka mums ir visai ķekars failus, pirmais no kuriem ir hello.php.
Ļaujiet man iet uz priekšu un palaist šo, hello1.php, ieceļot.
Atļauja liegta. Labi.
Kā mēs esam noteikti lietas, piemēram, tas bija agrāk?
Ko tas nozīmē? >> [Dzirdams studentu reaģēšanas]
Mums vajag lasīt un rakstīt, bet man darīt ls-l.
Atcerieties šo nedaudz noslēpumains produkciju, kuru laikā hello1
Šķiet, ka lasāma un rakstāms ar mani
bet lasāma ikviens cits.
Izrādās tas patiesībā nav solis pareizajā virzienā.
Atšķirība, atkal, ar interpretēts valodu
ir jums nav palaist programmu tieši.
Tu nevis vadīt tulku un nododiet to kodu
ka jūs esat rakstiski, lai tā varētu interpretēt tā pozīcijai.
Šajā gadījumā, tulks vai programmu es tiešām gribu palaist
ir burtiski sauc par PHP.
>> Kaut kur uz šī cietā diska ierīces ir programma
kāds cits rakstīja sauc par PHP, vai uz Windows php.exe.
Ko es esmu gatavojas darīt, šeit ir es esmu gatavojas faktiski palaist PHP
bet arī tā kā komandrindas argumentu kodu, kas man rakstīja,
un tad es ņemšu tālināt un hit ienākt.
Tā darbojas mana programma man, no augšas uz leju, no kreisās uz labo.
Ļaujiet man iet uz priekšu un atvērt nelielu novirzi šo.
Jo hello2.php paziņojums, ka tas ir pārāk
lielākoties komentāri, tāpēc ļaujiet man atbrīvoties no tiem, kā novērst uzmanību,
un kas ir acīmredzami atšķirīgs tagad par šo failu?
Tur šī jaunā līnija, nedaudz noslēpumains augšpusē.
1 līnijas tas ir #! / Bin / php.
Bin ir konvencija par Linux un Mac OS binaries,
tāpēc / bin nozīmē šī ir mape satur ķekars binaries
kas ir ieprogrammēts, no kuriem viens ir PHP.
#! ir nicknamed zaņķis,
kas ir ātrs veids, kā pateikt to, un ko tas nozīmē
ir tas, ka tad, kad jūs darbināt šo programmu tagad tur mājienu augšpusē faila
kas stāsta dators, ko tulks, lai izmantotu.
>> Tā izpaužas mazliet kaitinošas, ja jums bija pateikt saviem lietotājiem un jūsu klientiem
"Hei, mēs rakstīja šo programmu sauc hello1.php."
Viss, kas Jums jādara, ir uz visiem laikiem palaist PHP un tad sauc šo programmu.
Atklāti sakot, tas būtu vienkārši jaukāk palaist hello1.php,
un, protams, mēs varam, ja mēs rīkoties šādi.
Ļaujiet man iet uz priekšu un darīt ls-l, un paziņojuma hello2 tas joprojām tikai lasīt rakstīt
un pēc tam lasīt lasīt, tāpēc es vēl nevar izdarīt, hello2.php.
Bet mēs ieviesta šī kādreiz tik īsi pēdējo reizi, chmod komandu.
Ja man chmod a + x, kas nozīmē visu plus izpildes iespējām,
un tad hello2.php un tad tie ls-l atkal pamanīt to, ko mainīt.
Viens, Linux kurā man faila nosaukumu zaļā nodot ideju
ka tas ir izpildāms, bet vēl svarīgāk, kreisajā pusē
pamanīt, ka mazliet pārstāv X izpildāmā tagad ir noteikts.
Ko tas tagad nozīmē, es varu palaist ./hello2.php kā parasti,
hit ievadīt, un jo zaņķis pašā augšā no faila
tas mājiens, atkal, lai Linux, kas saka
izmantot šo tulks palaist šo failu.
Vai nav jāuztraucas par liekot lietotājam faktiski rakstīt to.
>> Un, kas ir jauki tagad ir tas veida nozīmes uz manu klientu vai mani draugi
Kādā valodā es uzrakstīju šo programmu, lai es varētu iet uz priekšu ar mV
un pārdēvēt šī lieta hello2, piemēram.
Un tagad, ja man ./hello2
un attālinātu mana programma turpina darboties.
Šie failu paplašinājumi ir cilvēka konvenciju, kas ir nepieciešams
par kaut ko līdzīgu šķindēt un padarīt kas meklē tiem.
Bet PHP, es varētu nosaukt šo failu paplašinājums kaut ko es gribu.
Es varētu triks pasauli domāt, ka es esmu patiešām labi Ruby,
un es varētu uzrakstīt hello2.rb un tad palaist šo,
un voila, tagad man ir Ruby versija, kas ir pilnīgs meli.
Bet failu paplašinājumi ir bezjēdzīga
ja fails ir izpildāms un ir šo īpašo mājienu augšpusē faila.
>> Tagad, kā malā, ļaujiet man parādīt Jums ātri versija 3,
kas ir sava veida noderīgu triks zināt.
Jo hello3 es tomēr kaut nedaudz nepareizi
ka es ņemšu atjaunināt pirmkoda tiešsaistē.
3 versijā izrādās, ka uz lielāko daļu Linux datoriem
tur programma, ko sauc env videi,
un ko jūs varat darīt šeit ir, ja jums nav ne jausmas, kur PHP
tiek uzstādīta uz vietējo cieto disku, jo tas patiešām varētu mainīties atkarībā no datora
ka kāds izmanto, ENV vienkārši saka palaist env,
kas ir lielākajā daļā sistēmas, un izdomāt, kur PHP.
Tikai kopīga triks, tāpēc jums nav jāuztraucas par atrast, kur programma ir.
Bet, ja jūs uzmanīgi, lai uzzinātu, kur programma ir, un jums nav jārūpējas līdz šim
Jūs varat izmantot, kas komandu.
>> Ļaujiet man attālināt un veids, kas PHP,
un pamanāt, ka tas stāsta man tas faktiski usr / bin / php.
Tas ir sava veida meli. Tas ir arī bin.
Tas tikai rāda man pirmo hit.
Ja jums kādreiz prātoju, kur šķindēt ir, kas šķindēt, kas ir kas usr / bin / šķindēt,
kas padara, usr / bin / darīt, un ko tas nozīmē, visu šo laiku
jūs varētu būt rakstīt usr / bin / šķindoņa ievadīt palaist šķindēt,
bet tas ir sava veida garlaicīgs to darīt, tāpēc dažas mapes
tāpat usr / bin un bin tiek pieņemts, ka saistību nepildīšanas
tāpēc dators zina meklēt tiem jums.
Visus jautājumus par rakstot super, super vienkāršu Hello World programmu
PHP un tad darbojas to?
Jo tagad mēs sākam ieviest pārliecinošu sintaksi.
Labi, šeit mēs iet.
Šīs programmas mēs esam redzējuši tiešām visi no tiem pirms tam.
>> Ja es atvērt, piemēram, pieņemsim do beer1.php,
mēs nav iet caur vairākām versijām, bet tas, ko es darīju
Tika Es apsēdos un izlēja to vai pārveidot
mans C kods PHP kodu šeit.
Lielākā daļa no faila augšdaļā ir komentāri šeit.
Izrādās, ka ir viens jauns funkcija mums sauc readline.
GetString, atsaukšana, no nedēļā 0 vēlāk bija CS50 lieta.
PHP nāk ar savu lietotājam draudzīgu funkciju sauc readline
ka aizņem 1 argumentu, kurā norādīts, nekavējoties
ka jūs vēlaties, lai parādītu lietotājam, un ko readline dara
ir tas atgriež neatkarīgi lietotājs iekšā
Šajā gadījumā, es esmu deklarējot mainīgo sauc $ n.
Es esmu uzglabātu tajā atgriezto vērtību readline
Pēc pamudinot lietotājam šīs virknes.
Tikai, lai atpakaļ uz augšu, lai faktiski palaist šo lietu, ļaujiet man iet uz priekšu
un palaist php beer1.php.
Cik pudeles būs tur būt? Darīsim 2 šo laiku.
Enter. Tas arī viss.
>> Programma ir funkcionāli identisks C versiju no nedēļas atpakaļ.
Bet sintaktiski pieņemsim redzēt, kas ir atšķirīgs.
Pēc man int no lietotāja paziņojuma, ka es esmu darot kādu kļūdu pārbaudi,
un ja n ir mazāks nekā 1 Es atmest un es izdrukāt
žēl ziņu lietotājam un izceļošanu ar 1.
Arī tas ir nedaudz atšķirīgs.
C Ko mēs darām? C mēs atgriezāmies 1.
PHP izejat ar 1, kas atklāti ir es domāju nedaudz vairāk intuitīvi
jo jūs burtiski Izejot programmu.
Visas tiesības, un pēc tam uz leju šeit kaitinošas dziesma ir identisks sintaktiski
izņemot mainīgo, 24 tāpēc noteikti šeit rindā uz priekšu
pamanīt mans cilpa ir gandrīz tas pats,
bet man ir $ priekšā i un n,
un kāda ir arī trūkst no 26 līnijas, ka mēs esam bija agrāk
, deklarējot mainīgo i?
Nav veids.
Tas ir nepareizs PHP teikt int.
Jums vienkārši nav nepieciešams to darīt.
Dators, tulks PHP ir pietiekami gudrs, lai realizētu
ka, ja jūs nodot numuru $ es tā pret to
kā skaitlis jums.
Un tad noteikti šeit mēs plug $ i, $ i, $ i - 1.
Tas viss ir tas pats, un tad noteikti šeit mēs "Wow, tas ir kaitinošas" printf
un pēc tam izejiet (0).
>> Atkal, takeaway šeit ir tāda, ka, lai gan mēs esam gatavojas tērēt samērā
maz laika uz PHP, protams salīdzinot ko mēs darījām C,
tas ir gandrīz tas pats, un lai ko mēs darīsim šodien un nākamnedēļ
un ārpus tām ir jākoncentrējas tiešām par dažām jaunajām idejām.
Tikai, lai redzētu, ka viena cita lieta, tas tulkot pāri no C,
tas bija super vienkārša programma mums bija 1 nedēļa
vai 2 ka kubā vērtību.
Bet kāda bija interesanti tajā laikā par šo programmu ir, ka tas
ieviesa jēdzienu pasūtījuma rakstisku funkcijas ka mēs paši rakstījāt.
In PHP sintakse ir gandrīz tāds pats.
Te ir mana programma augšu augšas.
Pamanīt atkal prombūtnē ir kāds jēdziens galvenais.
Es sāktu rakstīt kodu, un tas ir tas, kas notiek, lai saņemtu izpildīts ar tulku.
Es izdrukāt x ir tagad 2, domājams.
Tad es varu pieprasīt cubing ...
Tad es aicinu kuba funkciju un caurlaide x $
un piešķirt atgriešanās vērtību x $.
Tad es apgalvo, ka tas ir kubā, un tad es saku, kas, cerams,
saka x tagad 8.
Par funkciju PHP sintakse ir kādreiz tik nedaudz atšķiras.
Atkal trūkst, ir atgriešanās tips.
Atkal trūkst, ir atgriešanās tips un arī trūkst, ir kāda cita veida?
[Dzirdams studentu reaģēšanas]
Nu, labi, ka ir labs. Pieņemsim atgriezties ka sekundē.
>> Mums nav, piemēram, int šeit.
Mums nav, piemēram, ir int šeit, jo, atkal, PHP
Jums vienkārši nav nepieciešams, un nedrīkst darīt,
bet tur ir šis jaunais atslēgvārds sauc funkciju.
PHP tas ir gandrīz mazliet skaidrāks, jo, kad jūs vēlaties funkciju
Jūs burtiski pateikt funkciju, jūs arī tā nosaukumu un pēc tam ar komatu atdalīti
ja kāds no argumentiem.
Nav nepieciešams pateikt tukšumu vai kaut kas tamlīdzīgs, un tad atgriešanās ir tas pats,
$ * $ * $.
Kas ir arī trūkst? Sammy norādīja tas šeit.
Augšpusē faila pilnīgi izpaliek PHP arī ir prototips.
Arī tas ir ar nolūku.
Valodas un tulki, piemēram, PHP ir gudrāki par C kādreiz bija
jo apkopotāji piemēram šķindēt.
>> Atgādinām, ka šķindēt, ja Jums nav pateikt to, ka kubu pastāv,
ja Jums nav pateikt to, ka Printf pastāv kā ar prototipu
vai ar # ir, labi, ka tas būs kliegt pie jums, un nav pat sastādīt savu kodu.
PHP un vairāk mūsdienu valodas ir daudz gudrāki, kad runa ir par šo.
Viņi būs ņemt to uz sevi izlasīt visu savu kodu
un tad kliegt pie jums tikai tad, ja tā konstatē kuba nekur.
Tas nav svarīgi, ja kubs ir apakšā vai augšā vai pat dažos atsevišķā failā.
PHP un līdzīgas valodas tagad pietiekami gudrs, lai skatīties uz priekšu
par visu pirms tā uzskatīja tevi par tādu kļūdījies.
Ja tas, ka atstāj mūs?
>> Darīsim vienu pēdējo piemēru šeit apstākļos,
un, ja es atvērtu conditions2.php paziņojumu pārāk
sintakse šeit ir gandrīz tāds pats.
Es esmu, izmantojot readline vietā GetString, bet līnija ir tāda pati kā iepriekš,
"Es gribētu skaitlis lūdzu."
Man tad ir, ja nosacījums, kas cits, ja, un tad cits,
bet funkcionāli šī programma ir arī identisks tam, ko mēs darījām nedēļas atpakaļ,
tāpēc, ja man palaist šo lietu, php no conditions2,
un es arī tā numuru, piemēram 23 -
Es paņēmu pozitīvu skaitli. Ja es arī tā -1 es paņēmu negatīvu skaitli.
Ja es arī tā 0 Es patiešām palielinājies 0.
Tā, kas rūpējas par visu šo?
Nu, viens no fun veida vingrinājumi šeit
man vismaz bija doties atpakaļ un redzēt, cik ātri es varētu īstenot PSET 5,
pārrakstīšanās PSET.
Atceros, ka tur bija šī failu sauc speller.c,
un tur bija failu sauc dictionary.c.
Ko es darīju bija es veida pavadīja dažas minūtes, un es pārvērš C kodu
PHP kodu, un mēs nevarēsim tērēt daudz laika uz Speller
jo tāpat 5 PSET jums nav tiešām ir nepieciešams
pavada daudz laika uz Speller pati, jo jūsu uzmanību bija vārdnīcu.
>> Pietiek pateikt, ka, ja jūs lasīt, izmantojot Speller,
Šis fails šeit, tas ir diezgan daudz līdzvērtīgu C kodu
mēs deva jums par 5 PSET.
Esmu tikko pievienotās daži $ vietās.
Es esmu mainījies dažu funkciju nosaukumi, ja tie nebija PHP.
Ir vēl viena lieta šeit, preg_match,
kas ir nedaudz mīļotājs veids, kā to kaut ko, bet mēs būsim atpakaļ, ka beidzot.
Bet sakot, Speller ir gandrīz identisks, un ja paskatās pašā apakšā
ko tas galu galā atklepo tas šeit,
vārdiem nepareizi, vārdus vārdnīcā, vārdu tekstā.
Labi, lai to, kas ir interesanti tagad ir šādi.
Augšpusē manu failu es esmu vajadzīga dictionary.php.
Tāpat kā C ir # ietvert PHP ir īpaša funkcija sauc nepieciešama
ka diezgan daudz dara to pašu, nepieciešama failu ar nosaukumu dictionary.php.
Kā es varu iet par īstenojot PSET 5?
Ļaujiet man iet uz priekšu un atvērt failu šeit.
Ļaujiet man veikt nelielu atsauci šeit.
Un ļaujiet man izveidot jaunu failu un sākt aicinot šo dictionary.php.
Ļaujiet man nodot to citā mapē, lai mēs varam darīt dzīvot.
Un tagad es tuvinātu iekšā
Es esmu gatavojas sākt savu PHP failu ar atvērtu kronšteinu PHP slēgta kronšteinu.
Un tad šeit bija dažas funkcijas man vajadzēja, lai īstenotu uz 5 PSET,
tāpēc ļaujiet man sākt īstenot dažus no tiem,
tā funkciju pārbaude, kas bija jāņem vārdu kā argumentu.
Mēs darīsim to un nāk atpakaļ uz to brīdi.
>> Tur bija funkcija slodzi, kas stājās kādā kā argumentu?
Vārdnīca, lai fails, ka es tiešām gribēju, lai slodze.
Tur bija funkcija lielums, kas neveica nekādus argumentus
un tur bija funkcija-kāda bija cits?
Izkraut, kas neveica nekādus argumentus nu.
Tie ir 4 funkcijas, kas man būtu nepieciešams, lai tagad īstenot PHP,
un ko es esmu gatavojas darīt, ir iet uz priekšu un darīt to.
Daudzi no jums izmanto hash tabulu 5 PSET,
tāpēc ļaujiet man iet uz priekšu un izveidot hash tabulu PHP.
Darīts.
Tas dod man hash tabulu. Nu, kāpēc?
Viens, mainīgo sauc $ galda, vienkārši uzburt ideju par hash tabulā.
Kvadrātiekavās, lai gan, atgādināt, atspoguļo to, ko?
Masīvs, bet PHP masīvu nav jābūt skaitliski indeksēti.
Tie var būt arī asociatīvas bloki,
kas nozīmē, ka jūs varat būt patvaļīgi atslēgas un vērtības.
>> Līdzīgi kā 5 PSET, tiem no jums, kas bija hash tabulu implementāciju
Jūs, iespējams, ievietots vārdu, un tad ievieto to ķēdi saistītu sarakstiem,
vai jūs uzglabāt vērtību patieso kaut vai kaut kas šajā sakarā.
Jūs kaut atcerējās to, ka vārds bija tur.
Tagad, kas būs mana hash tabulu,
un tāpēc tagad iet par īstenošanu izvēles funkcija
Man vienkārši vajag meklēt iekšpusē šī hash tabulas
un redzēt, ja vārds ir tur.
Ko es esmu gatavojas darīt, ir es esmu gatavojas teikt, ja-
teiksim isset, kas ir PHP funkcija, kas burtiski nozīmē ir atslēgu komplekts,
tāpēc isset ($ tabula [$ vārds],
un ja tā atgrieztos taisnība.
Viss. Tas ir PHP 5 PSET.
Nu, taisnīgumu, labi.
Cits atgriezties viltus, tāpēc tas nav tur.
Kas īsti notiek šeit?
Nu, ja galda vai hash tabulā ir vairāk vispārēji
ir asociatīvas masīvs, kas nozīmē, ka jūs varat indekss tajā
ar vārdu, piemēram, "vārdu", un jums ir, lai saņemtu atpakaļ kādu vērtību.
>> Mēs esam veida, kā iegūt vienu soli priekšā sevi.
Tas būtu sava veida jauki, ja mēs faktiski iekrauj failu vispirms,
tāpēc slodze nav tik vienkārši, bet ļaujiet man iet uz priekšu un sakult
tiešām ātri īstenot slodzes.
Ļaujiet man iet uz priekšu un teikt vārdus kļūst failu vārdnīcu.
Failu funkcija PHP atver failu
un atgriežas jums masīvs visas šīs lietas vārdiem,
vienkārši nodod tos jums.
Tas bija liels sāpes pārāk, bija ne?
Tagad foreach, tas ir mūsu jaunais konstrukcija, foreach ($ vārdi kā $ vārds).
Šī cilpa gatavojas sākt atkārtojot pa masīva vārdus
un piešķirt uz $ vārda mainīgais katru vārdu failā
no pirmā uz otro, lai trešās līdz ceturtās galam
tāpēc man nav jādara kaitinošas [i] nošu un tamlīdzīgi.
Un ko es esmu vienkārši gatavojas darīt par katru no šiem vārdiem
ir uzglabāt to mana galda, indeksējot uz galda
un tad dara patiesi, jo jāatceras
ka vārds ir manā vārdnīcā viss man tiešām ir jādara
ir sava veida uzsist mazliet un saka, tas manā hash tabulā vārds ir tur, taisnība.
Un, ja tas nav tur, man nav skaidri likt viltus,
citādi man ir likts viltus visu iespējamo vārdus Visumā.
>> Pietiek man tikai noteikt indeksa vērtība
līdz patiess, ja vārds ir faktiski manā hash tabulā.
Tagad, es esmu griešana pāris stūriem šeit, ka es ņemšu vilnis savu roku pie tagad,
bet tagad slodze funkcija tiek darīts.
Es slodze visus vārdus no faila masīvu.
Es atkārtot pār šo masīvu, un katram vārdam masīvā
Es plug to hash tabulā ar 1 līniju kodu.
Tas ir jautri. Jūs zināt, kā mēs varam īstenot izmēru tagad?
Nu, izmērs vienmēr ir diezgan viegli, jo taisnīgumu.
Šeit mēs varam vienkārši atgriezties skaits no tabulas.
Tas ir diezgan viegli too, saskaitīt lietas tabulā.
Tas ir tiešām sava veida nav efektīvākais.
Es, iespējams, ir mainīga sauc lielumu, lai mēs varam darīt to
pastāvīgu laiku, bet tas ir diezgan viegli.
Ak, un tad izkraut, ja mēs patiešām vēlamies būt anālais šeit
mēs varam teikt, ka, kā jūs izkraut kaut.
Jūs vienkārši iestatīt mainīgo vienāds ar tukšu masīvu,
un tas izpaužas atbrīvoties no visa, kas bija tur.
Nav nepieciešams zvanīt bez maksas.
>> Atkal, es esmu samazināt dažas stūriem, un es atvainojos par piešķirot problēmu kopumu 5
varbūt C, bet, ja mēs tagad iet uz priekšu un palaist to,
Es esmu gatavojas faktiski palaist versija, ka es uzrakstīju iepriekš
tikai tāpēc, ka man nav nekādas sintakses kļūdas whatsoever.
Ļaujiet man iet uz priekšu un palaist Speller. Lietošana ir tas pats.
Šeit ir vārdnīca fails, kas tikai satur vārdu foo.
Te ir teksta fails, kas tikai satur foo bar.
Pieņemsim pareizrakstības pārbaude to, lai Speller, izmantojot šo vārdnīcu failu uz šo teksta failu.
Ir viens kļūdaini vārdu, bārs, un voila.
Darīts ar 5 PSET.
Paņemsim 5 minūšu pārtraukumu šeit, un mēs būsim atpakaļ, un vairāk par PHP.
Labi, mēs esam atpakaļ.
Darīsim-naida mani uz brīdi.
Pieņemsim tagad faktiski redzēt, ja tas nav pozitīvs
faktiski īsteno šo lietu PHP.
Piešķirts, tas bija 45 sekundes, lai īstenotu.
>> Bet iesim uz priekšu tagad un vadīt lietas.
Ļaujiet man iet uz priekšu un palaist C versiju
gada Speller, un mēs to par vienu no lielākajiem failu,
kas ir King James Bible.
Un tas šeit ir-iesim uz mūsu C mapi,
Pareizrakstības par King James 5..
Daudz Vārdos.
Labi, tā ka ir izeja jūs, iespējams, ieguvuši pat ja laiks ir mazliet atšķirīgs,
ja jums viss darbojas pareizi, un tā laika kopumā pareizrakstības pārbaude
King James Bible bija 0,38 sekundes, tāpēc ir diezgan laba, izmantojot šo īstenošanu.
Tagad ļaujiet man iet uz PHP versiju, kuru mēs tikko rakstīja.
Ļaujiet man palaist Speller par King James.
Whoops, ignorēt šo kļūdu. Es esmu nepareizā direktorijā.
Pareizrakstības par King James 5..
Gandrīz izdarīts.
>> Labi, vērīgs novērotājs būs saprast, ka bija vairāk nekā 3 sekundēm tur.
Tas ir patiess darba laiks.
Izrādās, ka ir nepieciešams laiks, lai iespļaut daudz teksta ārā
jo buferizācijas jautājumus, bet garš stāsts īss,
ka bija 3.15 sekundes mašīna laikā, CPU laiks,
pret ko tas bija pirms brīža?
Piemēram 0,3.
Es domāju, tas ir par kārtu lēnāk, lai kur ir tā, ka
smieklīgi lejupslīde nāk no?
Nu, kā tas ir bijis gadījums ar gandrīz visiem projektēšanas lēmumu mēs esam padarījuši
klasē pēdējo 9 nedēļu tur ir gandrīz vienmēr tas Tradeoff.
Dažreiz starp tikai telpā, dažreiz starp telpu un laiku,
telpa, laiks un attīstības centieniem, un tiešām šeit, lai gan
Mēs saglabāti milzīgu laiku, varbūt potenciāli 10-20-30 stundas
attīstības laikā īstenojot pareizrakstības pārbaudītājs
ar sitieniem to tikai 45 sekundēs ar šo valodu
cena, ko maksājam, ir, ka tas ir par kārtu lēnāks kā rezultātā,
un tas parasti notiek ar gandrīz visiem interpretēts valodā,
PHP, Python, Ruby, Pearl vai citi ar kuru no
ja jūs gatavojas palaist to caur tulka un ir to lasīt savu kodu
pozīcijai, no augšas uz leju, no kreisās uz labo,
ka starpnieks ir gatavojas veikt kādu laiku savu,
un ko jūs bija sajūta šeit ir 3 sekunžu pretstatā 0,3 sekundēs
ir fakts, ka tas ir starpnieks, kurš ir burtiski interpretēt mūsu kodu
pozīcijai, un nedod Dievs, ja tu esi iekšā no cilpas
ar milzīgu datni simtiem tūkstošiem vārdu.
>> That gaisvadu gatavojas pievienot un pievienot un pievienot un pievienot augšu.
Par instrumentu, piemēram, tas, tas ir iespējams, nav labākais valodu lietot, lai īstenotu
pareizrakstības pārbaudītājs ja neatliekamību ir interese jūsu lietotājiem un jums.
Bet luksusa mums ir brīdi ir, ja tu
izmantot, piemēram, PHP valodas vai no interpretēt valodu daudz
saistībā ar Web, lai šo jautājumu, jums ir labā
ka internets ir daudz lēnāks nekā vairumam datoru.
Jums ir GHz CPU datoru, 2 GHz, varbūt pat vairāk šajās dienās.
Bet realitāte ir internetā ir liels daudzums latentuma
turklāt attiecībā pārlūkprogrammu runāt ar serveri, lai gan mēs redzējām pagājušajā nedēļā
ka ir diezgan ātri, puse milisekunžu vai arī tā,
ka pārāk iznāk, un, ja jūs lejupielādējot lietas, piemēram attēlu
vai Facebook foto vai iegūt tūlītējos ziņojumus nekā Facebook pļāpāšana,
Gchat vai līdzīgi, visi šie turp-atpakaļ laikos
starp pārlūkprogrammu un serveri sākt pievienot uz augšu,
kas padara jūsu konkrēto valodas izvēli daudzos gadījumos
ne viss, kas nepieciešams, lai jūs esat naudas sodu, izmantojot mazliet lēnāks valodu
piemēram, PHP vai Python vai Ruby
bet par kuriem ir milzīgs upsides uz jums un jūsu kolēģiem
un jūsu draugi, jo jūs varat īstenot lietas tik, tik daudz ātrāk.
Un turklāt, jums ir daudz mazāks risks, atsevišķu drošības trūkumus.
Tur nekādas PHP norādes.
Nav SEG kļūmes, ka jūs varat viegli inducēt
tāpat tu varētu C.
Ar C jūs esat super tuvu aparatūru.
Ar PHP un līdzīgi valodā tu esi veida augstākā līmenī, tā teikt,
ar daudz aizsargspējas starp jums un ko patiesībā notiek
iekārtas iekšpusē, un tas ir tikai tradeoff.
>> Mums ir gotten līdz vietai, kam šie mūsdienīgu, augsta līmeņa valodām
piemēram, PHP, jo gūto pieredzi tādās valodās kā PHP C.
Bet, ja jūs nesaprotat, ko ir bijis notiek zem pārsega visu šo laiku
Jūs, protams, nevar izdarīt pareizo lēmumu,
un protams, ja runa ir par darbu citā vietā, piemēram, Facebook vai Google
vai kādu no šīm vietām, kas kļūst arvien spēlē ar lielu datu kopu
pat ja jūs iet atpakaļ un darīt premed un strādā ar kādu MD
par dažiem lieliem datu kopas iesaistīt pacientus un ārstus
un, piemēram, izmantojot pareizos instrumentus, ir ļoti pārliecinošs
jo citādi jūsu analīzi par dažu datu kopas varētu veikt sekundes,
vai tas varētu burtiski veikt stundas.
Šis ir tikai viens piemērs, nevis sagraut jums ar to, cik daudz lielāku piepūli
tas bija C, bet, lai palīdzētu jums novērtēt, ka tad, kad jūs ieviest kaut ko C
jūs tiešām saprast, vai teorētiski, īsti saprast
cik viss ir vai būtu darba, un jums ir gandrīz pilnīga kontrole
pār to, kas notiek zem pārsega, un ar šīm augstāka līmeņa valodām
Jums ir atteikties lielāku kontroli, lai cilvēkiem, kas izgudroja tos
un ir pakļauti vairāk, lai to dizaina lēmumiem nekā jums.
Bet, ja mēs uzskatām par pašsaprotamu, ka sniegums
nav tik svarīgi tīmeklī dēļ šiem citiem jautājumiem,
Tikai tīkla ātrums ir nedaudz lēnāks nekā CPU ātrumu vienalga,
lai mēs varētu sakārtot par atļauties izmantot mazliet lēnāks valodu
ja upsides mēs varam attīstīt lietas 10 reizes ātrāk vai pat vairāk.
>> Let 's redzēt, kā mēs varam sākt izmantot šo.
Ļaujiet man aiziet uz mapi
starp mūsdienu piemēriem sauc frosh.ims,
un tas bija tiešām personīgi motivēts ar to, ka pati pirmā lieta
Es uzrakstīju par Web gadus atpakaļ, ņemot CS50 un CS51
bija mājas par Frosh ARS programmā, pirmkursnieks Iekšējās sporta,
kas tajā laikā tas bija pietiekami gadus atpakaļ, ka tajā laikā
nebija programmai mājas lapā, lai gan tur bija Web,
un tā vietā bija proktors jo Wigglesworth kurā, ja jūs vēlējāties
lai reģistrētos volejbolu vai futbolu vai kāds jūs varētu aizpildīt papīra.
Jūs tad staigāt pāri pagalmam.
Jūs tad klauvē pie viņu durvīm un slidkalniņu to durvīm vai rokas uz Proctor
papīra gabals ar savu vārdu par to, vai jūs vēlaties būt komandas kapteinis,
kādi sporta jūs vēlētos darīt, un ko kopmītnes jums bija iekšā
Tā bija sava veida vecās skolas veids, kā to lietas, un tas bija galvenais
iespēja automatizēt daudz šajā procesā.
Jūs dodieties uz mājas lapā. Jūs rakstīt kaut iekšā
Jūs saņemsiet apstiprinājuma e-pastu, un uzplaukums, jūs darīts.
>> Tas bija pats pirmais, ko es darīju, lai arī valodu sauc Pearl,
bet tas ir salīdzinoši viegli darīt PHP, un tas ir sava veida pārstāvja
no problēmas, jūs varat sākt risināt, ja jūs varat izteikt sevi
pragmatiski un nav jāpaļaujas uz lietām, piemēram, Google vietnes
vai Excel vai instrumenti, kas tiek nodotas ar jums.
Jums puiši tagad ir iespēja darīt lietas, kā šis.
Tas ir super neglīts versija formas,
bet pieņemsim tikai izmantot to, lai sarunas sākumā kuru tas ir
apmēram, ko formas izskatījās gadiem par mums
lai cilvēki tīmeklī pierakstīties uz Frosh IP.
Mēs lūdza vārdu, ar rūtiņu par to, vai viņi gribēja būt kapteinis,
vīrietis vai sieviete, un tad ko kopmītnes viņi,
un tad viņi varētu iesniegt šo veidlapu.
Lets vispirms apskatīt zem motora pārsega pie HTML, kas pārstāv šo mājas lapu.
Ļaujiet man iet froshims0,
un kā malā, par 7 PSET es esmu ņemot par pašsaprotamu
katalogi un mapes, ka es varēšu lietas iekšā
Mēs jums palīdzēsim, kur tieši sīkumi ir iet armatūru,
kas mod komandas jums ir palaist, tāpēc nav jāuztraucas par visiem
stulba ziņas sinhronizēšana in no get-go šeit.
>> Labi, šeit ir froshims0.php.
Ļaujiet man ritiniet uz leju, un kas ir ziņkārīgs šeit,
Tas ir PHP failu, bet to, kas iekšpusē tā, skaidri?
Tas ir visai daudz HTML, un tiešām, PHP pirmsākumi
tiešām bija par to Web orientētus valoda.
Pirms brīža mēs to izmanto, lai īstenotu alus piemērs,
nosacījumi Piemēram, sveiki piemērs, un tas ir jauki.
Jūs varat izmantot PHP kā skriptu valoda
ja skripts ir tiešām tikai nomenklatūra dota ātri un netīro programmas
vai kaut kas jums rakstīt scenāriju vai vispār jāinterpretē valodu.
PHP ir super noderīga, jo jūs esat redzējuši, cik ātri
salīdzinoši mēs varam sakult programmas PHP.
Bet tas bija tiešām paredzēts izmantot, lai Web,
un paredzēti Web tādā nozīmē, ka ieraudzīt šeit augšpusē faila
Es sāktu ar <? Php.
Tad man ir ķekars bezjēdzīgi komentāri, kas piešķirti, bet tad es tuvu PHP režīmā.
Bet tad es piliens HTML režīmā.
>> Kas ir interesanti par PHP ir kaut fails beidzas. PHP
tas parasti domāts, lai būtu kopā sajaucās ar HTML,
daži PHP kodu, dažas HTML.
Un mēs redzēsim beidzot ka mēs varam sākt kaitināt tos intervālu
un saglabāt mūsu HTML atsevišķi no mūsu PHP vispār,
bet par PHP pirmsākumi tiešām bija, lai dotu jums šo elastību,
ka, ja jūs vēlaties kādu HTML tikai rakstīt to, un tas būs
izspļaut identiski uz pārlūku.
Bet, ja jums ir nepieciešams zināms programmēšanas tehniku,
daži programmēšanas kodu, jūs varat arī nodot to pašu precīzu failu, kā mēs drīz redzēt.
Te ir mana HTML.
Man titulu šo uz Frosh IP.
Man ķermeņa tag, kas ir ieguvuši dažas CSS par to, lai centrs viss vidū,
un tad uz leju šeit man ir forma, kas acīmredzot būs jāiesniedz
uz jaunu failu ar nosaukumu register0.php, tāpēc mēs redzēsim, ka brīdi.
Tas ir, izmantojot metodi, ko sauc pēc, ko mēs atgriezties pie kā labi.
Tad man ir sava veida ieejas, viena sauc vārdu, kuru tips ir teksts,
iestādi, kuras vārds ir kapteinis, kuru tips ir rūtiņu,
un tas, mēs neesam redzējuši to pirms, bet tas tieši to, ko tā saka.
Jūs saņemsiet rūtiņu neka tekstlodziņā.
Noteikti šeit jums ir radio pogu, kas ir viena no tām riņķveida pogām
ka jūs varat izvēlēties šo vienu vai ka viens.
>> Paziņojuma tas ir apzināts, ka man deva gan radio pogas nosaukumu dzimuma.
Tas ir, kā jūs saņemsiet savstarpēju izslēgšanu kurā jānoklikšķina
nu tas viens vai ka viens, un, noklikšķinot otru
tā unchecks otru, tāpēc jums ir dot viņiem to pašu nosaukumu
ja jūs vēlaties, lai tie savstarpēji izslēdz, piemēram, ka.
Un tad kopmītnes, es nedomāju, ka mēs esam redzējuši šo ziņu, bet tas izvēlieties izvēlni, nolaižamā izvēlne.
Par ka tag ir izvēlieties.
Jūs tad dod nolaižamajā izvēlnē nosaukumu,
un tad jums ir viss ķekars šīm iespējām.
Pirmais, tikai par estētiku, ir tukša virkne.
Es tikai gribēju piliens uz leju, ir tukša pēc noklusējuma,
un tad tur Apley, Canaday, Grays, un tā tālāk.
Un paziņojums dihotomiju šeit.
In piliens variants paredz ir vērtība,
bet tad tas ir cilvēkam draudzīgu vārdu, kas šajā piemērā
ir identisks, bet, ja mēs patiešām gribēju būt anālais mēs varētu būt
šī kritumu vērtība noteikta tikai būt īsā versija,
Grays, bet mēs tiešām varētu teikt, Grays Slavas ka cilvēka faktiski redz,
bet tas nav tik interesanti, tāpēc es tikai tur tā vienkārši un padarīja viņus identiski.
Tad leju apakšā mums ir iesniegt pogas
ko mēs esam redzējuši iepriekš, bet pamanīt es tikai deva tai citu vārdu.
Instead no CS50 meklējumos es deva etiķeti "Reģistrēties".
>> Gala rezultāts ir šī mājas lapa šeit, un atkal,
ja tas get iesniegts?
Tas izpaužas iesniegts kādu failu, vērtība rīcības atribūtu,
kas bija register0.php.
Pieņemsim redzēt, kas patiesībā notiek šeit.
Ļaujiet man iet uz priekšu un aizpildīt šo veidlapu, teiksim Deivids,
vīrietis, Matthews, un tad es saku reģistrā.
Ļaujiet man attālināt un noklikšķiniet reģistrā.
Labi, tā veida bezjēdzīgi, bet pieņemsim redzēt, kas patiesībā notiek.
Ievērojiet, ka URL ir mainījies būt register0.php.
Kas ir savādi prom no URL, lai gan, pat ja mēs vienkārši iesniedza formu?
[Dzirdams studentu reaģēšanas]
Labi, ka ir tikai Chrome ir lietotājam draudzīgs šajās dienās.
Tas ir tiešām tur. Viņi vienkārši paslēpt to, lai taupītu vietu.
Bet laba doma, laba doma.
Uz otru beigās URL, lai gan, kas trūkst? Yeah.
[Studentu] vaicājuma virknes.
Vaicājuma virknes, lai atsauktu no mūsu vienkāršu Google meklēšanas piemērus.
Tiklīdz es noklikšķiniet uz pogas Iesniegt URL
aizveda mani uz Google, bet tad tur bija? Q = datorzinātnēs vai kāds man bija drukāti collas
Tas ir tāpēc, ka mēs izmantojām get metodi ar meklēšanas piemēru.
>> Šoreiz mēs esam izmantojot kādu metodi vietā?
Post, un neatliekamiem atšķirībām 1
starp saņemt un nosūtīt, ka amats nav likts lietotāja ievadītā URL.
Tā slēpj to. Tas joprojām nosūta to.
Patiesībā, ko mēs redzam, pārlūkprogrammā šeit, jo mēs atklāt pēc brīža
skatoties register0, tiek es esmu tikai redzēt saturu
masīva, kas tika iesniegti no pārlūkprogrammas uz serveri.
Bet URL nav?, Nav nekādas atslēgvārdus
vai vērtības tajā, un kāpēc tas ir?
Nu, pēc ļauj arī iesniegt datus no veidlapas uz serveri,
bet tas nav nodot to URL, lai kāda veida informācija ir post
īpaši piemērots varbūt, kad jūs esat jautā lietotājam
ierakstiet ieguldījumu formā?
Kaut kā paroli, kaut kas līdzīgs, ko vēl?
Kredītkaršu numurus.
Jebkas, kas ir nedaudz jutīga jūs, iespējams, nevēlaties nonākt URL
ja tikai tāpēc, ka tas nozīmē, ka jūsu istabas biedrs vai ģimenes loceklis var vienkārši trollis caur
Jūsu interneta vēsturi un pēc tam burtiski redzēt jūsu paroles,
burtiski redzēt jūsu kredītkaršu numurus, jo lielākā daļa pārlūkprogrammu
atcerieties vēsturē neatkarīgi URL esat bijis,
tāpēc, ja tikai tāpēc, ka tas būtu slikta ideja.
Izmantojot post ādas, kas detalizēti no lietotāja.
>> Tāpat, kā jūs augšupielādēt foto uz Facebook?
Nu, tikai 2 mehānismi jūs tiešām var izmantot,
pat ja tur ir daži citi vēl Arcane tiem, ir iegūt un pēc.
Kā jūs, iespējams augšupielādēt foto caur URL?
Jūs faktiski var darīt to.
Jūs varat veikt JPEG vai Bitmap vai GIF, un jūs varat pārstāvēt to heksadecimālā
vai kaut ko sauc bāze 64.
Vietā no 16 bāzes jūs izmantojat Base 64, kas būtībā izskatās
ASCII rakstzīmes, un jūs faktiski var augšupielādēt foto caur URL
Pēc jautājuma zīme, bet tur parasti ir lieluma ierobežojumi.
Vairums pārlūkprogrammu piespiest URL būt ne vairāk kā 1000 rakstu zīmes,
varbūt 2000 rakstzīmes vai tamlīdzīgi, lai jūs nevarat augšupielādēt
10 MB Facebook foto.
Ka jums izmantot amatu, kā arī, lai tagad saņemtu liek URL parametri,
kas ir jauki un noderīgi dažreiz, bet par kaut ko svarīgu vai liels
ziņa ir veids, kā iet.
Kas ir register0 faktiski dara šeit?
Nu, ja es atvērt register0 paziņojumu, ka tas ir super vienkārši lapā,
bet tas pierāda to, ka es varētu sadarboties maisīt, lai labāk vai sliktāk,
HTML ar PHP.
Tas viss fails, izņemot augšpusē komentārus, ir HTML
izņemot šo puisis šeit.
>> Pamanīt vidū manu PHP kodu,
vidū mana HTML, man ir sava veida īslaicīgi
ieraksta PHP režīmā.
Es esmu aicinot īpašu funkciju sauc drukas r.
Tas nozīmē drukāt rekursīvs, un ko tā dara, ir tas rekursīvi drukā
neatkarīgi mainīgs jūs puses, tas, semikols, izceļošanas PHP režīmā.
Un pirms taga sniedz jums iepriekš formatētu tekstu,
mono telpa tekstu tā, ka katrs kosmosa jūs faktiski redzēt to.
Tas nepazūd. Kas ir post?
Nu, kas ir interesanti un pārliecinoši par PHP
ir tas, ka, kad jūs iesniegt veidlapu, izmantojot saņemt vai nosūtīt
jebkas, kas ir iesniegts jums ar pārlūkprogrammu
PHP pati skaitļi, kādi ir šie galvenie vērtību pārus ir,
skaitļi, ja tur ir vienādības zīmes, skaitļi, ja tur ir jautājuma zīme.
Tas dara visu smago darbu jūsu vietā, un tad tas iedod jums asociatīvais masīvs
satur visu, kas lietotājs drukāti uz formu.
Nu, ko lauki bija šī veidlapa ir?
>> Tas bija 4 laukus.
Viens bija teksta lauks sauc vārdu.
Viens bija rūtiņu sauc kapteinis.
Viens bija radio pogu sauc dzimums,
un viens bija nolaižamo izvēlni sauc kopmītnes,
tāpēc ievērosiet, kad es drukāt rekursīvi
saturs šī īpašā mainīgais.
Tas ir īpašs pasaules mainīgo sauc burtiski $ _POST, visās vāciņiem.
Tas ir īpašs globālo mainīgo, ka PHP tikai rada par jums
un rokas ar jums, lai jūs varētu piekļūt visu
kas tika iesniegts, izmantojot veidlapu, lietotājam.
Un aicinot drukas r to, jums nebūs darīt normālā pieteikumā.
Mēs darām, lai redzētu iekšpusē šo mainīgo,
un kas ir iekšā no tā, labi, 4 atslēgas,
4 http parametrus, tā teikt,
nosaukums, kapteinis, dzimuma, kopmītnes, un tad vērtības, lietotājs
drukāti ar vienu izņēmumu.
I did tipa D-V-I-D.
Piereģistrējos lodziņu, lai gan, lai vīrietis, kas acīmredzot iesniedza vērtību
gada tikai m būt īss.
>> Kad es izvēlējos Matthews ka ir vērtība, kas got izvēlēts,
un tas viens ir mazliet muļķīgi, bet tas ir konvencija.
Kad es pārbauda kastē, vērtība tālāk, "par", ieguva iesniegts rūtiņu.
Ja es nebūtu pārbauda to, vērtība būtu nosūtīts whatsoever.
Tas ir tikai dodot mums ieskatu par to, kas ir iekšā šo īpašo globālā mainīgā,
un tas ir tik īpašs, ka tā sauc super globālo mainīgo.
Tas pastāv visur ar Jums savu kodu, lai jūs faktiski var piekļūt.
Tas nav tik pārliecinošs, tāpēc pieņemsim faktiski izmantot super Global
un faktiski mēģina reģistrēt kāds.
Jo froshims1 es esmu gatavojas veikt vienu maiņu.
Es esmu mainot prasību par register1.php,
un es esmu dara viena cita lieta.
Es biju veida apgrūtināts ar kvalitāti manas mājas lapā tur.
Tas ir diezgan pretīgs, godīgi, tāpēc izrādās
ka jūs varat izmantot ļoti viegli uz Web
citu cilvēku JavaScript kodu, citu cilvēku CSS
ka viņi rakstiski un atvērtā koda un ir pieejami kā bibliotēku,
tā sakot, un, piemēram, šeit es esmu, izmantojot brīvi pieejamo bibliotēku,
ķekars koda ka kāds cits rakstīja.
>> Twitter noticis rakstīt šo kodu, un to sauc bootstrap bibliotēka,
un tas ir tikai ķekars CSS stila lapas, ķekars. css failus
ka kāds cits rakstīja un sapratu, kā iegūt viss jauki un diezgan
lai cilvēki, piemēram, mums var uztraukties nedaudz mazāk par estētiku un koncentrēties daudz
uz loģiku un faktisko programmēšanu.
Saistot to ar šo tagu, kas ir pats taga es atceros par styles3.css agrāk,
Man tagad ir pieejama failu sauc bootstrap.min.css.
Min tikai nozīmē viņi minified to un tie esam gotten atbrīvoties no visiem balto telpu, un tā tālāk
tikai lai pārliecinātos, ka viņi nav sūtīt man vairāk baitu nekā es tiešām ir nepieciešams.
Bet tur ir viss ķekars CSS, tāpēc, ja es tagad atvērt no Frosh IP versijas 1
pamanīt, ka mana lieta ir noteikti prettier.
Tagad tas ir vēl tikai melns un balts, bet paziņo, ka, tikai izmantojot savu stila lapas
un izmantojot dažas iezīmes uz manu formu, tas nav pārsteidzošs,
bet tas noteikti tīrāks nekā tas bija agrāk, un projektors nedara to taisnīgumu.
Ir maz pelēkās līnijas ap pogām un ap teksta laukā tieši šeit,
bet tas noteikti tīrāks nekā tas bija pirms tam.
>> Tagad, godīgumu, man ir jāmaina mans iezīmēšanas mazliet.
Šī ir versija 1, un ievēroju, ka es esmu, ko izmanto dažas jaunus tagus,
un godīgi, man nebija ne jausmas, kā to darīt, kamēr es lasīt dokumentāciju
par čivināt bootstrap bibliotēkā, un viņi man teica, ja jūs vēlaties izmantot savu bibliotēku
izmantot fieldset elementu iekšā savu formu,
likt vārdu vēlaties parādīt blakus lauka iekšpusē etiķetes tag,
tad dod savu ieejas vārdu, tāpat kā līdz šim,
un tad uz rūtiņu, ne tikai jūs ietiniet to etiķetes elements,
Jūs izmantot kaut ko sauc klases, tāpēc mēs neesam redzējuši šo pirms,
bet jūs redzēt šo vienā no PSET 7 ir šorti.
CSS klases ļauj jums darīt kaut ko ļoti līdzīgu ID,
bet pirms kad mums bija ID ar # simbolu
kas bija par vienu un tikai viens elements.
Kas ir jauka par klasi, ka vairāki elementi var būt tās pašas klases
vai pašu CSS sīkumi piemērota tam.
>> Bet atkal, vairāk par tiem, īstermiņa, un tas pārējais ir tikai kopēt un ielīmēt
no to dokumentācijā, kur es esmu pievienots etiķeti šeit un tur.
Un beigās, jo es esmu iekļauts saišu frāzi augšā,
viss izskatās prettier automātiski
, vienkārši ar iezīmē manu lapu tādā veidā, kas
Twitter gaidīts, un tur ir tik daudz dažādos veidos
kā to izdarīt, un tas ir patiešām ļoti piemērots.
Šajā brīdī semestra, kā jūs redzēsiet PSET 7 ir spec,
Googling apkārt, lasot līdzi bibliotēkas, izmantojot citu cilvēku CSS
un JavaScript atrisināt papildu problēmas
uz problēmu kopumu pati noteikti jāveicina un ir ceļš
Web ir veidota šajās dienās, ko stāv uz citu cilvēku pleciem
lai jūs tiešām var koncentrēties uz jaunu un interesantu problēmu.
Bet pieņemsim tagad koncentrēties uz, atkal, loģiku.
>> Tas bija ātrs apkārtceļš uz estētiku tikai, lai parādītu virzienu, kurā jūs varat iet.
Es esmu gatavojas atgriezties atpakaļ uz neglītāks viens attiecībā tagad tikai tāpēc,
tur nav ar Twitter sīkumi traucējošos, un ļaujiet man iet uz priekšu un atvērt
froshims2, kas, atkal, atšķiras tikai rīcības, register2.php,
un pieņemsim to apskatīt to, ko tā ir šeit.
Ļaujiet man iet uz priekšu un ierakstiet Dāvidam.
Es nebūs kapteinis šoreiz.
Es saku vīrietis, Matthews, reģistru.
Damn it. Labi, ka ir skrūve augšu no manas puses.
Stand by.
Register2, līnija 22, ja tukšs vai-žēl.
Pieņemsim pārlādēt.
Labi, iesniedzot šo veidlapu kas tikko notika?
Es drukāti Dāvidu, jāpārbauda vīrietis, noklikšķinot Matthews, reģistru.
Esat reģistrēts. (Nu, nav īsti.)
Tas ir skaidri solis aiz vienkārši izdrukāt saturu kādu mainīgo,
Bet kas tas ir fails patiesībā dara?
Jo register2.php
pamanīt, ka man ir dažas jaunas kodu.
Iekšā mana ķermeņa tag man ir būtībā, ja cits būvēt,
bet tāpēc, ka es esmu kopā sajaukšanos to ar kādu HTML
Man ir iekāpt un izkāpt PHP režīma un atpakaļ, tāpēc pieņemsim redzēt, ko es esmu dara.
>> Pirmajā rindā šeit es saku, ja tas ir gadījumā
ka pēc super pasaules ir tukšs, lai atslēgas vārdu,
Tātad citiem vārdiem sakot, ja lietotājs nav man vērtību vārdu veidā,
tad tukšs gatavojas atgriezties taisnība, jo vērtība ir tukša.
Vai-nepamana Vertikālās līnijas-ja dzimums ir tukšs
iekšpusē šo īpašo super pasaules, kas, atkal, pārstāv saturu veidlapas,
vai kopmītnes ir tukšs, tad es esmu gatavojas iet uz priekšu un kliegt pie lietotāja.
Kā? Nu, ievērosiet, es esmu gatavojas teikt, jums ir savs vārds, dzimums, un kopmītnes.
Pieņemsim reāli panākt, ka kļūda.
Ļaujiet man iet atpakaļ uz manu formu. Ļaujiet man pārlādēt, lai notīrītu to.
Un es esmu tikai gatavojas sniegt viņiem Dāvidu, un tās nav nepieciešams zināt, kur es dzīvoju.
Reģistrēties. Acīmredzot man ir nepieciešams, lai pastāstītu viņiem, kur es dzīvoju.
Jums ir savs vārds, dzimumu un kopmītnes. Iet atpakaļ.
>> Un es varētu noklikšķiniet, lai dotos atpakaļ uz šo formu, bet kāpēc tā?
Nu, tādā gadījumā vārds nav tukša, bet dzimums bija, un kopmītnes bija,
tāpēc tas viss izteiksme novērtē uz true, un, pat ja sintakse ir maz jaunu,
atkal, mēs ieejam PHP režīmā, iepazinušies ja paziņojumu,
bet jaunā daļa šeit ir tikai tas resnās zarnas, un man bija ieskrūvē izlaižot kādu iekavu
nejauši, bet paziņojums kolu, un tas nozīmē, ka
pat ja mēs esam aizejošais PHP režīma viss
ka šādi būtu izspļaut burtiski pārlūkā
līdz jūs redzat citu bloku, kā mēs šeit,
tādā gadījumā jums vajadzētu nevis spļaut šo out
līdz redzat endif, tāpēc daži nedaudz jauna sintakse
kas ļauj man, lai pārslēgtos starp HTML un PHP.
Mēs varam iztīrīt šo up beidzot, bet tagad,
tas ir sava veida pārliecinošu veidā kļūdu labošanas formu.
>> Tagad es saku, jūs neesat īsti reģistrējies jo acīmredzot mēs esam darījuši neko, bet dati,
tāpēc pieņemsim tiešām mēģināt darīt kaut ko atdzesē.
Jo froshims3 vienīgā atšķirība ir es esmu gatavojas iesniegt register3,
tāpēc HTML ir pats.
Jo register3 nepamanīt.
Tas viens ir sava veida sexy.
Augšā es esmu, izmantojot prasīt paziņojumu, tāpēc tas ir kā # ietvert.
Šoreiz tas nav stdio.h vai kaut kā tā.
Tas ir PHP bibliotēka, un tas viens sauc PHPMailer.
Kā es zinu iekļaut tieši šo citēto stīgu?
Es izlasīju to dokumentācijā, tad, kad viņi teica, man nodot šo augšpusē failu
ja jūs vēlaties izmantot īpašu bibliotēku sauc PHPMailer kas dara to, ko tā saka.
Tas ļauj jums nosūtīt e-pastu, izmantojot PHP.
Tagad ritiniet tālāk.
>> Paziņojums sākas Es esmu PHP režīma visu šo laiku,
tāpēc tagad paziņojums noteikti šeit pēc importēšanas šajā bibliotēkā,
tā sakot, es esmu dara daži veselība pārbaudes.
Ja tas ir gadījums, ka nosaukums nav tukšs
un dzimums nav tukšs paziņojums izsaukuma-
un kopmītnes nav tukša, tad lietotājs ir loģiski aizpildījis veidlapu, vismaz pietiekami.
Man vienalga, ja viņi kapteinis vai ne. Man tikai vajag savu vārdu, dzimumu līdztiesību un kopmītnes.
Ja viņi ir jāaizpilda attiecīgās no tā, ka no tām jomām neviens ir tukšs
tas ir nedaudz jauna sintakse.
PHP, kā malā, ir objektorientētā programmēšanas valoda
kuru daži no jums, puiši var atsaukt no APCS vai līdzīgu.
Tagad, ja svešs, tikai zinu, ka, lai izmantotu šo bibliotēku
Jums ir rakstīt līnijas kodu, piemēram, tas, izmantojot jaunu atslēgvārdu,
burtiski jaunu atslēgvārdu sauc jauns.
Bet tālāk, mums ir daži pazīstami sintaksi.
Tas bulta operators, kas ir līdzīgs tam, ko mēs izmantojām, lai structs kontekstā norādes.
Šodien PHP nav norādes,
bet zinu tagad, ka no pasta mainīgā iekšpusē
būtībā veida rādītājs uz īpašu bibliotēkā
ka kāds cits rakstīja, un, ja es gribu, lai piekļūtu īpašu funkcionalitāti
iekšpusē šajā bibliotēkā es, tāpat kā C, izmantojiet bultiņas operatoru,
pat ja tie nav reāli norādes.
Tas ir sava veida PHP paša versijas.
Tas nozīmē iet uz bibliotēku un zvanu IsSMTP funkciju.
SMTP, atsaukšana, no mūsu Warriors no neto attiecas uz e-pastu,
un tas tikai nozīmē, izmantojiet e-pasta serveri par šo Frosh Tērzēšana reģistrāciju.
>> Ko uzņēmēja vēlos izmantot?
Nu, Hārvarda, ja jūs Google apkārt, ir e-pasta serveri sauc smtp.fas.harvard.edu.
Ja jūs spēlē kopā mājās vai jūs dzīvojat uz Comcast tīklā
tas varētu būt kaut kas līdzīgs smtp.comcast.net.
Tas pilnībā ir atkarīgs no tā, kur tu dzīvo, un kas jūsu ISP ir.
Pēc tam es esmu gatavojas noteikt manu no adreses patvaļīgi būt jharvard@cs50.net.
Es esmu tam gatavojas noteikt, lai risinātu būt jharvard@cs50.net.
Vienīgais veids, kā es zināju, ka šīs funkcijas tika saukta SetFrom un AddAddress
ir, atkal, es lasīt dokumentāciju.
Tas nav veida maģiski zināms visiem programmētājiem.
Tad es noteikti būtu ar "reģistrāciju."
Un tagad šī pozīcija ir mazliet neglīts, jo ko tas punkts operators nozīmē PHP?
Kāds zina?
Saķēdēt.
C tas ir sāpes kaklā, lai saķēdēt 2 stīgas kopā.
Jums jātiek galā ar malloc vai realloc vai visu, kas stuff
vienkārši paplašināt garumu virknes.
PHP, JavaScript un citās valodās
Jūs parasti var izdarīt ar vienu rakstzīmi.
Šajā gadījumā, dot nozīmē pieņemt šo virkni šeit
un pievieno tam šo stīgu.
>> Ak, un starp citu, pievienot tam šo virkni,
kas notiek, ir mainīga iekšā šī super Global.
Tad pievieno tai jaunu līniju, tāpēc visi šie punkti vienkārši nozīmē
glabāt padarot lielāka un lielāka un lielāka virkni,
un jums nav jārūpējas par visu par malloc vai valodā, kā šis, piemēram,
un tur ir citi veidi, kā to darīt, bet tas ir viens no ātrākajiem
veidi noteikt to.
Kas ir šī dara?
Tas radot e-pasta iestādi, kas notiek, lai pateikt Vārds: Captain: Dzimums: kopmītnes:
visi atsevišķās rindās, un tad visbeidzot,
viena līnija kodu, un es esmu gatavojas ignorēt šo tagad.
Ja == false nozīmē tikai tad, ja kaut kas nogāja greizi,
bet burvju notiek šeit.
Pasts Nosūtīt nozīmē nosūtīt šo e-pastu.
Paskatīsimies, neto rezultāts ir.
Apakšā lietas, pamanāt, ka tas notiek, lai teikt, jums ir reģistrējies patiešām
ja man tik tālu.
Ja tomēr lietotājs skrūves augšu, ievērosiet, ka mēs sākām šo
ja nosacījums šeit, ja tas nav tukšs un nav tukša
un nav tukšs, mēs nosūtīt pastu.
Pretējā gadījumā mēs ejam, lai nosūtītu šo līniju kodu,
kas ir nāksies efektu, kā jūs redzēsiet 7 PSET, pārprofilēt lietotājam
atpakaļ, ja tie nāca, froshims3.php.
>> Īkšķus, citādi tas būs visvairāk vilšanos demo šodien.
Šeit mēs iet.
Ļaujiet man atvērt manu e-pasta iesūtni jharvard Gmail.
Nav e-pasta tagad. Labi.
Tagad ļaujiet man atvērt froshims3, kas ir trešais un pēdējais piemērs mēs apskatīt šeit.
Labi, šeit mēs iet.
Nate, viņš būs kapteinis, vīrietis, no, teiksim, Apley.
Reģistrēties. Labi, jums ir reģistrēts tiešām.
Tagad, ja es ritiniet uz manu e-pastu, ak, mans Dievs.
Man ir tikai dinamiski nosūtīju e-pastu uz Web.
>> Atstāsim uz šo piezīmi.
Video ir gaidāms uz lekciju mēs nokavētu. Uz tikšanos nākamajā nedēļā.
[CS50.TV]