[Powered by Google Translate] [Pjesa 8] [Less komode]
[Nate Hardison] [Universiteti i Harvardit]
[Kjo është CS50.] [CS50.TV]
>> Mirë se vini në sekondë tonë në seksionin e fundit.
Në këtë javë, ne do të flasim në lidhje me PHP, dhe pastaj javën e ardhshme
ne do të bëjmë një përmbledhje të vogël për Quiz 1.
Ne jemi duke shkuar për të filluar në faqen 3 të problemit përcakton paketë,
dhe ne do të punojmë përmes seksionit të pyetjeve mjaft shpejt.
Në faqen 3, ne fillojmë të flasim për këtë ndryshim në mes të C dhe PHP
në kuptimin që PHP është një gjuhë dinamike shtypen,
ndërsa C është shtypur statically,
dhe ka dikush me të vërtetë shpejt bëhet ndonjë kodim në PHP si diçka
ose Python Ruby ose para, JavaScript?
Krejtësisht të re? Rregull.
>> Të gjitha këto gjuhë që unë sapo përmenda
janë shumë të ndryshme nga gjuhë si C dhe C + + dhe Java
në kuptimin që kur ju të deklarojë një ndryshore ju nuk keni të deklarojnë
çfarë lloj variable ajo është, kështu që ne kemi qenë në C mbërthyer pasur nevojë të gjithmonë thonë
kjo do të jetë një variabël int, apo kjo do të jetë një variabël char *,
ndërsa me PHP, Python, me me Ruby,
me një shumë prej këtyre gjuhëve më moderne që ju nuk keni për të bërë këtë në të gjitha.
Ju vetëm deklarojnë ndryshore tuaj, dhe në rastin e PHP
ju deklaroj se kjo është një ndryshore duke prefixing atë me një shenjë $,
dhe pastaj llojin e ndryshueshme përcaktohet me çfarëdo vlera ajo mban,
që është lloj i ftohtë.
Rreth për të luajtur me këtë një grimë të vogël, ne kemi mostër kodin PHP drejtë këtu
në mes tags fillim dhe në fund.
Ne jemi duke përdorur këtë lloj si HTML në kuptimin që
ne kemi marrë këto kllapa kënd këtu për të hapur dhe të mbyllur.
Ju do të shihni këtë me HTML.
Ju do të shihni të njëjtin lloj me sintaksë XML shumë.
>> Kjo tregon fillimin e një bllok PHP.
Kjo? PHP është specifik për PHP.
Ne mbyllë gjithçka me një> si.
Le të hapur një skedë në aplikim tonë duke përdorur çdo gjë që ju dëshironi.
Në këtë pako ajo thotë se për të thirrur dynamic.php.
Në të vërtetë, ju mund të telefononi atë çdo gjë që ju dëshironi, por emrin e file do dalë
dhe të jenë të rëndësishme më vonë, kështu që vetëm të kujtuar çdo gjë që ju telefononi atë.
Unë jam duke shkuar për të kaluar mbi të pajisjes,
dhe unë jam duke shkuar për të bërë një direktori për
Neni 9 Unë besoj se ne jemi në tani.
Dhe ne do të shkojnë në nenin 9,
dhe unë jam duke shkuar për të përdorur Gedit.
Le të shohim, Gedit, dhe unë jam duke shkuar për të thirrur dynamic.php minave.
Boom.
Brenda dynamic.php, pasi kjo është një file PHP
dhe unë dua të drejtuar këtë përmes përkthyesit PHP
Unë kam nevojë për të filluar gjithçka jashtë me ato tags hapur,
kështu që unë jam duke shkuar për të filluar ato menjëherë,
jap vetes një hapësirë ​​të vogël në mes tags,
dhe pastaj pika e këtij ushtrimi ishte rreth për të luajtur me
ky funksion quhet gettype, kështu gettype, këtë funksion drejtë këtu.
>> Vini re se nuk ka të nënvizuar ose hapësirë ​​ose vizë ndarëse ose diçka të tillë
ndan 2 fjalët, të merrni dhe shkruani, vetëm një fjalë krejt.
Por çfarë do të bëjë kjo është në qoftë se unë të kalojë në një variabël të gettype,
thonë se $ var ose $ x,
kjo do të thoni lloj në një format debugging
çfarë emri i atij lloji është.
Ne jemi duke shkuar për të eksperimentuar këtu.
Në veçanti, nëse ju shikoni mbrapa në spekulim pset
ne kemi marrë disa rreshta të kodit të ndryshme këtu.
Në rreshtin e parë të kodit ne nisja këtë variablin $ var,,
të jetë e barabartë me 7, dhe pastaj ne kemi këtë linjë printf
që thotë hey, var printf është bosh.
Printf është një nga shumë mënyra që ne mund të shtypura gjëra në PHP.
Shpesh ju do të shihni funksionin e jehonës përdorur në vend të printf,
printf por ne jemi të gjithë të njohur me duke qenë coding në C për një kohë.
Çfarë ju mund të bëjë në fakt është, le të shohim nëse kopjoni dhe ngjisni vepra.
Unë jam duke shkuar për të dhënë këtë një provoni.
Ne do të kthehemi mbi të pajisjes.
Mirë, dhe aty ne do të shkojmë.
Dhe ndarje është një shokuar pak, por këtu ne do të shkojmë.
Ne kemi marrë këtë kod në këtu.
>> [Student] A është stil nuk është mirë të tab atë?
Na vjen keq?
[Student] A është konvencionale të tab atë?
Drejtë, kështu Sam pyet nëse ajo është konventë për të tab atë apo jo.
Zakonisht po.
Në këtë rast unë kam zgjedhur të mos.
Sinqerisht, ju do të shihni gjëra të ndryshme në mesin e programerëve të ndryshme.
PHP është përdorur zakonisht shpesh në kombinim me HTML
dhe gjuhë të tjera, dhe kështu nganjëherë shtypjen do të shikojmë një shokuar pak
në qoftë se ju porosit brenda fillimit PHP dhe tags në fund.
Me të vërtetë varet.
Në këtë rast, kopjoni dhe ngjisni nuk ngjitur skedat në për mua,
por ai definitivisht ka, si ju tha, e bëjnë atë të qartë.
Të gjithë të drejtë, në qoftë se ju ruani këtë kod në dynamic.php
atëherë çfarë ju mund të bëni është të zbresë në dritaren tuaj terminalit ku unë kam të drejtë këtu poshtë
në Gedit, dhe për të bërë ekuivalentin e përpilojnë
duke përdorur të bërë dhe pastaj duke kodin tuaj në C
të gjithë ju duhet të bëni me dosjen PHP është nisni përkthyes PHP,
cila është një programi pak quajtur PHP,
dhe argumenti që ju jepni përkthyesit është fotografi që ju dëshironi për të interpretuar.
Në këtë rast, dynamic.php.
Uh, ku nuk kam vënë atë?
Oh, kam vënë atë në nenin 9, dhe unë jam këtu. Kjo është arsyeja pse.
>> Tani në qoftë se kam drejtuar atë përsëri
ne shohim se në thirrjen e parë tim të funksionit gettype
var është një numër i plotë.
Në var ardhshëm një është një varg, dhe pastaj në një var tretë është një boolean.
Çfarë është interesante në lidhje me këtë është në qoftë se ne e lëviz mbrapa ne shohim se
këto janë lloje të ngjashme me ato që kemi pasur në C.
Ne kishim ints në C.
Ne lloj i pasur vargjet në C,
kështu vargjet nuk ishin një lloj krejtësisht legit në kuptimin që
string tonë CS50 ishte me të vërtetë ajo?
Na vjen keq? Missy?
[Missy] char *.
Po, ajo ishte kjo char * kemi përdorur.
Në fillim të semestrit ne ishim duke përdorur llojin string,
por ajo ishte me të vërtetë një * char nën kapuç.
Ne vetëm lloji përcaktuar atë, ndërsa në PHP këto vargje janë një lloj aktuale.
Nuk ka më shumë të këtij stuff tipit char *.
>> Ju do të shihni se ne mund të bëjmë shumë gjëra shumë me vargjet
shumë më të lehtë në PHP se ne mund të në C,
dhe pastaj në fund, ne kemi këtë lloj boolean, dhe dallimi i madh këtu është se
nëse lëvizni përsëri poshtë shohim se emri i këtyre llojeve të
tani janë integer, string, dhe në vend të boolean, int dhe bool
dhe si ju të vini deri gjuhë të ndryshme programimi,
duke supozuar se në një moment në jetën tuaj ju do të vijnë në kontakt me
ato të ndryshme ju do të vëreni quirks pak si kjo
ku C quan integers ints.
Disa e quajnë atë integers.
Nuk janë terma të tjera që ju do të kandidojë në.
Int Big pamë sot në SQL.
Ka edhe numrin dhe pastaj bool, boolean,
të gjitha llojet e dallimeve atje.
>> Kjo nuk është tmerrësisht interesante, por tani unë jam duke shkuar për të ju jap një pak kohë,
në qoftë se ne zoom nga mbrapa-për të punuar me këtë ushtrim në fund të faqes 3
ku ai pyet se çfarë lloje të korrespondojnë me këto vlera këtu në fund.
Ne kemi 3.50.
Ne kemi këtë gjë këtu, që është interesante.
Ne nuk kemi parë që më parë, edhe pse në qoftë se ju keni qenë pas së bashku në leksion
ju ndoshta tashmë e dini se çfarë është.
Pastaj kemi këtë, që kjo është lloj i shokuar.
Ju njohin këtë.
Çfarë është kjo në C?
Sam? Çfarë kjo do të ju jap në C?
Kjo do të hapë një file të quajtur dynamic.php dhe të bëjë atë të lexueshme.
Po, dhe çfarë do të jetë tipi i variablit që ne do të caktojë këtë? Ylli >> File.
Pikërisht, ne do të caktojë këtë një yll file.
Kjo është legjitim PHP shumë.
Drejtuar atë. Shih se çfarë ndodh kur ju të kalojë që në gettype.
Dhe pastaj edhe shikoni se çfarë është null, ajo që mund të jetë në PHP.
Unë do të ju jap disa minuta.
Ju mund të vërtetë të kopjoni dhe ngjisni në këto vlera,
dhe pastaj ne do të bëjmë një telefonatë pak të rastit për ju
dhe shikoni se çfarë ju mori.
>> [Student] Unë kam një pyetje. << Yeah.
Në një nga ligjëratat Davidi tha se nuk është diçka që ju mund të vënë në krye të dosjes tuaj
kështu që ju nuk duhet të shkruani në PHP çdo kohë.
Çfarë ishte kjo?
Ai ishte ndoshta duke folur për zhurmë paund, Bengut hash.
Kjo është një direktivë që nëse ju të shënojë dosjen tuaj si ekzekutues
atëherë atë që bën është kur ju të ekzekutuar file
ai do t'ju tregojë programin shell
të përdorin përkthyes PHP për të interpretuar përmbajtjen e file.
Pyetja qenë se çfarë ishte kjo linjë të veçantë
që ne mund të përfshijnë në krye dosjet tona PHP që nuk duhet të përfshijë
kjo linjë PHP apo kjo komandë PHP kurdo që ne duam për të ekzekutuar skedarin?
Dhe ju në fakt mund të bëni këtë me një bandë e fotografi të ndryshme.
Unë besoj se kjo varet se ku binar PHP është ruajtur,
por shpesh usr / bin / php është një vend i mirë për të filluar.
Ju mund të kuptoj këtë, pikërisht duke shkuar mbrapa deri në aplikim tuaj
dhe shtypur nga të cilat php.
Të cilin komanda shifra se kur ju jeni ekzekutimin binar
ose një komandë ku skedar korrespondues është.
Kjo tregon mua se PHP është me të vërtetë aliasing këtë fotografi binar
që është ruajtur në usr / bin, i cili është ku një shumë e sistemit binare janë instaluar.
Për shembull, në qoftë se unë lëviz deri në krye, tani që unë kam vënë këtë #! Shkarko këtu
Unë mund të lëvizni poshtë, dhe unë mund të përpiqen për të drejtuar
dynamic.php, por unë të marrë këtë gabim në lidhje me lejen e duke u refuzuar,
dhe se çfarë do të thotë është se ky file nuk është aktualisht duke i dhënë lejet e ekzekutueshme.
Kjo nuk është shënuar si një skedar që dikush mund të kandidojë.
>> Kur ju u bëjnë ose tingëllimë dhe ju mori një ekzekutueshme nga ai
përpiluesit ishte mjaft i zgjuar për të dini se hej, unë jam ndërtimin e një ekzekutueshme.
Ju ndoshta dëshironi të ekzekutuar atë, kështu që ajo do të automatikisht konfigurimin
lejet për ju.
Ky nuk është rasti, edhe pse, kur ju krijoni një skedar normale nga e para,
arsyeja që zakonisht ju nuk dëshironi të keni ndonjë skedar në sistemin tuaj të jetë i ekzekutueshëm,
kështu që ju të vërtetë duhet të shkoni në dhe të bëjë atë me dorë.
Mënyra më e lehtë për të bërë atë është me komandën chmod,
dhe chmod + x thotë shtoni pak ekzekutues
sepse nuk është pak të lexuar, pak shkruani dhe pak ekzekutueshme,
r, w dhe x,
dhe duke thënë: chmod + x do të kthehet në pak ekzekutues
pastaj për dosjen e që Ne të specifikojë, e cila në këtë rast do të jetë dynamic.php.
>> [Student] është ndezur që për të gjithë?
Le të kontrolloni këtë jashtë, kështu që si do që unë të kontrolloni për të parë lejet?
A e dini se si unë do të kontrolloni për të parë lejet e një skedar?
[Përgjigja e padëgjueshme Student]
Na vjen keq? >> [Student] XSD.
XSD na jep dosjen në hacks.
Renditur të gjitha dosjet,-l, do të më tregoni të gjitha dosjet në directory time
lloji i tyre në listë të gjatë, fjalëshumë, dhe kështu që këtu ne shohim se
Vlerësoni këtë fotografi dynamic.php
u ndryshua së fundmi në nëntor 5 PM 4:21.
Pronari i kësaj dosje është jharvard.
Kjo është përdorues i cili është futur me emrin tuaj
Kjo është përdorues që unë jam duke punuar si,
dhe në qoftë se ju jeni edhe në aplikim që ju jeni gjithashtu duke punuar si jharvard përdoruesit.
Ju jeni në grupin studentëve,
dhe këto janë gjëra që ju do të shihni shpesh e mjaftueshme.
>> Ne mund të shkojnë në një shumë detaje këtu,
por për pjesën më të madhe atë që ju dëshironi të shikoni në kur ju jeni duke kërkuar për të parë
nëse ose jo një skedar është i ekzekutueshëm është kryesisht
përdorues që zotëron file, pronari,
kështu që kjo jharvard, dhe pastaj kemi
BITS lejet mbi këtu në të majtë,
dhe mënyra për të lexuar këtë është se pak e fundit
në mënyrë tipike është përdorur për shënuar nëse ose jo-të paktën në këtë rast
kjo e fundit pak shpesh do të jetë e vendosur për të ad për të treguar
që fotografia është një directory dhe jo vetëm një file normale.
Atëherë këto 3 bit drejtë këtu
përcaktojnë autorizimet që pronari i file ka,
kështu që në këtë rast jharvard, si pronar të dosjes, mund të lexojnë dhe shkruajnë këtë skedar,
por ka një dash thënë se jharvard nuk mund të ekzekutojë këtë skedar.
Tjetër 3 bit janë për grupin, kështu që ky është grupi studentë,
kështu që nëse ka pasur përdoruesit të shumta për aplikim tim,
dhe ne kishte përdoruesit të shumëfishta si pjesë e grupit studentëve,
atëherë ata të gjithë mund të lexoni këtë skedar, por ata nuk mund të shkruajnë atë,
dhe gjithashtu dikush tjetër, bota
vetëm mund të lexoni këtë foto si.
Ka një të mirë, writeup gjatë në lidhje me këtë,
kështu që ju mund ta lexoni online.
Në spec caktuar problemit ne do të shkojmë në këtë në më shumë detaje.
>> [Student] A është 218 duke iu referuar në botë?
The 218-është pjesa e sipërme e kokës sime unë jam harruar,
por jo.
Le të shohim. Unë jam boshatis sepse në atë të drejtë tani.
Mbrapsht në çka ne ishim gati të bëjë me këtë chmod + x
ku kemi dashur të japim lejet dynamic.php ekzekutueshme,
dhe pyetja ishte nëse janë apo jo kjo do t'i jepte leje të ekzekutueshme për të gjithë
ose jharvard vetëm, dhe ne mund të shohim këtë duke
drejtimin e komandave dhe shtypni ls-l,
dhe tani ne shohim se ajo është e shënuar si ekzekutues.
Ju shihni se ka pasur një ndryshim ngjyra.
Tani dynamic.php është e shënuar në të gjelbër,
dhe kjo duket si përgjigje ndaj pyetjes është ajo, Charlotte?
[Charlotte] Vetëm jharvard. >> Vetëm jharvard, yeah.
>> Nëse ne të kërkuar për të kthyer pak në të ekzekutueshme për të gjithë
se si mund të bëjmë këtë?
Çdo mendimet? >> A + x?
Po, pikërisht.
Charlotte tha se ne mund të bëjmë një chmod + x të dynamic.php,
dhe tani në qoftë se ne të drejtuar ls-l ne shohim se bit ekzekutueshme
janë kthyer me të vërtetë në për të gjithë.
Dhe ju mund të bëjë në fakt e kundërta e kësaj, kështu që ju mund ta kthejnë atë për të gjithë
duke përdorur minus.
Tani është e fikur, dhe tani ne mund ta kthejnë atë përsëri në për jharvard
kështu që ne mund të vërtetë të drejtuar atë tani,
dhe tani ju shikoni kur ne të drejtuar kodin këtë veçantë #! Shkarko në krye,
#! line, tha shell,
tha terminalin tonë hey, kur kjo fotografi është drejtuar,
përdorin / usr / bin / php për të interpretuar këtë fotografi
dhe pastaj të shtypura të prodhimit.
[Pyetja padëgjueshme Student]
Sure, më lejoni të shkoni back up. Ashtu si kjo.
Ju do të shihni të gjitha këtyre direktivave të fillojë me këtë kile dhe pastaj pikë thirrje,
i quajtur nganjëherë një mesele zhurmë, hash.
>> [Student] Si mund të kandidojë atë me dynamic.php php para se të bëjë atë ekzekutues?
Pyetja ishte se si ne mund të drejtuar këtë binar duke përdorur PHP
ndërkohë që nuk është i ekzekutueshëm dynamic.php?
Kjo është super e rëndësishme sepse kjo është pikërisht se si
ajo do të punojnë kur ju shkruani grup Problem 7.
Shumica e dosjeve të kohës PHP nuk janë drejtpërdrejt të ekzekutueshëm.
Mënyra se si punon është për shkak se ajo është binar PHP që është i ekzekutueshëm.
Përkthyesi është gjëja që është duke u ekzekutuar,
dhe kështu atë që është bërë është fjalë për fjalë në përmbajtjen slurping gjithë
e dosjes tonë dynamic.php dhe linjës shkon nga linjë
dhe ekzekutimin e komandave ato, kështu që është përdorur skedarin tonë PHP
si një listë e udhëzimeve.
Kjo nuk është direkt ekzekutimin e tij.
Kjo është ajo ku ne themi se këto fotografi janë interpretuar në kohë të kandidojë.
Kjo është një gjuhë e drejtuar herë në vend të diçka që është përcaktuar në kohën e kompilimit,
nuk është një gjuhë përpiluar si C.
>> A ka ndonjë mënyrë për të marrë një kohë të drejtuar gjuhë të veprojë si në qoftë se ajo është një kohë përpiloj gjuha,
si në qoftë se ju keni të gjithë drejtimin e bërë në server
jo-ju e dini se çfarë dua të them?
Po, kështu që pyetja është
a ka një mënyrë për të marrë gjuhë të kandidojë koha për të vepruar më shumë si lloje kohën e kompilimit të gjuhëve?
Dhe janë, dua të them, që është një zonë aktive e hulumtimit për një shumë prej këtyre kompanive.
Unë besoj se Facebook ka bërë një punë shumë e me PHP
dhe hartimin atë poshtë, duke e bërë atë më të shpejtë, duke optimizuar atë
që faqen e tyre është e ndërtuar në PHP.
Nëse ju keni qenë pas node.js në të gjitha,
që është lloj i një përkthyesi JavaScript
të jetë në gjendje për të kandiduar JavaScript jashtë shfletuesit, jashtë shfletuesit tuaj web,
sepse tradicionalisht JavaScript vetëm do të kandidojë në brendësi të Firefox apo Chrome,
dhe ajo do të përdoret për të bërë animacione ftohtë të ndodhë në një web faqe
dhe të bëjë faqen tuaj web dinamike.
Që është ndërtuar mbi një punë shumë e që Google ka bërë
për të bërë JavaScript dhe C + +
lidhin së bashku, kështu që nuk është një shumë e hulumtimit aktiv në
marrë këto gjuhë për të bashkëvepruar dhe zgjedh ato,
kryesisht për shkak se kaq shumë njerëz mund të kodojnë në PHP dhe JavaScript
sepse kjo është një shumë më e lehtë.
Kjo është një shumë nicer. Ju nuk keni pointers.
Ju nuk keni llojet lundrues rreth.
Ata donin për të fituar të mirat e këtyre gjuhëve kohën e kompilimit
me të gjithë kontrollin lloji dhe shpejtësia dhe përdorimin më të ulët kujtesës dhe të gjithë që
ndërsa ende ruajtur fleksibilitet dhe lehtësinë e përdorimit të këtyre ato të reja.
>> Mbrapsht në planin tonë origjinale të sulmit.
Ne kemi marrë disa nga këto pyetje këtu në spekulim vendosur tonë problemin.
Le të shkojnë nëpërmjet tyre të vërtetë shpejt, dhe ne do të shkojnë nëpër dhomë.
Charlotte, çfarë lloji është 3.50?
[Charlotte] Kjo është një dyfishtë. >> Kjo është një dyfishtë.
Jimmy, çfarë është kjo një tjetër? >> Një koleksion.
Një grup, awesome, dhe Jared, çfarë është fopen?
[Jared] Është një burim. >> Është një burim.
Kjo është lloj i një të ri jo, një yll fotografi, nuk është një file.
Kjo është një burim i është lloji në PHP,
dhe unë jam i keq, Ella, null fundit është ajo?
Null.
Null, si është shkruar në PHP? >> Njëjtën mënyrë.
Të njëjtën mënyrë, kryeqytetet? >> Yeah.
Po, të gjithë të drejtë.
Këtu ne do të shkojmë, ne kemi marrë një të dyfishtë, ne kemi marrë një koleksion,
ne kemi marrë një burim, dhe pastaj ne kemi marrë null.
Le të shohim tani keni parë-
le të shohim, kështu që tani unë mendoj se ajo që unë gjithashtu duan të bëni është të tërheqë deri
kjo web faqe të drejtë këtu, kjo php.net / manual,
kështu që nëse ju djema kopje atë dhe të hapur një shfletues web.
Unë jam duke shkuar për të tërhequr deri Chrome, vendos se in
Unë dua të ju tregojnë se kjo jo vetëm për shkak
ne mund të flasim gjatë gjithë ditës në lidhje me llojet dhe të gjitha që gjëra zbavitëse
por sepse kjo është manual PHP,
dhe ka një shumë e programuesve PHP atje.
Nuk janë një shumë e faqeve PHP atje,
dhe si rezultat, nuk është një shumë e dokumentacionit në PHP,
dhe manual, kjo php.net, është një vend me të vërtetë mirë për të shkuar
kur ju jeni të paturit e pyetje në lidhje me atë që është mënyra më e mirë për të bërë X në PHP
apo çfarë ka një funksion të duken si?
Vetëm lloji për të marrë njohur me atë që kjo duket si shkak
ju do të vijnë këtu shpesh, pak për problemin e ngritur 7.
>> Nëse ju të përfundojë duke bërë një projekt përfundimtar që përdor PHP
kjo do të jetë një vend që ju do të bëhet i njohur shumë mirë me të.
Shpesh mënyra e njerëzve të bërë këtë është që ata përdorin Google për të kërkuar këtë faqe interneti,
dhe ata nuk përdorni kutinë e kërkimit që është deri këtu në krye të drejtë, që është lloj i vogël.
Nëse ju jeni Googling rreth për diçka për të bërë me PHP dhe ju shihni
një nga lidhjet manual pop-up që ju zakonisht mund të mbështetet në atë
si një burim mjaft të mirë.
Awesome, kështu që nga këto lloje, vetëm nga kurioziteti,
cilat nuk e kemi parë?
Çdo gjë që ne nuk kemi parë këtu?
[Student] Burimeve. >> Ne pamë burim me thirrjen fopen.
[Student] Objektet objekte. >> Ne nuk kemi parë për sigurt.
Callbacks ne nuk kemi parë.
Ka disa prej këtyre pseudo-lloje.
Ne definitivisht pashë vetëm integer dhe të dyfishtë.
Ne nuk shohim disa nga të tjerët, kështu që në qoftë se ne të klikoni mbi integers
ne mund të shohim a ka ndonjë integers të tjera që ata kanë këtu?
Janë ata të gjithë-aq integer, integer, integer.
Disa gjuhë kanë lloje të mëdha integer,
ashtu siç e pamë në MySQL sot nuk kishte int dhe pastaj int madh.
Cool.
>> Pra, manual PHP.
Le të kthehemi në spekulim vendosur tonë problemin, dhe ne tani do të lëvizni poshtë në faqen 4.
Një nga gjërat që ndodh kur ju merrni këto gjuhë
që nuk e kanë këtë shtypja statike, kështu që këto gjuhë ku ju duhet të deklarojë
lloj i një front deri ndryshueshme
është që ju të merrni raste ku ju mund të filloni duke variablave të llojeve të ndryshme
ndërveprojnë me njëri-tjetrin,
PHP dhe e bën këtë gjë ku ajo përpiqet për të bërë
atë që e konsideron të jetë gjëja më e ndjeshme për të bërë
kur ju keni 2 lloje të ndryshme të ndërveprojnë me njëri-tjetrin.
Për shembull, nëse ne shikojmë në këto rreshta të kodit të drejtë këtu
ju shihni se ne kemi marrë atë që ndodh kur
ne përpiqemi dhe të shtoni string 1 në 2 integer.
Çfarë ndodh nëse ne përpiqemi dhe të shtoni një varg që nuk është një vlerë numerike
por karaktere më tepër aktuale, CS me numrin 50?
Atëherë ne do të shohim se a ka ndonjë gjë tjetër që ndodh kur
në vend të shtuar një varg në një numër ne jemi duke shtuar një numër në një varg,
dhe kështu me radhë e kështu me radhë deri në pikën ku ne jemi duke marrë
një lloj i stuff pazakontë të drejtë këtu, ku ne kemi marrë 7 + e vërtetë.
Çfarë dreq do të thotë kjo?
>> Në qoftë se ju djema shkoni përpara dhe ngjisni disa prej këtij kodi në aplikim tuaj.
Ju mund të mbani atë në dynamic.php.
Ne do të shohim se çfarë ndodh.
[Student] Vetëm të përdorni të shtypura, jo printf?
Yeah, kështu që ju do të gjeni se është shkruar edhe një funksion të vlefshme për shtypjen në PHP.
Ka shumë mënyra të ndryshme për ta bërë atë.
Ne do të shohim me një çift nga shembujt më vonë një herë ne të fillojnë të flasin
në lidhje me problemin unike që ne jemi duke shkuar për të shkruar
dhe pastaj problemi përqendrimet që ne jemi duke shkuar për të shkruar
se edhe pse ne kemi fopen dhe Shkrimi
kjo nuk është shpesh mënyra më e thjeshtë për të lexuar në përmbajtjen e një skedar.
PHP ka një shumë prej këtyre C-si patur postet.
[Student] Kur kam vënë në të gjitha 6 e atyre gjërave unë vetëm të marrë një numër si një prodhim.
[Nate H.] Kur ju vënë në të gjitha 6 e këtyre gjërave.
Le të shohim se ajo është për shkak se ajo është ndoshta-
një gjë është se këto thirrje nuk janë të shtypura ndërprerë në fund me linja të reja.
Nuk ka asnjë linjë të re që ndan secilin prej këtyre thirrjeve të shtypura,
kështu që ndoshta ju jeni duke marrë një numër të madh,
dhe kjo është me të vërtetë vetëm amalgamë e karaktereve të linjës reja.
[Student] Mirë, si mund ta bëni të sigurt-
E pra, ka një bandë e mënyra të ndryshme.
Ju mund të vënë në dorë një shtyp të një karakteri të ri të linjës,
një jehonë e një karakter të ri të linjës,
shtypura e linjës së re.
[Student] Pra Echo është e njëjta gjë si printf?
>> Printf është si C printf
ku ju jeni shtypjen e një varg formatuar.
Ju jeni furnizuar atë string format dhe pastaj të gjitha variablave placeholder.
Kjo është diçka që shpesh nuk është përdorur-
le të shohim, si një mohim,
Unë jam pak i njohur me PHP se unë jam me gjuhë të tjera të internetit,
dhe kur kam programuar në PHP unë zakonisht nuk e përdorin printf
sepse unë gjej atë më të shpejtë për të përdorur aftësitë e interpolation varg që ajo ka,
të cilat ne do të shkoj në dhe unë do të ju tregojnë se vetëm në një të dytë,
ndërsa në C, ne lloj duhet të bëjmë këtë gjë hacky për të marrë atë për të shtypur jashtë.
Ju mund të vërtetë vënë variablat direkt në vargjet në PHP.
Printf është lloj i gjatë tepër për atë që unë zakonisht e bëjnë. Po, Ella.
[Ella] Në përgjithësi, nëse ju merrni gabim kuptoj do të thotë kjo-
si në C nuk ju them saktësisht se ku është dhe çfarë gabimi është,
kështu që nuk do të thotë sy përmes kodit tuaj të tërë dhe të kuptoj atë?
Kjo është zakonisht më shumë në shënjestër shumë se kaq.
Unë mendoj se në këtë rast ajo ishte një off pak,
kështu që unë mendoj se në këtë rast ne u mungon një pikëpresje.
Ai ishte duke u përpjekur për të bërë kuptim për çdo gjë,
kështu si këto gjuhë interpretuar, përkthyesi do të përpiqen
dhe të bëjmë çmos për të bërë punën e çdo gjë të përshtatshme.
>> Ju do të shihni, për shembull, në JavaScript
ju do të shpesh-line deklaratat fund me një pikëpresje ashtu si ata e bëjnë në PHP,
ashtu si ata e bëjnë në C.
Në JavaScript disa prej përkthyesve JavaScript
në një shumë të shfletuesit do të vënë në pikpresje për ju
nëse ju ndodh që të mungojnë ato.
Ata do të përpiqen dhe të strehojë për disa Pjerrësia nga ana juaj.
Kjo është ku ai mund të jetë duke u përpjekur dhe duke u përpjekur dhe duke u përpjekur për të bërë gjëra të punës,
dhe pastaj në fund ajo do të merrni në një pikë ku ai thotë se në rregull,
Unë nuk mund të bëjë gjëra të punojnë në bailing, dhe kjo është ajo ku ju do të merrni një numër linjë
që mund të duket pak jashtë nga vendi saktë.
Mirë, kështu që le të kalojnë nëpër këtë të vërtetë shpejt.
Ne e kemi lënë jashtë me Ella, kështu që le të shkojë mbi Missy,
Missy dhe, çfarë do të shtypura e vargut 1 plus numrin 2 të ju jap?
[Missy] 3. >> 3.
Bën që të bëjnë kuptim? Lloj i?
A do të ju jap një numër? A do të ju jap një varg?
[Missy] Një numër. >> Është një numër.
Por kjo shtypje atë, kështu që ajo do të ju japin disa lloj të vargut.
>> Një gjë që mund të bëjmë për të kontrolluar këtë
është nëse ne bëjmë $ var = 1 + 2
dhe pastaj themi jehonë e gettype,
kështu që ne jemi duke përdorur një lloj të tretë të shtypjes këtu.
Tani ne mund të shohim se çfarë ndodh këtu.
Ja se çfarë ne kemi marrë është që ne të marrë një numër të plotë nga kjo.
Edhe pse ne ishim duke shtuar këtë varg në një numër,
nuk kemi marrë një varg nga ajo, ashtu si Missy tha.
Ne kemi qenë duke marrë një numër të plotë.
Mirë, kështu që le të shohim, tjetër lart, Kevin.
CS + 50? >> [Kevin] 50.
[Nate H.] 50. Bën që të bëjnë kuptim?
[Kevin] Yeah.
[Nate H.] Pse? Pse nuk ka kuptim për ju?
[Kevin] Për shkak se ajo është vetëm duke pasur string, ka vlerë zero numër.
Po, e madhe.
Lloji i situatave të paqarta, por është mirë të dihet se çfarë ndodh.
Stella, çfarë ndodh më pas me numër 1 + string 2?
[Stella] 3. >> 3 përsëri.
Dhe në këtë rast, nuk kemi marrë një varg ose një numër?
>> Le të japë këtë provoni.
Çdokush shpejt se me të marrë përgjigje? Charlotte?
Oh, unë didn't-rregull, le të shohim, ne jemi duke shkuar për të bërë të njëjtin lloj gjë
ku ne kemi marrë një numër plus një varg, dhe ne jemi duke shkuar për jehonë llojin,
të shohim se çfarë ne kemi marrë.
Ne gjithashtu të marrë një numër të plotë.
Ajo nuk ka rëndësi cila është një vargu, të cilat njëri është numri.
Ne jemi ende duke shkuar për të marrë një numër të plotë.
Është ende do të bëjë atë që ne mund të presim.
Të gjithë të drejtë, kështu Sam, çfarë rreth 90 + 9 shishet e birrës në mur?
[Sam] 99. >> 99.
Asnjë shishet e birrës në mur, though.
Kjo na jep një informacion pak më shumë në lidhje me atë që po ndodh.
[Sam] Nëse ju kishte shkruar me shkronja 9
atëherë ju do të keni 90, apo jo?
[Nate H.] Yeah.
Pyetja ishte nëse ne do të shkruhet sa më 9 N-I-N-E
do të ne kemi marrë 99 apo 90?
Ne do të merrni 90.
Është fjalë për fjalë vetëm kërkim karaktere shifror.
Kjo nuk është mjaft i zgjuar për të njohur fjalë numër dhe se stuff. Po.
>> [Student] A ka një gjë të tillë si typecasting në PHP?
Nuk është, dhe kjo është pikërisht mënyra që ju do të bëni atë në C.
Po në lidhje me 10/7, Charlotte?
[Charlotte] 1,4285.
[Nate H.] Yeah, kështu që ajo mund të jetë e habitshme në lidhje me këtë?
Çfarë do të ndodhte nëse ju e bëri këtë lloj të njëjtë gjë në C,
në qoftë se ju e bëri 10/7 në C?
[Charlotte] Kjo vetëm do të ju jap-në varësi se si ju typecasted I guess
ajo do të ju jap vetëm një numër të kufizuar të shifrave pas dhjetore.
Yeah, kështu që një numër i kufizuar i shifrave pas dhjetore.
Çfarë tjetër mund të jetë ajo-do të ju jap ndonjë shifra pas decimal?
Shpesh nuk, kështu që përsëri, në varësi se si ju jeni typecasting atë
ai mund ose mund të mos kthyer atë në një numër lundrues pikë.
Këtu ajo ishte lloj i bukur se ajo e bëri.
Sikur ne të ju treguar këtë përsëri kur kemi filluar duke bërë këtë lloj të gjëra në C
ai ndoshta do të kishte kuptim pak më shumë
se ai nuk ka vetëm të shkojnë në 1.
Dhe pastaj në fund, Jamie, çka në lidhje me 7 + e vërtetë?
[Xhemi] 8. >> 8.
Çfarë do të thotë kjo?
Unë mendoj se vetëm i jep vlerën e vërtetë 1.
Po. Çfarë ndodh nëse ne ndryshojmë që të rreme?
[Student] 7.
Yeah, kështu që mos harroni ku ne flasim për këto vlera binare,
1 është në, 0 është off?
Tani ne kemi vërteta është 1, 0 është e rreme,
dhe ju nuk mund të keni parë këtë në shembujt C që ne kemi bërë këtë semestër e kaluara,
por historikisht lloji bool në C nuk ka qenë një lloj i vërtetë,
kështu që njerëzit kanë përdorur 0 dhe 1 në vendin e vërtetë dhe të rreme.
Kjo është një manifestim i se.
>> Mirë, kështu që një pjesë e rëndësishme për të gjithë këtë
është se ne kemi këto lloje të ndryshme.
Ata mund të ndërveprojnë me njëri-tjetrin.
Ata shpesh mund të ndërveprojnë me njëri-tjetrin në mënyra që janë të bukur, si ne kemi parë këtu.
Është e bukur të jetë në gjendje të ketë vargun 1 dhe numri 2, shtoni ato së bashku dhe për të marrë 3.
Që e bën kuptim.
Megjithatë, kur ju jeni shkrim faqet e internetit, dhe sidomos kur ju jeni të përpunimit
input përdoruesit, kështu që thonë se ju keni shkruar një formular web
që mbledh informacion nga përdoruesit dhe pastaj shkon për të proceduar atë
në fund mbrapa, në anën e serverit në PHP kodin tuaj
nëse ju jeni pritur atë vlerë që përdoruesit shtypur në dhe dorëzuar
për formën tuaj të jetë një numër të plotë apo të jetë një numër decimal, ose diçka të tillë
ju duhet të qartë të hedhur atë
dhe pastaj të bëjë disa kontrolluar lloji.
>> Ju nuk duan të mbështeten vetëm në këtë sistem mashtrim të tipit për të bërë gjëra të punojnë jashtë,
sidomos për arsye sigurie dhe vetëm për qëndrueshmërinë e faqen tuaj te internetit.
Vetëm diçka për të mbajtur në mend se kur ju jeni trajtimin e të dhënave formë,
çdo gjë që vjen në këtë post apo superglobals marrë
sigurohuni që ju gjithmonë vërtetoni atë dhe kthyer atë dhe të caktoj në një rol atë.
Dhe ashtu si ne ishim duke folur për një moment më parë se typecasting
në PHP është pikërisht i njëjtë si në C ku ju keni kllapa
dhe pastaj lloji.
Mbani në mend.
Një funksion që do të vijë në dobishëm kur ju jeni bërë këtë
po ne kemi qenë duke përdorur, dhe kjo është lloj i si një mënjanë,
ne kemi qenë duke përdorur këtë funksion gettype drejtë këtu
të kuptoj llojin e një ndryshore,
dhe përderisa kjo është i dobishëm për debugging dhe për të parë se çfarë lloji është një variabël
ju nuk dëshironi të përdorni këtë, për shembull, në një gjendje ku
ju jeni duke kontrolluar për të parë nëse gettype prej $ var = integer bëjë diçka.
Kjo është e keqe, e keqe, e keqe.
Në vend të kësaj ka quajtur këto funksione është numër i plotë, është string,
është grup që ju doni të përdorni në vend, kështu që në këtë rast
ajo që unë do të duan të bëjnë vend të këtë djalë të drejtë këtu
është përdorur është e var integer.
Dhe ata janë përmendur shpesh është * is_ në kuptimin që ju mund të zëvendësojë * me numër të plotë,
, string e të tjera, dhe vetëm për të siguruar të vërtetë të shpejtë
po kjo është int php.
Duket si ju mund të bëni është int ose ose nuk është numër i plotë, si dhe?
Po, alias, emërtimet në mënyrë int integer.
Cool.
>> Si po bëjmë?
Le të marr ritmin pak.
Tani ne do të flasim rreth vargjeve, në mënyrë që ju mund të shihni
në pjesën tjetër të spec ne flasim rreth asaj se si Vargjeve në PHP
janë pak më të ndryshme se ato janë në C.
Në të vërtetë, ata janë lloj i një amalgamë e
të vargjeve që ju keni ardhur për të dini dhe dashuri në C
ku çdo gjë është e llojit të njëjtë
ruajtur rresht dhe pranë njëri tjetrit në kujtesë,
dhe ju keni këto indekse numerike.
Ju keni 0 indeksi, indeksi 1, indeksi 2,
dhe ju të ruajtur vlerat në këto indekse.
Ju gjithashtu në C, kur ju ka shkruajtur speller, një shumë prej jush
ka qasje të hash tryezë, dhe ju pa se atje nuk kemi pasur
një lloj të ndryshme të magazinimit, ku ne ishim hartë
një çelës për një vlerë, kështu që kur ju u përpoq për të ruajtur diçka në tabelën hash
ju duhet të specifikojë që ju të kërkuar për të ruajtur atë me një çelës të veçantë,
dhe se çelësi përcaktuar vendndodhjen e vlerës dhe ku do të ruhen.
Ju keni lloj i mori të dy këtyre koncepteve ndodh në të njëjtën kohë në një grup PHP,
dhe si rezultat, ne shpesh i quajmë këto vargjeve associative
ku ne jemi shoqëruar një çelës në një vlerë.
Në këtë pjesë të ardhshëm ne flasim për një grup të thjeshtë PHP
ku ne kemi çelësat një, b, dhe c,
të gjitha vargjet, hartë të integers 1, 2, dhe 3.
Dhe ju mund të keni çelësat e llojeve të ndryshme.
>> Ju mund të keni disa çelësat që janë vargjet, disa çelësat që janë integers.
Ju mund të keni vlera të llojeve të ndryshme.
Ju mund të kenë një vlerë që është një varg, një vlerë që është një numër të plotë,
një vlerë që është një objekt ose në një tjetër grup, për shembull,
të gjithë në të njëjtin objekt array, që është lloj i pazakontë.
Ju nuk duhet të ketë një rrjet që e mori vetëm një lloj elementi në të.
Ju mund të keni shumë gjëra të ndryshme ndodh në atje.
Gjë tjetër që theksohet është se kur ju bëni të shihni diçka si kjo në kodin tuaj,
cila është PHP vlefshme te deklaroj një grup vetëm si kjo, 0, 1, 2, 3, 4, 5,
që do të shpallë një $ arr initialized të jetë në këtë grup.
Por ajo që ju jeni në të vërtetë duke marrë nën kapuç është ky lloj i nënkuptuar
gjenerimi i çelësat ku ne kam ka 0 me 0, 1-1, 2 deri në 2, 3 te 3.
Dhe kjo rezulton se edhe në qoftë se ju keni një koleksion si ky djalë deri këtu
ku ju keni një, b dhe c si çelësat
dhe pastaj ju filloni duke përdorur metodën shtytje array për të filluar përdorimin e këtij koleksion si një pirg,
kështu që ju mund të shihni se ky objekt array, array kjo është me të vërtetë duke u bërë mbingarkuar.
Ne mund të përdorni atë si një grup. Ne mund të përdorni atë si një tabelë hash.
Ne mund të përdorni atë si një pirg.
Kur ju filloni duke kërkuar gjëra mbi këtë grup
Gjëja e parë që ju shtyjnë në kjo do të jetë indeksi 0 dhe pastaj Indeksi 1 dhe 2 indeksi.
Ju mund të merrni këtë lloj të gjenerimit të çelësave të nënkuptuar
nëse ju specifikoni ato në mënyrë eksplicite.
Mënyrë që ju të specifikojë në mënyrë eksplicite çelësat, natyrisht, është duke përdorur këtë simbol parantezë,
e cila është e ngjashme me vargjeve, përveç në vend të vetëm duke lejuar
indekset integer në këtu, tani ne të lejojë asgjë.
Nëse ju doni të jetë çelësi yt një varg, ju do të specifikojë atë si kjo.
Nëse ju dëshironi që ajo të jetë një int, ju specifikoni atë me int ju doni të përdorni.
>> Pyetjet për të cilat deri më tani?
Një nga gjërat e bukur në lidhje me këtë ide
është se ju mund të ketë kurrë një vlerë të depozituara me një çelës të veçantë.
Nëse ne do të shkojmë përsëri mbi të tonë aplikim-let fshini disa nga këto gjëra.
Dhe le them inicializoj një grup të jetë 0, 1, 2, bërë.
Nëse unë tani e di se, për shembull, në qoftë se unë echo $ arr [0]
Unë jam duke shkuar për të marrë vlerën 0 shtypura jashtë,
dhe pasi që nuk mund të jetë kurrë një vlerë të ruhet për një çelës të veçantë
në qoftë se unë të ruajtur diçka në $ arr [0], thonë se një,
atëherë unë e di kur kam echo $ arr [0] përsëri
Unë nuk jam duke shkuar për të marrë shtypur nga 0 si më parë.
Unë jam vetëm duke shkuar për të marrë një.
Pra, kjo është në thelb duke thënë se unë nuk mund të ketë $ arr [0] 2 ruajtjen vlera të ndryshme.
Ajo nuk mund të ruajë si 0 dhe një varg, si kjo fjalë e zëvendëson
çfarë ishte në $ arr [0] parë.
Arsyeja që unë të sjellë këtë ide është e drejtuar atë, të shohim se çfarë ndodh.
Shih këtu se kam marrë 0 shtypur dhe pastaj një këtu poshtë.
Nuk ka asnjë linjë të re atje, sepse unë kam qenë dembel dhe nuk vendos se in
Çfarë është ftohtë në lidhje me këtë është që ne mund të përdorni këtë si një mënyrë
për të kapur këtë ide e një grup
ku ne nuk mund të ketë çelësat të shumëfishta brenda një rrjet.
Ne nuk mund të ketë çelësat identike brenda një rrjet.
Unë nuk mund të ketë 0 kyç dhe vlerën e 1 dhe 0 kyç dhe vlerën e një
ose 0 kyç dhe vlera e vërtetë.
Çelësat janë të gjithë-ka vetëm 1 kyç në grup.
Edhe pse ju mund të kenë të njëjtën vlerë ruajtur
herë të shumta në grup nën çelësat e ndryshme
kjo nuk është e mundur që të ketë çelësat identike herë të shumta në rrjet tuaj PHP.
>> Nëse ne shikojmë në këtë problem tjetër, unique.php,
ku ne duam të hapur një skedar PHP
përmban një listë të strings, një varg për çdo rresht,
dhe ne duam të gjeni të gjitha vargjet unike në këtë dosje
të gjithë ne duhet të bëni është të përdorni një prej këtyre vargjeve PHP
dhe përdorimin e strings në dosjen si çelësat për këtë koleksion
dhe për të mbajtur përditësimin koleksion tonë si ne dyqan këto çelësat reja.
Siç lexojmë çdo linjë nga e dosjes ne mund të ruajë atë në rrjet,
dhe në fund ne do të kemi si çelësat tanë në grup tonë
të gjitha vargjet unike brenda file.
Bën që të bëjnë kuptim?
Le të shohim se si punon kjo.
Ne jeni do të hapur deri, sipas spekulim, një file i ri i quajtur unique.php.
Hapur. Oops, sorry, fotografi të re.
Ne jemi duke shkuar për të filluar atë me fillimin njëjtë dhe në fund tags.
Ne jemi duke shkuar për të shpëtuar atë në nenin 9, dhe ne jemi duke shkuar për të thirrur atë unique.php.
Mirë, tani zoom in
Ideja këtu është hapur një skedar,
lexuar në linjë skedar nga linjë.
Për çdo linjë në dosjen
ne do të kemi një rrjet ku ne kemi
të vijë si çelësin tonë.
Dhe atëherë kur ne të merrni në fund këtu
Çelësat $ arr janë linjat unike
nga dosja që ne e dimë se në qoftë se kam vënë në këtë grup linjë
shumë herë ai thjesht do të mbajë vlerën thelbësore të vjetër,
dhe ne fakt mund të vihet linjë array si vetë ashtu si kjo.
>> Kjo është lloj i pazakontë.
Ne jemi ruajtjen palë njëjtin kyç vlerë mbi dhe mbi dhe mbi përsëri,
por që ne jemi të garantuar se nuk do të jetë vetëm 1 çelësi quajtur linjë
kështu që nëse ne kemi një skedë që thotë se një skedar-i zhurmave të kafshëve dhe ajo ka lehje lehje,,
, meow meow, moo, moo, dhe çdo herë që ne lexojmë një zhurmë jashtë kafshëve
lehje si dhe ne ruajtur atë në grup tonë kemi marrë lehje, dhe pastaj për herë të dytë
ne dyqan lehje ajo do të prishësh herën e parë që kemi ruajtur atë.
Në fund ne do të kemi vetëm një hyrje në rrjet
për secilin prej zhurmave të kafshëve në dosjen e zhurmave tonë kafshëve.
A ju djema të ndjehen të sigurt se ju mund të trajtojë hapjen e një skedar në PHP?
Një mënyrë për të bërë atë, le ta kalosh këtë mënyrë shpejt-një për të bërë atë
është me fopen, ashtu siç e pamë më herët.
Ju mund fopen some_file.txt.
Ju mund të hapur atë në mënyrë të lexohet, ashtu si në C.
Kjo është një mënyrë e përkryer e mirë për të bërë atë.
Ju gjithashtu pastaj për të lexuar në linjë skedar nga linjë
kanë të njëjtat funksione, shumë prej tyre, që keni bërë në C.
Ju keni fgets.
Ju keni feof, edhe pse ne nuk na pëlqen që duke përdorur
sepse, mos harroni, se nuk ishte e madhe në C.
Ju mund të bëni atë në të njëjtën mënyrë,
por këtu është një gjë me të vërtetë cool.
Na vjen keq, unë nuk dua të bëj $ file, por ka një funksion të quajtur fotografi në PHP,
dhe kjo funksion drejtë këtu është ftohtë, sepse ajo lexon të gjithë përmbajtjen
e dosjes që e keni dhënë, kështu some_file.txt,
lexon të gjithë përmbajtjen e këtij skedë në një grup
dhe pastaj ju lejon të iterate mbi të, i cili është shumë i mrekullueshëm.
>> Nëse ne do të shkojmë, për shembull, në shfletuesin tonë të internetit
dhe ne e shohim në Google për dosjen PHP
ju mund të shihni këtu se manual ynë thotë se dosja lexon dosjen e tërë në një grup,
dhe ne mund të kthehen file_get_contents përmbajtjen e një file si një varg,
por zakonisht vetëm duke marrë atë si një grup është me të vërtetë e bukur, sepse ajo bën
është ajo thyen atë mënyrë që çdo element
në grup është një linjë e dosjes,
kështu që nëse ne shikojmë në dosjen e 0, kjo është vija e parë e dosjes.
1 fotografi, rreshtin e dytë, dosja 2, linjë e tretë, dhe kështu me radhë e kështu me radhë.
Nuk do të jetë mirë në qoftë se kjo ishte e gjitha që ju duhet të bëni në C?
Pretty mrekullueshëm.
Davidi tregoi këtë leksion, dhe idioma ai tregoi ishte
se përveç standardin tonë për loop-në PHP që kemi pasur
për ($ i = 0; I <10; I + +),
dhe ju mund ta bëni këtë në PHP shumë, të njëjtën gjë-
ne gjithashtu kemi këtë ndërtimin e një të ftohtë të quajtur foreach.
Foreach është me të vërtetë i dobishëm kur iterating mbi vargjeve apo këtyre strukturave të të dhënave
sepse kjo ju lejon të tërheqë nga çdo element të vektorit
pa pasur nevojë të bëjnë me dorë indeksimin veten,
pa pasur në dorë të krijuar një indeks ndryshore, rritje atë,
tërhequr nga vlera në rrjet në atë pikë, sepse kjo është një gjë shumë e zakonshme për të bërë.
>> Ju ndoshta keni bërë se ton e kohës kur ju keni qenë duke bërë gjëra C
mbi semestrit, kështu që me këtë foreach
ne mund lak mbi këtë grup file,
dhe sintaksa është se ne duam të tani lak mbi këtë grup
dhe të përcaktojë se ndryshueshme ne jemi duke shkuar për të përdorur për të ruajtur
elementi i këtij grup në nivel lokal, vendor në fushën e këtij lak foreach,
po ne jemi duke shkuar për të thirrur atë linjë.
Në qoftë se kjo është një file i fjalëve të vetëm dhe nuk është një fjalë në një linjë
mund ta quajmë atë fjalë, si dhe, me të vërtetë vetëm ju jepni një emër kësaj,
çdo gjë që ju dëshironi të telefononi atë,
dhe pastaj brenda lak ju mund të bëni çfarë të doni me këtë linjë ndryshueshme.
Nëse kjo nuk është e mjaftueshme për të marrë vlerën e grup dhe ju gjithashtu duan të marrin
indeksi së bashku me atë që ju mund të specifikoni një emër për indeksin
si dhe vlera, dhe tani ju keni qasje në 2 variablave.
Ju keni $ i dhe linjë
ku $ i është indeksi në grup,
dhe linjë është linjë që ju marrë nga dosja.
Për shembull, në qoftë se ne të kërkuar për të shtypura nga jehonës 0 vijë e file si ky,
ne mund të bëjmë atë vetëm si kjo, "Linja $ i e dosjes është $ line,"
dhe këtu është diçka që edhe ne nuk kemi parë ende as
ku unë kam vetëm skipped krejtësisht mbi% d% e tërë këtij biznesi
se kemi pasur për t'u marrë me të në C, dhe në vend që unë kam shkuar direkt në
shkrim variablave në linjë në vargun tim.
>> Kjo quhet interpolation ndryshueshme, string interpolation
ku jeni mbushjen e variablave të drejtë në, dhe përkthyesi PHP
është mjaft i zgjuar kur është e leximit nëpërmjet një varg që fillon me kuotat dyfishtë-
jo citate të vetme, me vargjet e cituara të vetme që ju nuk mund ta bëjë këtë-
por me vargjet e cituara dyfishtë si ajo lexon me anë se është në kërkim të variablave.
Është gjueti ato poshtë, dhe nëse sheh variablave ajo do të marrë vlerën e ndryshueshme
dhe sende atë në varg në qoftë se ajo mund të konvertohet atë në një përfaqësim string,
cila është goxha nifty.
Tani për tani, le të komentoni nga pjesa tjetër e çdo gjëje,
ruani këtë, dhe çfarë mund të bëjmë tani është që ne mund të hapë një skedë
që ne mund të telefononi some_file.txt-le të krijojë një të ri file-
dhe ne mund të vënë në një bandë e pakuptimta në gjëra këtu vetëm për të provuar çdo gjë jashtë,
shpëtuar atë, e quajti atë some_file.txt, si unë jam duke bërë këtu lart në krye,
dhe tani në qoftë se unë të zoom jashtë vetëm për t'u siguruar që gjithçka është në të njëjtën directory-
kjo duket si kam unique.php dhe some_file.txt në të njëjtën directory.
Nëse unë drejtuar unique.php php
të shohim se si ajo printon nga çdo linjë në dosjen time dhe atë që linja është?
>> Kjo është goxha e fuqishme, apo jo?
Shikoni, ai mori 3 rreshta të kodit për të hapur një skedë.
E pra, 4 rreshta të kodit. Unë nuk mund të llogarisin sot, në mënyrë të qartë.
Por me të vërtetë vetëm 2 rreshta të kodit interesante, sepse 2 tjera ishin formatimin e teksteve kaçurrel,
por në këtë kod sa ne ishim në gjendje për të hapur një skedë, iterate nëpërmjet saj,
tërhequr nga numrin e linjës dhe linjës vetë
dhe të shtypura it out.
Cool stuff. Charlotte.
[Charlotte] Unë kam një pyetje në lidhje me sintaksë.
Pra foreach bëjë me çdo linjë të vetme të dosjes që keni hapur,
dhe pastaj kur ju doni të bëni gjëra me çdo linjë të vetme ju vetëm bëni atë si
dhe pastaj shok vlerën.
[Nate H.] Çfarë mund të bëni ju të drejtë këtu, pyetja ishte
the foreach ka të bëjë me grup, kështu që sintaksë foreach
është me të vërtetë foreach, dhe njoftim se nuk ka hapësirë
ose diçka mes për dhe secili.
Ata kanë për të shkuar drejtë tjetër për njëri-tjetrin,
dhe pastaj ajo merr në një grup,
dhe pastaj ju e keni këtë keyword tjera të quajtur si ajo duhet të jetë atje,
dhe pastaj pas si ju ose mund të vendosni një emër ndryshueshme,
në të cilin rast ju do të jeni të tërhequr nga vlerat e vektorit,
jo indekset, ose në qoftë se ju bëni atë siç kemi shkruar më poshtë
ju merrni çelësat dhe vlerat.
Ju keni element foreach e grup ose palë e array si akorduar në vlerën
ose si thjesht vlera.
Në varësi të asaj që ju duhet, nëse ju nuk keni nevojë çelësat,
atëherë ju mund të shkoni me vlerë.
Nëse ju doni çelësat që ju mund të shkoni me ta shumë.
>> [Charlotte] Unë gjithashtu e kuptuan që ne nuk i shpalli ose linjë.
Si e bën atë edhe e di se çfarë ata janë?
[Nate H.] Çfarë do të thotë nga shpallë?
[Charlotte] Ne kurrë nuk u tha atyre se çfarë i thotë ose linja.
[Nate H.] Ne kurrë nuk i tha atë që unë kompjuter ose Linja do të thotë në aspektin e-
[Charlotte] se ata janë të indeksuar ose që they're-
[Nate H.] Ne kurrë nuk tregoi se kjo është menduar të jetë indeksi apo kyç dhe vlera,
dhe kjo është për shkak se është përkthyesi PHP.
Kjo shërben si deklaratës dhe thotë rregull, kyç do të jetë
një ndryshore të quajtur i ruajtur në një ndryshore të quajtur i.
Vlera do të ruhen në një linjë ndryshueshme quajtur,
kështu që kjo shërben si deklaratë e këtyre variablave
dhe thotë se $ i është një kyç, dhe $ linjë është një vlerë.
Po, Ella.
[Ella] Nëse çelësat nuk janë bërë numerikisht
si e bën atë të vendosë se çfarë mënyrë ajo do të shtypura çdo gjë?
Është vetëm si të rendit se është futur në?
[Nate H.] Le t'i jepte një provoni.
Le të krijojnë një ndryshore të quajtur arr,
dhe ne mund të bëjë një shkon në 7.
Le thonë 0 shkon tek një tjetër grup me 1, 2, ose molla.
Le të thonë se 7 shkon në 1, b shkon në 2,
dhe 3 shkon në 4.
Kjo është lloj i një shembull i çmendur në kërkim, sepse ne jemi rrëmujë
vargjet dhe integers të gjithë vendin.
Nuk ka asnjë mënyrë të vërtetë për këtë grup.
Unë do të thotë, ne mund të urdhërojë çdo gjë në mënyrë alfabetike nga çelësat.
Ne mund të urdhërojë çdo gjë alfabetike me vlerë.
>> Ne mund të përpiqemi dhe të marrë parasysh se disa janë vargjet, disa janë ints,
dhe ne mund të përpiqemi dhe të konvertohet ata të gjithë të të njëjtit lloj dhe të shohim se çfarë ndodh,
ose ne mund të konsiderojmë ato në vlerën në të cilën kemi hyrë tashmë ato
ku ne kemi vënë këtë djalë në fillim, ky djalë në vend të dytë, këtë djalë në vend të tretë,
ky djalë në, cetera et katërt.
Le të shohim se çfarë ndodh kur kemi drejtuar këtë kod.
Nëse ne lëvizni poshtë dhe të bëjë të njëjtin lloj gjë,
dhe këtu nuk është shtypje nga linjat e reja.
Kur ajo lexoni gjëra nga e dosjes është përfshirë linja të reja në vlerat,
e cila është arsyeja pse ajo shtypur bukur, ndërsa këtu kjo nuk e bëri,
kështu që kjo është arsyeja pse çdo gjë është smushed së bashku.
Le të shtoni në atë linjë të re vetëm për të bërë gjëra të bukur.
Le përsëritje atë, dhe kështu që këtu
shikojmë se çfarë ka ndodhur.
Ajo shtypur çdo gjë në mënyrë në të cilën kemi vënë atë në rrjet.
Ajo ka ruajtur rendin në atë kuptim.
>> Going back për këtë problem të uniques
ku ne duam të jetë në gjendje për të iterate mbi një skedar,
dhe ne do t'i jepte some_file.txt,
dhe ne jemi duke shkuar për të iterate mbi të si kjo.
Ne tha se ne të kërkuar për të përdorur një rrjet të bëni të sigurtë që ne do të marrë të gjitha të
linja unike nga atje, dhe ne mund të bëjë që me të vërtetë lehtë
vetëm me ruajtjen në një grup që ne sigurisht deklarojë jashtë fushëveprimit të një lak,
dhe kemi thënë se në qoftë se kemi përdorur linjat në dosjen si çelësat në grup tonë
në qoftë se kemi hyrë në një linjë të kopjuar ne do të jetë thelbësore vlerën e mëparshme.
Kjo nuk është kurrë e mundur që të ketë 2 çelësat që janë identike në grup të njëjtë.
Ne mund të bëjë vetëm se.
Ne do të shpëtoj i kësaj deklarate jehonë të drejtë këtu.
Këtu ne jemi ruajtjen linjë në dosjen në grup tonë
duke përdorur veten si çelës.
Asgjë për të, dhe ajo rezulton se ne nuk duhet edhe këtë kyç.
Ne nuk kemi nevojë që i ndryshueshëm.
Në këtë pikë, nëse ne ishim të bëni një tjetër lak foreach
dhe ne do të lak mbi çdo arr
dhe linja tani në qoftë se ne echo-oops, sorry.
Ne nuk mund të përdorni presje. Ne kemi për të përdorur këtë si fjalen.
Tani në qoftë se ne echo linjë duhet të marrë të gjitha fjalët unike në dosjen.
Nëse ne do të shkojmë deri në some_file.txt,
dhe le të themi që ne bëjmë mollë, banane, mollë, mollë, banane,
nëse jeni shtypjen nga të gjitha fjalët unik në këtë dosje, ne duhet vetëm të marrë
mollë dhe banane për të shtypur jashtë.
Nëse kemi ruajtur këtë, tani këtu ne do të zoom në,
php unique.php, dhe Ta-da.
Ne kemi sukses uniqued file.
>> Pjesa e fundit e këtij problemi është pyetur ju për të zgjidhur këtë grup para se të shtypura it out
sepse në këtë shembull të thjeshtë që ne kemi bërë vetëm
ne ishim me fat në kuptimin se file-
ne e bëmë këtë shembull ndërtuar me mollë dhe banane.
Ajo u renditur tashmë.
Por duke përdorur funksion të thjeshtë ju mund të lloj lloj një grup, i cili është shumë i mrekullueshëm.
Gjëja e fundit që kam kërkuar për të folur me ju djema në lidhje me të vërtetë shpejt
është se ky lloj i PHP është e gjitha mirë dhe të mirë, dhe kjo është super i dobishëm
të dinë se si të bëni nëse ndonjëherë ju duhet të bëni gjëra të vogla, të shpejtë programuar.
Për shembull, në qoftë se unë duhet të shkruaj një program që, të themi,
vë të gjithë në seksione unë nuk jam duke shkuar për të shkuar dhe shkruani atë në C.
Ajo do të jetë e gjatë.
Ajo do të jetë një lloj dhimbje, sidomos nëse nuk janë të përfshira fotografi,
Ashtu si ju djema keni parë.
Është kaq e bukur se me këtë kod vetëm shumë të drejtë këtu
ne ishim në gjendje për të shqyej nëpërmjet një skedar, tërhiqet nga të gjitha vlerat unike
dhe ato të shtypura nga mbrapa.
>> Megjithatë, për detyrat tuaja, për projektet tuaja,
në qoftë se ju jeni të ndërtuar faqet e internetit me PHP pushtet është që
ne jemi drejtimin dosjet tona PHP përmes këtij përkthyesi,
dhe përkthyesi është e përpunimit gjithçka brenda etiketave PHP,
duke lënë çdo gjë tjetër paprekur dhe pështyrë nga rezultatet.
Ne mund ta bëjmë këtë për të ndërtuar HTML programuar.
Tani, nëse ne do të shkojmë përsëri në spekulim, problemi i fundit në spekulim
Bisedimet rreth kësaj ideje të përqendrimeve
dhe krijimin e një drop-down menu,
të cilat ju mund ose nuk mund të dëshironi të bëni, në varësi të asaj që projekti juaj përfundimtar është bërë,
që lejon përdoruesit për të zgjedhur nga një listë e të gjitha përqendrimet e mundshme
përqendrimi i tyre një.
Tani, kjo është lloj i një dhimbje të tipit këtë,
dhe duhet të bëjë të gjithë këtë me dorë, sidomos kur ju jeni të paturit të bëni të sigurtë
që ju të keni të gjitha kllapa kënd në vendin e duhur dhe të gjitha kuotat në vendin e duhur,
kështu me PHP ju mund të bëni këtë programuar, dhe ju mund ta bëni këtë të vërtetë të shpejtë.
>> Le të shohim se si ta bëni këtë.
Ne jemi duke shkuar për të hapur një skedë të re.
Ne jemi duke shkuar për të vënë në tags tonë PHP.
Ne jemi duke shkuar për të thirrur atë concentrations.php,
dhe tani kur ju jeni duke bërë këtë, lloj i një gjë e mirë për të menduar rreth
kur ju jeni duke u përpjekur për të përzierje dhe ndeshje PHP tuaj dhe HTML tuaj
është parafytyruar, rregull, çfarë është pjesa që unë dua të programuar gjeneruar?
Cila është pjesa që unë mund të gjenerojnë të programuar?
Është e vërtetë se ju mund të bëni të gjitha HTML tuaj
brenda blloqeve PHP.
Ju mund të jehonë të gjithë HTML si vargjet.
Për shembull, në qoftë se unë dua të fillojnë të bëjnë tags zgjidhni brenda PHP
Unë mund të them jehonë, thonë zgjidhni = përqendrim emrin,
dhe pastaj poshtë poshtë unë mund të ketë një tjetër tag jehonës
ose në një tjetër jehonë e quajti afër zgjidhni.
Kjo është një mënyrë për të bërë atë, sepse ajo që kjo është fjalë për fjalë do të bëjë
është shkruar këtë varg kur ajo është drejtuar përmes përkthyesit PHP,
kështu që rezultati do të jetë HTML.
Nëse unë ruaj këtë foto si kjo është e drejtë tani
dhe unë drejtuar concentrations.php php
shikoni se çfarë kam marrë.
I kam këtë kod të hapur të ngushtë zgjidhni.
>> Nëse unë do të bëj këtë dhe kam qenë për të ruajtur këtë rezultat në një skedar,
thonë, concentrations.html-prisni, ajo duket si l ka shkuar mbi të tjetër anë-
tani, nëse unë i hapur deri këtu concentrations.html ju shihni se unë kam një file të vlefshëm HTML.
Është se lloji i çuditshëm?
Ne jemi duke përdorur PHP për të krijuar HTML, të krijojë HTML vlefshme.
Mënyra se si ne po bëjmë është që ne jemi vetëm duke shkruar PHP
HTML që ne duam që ajo të shtypura.
Kjo është fjalë për fjalë se si faqet e internetit PHP janë duke punuar.
Kur ju vizitoni një faqe interneti që ju dërgon në diçka si
diçka, diçka, diçka dot com Slash index.php
kompjuteri është fjalë për fjalë duke e quajtur deri index.php,
drejtimin atë nëpërmjet përkthyesit PHP, dhe çdo gjë vjen nga junk
ajo është dërguar përsëri në shfletuesin dhe duke thënë: hej, browser, interpretojnë këtë si HTML.
Gjë e bukur është se ajo mund të jetë një dhimbje të vazhdueshme të shkruar jehonë, jehonë, jehonë, Echo
dhe rrethoni çdo gjë në thonjëza si kjo, kështu që nëse ju dëshironi të shkruani
HTML që do të jetë statike veten ju mund ta bëni atë si kjo,
vënë atë jashtë, mbyllni atë,
dhe pastaj ju vetëm vënë këtu brenda tags PHP atë që ju e dini
ju doni të programuar të gjeneruar, dhe në këtë rast kjo është këto tags opsion
që janë një dhimbje të gjeneruar.
>> Për shembull, ne mund të gjenerojë një mijë tags opsion
duke bërë diçka si kjo, $ i <1000, i + +
dhe duke thënë opsion vlerë jehonës = $-uh, unë nuk mund ta bëjë këtë.
E pra, le t'i jepte një provoni dhe shikoni se çfarë ndodh.
$ I $ dhe pastaj duke thënë se i </ opsion.
Në vend që të shkruani në dukje se tag opcionin një mijë herë më të ndryshme
Unë jam duke përdorur kodin e PHP për të gjeneruar atë automatikisht, programuar.
Lloji i mrekullueshëm. Po.
Mbaj mend këtë që përmendet në asnjë leksion as nga walkthrough,
por çfarë është dallimi në mes thonjëza,
ato normale dhe këto gjëra të vetme?
Kjo është në fakt diçka që unë e kam bërë gabimisht këtu se unë do të të tregoj.
Kuotat e vetme nuk do të lejojë ndonjë karaktere speciale,
kështu që çdo gjë brenda një varg të vetëm të cituar interpretohet fjalë për fjalë.
Po të kisha një \ n brenda thonjëza të vetme dhe unë të shpëtuar këtë, për shembull,
dhe tani unë po shkoj këtu poshtë dhe drejtuar atë-
oops, ku jam unë do?
Oh, kjo është për shkak se kam harruar $.
>> Tani në qoftë se unë i hapur deri-në fakt, këtu, ne do të shpëtoj i shtypur atë në një skedar.
Ne vetëm do të lexoni atë.
Këtu ju shihni se unë kam marrë këtë literal \ n në varg, si një vijë jo aktuale të re,
dhe gjithashtu, në vend të vërtetë interpolating vlerën e kjo është e ndryshueshme
ajo dha $ I vetvete, e cila është lloj i një dhimbjes.
Mënyra rreth kësaj është që të përdorin kuotat e dyfishtë,
dhe pastaj kur ju përdorni kuotat e dyfishtë ajo do të vërtetë
duhet fut vlerat e të gjithë këtyre variablave këtu
dhe gjithashtu njohin këtë \ n të jetë linja e re se ajo është
dhe jo \ n.
Duke përdorur ato vetme është mirë kur ju keni
karaktere që mund të interpretohen si karaktere të veçanta, sepse atëherë ju nuk keni për të
shpëtuar ato vazhdimisht.
Gjërat mund të merrni çrregullt, dhe shpesh mënyrën se si unë të bërë atë,
vetëm për të bërë gjëra të lehtë, është se në qoftë se unë jam duke shkuar të ketë asgjë
HTML si në kodin tim unë do të përfshijë edit brenda thonjëza të vetme
dhe pastaj të përdorin këtë varg operatorin
të lidh variablat in
Kjo është një tjetër mënyrë për të bërë atë
ku ne kemi marrë dot që është do të lidhë ky është një varg
me këtë me këtë me këtë,
dhe tani unë nuk kanë për të shpëtuar këto citate dyfishta.
Unë nuk kam për të përdorur këtë djalë për të shpëtuar.
Ata do të vërtetë të shtypen jashtë si kuotat dyfishtë dhe pastaj ky djalë të drejtë këtu.
Kjo është një tjetër mënyrë për të përzierjen gjithçka së bashku.
>> [Student] Gjithashtu, kur ju bëri jehonë gettype nuk ka pasur thonjëzat në të gjitha.
Drejtë, kështu që Echo është lloj i veçantë në kuptimin që ju nuk keni nevojë kllapa.
Ju nuk duhet të ketë domosdoshmërisht citat shënon rreth variablave,
si ajo është e vlefshme për të thënë echo $ i, dhe ajo do të interpretojnë këtë si një varg.
Kjo do të bëjë të hedhura, kështu që ne mund të bëjmë këtë, dhe kjo është e vlefshme shumë, por ne nuk kemi nevojë për të.
Kjo është fakultative.
Në grup kësaj jave problemit të shikoni për një shumë të këtij lloji të gjëra
ku ju jeni përzierjen dhe që përputhen me PHP HTML
ashtu si kjo, dhe tani në qoftë se ne të lëvizni prapa dhe kemi drejtuar këtë
ne mund të shohim se ne kemi një bandë e tërë e vlerave opsion
që sapo u shtypura jashtë.
Ne kemi të gjitha HTML këtë që u gjeneruar shumë shpejt për ne.
Unë do të lënë atë si një ushtrim.
Kjo është shumë e ngjashme me leximin e file që ne bëmë më herët.
>> Nuk është një file concentrations.txt që ju mund të tërheqë poshtë nga CDN,
dhe ju mund të hapur atë duke përdorur të njëjtën mashtrim foreach që kemi bërë më herët,
foreach dhe ju vetëm duhet të bëjnë jehonë një opsion dhe plug në
vlerat e duhura, çelësat e duhura dhe indekset,
dhe pastaj ju merrni një drop down që fjalë për fjalë krijon
programuar për ju të gjithë përqendrime të ndryshme në Harvard.
Një gjë e dobishëm që të ketë.
Ka shumë gjëra të konfigurimit për këtë detyrë.
Nëse ju nuk e keni bërë atë tashmë të marrë orë tjetër gjysmë ore,,
disa kohë sonte patjetër për të sigurtë,
ecin nëpër spekulim caktuar problemit,
të shohim se çfarë po ndodh me ngritjen e vhosts, ushtria lokale, të gjitha këto gjëra.
Një gjë për të vënë në dukje të drejtën tani është se
në grupe problemi më ne kemi qenë duke shkuar në Dropbox dosjen tuaj
dhe pastaj shkarkimit të vendosur problemin zip file dhe unzipping atë.
Për këtë grup të problemit që ju nuk dëshironi.
Ju doni të shkoni në këtë directory vhosts.
Ju do të dëshironi të shkoni në vhosts dhe të shkojnë në dosjen pritës lokale brenda saj,
dhe kjo është ajo ku ju do të duan për të tërhequr poshtë skedar zip,
unzip atë, dhe për të marrë gati për të shkuar.
Ju do të duhet të ndjekin hapat e ngushtë.
>> Nëse keni ndonjë pyetje, dërgoni një email, pas atë në Diskutoni, vijnë për të orarit të punës.
Thanks guys. Javën e ardhshme ne do të kemi një seancë për shqyrtim quiz.
Gëzojnë fundit sërë tuaj problem. Unë shpresoj se të gjitha shkon vërtetë mirë.
[CS50.TV]