[Powered by Google Translate] [Həftə 8]
[David J Malan] [Harvard Universiteti]
[Bu CS50 edir.] [CS50.TV]
>> Geri gəlmisiniz.
Bu CS50, bu həftə 8 başlanğıc.
Imkanları bir neçə bu həftə
onların arasında burada söhbət olan bəzi ərzaq xidmət olacaq.
Daha ətraflı online olan slaydlar kontrol üçün.
Həmçinin öz Thomas Carriero başqa hadisə bu həftə.
O, Dropbox indi kim CS50 keçmiş baş müəllim yoldaşları biri
O, siz nə ilə bizi əyri olan adam var
Siz Dropbox və daha çox bu gün günortadan sonra onların müzakirəsi rəhbəri çox istəyirəm əgər.
CS50 nahar bu cümə deyil.
Siz Fire və Ice da, həmişə olduğu kimi, 1:15 edə əgər bizə qoşulmaq etməyin.
>> İndi biz seminarlar deyilən bir şey daxil dalış.
Bizim CS50 seminarlar, geri, müəllim yoldaşları rəhbərlik bu isteğe sinif
Kursun və əlbəttə köməkçiləri və dostlar,
kampus bir qrup insanlar, bir qrup olan ABCD adlı
kampus technophiles, habelə HCS adlı qrup,
Harvard Kompüter Cəmiyyəti, eyni hesablama istəyən ögrenci.
Seminarlar Bu il siyahısı Android və iOS və JavaScript seminarlar daxildir
və PHP, Unix, Vim, və daha çox, belə ki, bu seminar gündəmə gəlir ki, bilirik.
Sizin üçün RSVP istəyirsinizsə, onlardan hər hansı ki, URL giderim.
Onlar başa sonra biz sonra kurs saytında dəfə və yerlərdə post edəcək.
Lakin əvvəlki seminarlar var 5 il dəyərində mövcud online, bilmək
olan bir çox siz bilər texnologiyaları baxımından hələ çox cari
son layihələr ilə oynamaq istəyirəm, belə ki, onların bəzi mövcud video üçün rəhbərlik.
>> CSS, artıq CSS ilə tanış olan sizin,
özetle nədir?
CSS nədir?
Bu stillər kaskad var ki, nə deməkdir?
Ki, bizim üçün CSS nə edir?
Bütün hüquqlar isə daha asan bir, HTML, mətn biçimlendirme dili ilə istilənmək bildirin.
Bizim üçün nə edir?
Hər kəs bütün?
Bu suallar həqiqətən yöndəmsiz əldə edir.
HTML, mətn biçimlendirme dili.
Bəli? No?
[Işitilemez tələbə cavab]
OK, yaxşı, bizə bir web browser keçirmək üçün mətn qədər qeyd etməyə imkan verir.
Bu bir proqramlaşdırma dili deyil.
Bu, həqiqətən bir biçimlendirme dili var, bu necə keçirmək üçün brauzer göstəriş deməkdir
informasiya, biz bu sadə təcəssüm gördüm kimi
açıq bracket b qapalı bracket boldfacing kimi sadə super bir şey deyir olunur
Bu mətn qalın etmək və yalnız həqiqətən çox yollarından biri var
biz həqiqətən bunu edə bilərsiniz ki, bu gün daha yaxşı yanaşma
şeyi qalın və kursiv edilməsi, web səhifə stylizing üçün
və mərkəzi və haqlı və kimi, tək HTML tags vasitəsilə həyata deyil
deyil, Cascading Style Sheets CSS adlı texnika ilə.
Bu özü yanına bir dilidir.
Bu da bir proqramlaşdırma dili amma-deyil
hər kəs, bu gün bizə qoşulan tutan Dan edir.
Bəzi texniki çətinliklər. Bir problem.
>> CSS bizə səhifə stylize imkan verir
xassələri adlanır nə belirleyerek, belə bu nəzər edək
bəzi əsas nümunələri yolu ilə.
Mənə bu gün cihaz daxil edək.
Mən burada mənbəyi 8 Bazar ertəsi kataloq var
və biz bütün dəstə var CSS adlı dizine getmək üçün gedirəm
Burada bizi gözləyir faylları,
və bu qovluq biz keçən zaman, məsələn, search0.html var.
İndi search0 ilə xatırlayıram ki, bu qeyd sol
bir həftə və ya əvvəl onun üçün həqiqətən yalnız ön Google həyata və ya sort,
və biz orada yeni tags olduğunu görürük.
Biz, böyük, qalın başlığina üçün h1 idi
Bizə həqiqətən istifadəçi girişi üçün HTML forma üçün icazə hansı formada.
Fəaliyyət, fəaliyyət Özelliğin mənası nə idi
HTML forma tag haqqında?
Bu fəaliyyət mənası nə idi?
Mən bu gün bunu yalnız lazımdır.
Fəaliyyət şəklində təqdim olunacaq yerləşir Ü üçün yerdir.
Deyir ki, faktı action = "google.com / search"
istifadəçi tıkladığında 'düyməsinə və ya ekvivalent təqdim o deməkdir ki,
onlar doldurulmuş hər hansı formada sahələrində bizim server üçün göndəriləcək gedir
və ya əksinə Google xüsusi URL üçün cihaz.
Və ondan istifadə etmək olacaq üsulu almaq adlanır
və indi, bir web server boyunca məlumat keçməsi üçün bir texnika almaq
URL yolu ilə, belə ki, in necə bu işi geri sürətli bir nəzər salaq.
>> Onun adı q bir giriş var Qeyd edək ki,
kimin növü mətn və növü ikinci input təqdim edir
dəyəri CS50 Axtar və həqiqətən, biz burada bu faylı açmaq əgər,
search0.html, bir super sadə şəkildə deyil,
və kompüter kimi bir şey Axtarış əgər
və sonra CS50 Axtar daxil edin və ya basın
nə olar Google əldə kənarda olduğunu qeyd
Mən xüsusilə, üst Bu URL başa sonra
google.com / search? q = kompüter + elm,
və informatika foruma tipli nə aydın deyil
Bu + yalnız bir məkan xarakterli idi ki deməkdir
və yalnız yoxdur əmin etmək üçün brauzer tərəfindən həyata
qarışıqlıq və faktiki URL ağ sahəsi.
Və sonra q, əlbəttə, parametr adı.
Biz proqramçı, həqiqətən, hələ q edə bilərsiniz necə görmədim.
Biz, Google burada bu nə bilir ki kəsb edə bilər
lakin bu gün biz vaxtında orada almaq lazımdır.
>> Amma, mənə search1.html da yerinə nəzər edək
Mən burada bu forma bir az topal, qərara aldı ki, çünki bir az fərqli görünür.
Mən demək, bu, üst sol var.
Yoxdur estetika üçün həqiqətən var, və mən bu stylize istəyirəm
daha kimin ana, geri Google, kimi bir az
Əgər tez-tez ziyarət ola bilər, baxmayaraq ki, Halloween bu gün bu kimi görünür.
Yerine bu fayl axtarış 1.html versiyası 1 açmaq varsa, bu mərkəzi etdik.
Hələ olduqca çirkin, lakin ən azı indi bu səhifə estetikasını nəzarət açılmış sonra,
yalnız onun qədər qoyur.
Axtarış 1 nəzər edək və yalnız bir fərq burada həqiqətən var,
ki, sizə sıçramaq, və ya bəlkə bilər
lakin fərq bir xətt və ya parçası var?
>> Bu stil atributu var, belə çıxır ki, HTML
ən elementləri, ən tags, onlara bir stil atributu ola bilər
və daxili ki, stil atributu, bir sitat dizesidir
və sitat simli CSS edir.
Siz orada kaskad stil bilər
əmlakın adı kimi ifadə edərək,
bir dəyər ardınca kolon izlədi.
Bu bir neçə il əvvəl bir uğursuz dizayn qərar növü
CSS özü yanına bir dil ki,
lakin syntactically bu HTML çox fərqli deyil.
Bu halda, biz, HTML yazılı olan mənim web, o daxili bax
Mən CSS bu quotes daxilində var və CSS üçün Konvensiyanın
siz ardınca əmlak, yenə bir kolon, deyirlər nə var ki,
həmin əmlakın dəyəri sonra heç bir bərabər işarəsi var belə.
Heç bir əlavə quotes var.
O, yalnız bu kolon ayrılmış əsas dəyər cüt var
və mətn line deyir dəqiq nə.
Bu səhifə orqanı, mətn aligns olan, həqiqətən səhifə içalat edir
mərkəzi.
>> Okay, son nəticə sonra, aydın olmaq, bu.
Bütün ki, sexier, lakin ən azı mərkəzi və real Google kimi bir az daha var.
Amma əvəzinə bu versiya 2 nə qədər açmaq əgər
və ümumiyyətlə aşağı burada yeni tag qeyd?
İndi əvvəllər yalnız olan mənim səhifə rəhbəri olan tag
bütün əvvəlki nümunələrdə?
Bu, sadəcə, mövzu bu idi.
Bir an əvvəl baş tag bu kimi baxdı.
İndi əvəzinə, bu bir stil tag daxilində var
və bu da üzr istəyirik, syntactically, HTML çox fərqli görünür
lakin bu, əsasən daxili stil tag istifadə almaq
Mən indi bir an əvvəl nə amil bilər
bir özellik, stil atribut və mən səhifə çox üst onu qoya bilər.
>> Niyə?
Bəli, bu C kodu yazılı çox kimi, hər şeyi təmizlənməsi istiqamətində bir addımdır
biz bəzən ümumi işlevselliği amil funksiyaları yazmaq olardı.
Bu, yalnız estetik kimi şeylər faktorinq başlamaq üçün bir az təmiz deyil
olduqca HTML bütün serpmek bu olan daha bir mərkəzi yer.
Bu da yeni sintaksis bir qədər var, baxmayaraq ki, deyir nə.
Bu burada selector və bədən yalnız bədən element seçin deməkdir
və aşağıdakı xassələri tətbiq olunur.
Yaxşı, əmlak tam eyni deyil.
Yaxşı tədbir üçün mən, sonunda nöqtəli vergül ekledik
olan konvensiya olmağa çalışır, və bu bütün əmlak bükülmüş sonra
qıvrım aşırma, çünki Mən, həqiqətən, burada müxtəlif şeylər ola bilər.
Mən, həqiqətən, rəng kimi bir şey deyə bilər: blue;
>> İndi bu çox bütün gözəlləşir bir şey doğru bir addım olacaq deyil,
amma indi version geri əgər 2 Mən ən azı indi mənim orqanı etdik
səhifənin mətn bütün mavi.
Bir giriş var, çünki düyməsinə eyni qalır. Bu təmiz mətn deyil.
Lakin top CS50 Axtarış kimi, mətn ki, başqa hər şey, əslində mavi deyil.
Yenə biz etdik, bütün, bədən tag bildiriş aradan qaldırılması olunur
stil atribut və biz burada factored həyata var.
Bu böyük bir təkmilləşdirilməsi deyil, biz bu bir addım əgər
biz burada bu üçüncü versiya nə edə bilərsiniz.
>> Search3.html ildə web demək olar ki, eynidir
nə yeni tag indi başqa?
Link, bu bir çox tutarlı adına deyil
bir tıklanabilir hiperlink hissi birləşdirən deyilik, çünki.
Əksinə, siz ekvivalent edir sort C # daxil etdiyiniz
qovuşdurmağımız bir href atributu ilə link tag
və rel atribut davam deyir
və fayl məzmunu yapışdırıb surəti mahiyyətcə, burada search3.css çağırıb.
Bu olduqca bunu deyil, lakin onun ruhu var.
Bu fayl, search3.css, açıq getmək deyir
və istifadəçi saytın rəhbəri burada bu tipli baxmayaraq kimi uçota
yalnız mən əvvəlki misalda olduğu kimi.
Search3.css isə olduqca sadədir.
Bu, həqiqətən, yalnız bir an əvvəl tam olaraq ne var
stil tag, lakin mən öz fayl burada factored həyata var.
>> Biz HTML və ya web proqramlaşdırma bütün çox vaxt sərf deyil baxmayaraq
yalnız daxilən motivasiya faktorinq üçün, bəlkə də, nə həyata
öz fayl hətta CSS bu kiçik parçası
və sonra burada bu link tag ilə daxil?
[Işitilemez tələbə cavab]
Okay, bu bir CSS faylı sizin CSS ki mənada oxumaq üçün asandır.
Siz HTML fayl HTML var, belə ki mənada daha oxunaqlı deyil.
Nə məcburedici ola bilər? Bəli.
[Işitilemez tələbə cavab]
Bəli, belə ki, bir çox dəfə daxil edə bilərsiniz, belə ki, indi biz bu edirik
fərdi faylları ilə əsas nümunələri, lakin həqiqətən edirik güman
sizin kimi bir real veb pset 7 və ya bəlkə sizin yekun layihə olacaq
və birdən çox web pages olsun, kimi, əlbəttə, ümumi
faktiki World Wide Web, və topal cür olardı
Eyni mavi rəng seçin və yapışdırıb üçün
və eyni mətn bu səhifələrin hər biri mərkəzi qoşulmuşdur.
Əksinə, biz C etdik çox kimi həyata amil daha çox əhəmiyyət kəsb edir
edin. h fayl ilə, bir mərkəzi yer qoydu
Bu halda search3.css və sonra hər hansı bir fayl imkan
Sizin veb əslində burada line 16 bu etiketi yolu ilə fayl daxil.
Adətən olduğu kimi, biz versiyası 0 açılmış işlərin hansı növ
lakin ən yaxşı mütləq və hər bir addım deyil
axtarış 1, axtarış 2 və indi axtarış 3 biz bu körpə addımlar etdik
bir az təmiz və daha hazırlıq ki dizayn doğru
biz yol aşağı edə bilər ki, daha kompleks pages.
>> Mənə yalnız göstərmək üçün burada son bir misal açmaq edək
daha stilizə səhifə, lakin ilk də HTML baxaq.
Bu search4.html və struktur demək olar ki, eyni görə
yeni tag tətbiqi istisna olmaqla, DIV.
Div səhifə bölgüsü təqdim edən bir tag edir.
Siz görünməz düzbucaqlı kimi hesab edə bilər.
Bu cür web sahəsi bir Tarama yaradır
Siz bir dəfə bütün stylize bilər.
Mən burada etdik belədir.
Bütün boyunca var olan mənim bədən tag, daxilində,
Mən, 47 vasitəsilə xətləri 45 vasitəsilə burada səhifə bölgüsü yaratmaq dedi alıram
və mahiyyətcə məni səhifə üstündeki görünməz düzbucaqlı vermək deməkdir.
Sonra aşağıda, mənə görünməz olsa ikinci bir düzbucaqlı verir ki,
və nəhayət sonra adı content tərəfindən müəyyən və
Mənə altındakı səhifə üçüncü bölmə vermək
ID çağırıb.
Mən bir anda bu etdik niyə görürsünüz
lakin konseptual bir mövzu bölmə var.
Mən məzmun bölünmə var və mən saytın footer bölmə var
Bu yalnız biçimlendirme var, baxmayaraq.
Istifadəçi, 3 düzbucaqlı görmək niyyətində deyil
amma pərdə arxasında struktur var sort
əslində indiki istəyirik.
>> İndi kimin umurunda? Niyə həqiqətən bunu?
Səhifənin başqa hər şey əvvəl gördüm kimi eyni.
Burada mənim forma var. Burada mənim giriş, mənim giriş, bir line fasiləsi və s var.
Burada bir şəkil var, baxmayaraq ki, biz bu yalnız bir anda gəlib yerləşir görəcəksiniz.
Burada yeni bir footer, mən tanıtmaq istədim yalnız, çünki var
burada daha çox content.
Biz qeyd diyirləyin bu div ki ID header edir.
Bu div şəxsiyyət content, və bu bir ID footer edir.
Adı təklif kimi, bir ID atributu zaman
HTML, definition tərəfindən benzersiz olunmalıdır
elementləri biri sayfanızda tags biridir.
Yükünü artıq bir mövzu ID var unutmayın ki, tamamilə sizə edir.
Siz footer var. Siz artıq bir məzmun ID var.
Kompüter, mövcud ID sizin üçün nə anlamaq niyyətində deyil
siz təsadüfən, 2 tags başlığı ID verə bilər
və yalnız səhv olar.
>> Siz yaratmışdır nə yadda saxlamaq
lakin sonra biz burada nə edə ki, xəbərdarlıq etdik.
İndi başında mənim stil tag ilə daxil edə bilərsiniz
və ya equivalently mənim CSS fayl, mən hələ ki, versiyasını istifadə əgər,
I # header demək və nə deməkdir ola bilər ki, hər hansı tag
Bu web page başlığı ID var
və #, yalnız insan konvensiyası ilə, ID edir.
Kəskin işarəsi və ya funt Bürc ID edir.
Mövzu Mən verdi ki adıdır.
Bu CSS əmlak tətbiq deməkdir
Bu səhifə nə tag başlığı ID daşıyır etmək.
Burada eyni iş.
Hər hansı bir element eyni olur, bu əmlak, müraciət
aşağı burada sonra kimin ID məzmun və
Mən footer ilə bir az meraklısı var bildiriş.
Kimin ID footer hər hansı bir element, o, definition tərəfindən yalnız bir ola bilər
davam və font ölçüsü kiçik etmək,
onun font çəki qalın, onun margin 20 pixels.
>> Ki, nə deməkdir?
Bu, yalnız üst, alt və sol və sağ sərbəstliyinə var.
Bu mənə ətrafında 20-pixel görünməz margin vermək deməkdir
siz Word edə bilər kimi yalnız, o, uzaq bir az başqa hər şey itələmək,
Microsoft Word və ya Səhifələr və ya kimi.
Və sonra mətn mərkəzi align.
Sonunda nəticəsində görmək edək, sonra biz CSS biri qalan parçası geri getmək lazımdır.
Bu, axtarış misal üçün son buraxılış 4, və çox, daha sexier var.
İndi, ədalətlilik, mən yalnız "google font loqosu generator." Googled
Və mənə orada belə görünür bir GIF, bir image format yaratmaq üçün icazə.
Əslində, siz də bunu edə bilərsiniz.
Biz "google fonts loqosu generator. Var"
>> Biz bunu edə bilərsiniz əgər in nəzər salaq.
OK, mən bu mən istifadə veb olduğunu düşünürəm.
Biz məsələn, EC 10 demək və onlara öz edə bilərsiniz.
Siz uzun bu gün oynamaq və sonra sağ basın
və sonra mən bütün olan faktiki GIF, download.
Niyə mənim HTML və həqiqətən ki, buraya, geri
Edirəm ki, biz keçən həftə qısa gördüm ki, bir şəkil tag idi
logo.gif onun mənbəyidir.
Və nə yenidən, bu alt atributu olması üçün motivasiya oldu
Bu alternativ atribut?
Bəli.
[Işitilemez tələbə cavab]
Yaxşı, belə 2 səbəblər, həqiqətən, brauzerinizin image qoparmaq mümkün olmadıqda,
siz yavaş ağ bağlantısı var və ya image bad çünki
kimi və ya bir şey ən azı insan ", CS50 axtarış" bilərsiniz
və sonra da accessibility səbəblərə görə.
Siz kor olan bir istifadəçi var və bir ekran oxucu istifadə edin
və buna görə də təbii ki, onlar ən azı bilər images göremiyorum
onların kompüter onlara danışır əgər mətn eşitmək.
>> Bu pages accessibility gəldikdə Ümumiyyətlə, bu yaxşı təcrübə
ki, vəziyyət belə istifadəçilər, eşitmək və ya görmək, belə ki, danışmaq olar ki,
nə sizin səhifədə edir.
Mən burada ki başqa bir şey var
bir az maraqlı və 7 təyin biz problem bu barədə daha görəcəksiniz
tədris yoldaşları biri rəhbərlik etdiyi şort biri vasitəsilə.
Lakin # məzmunu tag aiddir
kimin ID content, lakin sonra boşluq xarakteri var, sonra sözü daxil var.
Yaxşı, nə CSS haqqında maraqlı olduğunu bilərsiniz ki,
, hiyerarşik bir səhifə cür tags baxın
və CSS vasitəsilə bu parçacığı tag tapmaq nə
kimin ID content, və sonra aşağıdakı xassələri tətbiq
məzmun descendents olan giriş tags bütün,
ki, daxili indented olunur.
Abzas, təkrar deyil, insan, kompüter yalnız vacibdir
biz bir səhifə daxil dərin getmək kimi amma qaydaları ilə biz, hər şeyi indent
Bu hər hansı bir daxil element üçün 5 piksel margin tətbiq deməkdir
ki, haradasa içərisində var və ya daxilində iç içə
kimin ID element content edir.
>> Kim müraciət edir?
Yaxşı, bu 2 uşaqlar burada yalnız həqiqətən var.
2 giriş var şəklində ki, daxili edək,
bu misallar bütün var kimi.
O 2 giriş daxilində iç içə üçün baş, lakin bildiriş
dərin bir az da olsa, abzas bir neçə qat,
kimin ID content edir tag daxilində.
Bu nə deməkdir?
Burada browser getmək Əgər heç belə az-görə bilərsiniz
düyməsini arasında padding bir az var-ci ildə mənə zoom imkan
və mətn sahəsində arasında.
>> Mənə müvəqqəti ki söndürmək edək.
Mənim CSS qədər gedək və mənə əvvəl və yalnız buraxmaq
5 pikselden 0 pixels bu margin dəyişir.
Mənə sonra irəli getmək və fayl saxlamaq, axtarışı geri edək
və yenidən və səhifə ortasında baxın.
Hər şey birlikdə sıxılmış oldu və mən ilk bu misal qədər çırpılmış zaman
Mən sonra mətn sahəsində və dərhal aşağıdakı 'düyməsinə axmaq baxdı ki, düşündüm.
I pad bir az istəyirdi, mən qaydalarından təqdim etdi.
Biz mühazirə nə olacaq nə onlarla vasitəsilə getmək edilir
Yenə font ölçüsü kimi şeylər var, çünki mövcud CSS xassələri,
font çəki, margin, mətn align və bir neçə onlarla digər
və biz problem sizə müraciət edəcəyik online müxtəlif Dərsliklər 7 seçin
və bu şeyləri almaq üçün imkan istinadlar.
Amma nə gün sonunda həqiqətən vacibdir
>> bunlar tətbiq olunur necə anlamaq üçün.
Yenə varsa stil tag daxilində olan
olan seçiciler, belirttiğiniz tanımlayıcıları və sort bilərsiniz
Bu xassələri tətbiq etmək istəyirəm kimə,
və sonra əsas dəyər cüt kimi xüsusiyyətləri qoymaq
bir nöqtə ilə ayrılır və sonra bir nöqtəli vergül ilə başa çatdı
və ya ki, bütün rip və ayrı-ayrı CSS fayl onu qoya bilər
özü dedi.
Bütün hüququ, anlayışlar haqqında suallarınız
və ya CSS böyük şəkil?
Siz yenə pset 7 ildə daha görəcəksiniz
ancaq ümumiyyətlə olduqca sadə saxlamaq lazımdır.
No? Bütün hüquqlar.
Bu, faktiki proqramlaşdırma dili üçün vaxt
və biz nümunə şəklində CSS bir az geri gəlmək lazımdır.
PHP həqiqətən gözəl əlçatan dili
bu syntactically C. demək olar ki, bərabərdir ki,
C bilirsinizsə digər sözlə, siz çox hissəsi PHP bilirəm
ən azı syntactically, bəzi yeni xüsusiyyətləri var, baxmayaraq
və yeni anlayışlar biz baxmaq lazımdır.
>> Amma çox hissəsi üçün, indi C PHP biz keçid ki,
yeni məhsullarının ən böyük şəkil həqiqətən
fərqli olaraq Web proqram bir dil istifadə necə
command line və ya biz bu günə qədər bunu etdik kimi yanıb-sönən tez edir.
Sened üçün, xüsusilə pset 7 və yekun layihə irəli ilə,
Əgər PHP və rəsmiləşdirilməsi üzrə oxumaq istəyirsinizsə burada bu URL istifadə etmək yoxdur.
Bu, həqiqətən, səmərəli bir pulsuz online dərslik kimi oldu
və siz də nə PHP haqqında həqiqətən gözəl ki, tapa bilərsiniz
ilə gəlib ki, funksiyaları yüzlərlə var ki,
siz mütləq çıxış olmamışdır C isə
daha çox funksiyaları, riyaziyyat kitabxana ildə CS50 kitabxana idi.
PHP və müasir dil, onların arasında Python və Ruby bir çox,
Bunu bir çox funksiyaları, hansı yazmaq almaq deməkdir əldə
çox daha az kodu siz digər şəxslərin üzərinə durmaq bilər, çünki
Artıq sizin üçün müəyyən şeylər yazan.
>> Nin PHP və sintaksis sürətli bir tur və sonra bir neçə nümunə yazmaq edək.
Gözəl nə haqqında PHP ilk növbədə
heç bir əsas funksiyası var edilir.
Siz PHP bir proqram yazmaq istəyirsinizsə, sadəcə kodu yazmağa başlayın
və əsas narahat yoxdur.
Heç bir int var. Heç bir qaytarılması var.
Proqram yazmaq tələb edir ki, heç argv, argc var.
Əksinə, yalnız kod yazmağa başlayın bilər, və bu iştirak edir
PHP bir şərh dil deyirlər nə edir.
C tərtib edilib və bu başlamaq mənada ki, tərtib edilib
mənbə kodu ilə bir compiler olan cingilti vasitəsilə run
və nəticədə addımlar bir sıra sonra obyekt kodu 0s və 1s almaq.
PHP və Python və Ruby və Pearl və başqaları
Əgər siz onları tərtib etmir ki languages ​​müxtəlif növ var.
Siz mənbə kodu əldə 0s və 1s getmək yoxdur.
Siz yalnız mənbə kodu run, və mənbə kodu run
bu halda. php bitən, bir adi mətn faylı yazmaqla
əvəzinə c., və bilgisayarınızda nə proqramı yoxdur
bu sözün xətti ilə xətt ilə code line şərh olunur.
>> Yəni, daha çox bir proqram yazmaq və proqram run
birbaşa yerine. php bitən bir fayl bir proqram yazın.
Windows etdiyiniz Əgər siz, php.exe adlı faktiki proqramı
və ya yalnız PHP siz Mac OS və ya Linux istəyirsinizsə,
və siz PHP proqram öz mənbə kodu daxil təmin
həyat onun məqsədi alt üçün kodu üst sağ, oxumaq üçün
və nə üçün bildirib olduğunuz nə olursa olsun.
>> Bu syntactically demək gedir nə edək.
PHP biz şərait var.
Bu slayd siz həftə 1-geri gördüm nə ilə eynidir
çünki PHP syntactically şərait, ifs və başqa ifs və başqa
məhz bu kimi baxmaq.
Bu boolean ifadələrin gəldikdə onlar bu kimi dəqiq baxmaq olacaq.
Onu bu kimi dəqiq baxmaq olacaq booleans kimi birlikdə şeyi anding gəldikdə.
Anahtarlar eyni baxmaq və siz PHP əlavə fayda əldə
C ki açarları yalnız bir char və ya int yandırın bilər.
Siz simli dəyəri keçid bilmədi.
PHP siz həqiqətən bir ifadə ola bilər
ki, onun məzmunu simli bir dəyişir
və həqiqətən, real intuitiv şəkildə string müqayisə edə bilərsiniz
deyil göstərici müqayisə halda nə karar üçün i və ya j ya başqa bir şey.
Biz uzun əvvəl potensial görəcəksiniz.
>> Döngüler çox gözəl eynidir.
Loops bir başlatma bir vəziyyəti və yenilikləri bir sıra üçün.
PHP-də mövcud ilmə edir.
Loops da PHP mövcud isə etməyin,
və serialların, PHP mövcuddur, lakin sintaksis bir az fərqli almaq başlayır burada
lakin anlayışları eynidir və anlayışları həqiqətən eyni
onlar Scratch ilə Həftə 0 idi.
İlk növbədə dollar əlamətidir.
Bu PHP bir dizayn qərar idi vasitəsi hər hansı bir dəyişən
PHP tərəfindən dizayn $ işarəsi ilə başlayır.
Artıq X, Y, Z. var ki, məhz indi Z $ X, Y $ $ var.
Bu sağ tərəfində indi unutmayın bir şey var,
Bu, bir sıra benzer
lakin biz burada kvadrat mötərizə istifadə edirik.
PHP və JavaScript, biz nəhayət görürsünüz
açıq kvadrat mötərizə etmək və kvadrat mötərizə bağlı bir sıra bəyan,
və sonra ints olub dəyərlər vergül ayrılmış siyahısı
ya daxili orada ifadə strings və ya Sandıqı, istədiyiniz nə.
>> İndi biz C belə bir şey necə oldu?
Statik tanınmış ədəd bir sıra elan üçün sintaksis nə idi?
Burada, belə kiçik fərq qıvrım aşırma, lakin PHP həm də
və nəticədə JavaScript yalnız belə, həqiqətən, kvadratşəkilli mötərizələri istifadə
Burada yalnız maraqlı bir detal dəyişən adı dollar əlamətidir
həmçinin kvadrat mötərizə, orada bir maraqlı şey
ki = Qeydiyyat sol tərəfində, eləcə də əks edilmişdir.
Biz indi həftə tələb etdik ki, itkin var? Bəli.
[Işitilemez tələbə cavab]
Ölçüsü, serialın ölçüsü heç bir qeyd yoxdur belə.
Açığı, kvadratşəkilli mötərizələri heç qeyd sol tərəfində var
da = giriş, və nə xəttindən eksik?
Bəli. >> [Işitilemez tələbə cavab]
Növü, belə PHP haqqında xüsusilə maraqlı nə var
o C kimi güclü tipli dil deyil ki,
və güclü, siz char demək lazımdır, o mənada ki tipli olub
siz int demək lazımdır, siz düz demək lazımdır.
>> Bir dəyişən istədiyiniz zaman siz onun növü nə cingilti demək lazımdır.
PHP bir az lazier edir.
Bu loosely mənada tipli ki,
siz üzüb gedirdi və chars və strings ola bilər
və ints və s, amma dil özü
həqiqətən bir dəyişən daxilində qoymaq nə qayğı deyil.
Siz əvvəlcədən bu barədə məlumat yoxdur nə data növü
dəyişən gedir.
Bu tamamen size, bu gözəl, belə
ki, siz data yazaraq haqqında daha çox narahat yoxdur
və arqumentləri nə narahat və s.
Bu da PHP nəhayət funksiyaları qayıdacaqlar olacaq deməkdir
ya isə bir int çox vaxt, bəlkə bir dəfə
onlar bir şey yanlış getdi demek, məsələn, bir bool, bir boolean yalan qayıtmaq lazımdır.
Bu, bizim bəzi upsides verir, lakin dizayn bizə növ edəcək
bir az lazier bu data yazaraq gəldikdə.
>> Burada unutmayın orada nə edir?
Dəyişənlər olduqca bu, belə ki, $ s = istəyirəm baxmaq "hello, dünya."
Bu, bəlkə də əvvəlki Məsələn inferable var
və biz loop bir növü var.
Olduqca lazımlı deyil çünki bir biz, həqiqətən, bir müddət bir görürsünüz
bir foreach tikintisi.
Bu halda, foreach loop, adətən onun parantez 3 sözləri içərisində edir
Siz üzvləri üzərində təkrarlamaq nə array istəyirsiniz olan ilk $ şey,
sonra sanki kimi söz, və nəhayət,
seçdiyiniz almaq başqa bir dəyişən adı.
Bu, foo, bar, və ya element ola bilər
və bu tikinti nə
dollar array 10 elementlər əgər
Bu array-sorry hər iteration bu loop hər iteration haqqında
dəyişən adlı element yenilənir olacaq
sonra serialın ilk element, serialın ikinci element üçün,
sonra serialın üçüncü element, bununla da ehtiyac rəfedici
ən az annoying kvadrat mötərizə notation etmək və
$ I bir sıra daxil indeksi üçün.
PHP üçün və hər iteration ki, bütün işləri görür
yalnız serialın dan növbəti element Hands
haqqında bilmək və ya onun rəqəmli index yeri haqqında qayğı olmadan.
>> Və sonra nəhayət, indi üçün, PHP bir digər xüsusiyyət var
biz Web proqramlaşdırma başlamaq xüsusilə, natarazcasına faydalı olacaq ki,
və assosiativ array kimi tanınan oldu.
Biz indiyə qədər bilirəm ki, serialların 20 saniyə əvvəl kimi
və son 8 həftə sayı, diziler dizine
göstəriciləri ints olduğu ənənəvi serialların növ,
Qədər 0, 1, 2, bütün yol.
Assosiativ serialların bir çox güclü var.
Onlar siz ixtiyari düymələri üçün imkan
ixtiyari indeksləri və ixtiyari dəyərlər.
Ənənəvi array isə o, 0, 1, 2
assosiativ sıra bir index ola bilər
və ya dəyəri bar foo əsas.
Daha sonra adı baz və dəyəri qux başqa bir əsas ola bilər.
>> Yenə burada axmaq informatika ümumi dəyişən adları,
lakin baxımından bu array bracket 0 və ya bracket 1 mövcut deyil ki.
Əvəzinə bracket foo və bracket baz var olacaq.
Bu şərik etmək olacaq ki, daha çox yönlü deyil
digər sözləri ilə sözlər, tamamilə özbaşına dəyərləri ilə düymələri,
və biz daimi vaxt geri o dəyərləri əldə etmək olacaq
çünki başlıq altında nə assosiativ array
həqiqətən bir hash table edir.
Bir hash table bir daxil qoymaq üçün imkan verir Xatırladaq ki,
siz lüğət bir növ daxil David daxil istəyirsinizsə söz David qoymaq istəyirəm,
və sonra adətən bəzi dəyəri geri almaq.
Doğru və ya yalan speller, halda.
David və ya hər hansı söz və ya lüğət deyil.
Assosiativ array, həqiqətən, yalnız bir hash masa
lakin bir çox istifadəçi dostu təcəssüm edir.
Biz görəcəksiniz ki, bu, bizə bir şeyə imkan olacaq
çox, çox asan.
>> Nin bəzi əsas PHP nəzər salaq
nümunələr və biz bu dildə nə oldu.
Mənə davam və bu gün bizim mənbə kataloq açmaq edək
bir fayl hello1.php çağırıb.
Bu fayl, bu, faktiki kodunu daha azadlığı
Mənə həqiqətən faylı şərh bütün aradan qaldırılması bildirin
və burada bəlkə sadə PHP proqram təqdim.
5 xətləri, və bu, bəzi ağ yer var,
belə ki, burada bəzi əsas fərqlər bildiriş.
Fayl hello1.php adlanır.
Ilk line, baxmayaraq ki, <edir? Php.
, HTML ruhunda Oxşar
simvol ki ardıcıllığı kompüter deyir
"Hey, kompüter, burada biz PHP etdiyiniz bir proqram gəlir."
Bu, bəzi başqa dil ki, səhv deyil təmin edir.
Line 2 maraqlı ağ sahibidir.
Line 3, printf bizim köhnə dostumuzdur
PHP kontekstində bu dəfə.
PHP, eyni davranır olan printf öz versiyası
bu yalnız çap edir "Salam, dünya".
Və sonra burada əks tag?>, Mənim PHP kod var deməkdir.
>> Bu idarə etmək üçün necə edək.
Burada mənim terminal pəncərə geri gedirəm.
Mən PHP dizine getmək üçün gedirəm.
Biz faylları bütün dəstə hello.php olan ilk biri üçün bildirək ki,.
Mənə davam və bu, hello1.php daxil run edək.
İcazə təkzib edib. Okay.
Biz keçmişdə bu kimi şeylər necə müəyyən edirlər?
Nə var ki? >> [Işitilemez tələbə cavab]
Biz oxumaq və yazmaq, lakin mənə ls-l bunu bildirin lazımdır.
Bu qədər sirli çıxış vasitəsi hello1 saxla
mənim oxunaqlı və yazılabilir görünür
lakin hər kəs tərəfindən oxunaqlı.
Bu, həqiqətən, doğru istiqamətdə bir addım deyil çıxır.
Bir şərh dil fərqi, yenə
birbaşa proqram run etməyin olunur.
Siz əvəzinə tərcüməçi run və bu kodu əl
bu xətti ilə line şərh şekilde yazdıq ki.
Bu halda, tərcüməçi və ya proqram Mən, həqiqətən, qaçmaq istəyirəm
sözün PHP adlanır.
>> Somewhere Aracın bu sabit bir proqram var
başqası PHP deyilən və ya Windows php.exe haqqında yazdı.
Mən burada gedirəm mən həqiqətən PHP run gedirəm edir
lakin bir command line arqument kimi yazdığı kodu verir,
və sonra zoom və Enter lazımdır.
Bu sağ, aşağı yuxarı, mənim üçün proqram çalışır.
Mənə davam və bu bir az zidd açmaq edək.
Hello2.php bildiriş ki, bu da
əsasən şərh edir, belə ki, mənə bir yayındırma kimi o xilas edək
və nə bu fayl haqqında indi aydın müxtəlif var?
Üst qədər sirli bu yeni xətti var.
Xətti 1 ildə # var! / Bin / php.
Bin, binaries üçün Linux və Mac OS haqqında Konvensiyanın edir
belə / bin bu binaries bir dəstə olan bir qovluq deməkdir
proqramlaşdırılmış ki, biri PHP edir.
The #! shebang ləqəbli,
bu deyərək tez yol, bu nə deməkdir
İndi bu proqram çalıştırdığınızda faylı üst bir işarə var ki,
nə tərcüməçi istifadə üçün kompüter deyir.
>> Sizin users və müştərilərin demək idi əgər bir az annoying edir
"Hey, biz hello1.php adlanan bu proqram yazdı."
Siz var Bütün əbədi bu proqramın adı sonra PHP run olunur.
Açığı, bu, yalnız hello1.php çalıştırmak üçün gözəl olardı
və həqiqətən, biz aşağıdakı bilər.
Mənə davam və hello2 ildə ls-l, və bildiriş edək hələ yalnız yazmaq oxumaq oldu
və sonra oxumaq oxumaq, mən hələ hello2.php bu edə bilməz.
Amma biz chmod əmri belə qısa heç sonuncu dəfə bu təqdim etdi.
Mən bütün plus executability deməkdir chmod a + x, əgər
və sonra hello2.php və sonra ls-l yenidən dəyişib nə fərq yoxdur.
Biri, Linux fikri çatdırmaq yaşıl mənə fayl adını göstərir
bu proqram, amma daha əhəmiyyətlisi sol tərəfində
yürütülebilir üçün x təmsil bit indi müəyyən edilmişdir ki, görürsünüz.
Bu artıq o deməkdir ki, mən həmişəki kimi ./hello2.php run bilər
daxil edib, çünki fayl çox üst shebang haqqında
deyir ki, Linux, yenə bir işarə var
Bu fayl çalıştırmak üçün bu tərcüməçi istifadə edin.
Istifadəçi həqiqətən yazın məcbur narahat etməyin.
>> Və nə gözəl indi bu cür mənim müştərilərə olmayan və ya dostların
Mən bu proqram yazıb nə dil, mən mv davam edə bilər
və məsələn, hello2 bu şey adını dəyişmək.
İndi ./hello2 əgər
və proqram run davam zoom.
Bu fayl uzantıları lazımdır ki, bir insan konvensiya var
cingilti və onlara baxmaq kim olsun kimi bir şey.
Lakin PHP, mən istəyirəm bu fayl uzantısı bir şey zəng edə bilər.
Mən Ruby mən həqiqətən yaxşı Ben düşünən dünya bezemek bilər
və mən hello2.rb yazmaq və bu run bilər
və voiture, indi tam yalan olan Ruby versiyası var.
Lakin fayl uzantıları mənasız edir
fayl yürütülebilir və fayl başında bu xüsusi işarə var.
>> İndi bir kənara kimi, mənə tez 3 versiyasını göstərmək bildirin
hansı bilmək faydalı oyun növ edir.
Hello3 mən bir qədər səhv etdi
Mən mənbə kodu online yeniləmə lazımdır ki,.
3 versiyasını bu çıxır ki, ən Linux kompüter
ətraf mühit üçün env adlı proqram var
siz heç bir fikrim yoxdur, əgər nə burada edə bilərsiniz harada PHP
həqiqətən bu kompüter əsasında dəyişir bilər, çünki, yerli sabit yüklü
kimsə istifadə edir ki, ENV yalnız run env deyir
ən çox sistemləri və PHP olduğu anlamaq.
Bir ümumi oyun bir proqram olduğu tapmaq narahat yoxdur belə.
Amma bir proqram olduğu tapmaq üçün qayğı etmək və əgər bu günə qədər qayğı yoxdur
Siz hansı komanda istifadə edə bilərsiniz.
>> Məni, kiçiltmək və növü olan php edək
və onu usr / bin / php əslində var mənə deyir bilərsiniz.
Bu yalan növü var. Bu bin da var.
Bu, yalnız mənə ilk hit göstərən oldu.
Zınqıltı olduğu heç merak varsa, ki, usr / bin / cingilti olan cingilti var
edən, usr / bin / olun və nə o deməkdir ki, bütün bu vaxt
siz usr / bin / cingilti cingilti çalıştırmak üçün daxil yazaraq bilərdi,
lakin yorucu və bu cür bunu, belə bir qovluq
usr / bin və bin yetirilməməsi olduğu ehtimal edilir kimi
belə kompüter üçün onlara baxmaq bilir.
Super, super sadə Salam Dünya proqramı yazılı hər hansı suallar
PHP və sonra qaçaraq?
Çünki biz daha çekici sintaksis təqdim etməyə başlayacağıq.
Bütün hüquqlar, burada biz gedin.
Bu proqramlar onların hamısını əvvəl həqiqətən gördüm.
>> Mən açmaq varsa, məsələn, beer1.php nə edək
biz bu bir çox versiyası vasitəsilə getmək olmaz, amma nə idi
Mən oturdu və tökülür və ya çevrildi
burada PHP kodu mənim C kodu.
Fayl üst çoxu burada şərh edir.
Biz readline adlı ehtiyac yeni bir funksiyası var həyata çevirir.
GetString, geri, Həftə 0 irəli bir CS50 şey idi.
PHP readline adlı öz istifadəçi dostu funksiyası ilə gəlir
ki, tez müəyyən olan 1 mübahisə edir
Kullanıcı göstərmək istəyirik və nə readline ki,
o nə daxil istifadəçi növləri qaytarır edir
Bu halda, I $ n adlı dəyişən elan edirəm.
Mən bu readline qaytarılması dəyəri saxlanılması alıram
Bu simli istifadəçi isteyen sonra.
Yalnız həqiqətən bu şey çalıştırmak üçün, geri, mənə irəli gedək
və php beer1.php axır.
Neçə şüşə olacaq? Yalnız 2 bunu bu dəfə edək.
Daxil edin. Vəssalam.
>> Bu proqram əvvəl həftə C versiyası funksional eynidir.
Amma syntactically fərqli nə edək.
Mən bəzi səhv yoxlanılması edirəm ki, istifadəçi xəbərdarlıq bir int almaq sonra
n az 1 Əgər mən çıxmaq və mən çap
1 istifadəçi və çıxış üçün bir üzr mesajı.
Bu da bir az fərqli.
C biz nə idi? C biz 1 döndü.
PHP siz açıq bir az daha asan hesab edir ki, 1-çıxış
siz sanki proqram mövcud etdiyiniz çünki.
Bütün hüquqlar, sonra aşağı burada annoying mahnı syntactically eynidir
dəyişən istisna olmaqla, belə aşağı burada line 24 irəli
loop üçün qeyd demək olar ki, eyni
amma, i və n qarşısında $ var
və nə də biz keçmişdə yaşadığınız line 26 itkin
dəyişən i elan zaman?
Heç bir növü yoxdur.
Bu int demək PHP düzgün deyil.
Siz sadəcə buna ehtiyac yoxdur.
Kompüter, tərcüməçi PHP reallaşdırmaq üçün kifayət qədər ağıllı deyil
Mən $ bir sayı qoymaq əgər bu müalicə edəcək
sizin üçün bir sıra.
$ I $ i $ i və sonra aşağı burada plug - 1.
Ki, bütün eyni və sonra aşağı burada bir "Wow, ki, annoying var" printf etmək
və sonra (0) çıxmaq.
>> Yenə burada paket biz nisbətən sərf olacaq, baxmayaraq ki,
PHP-də az vaxt, əlbəttə, biz C nə qarşı
biz bu gün və gələn həftə edəcəyik nə qədər demək olar ki, eyni və
və ondan kənarda yeni ideyaları bəzi həqiqətən diqqət edir.
Yalnız bir başqa şey C-dən tərcümə ki görmək üçün
bu biz həftə 1 etdi super sadə proqram idi
və ya 2 dəyəri Cubed ki.
Lakin bu proqram haqqında zamanı maraqlı idi ki, bu
biz özümüz yazdığı xüsusi yazılı funksiyası anlayışı təqdim etdi.
PHP-də sintaksis demək olar ki, eynidir.
Burada top mənim proqram.
Yenə yox edək əsas hər hansı bir anlayışdır.
Mən kodu yazmağa başlayın və bu tərcüməçi tərəfindən icra almaq üçün neler edir.
Mən x ehtimalla, indi 2 çap.
Sonra cubing iddia ...
Sonra I $ x ildə kub funksiyası zəng keçmək
və $ x qaytarılması dəyər tapşırılsın.
Sonra o Cubed ki, iddia, sonra mən bu demək, bu ümid
x indi 8 deyəcəklər.
PHP funksiyası üçün sintaksis heç belə az fərqli.
Yenə itkin qaytarılması növüdür.
Yenə qaytarılması növü yerləşir itkin və də itkin hansı digər növ edir?
[Işitilemez tələbə cavab]
Yaxşı, tamam, yaxşı deyil. Üzrə ikinci ki qayıda edək.
>> Biz, məsələn, burada int, yoxdur.
Biz, məsələn, PHP, çünki burada int yoxdur
siz sadəcə lazım deyil və bunu lazım deyil
lakin funksiyası adlanan bu yeni söz var.
Bir funksiyası zaman istəyirəm, çünki PHP demək olar ki, bir az aydın deyil
siz sözün funksiyası demək, bir vergül ayrılmış siyahısı sonra bir ad vermək və
onun dəlilləri varsa.
Xeyr, geri eyni sonra belə etibarsız və ya bir şey demək lazımdır, və
$ A * $ a * $ a.
Da nə eksik? Sammy burada bu işarə etdi.
PHP tamamilə yox fayl başında da bir prototip deyil.
Bu da dizayn edir.
PHP kimi Dillər və tərcüməçilər asan C heç daha var
zınqıltı kimi derleyiciler edir.
>> Siz ki kub var demək deyil ki, əgər ki, cingilti Xatırladaq
siz printf bir prototip kimi olduğunu demək deyil ki, əgər
və ya # daxildir ilə, həmçinin, bu da fəğan və hətta kodu tərtib etmək niyyətində idi.
Bu gəldiyi zaman PHP və daha müasir dillərə çox asan edir.
Özləri kodunuzu bütün vasitəsilə oxumaq sonra Onlar keçiriləcək
bu kub heç tapır yalnız və sonra da fəğan.
Kub alt və ya üst və ya hətta ayrı-ayrı fayl əgər fərqi yoxdur.
PHP və dilimizin artıq irəli baxmaq üçün kifayət qədər ağıllı olur
bir səhv edərək kimi deeming əvvəl hər şey.
Ki, harada tərk edir?
>> Şərait burada son bir misal nə edək,
və mən də conditions2.php bildiriş açmaq əgər
burada sintaksis demək olar ki, eynidir.
, Mən readline əvəzinə GetString kullanıyorum, lakin line əvvəl eyni
"Mən tam edin istərdim."
Mən bir daha, əgər, sonra bir başqa, bir halda vəziyyət
lakin funksional bu proqram, həmçinin həftə öncə nə ilə eynidir
Mən bu şey, conditions2 və php, run əgər
və mən 23 kimi bir sıra -
Mən müsbət sayı seçilmiş. Mən bunu -1 vermək, mən mənfi sıra seçilmiş.
Mən bunu 0 vermək, mən həqiqətən 0 seçilmiş.
Belə olan bu bütün haqqında qayğıları?
Burada hərəkətləri əyləncə növ Yaxşı, bir
Mənim üçün ən azı, geri getmək və mən pset 5 həyata necə tez görmək idi
bu imla hataları pset.
, Speller.c adlanan bu fayl var idi Xatırladaq ki,
və dictionary.c adlı bir fayl var idi.
Mən cür oldu nə bir neçə dəqiqə sərf və mən C kodu çevrilmişdir
PHP kodu və biz speller çox vaxt sərf edəcək
yalnız pset 5 kimi, həqiqətən, lazım deyil, çünki
Diqqətinizə dili idi, çünki speller özü çox vaxt sərf edirlər.
>> , Siz speller vasitəsilə oxumaq əgər demək kifayətdir
bu fayl burada, bu C kodu olduqca çox ekvivalent var
biz pset 5 üçün sizə verdi.
Mən yerlərdə bəzi $ əlavə etdik.
Onlar PHP olmasaydı, mən müəyyən funksiyası adları dəyişdirildi etdik.
Bir əlavə şey preg_match, burada var
hansı bir şey bunu bir az meraklısı yoldur, amma biz nəhayət qayıda bilərsiniz.
Lakin qısa, speller demək olar ki, eynidir və siz çox aşağı baxsaq
nə nəticədə spits, burada bu
sözləri mətn lüğət sözlər, söz yanlış yazılmış.
Bütün hüquqlar, belə ki, nə indi maraqlı belədir.
Mənim fayl üst mən dictionary.php tələb edirəm.
C # PHP tələb adlanan xüsusi funksiyası var daxil edir kimi
olduqca çox eyni şey yoxdur ki, dictionary.php adlı fayl tələb edir.
Necə pset 5 həyata haqqında getmək olar?
Mənə irəli getmək və burada bir fayl açmaq edək.
Mənə burada bir az istinad edək.
Və mənə yeni bir fayl yaratmaq və bu dictionary.php zəng başlamaq bildirin.
Biz bu yaşamaq edə bilərsiniz belə mənə bir qovluq qoydu edək.
İndi da zoom olacaq
Mən php bracket bağlı açıq bracket mənim PHP fayl başlamaq üçün gedirəm.
Və sonra burada, mən pset 5 həyata keçirilməsi lazım bir neçə funksiyaları var idi
Mənə o bəzi həyata başlamaq edək,
bir arqument kimi bir söz etmək olan belə funksiyası çek.
Biz bunu edəcəyik və bir anda geri gəlmək lazımdır.
>> Bir arqument kimi nə etmiş funksiyası yük, var idi?
Lüğət, mən həqiqətən yüklemek üçün istəyirdi ki, fayl belə.
Hər hansı arqumentlər almadı fəaliyyət göstərən ölçüsü var idi
və orada funksiyası-nə başqa idi?
Ya hər hansı arqumentlər almadı ki, boşaltmaq.
Bu, indi PHP həyata lazımdır ki, 4 funksiyaları
və nə mən gedirəm irəli getmək və bunu edir.
Siz bir çox pset 5 bir hash table istifadə
Mənə davam və PHP bir hash masa yaratmaq imkan verir.
Done.
Mənə bir hash table verir. Yaxşı, niyə?
Bir, dəyişən yalnız bir hash masa ideyası qədər hoqqa çıxarmaq üçün $ masa adlanır.
Bu kvadrat mötərizə baxmayaraq, geri, nə təmsil?
Bir dizi, lakin PHP Diziler ildə sayca dizine yoxdur.
Onlar həmçinin, assosiativ seriallarda ola bilər
siz ixtiyari düymələri və dəyərləri var deməkdir.
>> Çox pset 5, hash table həyata kimin sizin kimi
yəqin ki, sözü daxil və sonra bağlı siyahıları bir zəncir halına daxil
ya doğru yerdə və ya bu barədə bir şey dəyəri saxlanılır.
Siz elə sözü var idi ki, yadda qalıb.
İndi ki, mənim hash masa olacaq
və indi çek funksiyanın icrası haqqında getmək
Mən yalnız hash masa daxilində baxmaq lazımdır
bir söz var, əgər oldu.
Nə mən gedirəm deyirəm gedirəm əgər-
Gəlin, sözün yalnız deməkdir ki, PHP funksiyası olan isset, əsas dəsti demək
belə isset ($ masa [$ sözü]
və əgər doğru qayıdın.
Vəssalam. Bu PHP pset 5 var.
Yaxşı, ədalətli şəkildə, tamam.
Else yalan qayıtmaq, belə ki, yoxdur.
Həqiqətən burada nə olub?
Yaxşı, masa və ya hash table əgər burada ümumiyyətlə-
siz onu index bilərsiniz deməkdir ki, assosiativ array edir
"sözü" və bəzi dəyəri geri almaq lazımdır kimi bir söz ilə.
>> Biz əvvəl özümüzü bir addım əldə cür edirik.
Biz, həqiqətən, ilk fayl yüklü əgər O, cür gözəl olacaq
belə yükü olduqca kimi sadə deyil, amma mənə irəli getmək və qızışdırmaq bildirin
yük həqiqətən sürətli həyata keçirilməsi.
Mənə davam və sözləri fayl lüğət olur deyək.
PHP fayl funksiyası fayl açılır
və qaytarır ki, fayl bütün sözlərlə bir sıra,
yalnız onlara Hands.
Bu, çox böyük ağrı deyil idi?
İndi foreach, bu, bizim yeni tikinti, foreach ($ söz $ kimi sözlər deyil).
Bu loop serialın sözləri üzərində iterating başlamaq niyyətindədir
və $ söz dəyişən üçün fayl hər söz təyin
I dördüncü bütün yol üçüncü üçün ikinci
mən annoying [i] notation etmək və bu kimi yoxdur.
Və nə mən sadəcə bu sözləri hər nə gedirəm
bu masa daxil endekslenmesini mənim cədvəldə saxlaya edir
yadda çünki sonra əsl edir
Bir sözlə mənim lüğət ki, bütün Mən, həqiqətən, var
cür doğru, bir az flip və hash table bu söz var demək olur.
Orada deyil, əgər ki, açıq-aydın yalan qoymaq yoxdur
başqa mən kainatın bütün mümkün sözləri saxta etmək istiyorum.
>> Bu, sadəcə bir göstərici dəyər təyin etmək mənim üçün kifayətdir
doğru bir söz mənim hash cədvəldə əslində əgər.
İndi, mən indi mənim əlləri dalğa lazımdır ki, burada guşələrindən bir neçə kəsici alıram
lakin artıq yük funksiyası edilir.
Mən bir sıra daxil faylı bütün sözlər yük.
Hesab edirəm ki, array üzərində təkrarlamaq və array hər sözü
Mən kodu 1 xətti ilə hash table onu yerləşdirin.
Bu fun edir. Siz indi ölçüsü həyata necə bilirik?
Yaxşı, ölçüsü ədalət də, həmişə olduqca asandır.
Burada biz yalnız masa sayı qayıtmaq edə bilərsiniz.
Bu çox olduqca asandır, cədvəldə şeyin sayını.
Ən səmərəli deyil əslində növü var.
Biz bunu edə bilər, mən yəqin ki, bir dəyişən adlı ölçüsü olmalıdır
daimi zamanda, lakin olduqca asandır.
Oh, və sonra boşaltmaq, biz, həqiqətən burada anal olmaq istəyirsinizsə
sizə bir şey boşaltmaq necə söyləyə bilərik.
Siz yalnız bir boş array bərabər dəyişən müəyyən
və bu idi ki, hər şey xilas olur.
No pulsuz zəng etmək lazımdır.
>> Yenə bəzi küncləri kəsilmiş, və təyin problem set 5 üzr istəyirik etdik
bəlkə C, ancaq biz irəliyə getmək və bu run əgər,
Mən əvvəlcədən yazdığı həqiqətən versiyası çalıştırmak üçün gedirəm
yalnız mən heç bir sintaktik səhv etmədi.
Mənə davam və speller run edək. Istifadə eyni deyil.
Burada yalnız söz foo olan bir lüğət fayl.
Burada yalnız foo bar olan bir mətn faylı.
Bu mətn faylı bu lüğət faylı istifadə edərək, bu belə speller yoxlamaq nin sehr edək.
Bir yanlış yazılan söz, bar, və voiture var.
Pset 5 ilə aparılır.
Nin burada 5 dəqiqə fasilə etmək, və biz PHP geri və daha gəlmək lazımdır edək.
Bütün sağ, biz geri.
Bir müddət mənə nifrət edirsiniz edək.
Bu müsbət olmasa indi həqiqətən görmək edək
həqiqətən PHP bu şey həyata keçirilməsi.
Verilir, onu həyata keçirmək üçün 45 saniyə çəkdi.
>> Amma indi davam və hər şeyi run bildirin.
Mənə davam və C versiyası run edək
speller, və biz ən böyük faylları bir run lazımdır,
Kral James Müqəddəs olan.
Və burada, bizim C qovluğa getmək-qoy edir
King James 5-də speller.
Yanlış yazılan sözlər var.
OK, belə ki, bu dəfə bir az fərqli olsa yəqin ki, var çıxış edir
Siz ümumi düzgün iş hər şey, və vaxt var yoxlamaq spell
Kral James Müqəddəs, həyata keçirilməsi istifadə edərək olduqca yaxşı .38 saniyə idi.
İndi mənə biz yalnız yazdığı PHP versiyası daxil edək.
Mənə King James haqqında speller run edək.
Whoops ki, səhv bilməz. Mən yanlış kataloq edirəm.
King James 5-də Speller.
Demək olar ki, aparılır.
>> OK, bu astute müşahidəçi ki, artıq 3 seconds idi həyata keçirəcək.
Bu doğru çalışan dəfə.
Onu mətn çox tüpürmək zaman alır çıxır ki,
Çünki məsələlər buffering, lakin uzun hekayə qısa
ki, maşın vaxt 3.15 saniyə, CPU vaxt idi
qarşı bir an əvvəl nə idi?
.3 Kimi.
Mən demək ki, bu harada ki, yavaş gücündə bir sifariş var
gülünc yavaşlama gələn?
Yaxşı, biz etdik ən hər hansı bir dizayn qərarı ilə belə olmuşdur
Ötən 9 həftə sinfində bu tradeoff demək olar ki, həmişə var.
Bəzən yalnız yer arasında, bəzən zaman və məkan arasında,
yer, vaxt və inkişaf səy, həqiqətən, burada, baxmayaraq
biz potensial 10-20-30 saat, bəlkə bir zaman böyük məbləği xilas
yazım checker həyata inkişaf zaman
bu dildə yalnız 45 saniyə bu qədər dayak tərəfindən
biz ödəmək qiyməti bir nəticə kimi yavaş gücündə bir sifariş var ki,
və bu, ən hər hansı bir şərh dil ilə adətən halda
PHP, Python, Ruby, Mirvari və ya başqaları vasitəsi
bir tərcüməçi vasitəsilə çalıştırmak üçün gedən və var əgər sizin kodu oxumaq
xətti ilə xətti, aşağı yuxarı, sağa
ki komisyoncu, öz vaxt gedir
və nə 3 saniyə burada hiss edildi .3 seconds qarşı
sanki bizim kodu şərh edən bu komisyoncu var olması
bir loop daxilində əgər xətt xətt, Allahın qadağan
sözləri yüz minlərlə olan böyük bir fayl ilə.
>> Bu yerüstü əlavə və əlavə əlavə və əlavə edir.
Bu kimi bir alət üçün yəqin ki, həyata keçirilməsi üçün istifadə etmək üçün ən yaxşı dil deyil
immediacy bir spell checker istifadəçilər üçün və sizin üçün maraq kəsb edir.
Amma biz bir anda var lüks əgər
PHP kimi bir dil və ya şərh Dil çox istifadə
Web kontekstində ki, məsələ üçün, siz fayda var
internet ən kompüter çox yavaş edir.
Siz kompüter, 2 GHz, bəlkə daha bu gün bir GHz CPU var.
Lakin reallıq internet gecikmeyi yüksək məbləğ edir
qovuşdurmağımız bir server danışmaq üçün bir browser üçün, ötən həftə gördüm baxmayaraq
ki, olduqca sürətli ki, yarım millisecond və ya,
çox təşkil edər və bir resim kimi şeylər indirme istəyirsinizsə
və ya bir şəkil və ya Facebook, Facebook laqqırtı üzərində ani mesajlar almaq
Gchat ya kimi, bu round-trip dəfə bütün
brauzer və əlavə server start arasında,
bir çox hallarda dilinin xüsusi seçim edir
bütün müvafiq, belə ki, bir az yavaş dil istifadə yaxşıyıq
PHP və ya Python və ya Ruby kimi
lakin böyük sizə upsides və həmkarları var olan
və dostları belə, belə ki, daha sürətli şeyi həyata bilər.
Və üstəlik siz müəyyən təhlükəsizlik qüsurlar daha az risk vardır.
PHP heç göstəricilər var.
Asanlıqla vadar edə bilər ki, heç bir seg çatışmazlıqlar var
siz C. ola bilər ki, eyni şəkildə
C ilə yaxın hardware super istəyirik.
PHP və oxşar dillər ilə yüksək səviyyədə növ, belə ki, danışmaq, etdiyiniz
Siz və nə arasında müdafiə bir çox həqiqətən neler
maşın daxilində, və yalnız bir tradeoff var.
>> Biz bu daha müasir, yüksək səviyyəli dillər olan nöqtəsinə kazanılmış
PHP kimi çünki C. PHP kimi dillərdə öyrənilən dərslər
Amma başlıq altında bütün bu vaxt gedir nə başa düşmürəm əgər
əlbəttə, sağ dizayn qərarlar qəbul edə bilməz
və əlbəttə ki, Facebook və ya Google kimi bir yerdə iş gəldiyi zaman
və ya getdikcə daha geniş data oynayan ki, bu yerlərdə hər hansı müəyyən
geri getmək və premed yoxdur və bəzi MD ilə iş olsa
bəzi böyük məlumat xəstələrin və həkimlərin iştirakı müəyyən
və sağ alətləri istifadə kimi natarazcasına çekici
başqa bəzi data set sizin analiz, saniyə bilər, çünki
və ya sözün saat bilər.
Bu nə qədər çox səy ilə siz aciz deyil, yalnız bir nümunəsidir
o C idi, lakin siz C bir şey həyata zaman ki, təşəkkür kömək
həqiqətən başa düşmək, və ya nəzəri, həqiqətən, başa düşmək
hər şey və ya iş, və demək olar ki, tam nəzarət edilməlidir
başlıq altında neler üzərində və bu yüksək səviyyəli dillərdə
Əgər siz onları icad edən insanlar daha çox nəzarət imtina etmək
və mövzu sizin çox öz dizaynı qərarlar çoxdur.
Lakin verilən biz alsaq ki, icra
, çünki bu digər məsələlər Web olduqca vacib deyil
yalnız şəbəkə sürəti, hər halda CPU sürəti bir az yavaş var
biz bir az yavaş dil istifadə imkanı və sıralayabilirsiniz
bu upsides əgər biz 10 dəfə daha sürətli və ya daha çox şeylər inkişaf edə bilər.
>> Biz bu istifadə edə bilərsiniz necə edək.
Mənə bir qovluğa gedək
bugünkü nümunələri arasında frosh.ims adlı
və bu, həqiqətən, şəxsən onunla gəldi ki, ilk şey
Mən CS50 və CS51 sonra il əvvəl Web üçün yazdığı
bu Frosh IM proqramı üçün veb birinci intramural idman idi
zamanı bu zaman kifayət qədər il əvvəl olan
Web idi baxmayaraq proqram üçün heç bir veb var idi
istəyirdi vasitəsi əgər əvəzinə Wigglesworth bir disiplini var idi
voleybol və ya futbol və ya nə üçün qeydiyyatdan siz kağız parçası doldurmaq olardı.
Sonra həyətində arasında gəzmək olardı.
Daha sonra disiplini onların qapı və ya tərəfdən onların qapı və Slayd haqqında döymək ki,
bu adı ilə kağız parçası, bir komandanın kapitanı olmaq istəyirəm və ya,
Daxil idi nə istədiyini idman və nə yurt
Bu şeyler bir köhnə məktəb yolu cür idi və bu bir baş idi
Bu proses bir çox avtomatlaşdırılması üçün imkan.
Siz yalnız veb gedin. Siz daxil bir şey yazın
Siz e-mail doğrulama, və bumu almaq, siz tamamlayın.
>> Bu, Pearl adlı dil olsa da, mən ilk şey
lakin o PHP etmək nisbətən asandır, və bu nümayəndəsi növ
özünüzü ifadə edə zaman problemlərin siz həll edə bilərsiniz
program və Google sites kimi şeylər etibar yoxdur
və ya Excel və ya təqdim olunur ki, alətlər.
Siz uşaqlar, indi bu kimi şeylər etmək imkanı var.
Bu, şəklində bir super çirkin versiyası
lakin edək yalnız bu vasitəsi söhbət əvvəlində üçün istifadə
şəklində bizim üçün il əvvəl kimi baxdı təxminən nə
Web insanlar Frosh Ani üçün qeydiyyatdan imkan.
Biz onlar kapitan olmaq istədiyini və ya üçün, adı üçün onay istədi
onlar nə yurt sonra kişi və ya qadın və
və onlar bu formanı təqdim edəcəkdir.
Bu səhifəni təmsil HTML olan başlıq altında ilk nəzər salaq.
Mənə froshims0 daxil edək
və bir kənara kimi, pset 7 üçün mən verilən üçün qəbul edirəm
Mən daxil şeylər qoyaraq edirəm ki, rehberler və qovluq
Stuff Aracın getmək var tam sizə vasitəsilə gəzmək lazımdır
olan mod əmrləri sizə çalıştırmak üçün var, belə ki, bütün narahat deyil
axmaq məlumat almaq-getmək buradan ildə senkronizasyonu.
>> Bütün hüquqlar, burada froshims0.php var.
Mənə aşağı diyirləyin edək və nə burada maraqlı deyil,
Bu PHP fayl, lakin nə aydın, o, içərisində var?
Bu, həqiqətən HTML bütün çox, və, PHP-nin mənşəyi
həqiqətən Web-merkezli dil olduğu üçün idi.
Bir an əvvəl biz pivə Məsələn həyata keçirilməsi üçün istifadə
şərtlər, məsələn, salam misal və gözəl edir.
Siz kodlama dili PHP kimi istifadə edə bilərsiniz
bir script həqiqətən sürətli və çirkli proqram verilən yalnız nomenklaturası olduğu
və ya bir scripted və ya daha ümumi bir şərh dilində yazmaq ki, bir şey.
Gezdiğiniz çünki PHP üçün faydalı super necə tez
nisbətən biz PHP proqramları qızışdırmaq bilər.
Amma həqiqətən, Web istifadə üçün nəzərdə tutulmuşdur
və fayl üst burada qeyd mənada ki, Web üçün nəzərdə
I <? Php ilə başlamaq yoxdur.
Sonra verilən lazımsız şərh, bir dəstə var, lakin sonra mən PHP rejimi yaxın.
Amma sonra HTML rejimi buraxın.
>> Fayl başa baxmayaraq nə PHP haqqında maraqlı edir. Php
ümumiyyətlə, HTML ilə əməkdaşlıq yoğrulmuş üçün nəzərdə edir
bəzi PHP kodu, bəzi HTML.
Və biz o ayrı tease başlaya bilərsiniz ki, nəticədə görürsünüz
və, ümumiyyətlə, bizim PHP bizim HTML ayrı-ayrı saxlamaq
lakin PHP mənşəyi həqiqətən, bu rahatlıq vermək idi
Bəzi HTML istəyirsinizsə yalnız yazmaq və olacaq
Brauzer üçün eyni tüpürmək.
Amma bəzi proqramlaşdırma texnika lazımdır,
biz tezliklə görəcəksiniz kimi bəzi proqramlaşdırma kodu, həmçinin, eyni dəqiq fayl onu qoya bilər.
Burada mənim HTML var.
Mən Frosh Ani bu adını var.
Mən orta mərkəz hər şey üçün bəzi CSS var olan bir orqan tag var
və sonra aşağı burada yəqin təqdim ediləcək olan bir forma var
register0.php adlı yeni fayl, biz bir anda görəcəksiniz.
Biz həmçinin qayıda bilərsiniz post deyilən bir üsul istifadə edir.
Sonra müəyyən formada giriş, kimin növü mətn bir qondarma adı var,
onun adı, onun növü onay edir kapitanı, biri,
və bu, biz əvvəl görməmişəm, lakin dəqiq deyir nə.
Siz əvəzinə mətn qutusuna bir onay olacaq.
Down burada o dairəvi düymələri olan bir radio 'düyməsinə var
ya bu bir və ya bir seçə bilərsiniz ki,.
>> Mən həm radio düymələri gender adını verdi ki, qəsdən deyil edək.
Bu, basın lazımdır vasitəsi qarşılıqlı təcrid almaq necə
Bu bir və ya bir, digər tıklayarak ya
bu digər unchecks, onlar eyni adı vermək
siz onlara belə qarşılıqlı müstəsna olmaq istəyirsinizsə.
Və sonra yurt üçün, biz hələ bu gördük düşünmürəm, lakin seçin menyu, açılan menyu var.
Ki üçün tag seçin edir.
Daha sonra, açılan menyu bir ad vermək
və sonra bu variantları bütün dəstə var.
Yalnız estetik üçün ilk biri boş string edir.
Mən sadəcə, ismarıcları boş olması üçün açılan istədi
və sonra s orada Apley, Canaday, Grays, və.
Və burada dichotomy bilərsiniz.
Açılan olan seçim aşağı, bir dəyər var
lakin o, bir insan dostluq adı olan bu nümunə
eyni, lakin biz, həqiqətən, anal olmaq istəyirdi əgər biz ola bilər
bu açılan dəyəri aşağı qisa versiya yalnız olmaq
Grays, ancaq həqiqətən insan həqiqətən görür Grays Hall deyə bilər,
lakin bütün maraqlı deyil, mən yalnız bu sadə saxlanılır və onlara eyni etdi.
Sonra aşağı altındakı bir submit 'düyməsinə var
biz əvvəl görüldü, lakin qeyd olan yalnız bir müxtəlif söz verdi.
Əvəzində CS50 axtarış I etiket verdi "Qeydiyyat".
>> Sonunda nəticəsində burada bu web və
bu təqdim almaq deyil?
Bu, bəzi fayl, hərəkət atribut dəyəri təqdim edir
olan register0.php idi.
Əslində burada nə görmək edək.
Mənə davam və bu formu doldurun ki, David, demək
kişi, Matthews, sonra demək lazımdır qeydiyyatdan keçin.
Mənə zoom və qeydiyyatdan basın edək.
OK, belə faydasız cür, lakin həqiqətən neler görmek edək.
URL register0.php olmaq dəyişib edək ki,.
URL'den işin yoxdur, nə olsa da, biz yalnız bir formada təqdim baxmayaraq?
[Işitilemez tələbə cavab]
Okay, bu dostluq yalnız Chrome olan istifadəçi bu gün var.
Ki, həqiqətən var. Onlar yalnız yer saxlamaq üçün saxla.
Amma yaxşı fikir, yaxşı fikir.
URL digər sonuna doğru olsa da, nə əskik var? Bəli.
[Tələbə] Sorğusu dizisi.
Sorğusu dizisi, belə ki, bizim sadə Google axtarış nümunələrdən xatırlayıram.
Mən URL təqdim düyməsini basın kimi
Google apardı, amma sonra? q = kompüter və ya hər hansı foruma tipli idi var idi
Biz axtarış misal ilə GET metodu istifadə olmasıdır.
>> Biz əvəzinə nə metodundan istifadə edirik? Bu dəfə
Yazı və dərhal fərq biri
almaq və göndərmək arasında poçt ünvanını istifadəçi daxil qoymaq deyil.
Bu gizlədir. Bu hələ göndərir.
Biz bir anda ortaya bilərsiniz kimi Əslində, biz, burada brauzerinizin nə gördükdə
register0 baxaraq, yalnız məzmunu görüyorum olunur
brauzer olan server təqdim edilmişdir ki, serialın.
Amma URL? Mövcut deyil, hər hansı bir söz yoxdur
və ya bu dəyərlər, və nə ki?
Yaxşı, post, hələ bir server şəklində məlumat təqdim etməyə imkan verir
ancaq URL qoydu deyil, məlumat növü post nə qədər
Siz istifadəçi xahiş etdiyiniz zaman bəlkə xüsusilə müvafiq
şəklində daxil yazın?
Parol kimi bir şey, nə başqa bir şey?
Kredit kartı nömrələri.
Siz yumşaq həssas olan bir şey yəqin URL başa istəmirəm
deməkdir yalnız roommate və ya ailə üzvü yalnız vasitəsilə Troll bilər
internet tarixi və sonra, sanki parol bax
sözün kredit kartı nömrələri ən brauzerlər çünki bax
siz olduğunuz nə URL'leri tarixində xatırlayıram,
ki, bir pis fikir ola bilər, çünki yalnız.
Istifadəçi post gizlədir ki detal istifadə.
>> Həmçinin, necə Facebook foto yüklerim?
Yaxşı, həqiqətən, istifadə edə bilərsiniz yalnız 2 mexanizmləri,
bir neçə daha çox gizli olanları var, baxmayaraq ki, almaq və göndərmək edilir.
Necə bəlkə bir URL vasitəsilə foto yüklerim?
Siz, həqiqətən, bunu edə bilərsiniz.
Siz JPEG və ya bitmap və ya GIF bilər və hexadecimal ildə təmsil edə bilər
baza 64 adlı və ya bir şey.
Əvəzində baza 16 Əgər mahiyyətcə kimi görünür olan baza 64, istifadə
ASCII simvol və həqiqətən bir URL vasitəsilə foto yükleyebilirsiniz
bir sual işarəsi sonra, lakin ölçüsü məhdudiyyətlər adətən var.
Ən brauzerlər URL artıq 1000-dən çox simvol məcbur
bəlkə 2000 simvol və ya kimi, belə ki, yüklemek bilməz
10 MB Facebook photo.
Bunun üçün siz həmçinin post istifadə, indi üçün, URL parametrləri qoyur almaq
bəzən gözəl və faydalı, ancaq həssas və ya böyük bir şey üçün
post getmək üçün bir yoldur.
Register0 əslində burada nə edir?
Bəli, mən bu super sadə səhifə ki register0 bildiriş açmaq əgər,
lakin bu, yaxşı və ya pis, mən əməkdaşlıq mingle bilər ki, nümayiş olub
PHP ilə HTML.
Bütün bu fayl, üst şərh istisna olmaqla, HTML var
burada bu oğlan istisna olmaqla.
>> Mənim PHP kodu ortasında edək,
mənim HTML ortasında, mən müvəqqəti növ var
PHP rejimində daxil olmuşdur.
Mən çap r adlanan xüsusi funksiyası zəng edirəm.
Bu recursive çap deməkdir və nə edir o recursively çap edir
Əgər bu əl nə dəyişən, nöqtəli vergül, exit PHP rejimi.
Və əvvəlcədən tag, siz pre-biçimli mətn verir
hər yer həqiqətən görmək mono kosmik mətn ki.
Bu yox deyil. Poçt nedir?
Bəli, maraqlı və PHP haqqında çekici nə
ki, siz almaq və ya göndərmək istifadə forması təqdim zaman
bir brauzer tərəfindən təqdim ki, bir şey
PHP özü, həmin əsas dəyər cüt var nə tutulur
rəqəmlər həyata bir sual işarəsi var əgər bərabər işarələri, rəqəmlər orada varsa.
Bu sizin üçün bütün çətin iş deyil, və sonra bu assosiativ array Hands
istifadəçi şəklində yazdığınız hər şeyi olan.
Yaxşı, bu forma nə sahələri var idi?
>> 4 sahələri idi.
Bir adını bir mətn sahəsində olmuşdur.
Biri kapitan adlı onay idi.
Biri gender adlı radio 'düyməsinə idi
və bir, yurt adlı açılan menyu idi
Mən recursively çap zaman qeyd
Bu xüsusi dəyişən məzmunu.
Bu, bütün caps ildə _POST sözün $ adlı xüsusi qlobal dəyişir.
Bu PHP yalnız sizin üçün yaradan xüsusi qlobal dəyişir
və sizə əlində hər şey edə bilərsiniz, belə ki,
bir istifadəçi bir forma vasitəsilə təqdim edilmişdir.
Və çap r zəng it-bir normal proqram bu deyil.
Biz bu dəyişən daxilində görmək üçün bu yapýyorsun
və nə yaxşı, daxili, 4 düymələri var
4 http parametrləri, belə danışmaq,
sonra adı, kapitan, gender, yurt və dəyərlər ki, istifadəçi
bir istisna ilə ildə yazılmış.
Mən type D-A-V-I-D etdi.
Mən yəqin bir dəyər təqdim edən, kişi üçün olsa da, kutunun
qısa olması yalnız m.
>> Mən Matthews seçilmiş zaman ki, seçilmiş oldu ki, dəyəri
və bu bir az axmaq, lakin Konvensiyanın var.
Mən qutusu üzrə dəyəri kontrol zaman haqqında "," onay üçün təqdim olmuşlar.
Mən bunu yoxlanılır olmasaydı, heç bir dəyəri heç göndərilib olardı.
Bu yalnız, bu xüsusi qlobal dəyişən daxilində nə bizi anlayışlar verir
və bu super qlobal dəyişən deyirlər ki, xüsusi var.
Həqiqətən gedə bilər ki, Sizin kodu ərzində sizin üçün hər yerdə mövcuddur.
Bu çekici, belə nin həqiqətən super qlobal istifadə edək ki, deyil
və həqiqətən kimsə qeydiyyatdan keçir.
Froshims1 mən bir dəyişiklik etmək niyyətində deyiləm.
Mən register1.php olmaq fəaliyyət dəyişən alıram
və mən başqa bir şey edirəm.
Mən orada mənim web keyfiyyəti ilə çaşqın cür idi.
Bu olduqca çirkin deyil, vicdanla, belə çıxır
Web çox asanlıqla istifadə edə bilər ki,
digər insanların JavaScript kodu, digər insanların CSS
onlar yazılı və açıq bir kitabxana kimi qaynaqlanan və mövcud etdik ki,
, belə ki, danışmaq, və məsələn, burada bir sərbəst mövcud kitabxana kullanıyorum
başqası yazdı kodu bir dəstə.
>> Twitter, bu kodu yazmaq oldu, və bu Bootstrap kitabxana deyirlər
və yalnız CSS stillər, bir dəstə bir dəstə var. css faylları
ki, kimsə başqa yazmış və hər şey gözəl və yaraşıqlı almaq üçün necə fiqurlu
bizim kimi insanların estetik bir az narahat və daha çox diqqət bilər ki,
məntiqi və faktiki proqramlaşdırma üzrə.
Mən əvvəllər styles3.css üçün unutmayın istifadə olunan eyni tag olduğu tag ilə bu keçid,
İndi bootstrap.min.css adlı fayl girmə imkanı vardır.
Min yalnız onlar minified etdik deməkdir və onlar s bütün ağ kosmik xilas kazanılmış və sonra
yalnız onlar mənə həqiqətən ehtiyac daha bytes göndərilməsi deyil əmin etmək.
İndi Frosh Ani versiyası 1 açmaq əgər Amma orada, CSS bütün dəstə edir
mənim fayl mütləq gözəlləşir olduğunu görürük.
İndi hələ yalnız qara və ağ, lakin qeyd edir ki, yalnız onların stil istifadə
və forması, onun müəyyən funksiyalar istifadə edərək, gözəl deyil
ancaq əvvəl daha təmiz, və proyektor, ədalət mühakiməsinin məşğul deyil.
Düymələri ətrafında və mətn sahəsində ətrafında az boz xətləri, burada var
ancaq əvvəl daha təmiz edir.
>> İndi, ədalətlilik, mən mənim biçimlendirme bir az dəyişdirmək üçün idi.
Bu, version 1 və mən bir neçə yeni tags istifadə etdiyiniz qeyd
Mən sənədləri oxumaq qədər və vicdanla, mən bunu necə yox idi
Bizim kitabxana istifadə etmək istəyirsinizsə, Twitter-in Bootstrap kitabxana, və onlar mənə
Sizin forma daxilində fieldset element istifadə
bir etiket tag bir sahə daxilində növbəti göstərmək istəyirəm sözü qoymaq,
sonra, yalnız kimi əvvəl, sizin giriş adı vermək
və sonra onay üçün, bir etiket element bu paketi yoxdur, yalnız
Bir sinif deyilən bir şey istifadə, belə ki, biz əvvəl bu görmədim
ancaq pset 7-nin şort biri bu görəcəksiniz.
CSS A sinif, siz ID çox oxşar bir şey imkan verir
ancaq # simvolu ilə ID zaman əvvəl
bir və yalnız bir element idi.
Nə sinfi haqqında gözəl çox elementləri eyni dərəcəli ola bilər ki,
və ya eyni CSS məhsulları üçün tətbiq edilir.
>> Ancaq yenə də, qısa olanlar və bu qalan sadəcə seçin və yapışdırıb edir
Mən orada-burada bir etiket əlavə etdik onların sənədləri var.
Və sonunda, çünki üst link tag ekledim
hər şey avtomatik gözəlləşir görünür
sadəcə bir şəkildə mənim səhifə qədər qeyd edərək tərəfindən
Twitter gözlənilir ki, bir çox müxtəlif yolları var
Bu edir və bu, həqiqətən çox uyğun.
Dövr bu noktada, pset 7-nin Spec göreceğiniz kimi,
Ətrafında Googling kitabxana üzrə oxuma, digər insanların CSS istifadə
və JavaScript əlavə problemləri həll etmək üçün
problem set özünü əlbəttə təşviq və yol deyil
Web digər insanların çiyinlərində duran tərəfindən, bu gün qurulur
belə ki, həqiqətən yeni və maraqlı problemləri müzakirə edə bilər.
Amma indi yenə məntiqi diqqət edək.
>> Bu yalnız sizə getmək biləcəyi istiqamətində göstərmək üçün estetika haqqında tez sapma idi.
Mən indi üçün uglier bir geri geri gidiyorum yalnız
orada Twitter heyəti ilə heç bir distractions var və mənə irəli getmək və açmaq bildirin
yenidən, yalnız hərəkət register2.php ilə fərqlənən froshims2,
və ən təsir burada nə nəzər salaq.
Mənə davam və David yazın edək.
Mən bu dəfə kapitan olmayacaq.
Mən Matthews, register kişi demək lazımdır.
Lanet olsun. OK, mənim hissəsində bir vida qalmışdır.
Ilə Stand.
Register2, line 22, əgər boş və ya üzr.
Nin yenidən edək.
OK, nə oldu Bu formu göndererek sonra?
Mən David ildə yazılmış, Matthews, register tıklayan, kişi yoxlanılır.
Siz qeydə alınır. (Bəli, həqiqətən.)
Bu, aydın şəkildə yalnız bir dəyişən məzmunu həyata çap kənarda bir addımdır
lakin bu fayl həqiqətən nə edir?
Register2.php ildə
Mən bəzi yeni kodu görə bilərsiniz.
Mən mahiyyətcə bir halda başqa, tikintisi var mənim bədən tag Inside
amma bəzi HTML ilə bu əməkdaşlıq mingling edirəm çünki
Mən geri və irəli PHP rejimində daxil edin və çıxmaq üçün, mən edirəm nə edək.
>> Bu halda, burada ilk olaraq mən dedi alıram
poçt super qlobal, adı əsas boş ki,
belə, başqa sözlə, əgər istifadəçi, mənə şəklində adı üçün dəyər vermədi
sonra boş dəyəri boş, çünki doğru geri gedir.
Gender boş və ya qeyd şaquli bar-if
daxilində yenidən, forma və məzmunu təmsil edən, bu xüsusi super qlobal, ki,
və ya yurt boş, sonra mən qabaqda getmək və istifadəçi fəğan gedirəm.
Necə? Bəli, mən sizin adı, cinsi, və yurt təmin etməlidir demək gedirəm bilərsiniz.
Nin həqiqətən ki, səhv vadar edək.
Mənim şəklində geri edək. Mənə sil yeniden edək.
Mən yalnız onlara David vermək gedirəm, və onlar yaşadıqları bilmək lazım deyil.
Qeydiyyat. Görünür, mən yaşadığı onlara demək lazımdır.
Siz adı, gender və yurt təmin etməlidir. Geri gedin.
>> Mən ki, forma geri basın bilər, amma niyə ki?
Yaxşı, bu halda adı, boş deyil, gender, və yurt idi
bu bütün ifadə sintaksis bir az yeni olsa doğru üçün qiymətləndirilir və
yenə biz bəyanat əgər tanış PHP rejimi daxil edin
lakin burada yeni hissəsi yalnız bu kolon və mən bir mötərizə omitting tərəfindən berbat idi
qəza, lakin kolon bildiriş və o deməkdir ki,
biz PHP rejimi hər şey mövcud bile olsa
ki brauzerinizin iclas tüpürmək lazımdır aşağıdakı
biz burada bir başqa məhəllə görməyincə kimi,
yerine bu həyata tüpürmək olan halda
Siz endif görməyincə, belə ki, bəzi yüngül yeni sintaksis
mənə HTML və PHP arasında keçid üçün imkan verir.
Biz, indi üçün, nəticədə bu qədər təmiz bilər
bu forma yoxlanılması səhv bir çekici şəkildə növü var.
>> İndi, mən açıq-aydın biz ancaq data şey etdik, çünki siz həqiqətən qeydə deyilik demək
belə-nin həqiqətən sərin bir şey edək.
Froshims3 yeganə fərq, mən register3 təqdim gedirəm edir
HTML belə eyni var.
Register3 bu bildiriş.
Bu sexy növü.
Üst bir tələb bəyanat kullanıyorum bu # daxildir kimi belə.
Bu dəfə stdio.h və ya bu kimi bir şey deyil.
Bu PHP kitabxana, və bu bir PHPMailer adlanır.
Mən məhz bu sitat simli daxil bilirdinizmi?
Mən onlar bildirib zaman mənə fayl başında bu qoymaq, sənədlərin oxumaq
siz onu deyir ki PHPMailer adlı xüsusi kitabxana istifadə etmək istəyirsinizsə.
Bu PHP vasitəsilə e-mail göndərmək üçün imkan verir.
İndi daha aşağı diyirləyin edək.
>> Mən PHP rejimində bu bütün vaxt Ben başlamaq edək,
İndi ki, kitabxana idxal sonra burada qeyd
Mən bir ağlı başında olma çek edirəm, danışmaq.
Bu adı boş deyil ki, hal varsa
və gender nida boş hiss deyil bal
və yurt boş deyil, sonra istifadəçi məntiqi azı kifayət qədər şəklində həyata doldurdu.
Onlar kapitan və ya deyilik əgər mən qayğı yoxdur. Mən onların adı, cinsi, və yurt kifayətdir.
Onlar doldurduğunu Əgər həmin sahələrdə heç biri boş
bu qədər yeni sintaksis edir.
PHP, bir kənara kimi, obyekt yönümlü proqramlaşdırma dilidir
uşaqlar bəzi APCS və ya kimi olan xatırlayıram bilər.
Tanımadığı əgər indi üçün, yalnız bu kitabxana istifadə bilirik
siz yeni bir söz istifadə edərək, bu kimi kodu bir line yazmaq üçün
sanki yeni bir söz yeni çağırıb.
Lakin kənarda, bəzi tanış sintaksis var.
Bu göstəricilər kontekstində structs üçün istifadə nə kimi bir arrow operator var.
Bu gün PHP, göstəricilər yoxdur
lakin mail dəyişən ki, daxili indi bilirəm
xüsusi kitabxana bir pointer ilə mahiyyətcə növ
başqası yazdı ki, mən xüsusi işlevsellik daxil olmaq istəyirsinizsə,
kitabxana daxilində I, C kimi, ox operator istifadə edirsiniz
Bu həqiqətən göstəricilərinə deyil, baxmayaraq.
Bu onların PHP öz versiyası növ var.
Bu kitabxana getmək və IsSMTP funksiyası zəng deməkdir.
SMTP, geri, Net bizim Warriors olan, e-poçt edir
və yalnız bu Frosh Ani qeydiyyat üçün bir e-poçt server istifadə deməkdir.
>> Hansı host I istifadə etmək istəyirsən?
Yaxşı, Harvard, siz ətrafında Google, smtp.fas.harvard.edu adlı bir e-poçt server var.
Və ya evdə birlikdə oynayan edirsinizsə bir Comcast şəbəkə yaşayır
bu smtp.comcast.net kimi bir şey ola bilər.
Bu tamamilə yaşamaq və ISP kim yerləşir asılıdır.
Bundan sonra mən jharvard@cs50.net olmaq özbaşına ünvan mənim təyin etmək üçün gedirəm.
Mən jharvard@cs50.net olmaq həlli üçün müəyyən gedirəm.
Mən bu funksiyaları adı bilirdi ki, yalnız yol SetFrom və AddAddress
yenə, mən sənədləri oxumaq edir.
Bu magically bütün proqramçılar məlum növ deyil.
Mən bir mövzu qurmaq "Qeydiyyat".
Dot operator PHP nə deməkdir, çünki bu xətt bir az çirkin var?
Hər kəs bilir?
Concatenate.
C birlikdə 2 strings concatenate üçün boyun bir ağrı deyil.
Siz malloc ya realloc və ya məhsullarının bütün ilə məşğul
yalnız bir string müddəti uzadır.
JavaScript PHP və digər dillərdə
Siz adətən bir xarakteri ilə bunu edə bilərsiniz.
Bu halda, dot burada bu string almaq deməkdir
və bu simli üçün əlavə.
>> Oh, və yolu ilə, o, bu string əlavə,
olan super qlobal bir dəyişən daxilində olur.
Sonra belə bu nöqtələr yalnız demək, bu, yeni bir xətt əlavə
, bir böyük və daha böyük və daha böyük simli davam
və siz malloc və ya bu kimi bir dil kimi haqqında bütün qayğı yoxdur
və bunu başqa yollarla, lakin bu qısa biridir
onu qoymaq yolları.
Bu nə edir?
Kapitan: Cins: Yataqxana Bu adı demək olacaq ki, bir e-poçt orqan yaratmaq edir:
, və sonra nəhayət, ayrı-ayrı istiqamətləri üzrə bütün
bir kodu xətt və mən indi bu ignore gedirəm.
Yalan == yalnız bir şey yanlış getdi əgər deməkdir edin
lakin sehrli burada olur.
Gönderdiğiniz bu e-poçt göndərmək deməkdir.
Xalis nəticə nə görmək edək.
Fayl altında, bu, həqiqətən, qeydiyyatdan demək olacaq bildiriş
Hesab edirəm ki, bu günə qədər almaq əgər.
Baxmayaraq,, istifadəçi vida qədər, bu açılmış fark
, burada vəziyyət qədər əgər boş və boş deyil əgər
və biz mail göndərin boş deyil.
Əks halda biz, kod bu xətt göndərmək olacaq
siz pset 7 görəcəksiniz kimi olan istifadəçi yönlendirme ilə, təsir edir
geri gəlib, burada froshims3.php üçün.
>> Fingers başqa bu gün ən məyusedici demo olacaq, keçdi.
Burada getmək.
Mənə Gmail jharvard üçün e-poçt gelen açmaq edək.
Hazırda heç bir e-poçt. Bütün hüquqlar.
İndi mənə biz burada baxmaq lazımdır üçüncü və son nümunəsi olan froshims3, açmaq bildirin.
OK, burada biz gedin.
Nate, o Apley, demək, bu, kapitan, kişi olacaq.
Qeydiyyat. OK, həqiqətən, qeydə alınır.
Mən e üzərində hərəkət İndi əgər, oh, mənim Allah.
Mən yalnız dinamik Web bir e-poçt göndərdik.
>> In ki, qeyd tərk edək.
A video biz buraxılmış mühazirə üçün qarşıdakı edir. Növbəti həftə baxın.
[CS50.TV]