[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, , 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