DOUG LLOYD: Belə ki, bizim PHP sintaksis video, biz PHP haqqında çox danışdı command line istifadə edilə bilər bir şəkildə proqramları çalıştırmak üçün ki, biz C. ilə olduqca tanış edirik Amma mən də qeyd olunduğu kimi ki video, PHP ilkin hazırlanmışdır , web web proqramlaşdırma həyata keçirir. Və bu video biz istəyirik Biz necə haqqında danışmaq gedir web inkişaf kontekstində PHP istifadə edin. Biz artıq bilirik, HTML bizim video, saytları inşa edilir ki, HTML tags bir sıra həyata ki, semantically müəyyən bir web page strukturu. Amma saytları ki təmiz HTML ilə inşa çox əziyyət, çox ciddi məhdudiyyət. Bu məhdudiyyət göstərmək üçün, nin aşağıdakı hesab edək. Belə ki, indi bir web page qurmaq istəyirəm ki, zaman istifadəçi səfərlər bu, mənə cari verir Cambridge, Mass vaxt. Son dəqiqə üçün göstərilir. Mən indi bu hüququ çıxırdı varsa, Mən bu kimi bir şey deyə bilər. Mən belə Cambridge-- cari vaxt HTML tags, baş tags, adı tags, bədən cari tags-- Cambridge dəfə 14:08 edir hərbi vaxt çap. Nə indi 2:09 PM, 14:09 varsa olur? Yaxşı bu günə qədər HTML ilə, mən getmək və 14:09 dəyişdirmək üçün. Və sonra bir dəqiqə sonra, Mən bir daha dəyişdirmək lazımdır. Və sonra bir dəqiqə sonra, Mən bir daha dəyişdirmək lazımdır. Siz təsəvvür edə bilərsiniz kimi, ki Heç yəqin ki, pis iş. Bir web səhifə üçün webmaster istəyirik, və hər dəqiqə, 24 saat, siz cari vaxt yeniləmək lazımdır əl time.html açılması və dəyişdirilməsi kod yalnız ki parçasını demək saat və dəqiqə cari vaxt. Ki, bir çox yəqin ki, deyil qaynaqlarımızın yaxşı istifadə, insan və hesablama, həm də. Bütün HTML var Veb səhifə tamamilə statik var. Siz təkmilləşdirə bilər yeganə yolu content, biz yalnız gördüm kimi, özünüz bu mənbə açmaq üçün faylları, onları redaktə, və onları saxlaya. Və sonra zaman istifadəçi səhifə yenilenir, və ya ilk səhifə Ziyarət zaman, onlar son content almaq lazımdır. Amma biz yalnız, çünki özünüz redaktə. Biz orada bəzi PHP qarışdırmaq başlamaq, Bizim code daha çox çevik əldə edə bilərsiniz. Və biz pages üçün bir yol ola bilər dinamik, və ya özlərini yeniləmə, bizim zəif tələb olmadan əvvəlki misal webmaster şeyi yenilənməsi əl olmalıdır. Onlar avtomatik olaraq bunu edə bilərsiniz. Biz müdaxilə yoxdur. Biz bəzi yuxu əldə edə bilərsiniz. Hansı yəqin ki, yaxşı bir şey əgər Siz web proqramlaşdırma bir çox edirik. CS50 IDE Beləliklə, biz run web server Apache çağırıb. Bu, çox çox istifadə var açıq mənbə web server sistemi. Bu sistem var gücü şərh Əgər faydalı olacaq PHP, Əgər hər hansı bir PHP proqramlaşdırma etmək istəyirəm. Və CS50 IDE, biz bir komanda var nə üçün bu çox asan etmək üçün, başlamaq apache50. Və sonra çizgi yol, çizgi, üçün doğramaq dir ki, yalnız bir həqiqətən ümumi yoldur Burada müəyyən sonra nə ifadə xüsusi bir yol directory ki, siz kök olmaq istəyirəm site, və ya kök səhifə qovluq və ya sizin web server olan faylları yoxlamaq və xidmət başlayacaq onları tələb müştərilərə onları. Belə ki, yalnız, CS50 IDE üzərində pop imkan Bu işləri necə, həqiqətən sürətli, göstərir. Belə ki, burada CS50 IDE, mən deyiləm Həftə Zero Nine adlı kataloq. Mən two-- və mən yalnız bir LS komanda icra Yuxarıda mən olduğunu göstərmək üçün Burada iki rehberler, PHP, Mən istifadə faylları set olan PHP syntax video və sonra PHP-web, faylları set olan ki, mən Bu video istifadə etmək istəyirəm. Mən başlamaq istəyirəm bir web server instansiya PHP-web qovluq məzmunu ilə faylları xidmət olunur kimi. Belə ki, nə mən gedirəm? Mən apache50 yer yazın gedir başlamaq kosmik PHP, dash web. Bu kataloq yolu var Hal-hazırda am yerdən. Sonra mən Enter düyməsini basın. Bu nə olacaq Burada məhsulları az. Və sonra, demək olacaq Apache uğurla başladı. Sizin site at-- artıq mövcuddur və sonra site üçün URL var. Belə ki, nə mən gedirəm? Mən tez bu surəti gedirəm. Mən açmaq üçün gedirəm və Mən bir az kiçiltmək lazımdır burada Mən açmaq üçün gedirəm Chrome yeni nişanı. Mən ki, URL ziyarət gedirəm. Mən Enter düyməsini basın gedirəm. Bu yüklemek üçün olacaq. Mən yenidən həyata zoom lazımdır. Və biz burada görə bilərsiniz Mənim PHP web directory məzmunu. Belə ki, indi əsasən nə baş burada CS50 IDE mənim instansiya edir bu faylları xidmət edir onları xahiş heç. Və ərzində Bu video, biz düzmək lazımdır bu bir dəstə nəzər kontekstində müxtəlif faylları. Sizin Apache ki, test server işləyir, ümumiyyətlə hansı gedir CS50 IDE halda olmaq, lakin daha çox, ümumiyyətlə bunu əgər, və öz web bina başlamaq server, həqiqətən var analoq ümumi sort, Adətən "salam dünya" PHP web inkişaf üçün istifadə olunur. Bir fayl var Hansı yalnız bu kod ibarət PHP info ilə müəyyən bir PHP sınırlayıcı, parantez arasında nöqtəli vergül. Hansı əsasən xüsusi Sizə deyir PHP funksiyası PHP hansı versiyası çalışan. Belə ki, CS50 IDE, mən mövcud fayl yalnız bu kimi görünür nə sizə göstərmək üçün. Beləliklə, mən index baxıram Mənim PHP instansiya olan. Mənim Apache instansiya çalışan PHP-Web məzmunu. Mən bir fayl burada info.php çağırıb. Mən bunu basın kiçiltmək gedirəm. Bu olacaq nə olduqca çox görmək. Bu yalnız ki, mənə izah edilir Mənim Apache server çalışır. Bu, yəqin edir PHP versiyasını çalışan alıram ki. Bu mənim analog deyil "salam dünya". Belə ki, Mən hər şeyi əməliyyat bilirik. Beləliklə, biz getmək iyi. Biz buradan davam edə bilərsiniz. Belə ki, yenidən edək vaxt nümunə biz bizim zəif webmaster ilə söhbət kim daim səhifə güncellemek idi. Bu necə bir fix ola bilər Mən hər şeyi həyata keçirəcəklərini belə webmaster deyil ki vaxt yenilənməsi saxlamaq lazımdır. Bu ki yalnız sort avtomatik baş verir. aşağı, HTML, bu bir istisna olmaqla, olduqca oxşar. Amma burada üst bir PHP var. Mən, yəqin, bu çağırıb funksiyası date_default_timezone_set. Və biz bütün danışmaq deyil CS50 bu funksiyaları, PHP yəqin ki, var, çünki on minlərlə. Yəni bir az ola bilər mübaliğə, lakin ola bilər. Bu inşa funksiyaları bir çox var. Və bu bir funksiyası yəqin deyil ABŞ / Şərq kimi vaxt zonasını müəyyən edir, Mən deyiləm zaman dilimidir Hal-hazırda bu video edilməsi. Sonra mən zəng etmək funksiyası tarixi çağırıb. Və yəqin ki, mən saxlanılması alıram HIS adlı bir şey, zaman. Belə ki, nə burada olub? Yaxşı, əsasən nə ki, baş, mən zəng edilməsi alıram gedir, bəzi server vaxt hazırda nə mənə. Mən bir format üçün konvertasiya edirəm saat, dəqiqə, saniyə. Və səbəb paytaxtı H bu var mənə 12 24 saat vaxt deyil vermək niyyətindədir kiçik h olardı saat vaxt. Mən yalnız saxlanılması alıram adlı dəyişən, zaman. Belə ki, PHP ikinci xətt orada funksiyası zəng, tarix, yalnız olur bəzi simli, Mənə tarix vermək gedir və vaxtı və digər informasiya bir dəstə. Və ilk dəlil, onun ki, yalnız mühüm rol çıxarılması edir Bu, misal üçün qayğı ki, olan saat, dəqiqə, və ikinci. Belə ki, davam ki, bütün var. Beləliklə, mən saxlamaq bir dəyişən $ vaxt ki. Və sonra aşağı at orada çox aşağı, mən ki stenoqrafiya var cari vaxt çap. Mən yalnız çap gedirəm Cari vaxt həyata nə. Belə ki, bu nəzər salaq CS50 IDE və biz indi istəyirik necə ki webmaster problem bir çox qənaət. Bütün sağ, belə ki, burada mən yenə am geri kök qovluğuna Mənim Apache instansiya. Mən burada bir fayl adlı time.php var. Mən yalnız basın gedirəm. Mən, çünki yuxarı lazımdır biz olduqca uzaq zoomed edirik. cari vaxt 14:20:34 edir. Mən bu saat edirəm dəqiqə, saniyə. Mən yenileyin bilər səhifə və yeni vaxt almaq. --41. Mən səhifə yenilemek üçün gedirəm və yeni vaxt, 44, 46, 47 almaq. Belə ki, mən aydın deyil am bir şey özümü dəyişir. Mən burada səhifə sərinləşdirici alıram. Mən onu redaktə geri ola bilməz. Mən sizə söz verirəm, mən deyil hər hansı müttəfiqləri var olan fayl redaktə olunur tərəfdən mənim adından. Mən yalnız ki, PHP funksiyası istifadə edirəm vaxt, mənim üçün vaxt yaratmaq üçün avtomatik. Mən yuxuda Ben hətta, belə ki, və web server çalışan, səhifə hələ də ziyarət istifadəçi dəqiq cari vaxt almaq üçün gedir. Belə ki, olduqca yaxşı. Mən site daha dinamik etdik Biz çox PHP kodu ilə. Bu kod yalnız iki xətləri, sonra çap şərhdə bir az. Və artıq bir var daha dinamik site ilk nümunə daha gördük Video başında. Belə ki, PHP sintaksis video geri PHP tərcüməçi çalışır zaman ki, Bizim proqram, bu, hər şey məhəl qoymur ki, PHP foydalanish daxilində deyil onu spitting. Ki, məsələn, nə şey həyata spitting edilmişdir ki, HTML idi. Və bu mən indi edə bilərsiniz deməkdir birlikdə HTML və PHP serpmek. Tərcüməçi yalnız, çünki HTML və bu sözün çıxış bilməz. Hansı hüququ, yaxşı? , Ehtimalla çünki Günün sonunda, Mən mənim site istəyirəm HTML inşa ediləcək. Hər hansı bir web browser şərh edə bilər, belə ki, , və ya səhifə HTML başa və bir şey kimi göstərmək ki, biz həqiqətən insanlar kimi başa düşmək olar. Və mən yalnız PHP istifadə edə bilərsiniz mənim site hissələri üçün the məni tələb edən, dinamizm tələb daim yeniləmək şeyi var. statik məlumat eyni qalmaq bilər. OK, belə ki, gözəl var. Amma bu, niyə edərdiniz? Niyə HTML və PHP qarışdırmaq bilər? Mən yalnız çap bilər bütün HTML, PHP çap funksiyası istifadə edərək. Niyə bunu deyiləm? Ikinci bu barədə düşünün. Niyə, mən yalnız mən yazaraq çap bilər zaman demək PHP xətləri ola bilər, çap HTML tag, çap baş. Niyə bunu deyiləm? Niyə PHP və HTML qarışdırma edirəm? Yaxşı, siz hesab edirəm ki, əgər ikinci bu barədə. PHP, tərcüməçi var Bu görür nə şərh. Və belə ki, var olacaq kodu bir line icra etmək. HTML çap. Açıq baş tag çap. Açıq adı tag çap. Bu var olacaq icra və şərh yolu hər bir addım ki. Yalnız imkan Niyə tərcüməçi yalnız ötürməyə Bu anlamır şeyi və avtomatik olaraq nə? Mənə çox vaxt saxlamaq olacaq birlikdə mənim HTML və PHP qarışdırmaq. Biz niyə Və belə ki yalnız açıq PHP sınırlayıcıyı var və sonra yalnız bütün çap bir nəhəng PHP kimi səhifə məzmunu sonra funksiyası Çap zəng və yaxın PHP sınırlayıcı və biz tamamlayın. Biz birlikdə onları qarışdırmaq nə ki, var. Bu günə qədər çox görmədim ümumi PHP sintaksis bir fərq. Bu olduqca sadə oldu. Biz artıq gördük sual işarəsi bərabər. Biz yeni funksiya zənglər bir neçə gördüm lakin həqiqətən heç bir şey xülya olur. Bəlkə hər şeyi edək bir az meraklısı. Biz informasiya keçmək istəyirsinizsə müxtəlif PHP faylları arasında, belə ki, bəlkə istifadəçi Mənə informasiya təqdim edir. Və sonra mən bir şey ola bilər başqa səhifədə ilə. Belə ki, PHP dəstək var bir şey Super Global adlı Olduqca zəhmli səslənir Dəyişənlər. Onlar, həqiqətən, yalnız istəyirik nəhəng assosiativ Diziler bu həyata kömək keçən funksionallığı PHP faylları arasında məlumat verən Bizim web server mövcud olunur. Bu super ilk Globals $ _GET adlanır. Və yəqin ki, anlamaq üçün sadə. Nə $ _GET olur? Yaxşı, əsasən, istifadəçi əlavə məlumat yazın gedir Bizim URL sonunda. Onlar yazın nə olursa olsun, fərz müəyyən bir şəkildə biçimlendirildiğinden yalnız olan bir sorğu string adlanan əsas dəyər cüt bir sıra ayrılmış ampersands tərəfindən. Həmin əsas dəyər cüt olacaq bir $ _GET assosiativ array saxlanılır. Və bizim video PHP syntax, biz bilirik necə işləmək artıq assosiativ Diziler. Belə ki, burada bir nümunəsidir bəlkə mən bir PHP, əsas dəyər cüt bütün çıxarılması URL təchiz istifadəçi ki. Beləliklə, mən Open PHP sınırlayıcıyı var. Mən bir foreach loop var. Mən Super arasında iterating alıram Global Array $ _GET çağırıb. Mən müraciət etmək istəyirəm əsas və dəyəri, həm də. Mən yalnız onlara çap alıram həyata, hər bir yəqin Burada öz paraqraf tag. Mən bəzi HTML çap alıram və dəyərləri interpolating ki, bəyanat daxil əsas və dəyəri. Belə ki, necə bu bir nəzər edək həqiqətən, bizim IDE işləmək olardı. Və bəlkə bu kömək edəcək bir az göstərmək almaq nə həqiqətən edir. Mən geri burada mənim web kök deyiləm. Mən bir zoom lazımdır az göstərmək üçün Mən adlı bir fayl, get1.php var. Belə ki, get1.php basın bildirin. Mən hər hansı məzmun göremiyorum. Bu doğru, qəribə var? Bəli, həqiqətən həqiqətən. Mən təmin etməyib, çünki URL bir şey. Mən get1.php gedir, amma alıram hər hansı bir əsas dəyər cüt təmin etməyib Mənim sorğu simli hissəsi kimi. Belə ki, bir sorğu string əlavə edək və bu fayl nə görmək. Bir sorğu simli başlamaq üçün yalnız sual işarəsini. Sonra bəlkə mən name = Doug & year = 2015-ci demək lazımdır. Və sonra mən Enter təşkil edəcək. İndi nə görürsünüz. Mən get1.php hələ də edirəm. Amma indi təchiz etdik əsas dəyər cüt və mən öz onları çap paragraph-- adı, Doug-- il, 2015. Ki, məhz kod biz yalnız bir an əvvəl slayd gördüm. Mən bəlkə başqa əlavə etmək istəyirsinizsə əsas dəyər cüt & class = CS50. İndi bir əsas dəyəri var çap cütlüyü mən yenə URL yenidən. İndi bəlkə bu deyil olduqca yaxşı biçimlendirilmiş. Beləliklə, mən get.php başqa bir versiyası var. Bu get2.php var. Bu fərq Mən CSS fayl var, və bu şeyi formatlarda daha gözəl mənim üçün az. Bu bəlkə ən deyil Dünyanın gözəl CSS. Amma bu bunu yalnız bir yoludur. Belə ki, mən hələ də əldə edə bilərsiniz $ _GET istifadə edərək dəyişənlərin. Və bu halda, mən yalnız cür edirəm CSS bir az daha fancy edilməsi. Və biz artıq pop əgər ikinci üçün IDE, Mən PHP web sizə göstərmək lazımdır burada directory, get2.php. Biz burada, bəzi HTML onu açmaq lazımdır. Yəqin mən ki, birləşdirən alıram Mən söhbət CSS faylı. Mən bir masa tag açın. Və sonra burada mənim foreach loop var. Burada ki, nə mən əvvəl slayd göstərdi. Yeganə fərq mən Bu əsas və dəyəri CSS var Mən ona müraciət edirəm üslubu. Amma ki, edirəm bütün Ben olunur $ _GET arasında iterating bütün almaq üçün əsas dəyər cüt. Mən masa kimi onları çap alıram. Və yəqin ki, mən düymələri format alıram bir şəkildə,