[Powered by Google Translate] [PHP Syntax]
[Tommy MacWilliam] [Harvard University]
[To je CS50.] [CS50.TV]
>> V tem videu bomo uvesti PHP -
eden od jezikov, ki jih boste uporabljali v CS50
kot smo prehod na razvoj spletnih strani.
PHP je kratica za PHP Hypertext Processor,
ali PHP Hypertext Processor Hypertext Processor,
in bom ustaviti.
PHP je rekurzivni akronim, ki mislim, da je res super.
>> Torej, kaj je napisal "Hello world" v PHP,
ki bo nekoliko drugačen od "Hello World" v C, ki smo jih spoznali in ljubezen.
Namesto ustvarjanja datoteko z imenom hello.c,
bomo ustvarili hello.php.
Vsi naši PHP kode bodo vsebovala med <? Php in>.
Če bomo imeli PHP kodo, ki se nahaja
zunaj teh ločila, da ne bo izvrševala.
Lahko imamo, kot mnoge od teh PHP blokov
saj želimo znotraj enega samega PHP datoteko.
V PHP ni potrebe za glavno funkcijo.
Namesto tega bo naša PHP koda teče v vrstnem redu, kot se pojavlja v našem PHP datoteki.
Oba C in PHP imajo "printf" funkcijo za prikazovanje podatkov.
Toda v PHP, nam ni treba, da # vključuje nobenih datotek z glavami, kot standardIO.h.
To je zato, ker v PHP ne bomo zbiranje našo kodo.
Ko smo pisali C kodo naš potek dela večinoma za odpiranje
ena ali več. c ali. h datoteke, ki jih spreminjajo, jih urejajo,
in teče nastalo binarno.
Oglejte si video prevajalnike za več informacij o tem procesu.
>> Za razliko od C, PHP je razlaga - ne zbirajo - jezik.
To pomeni, da PHP kodo pišemo
bo potekal po posebnem programu, se imenuje tolmač,
kar bo izvršitev našo kodo.
Teči našo PHP kodo,
ga bomo poslali skupaj z PHP tolmača, ki bo ročaj njegovega izvajanja,
namesto da bi jo pripravi za strojno kodo.
Poglejmo tolmača v akciji.
Bomo odprli terminal in zaženite ukaz PHP
sledi poti k datoteki PHP Radi bi teči.
Bomo rekli, "php hello.php".
In gremo. Tam je izhod našega PHP program.
Mi ni bilo treba zbrati našo datoteko PHP sploh.
Namesto tega smo imeli še en program - PHP interpreter -
izvršiti izvorno kodo, ki smo pisali.
>> PHP more storiti veliko več kot samo printf.
Dajmo napisati nekaj bolj zapletene PHP programe.
Sintaksa za konstrukte - všeč, če drugega, medtem ko je za, in stikalo -
je enako v PHP in C.
Tako kot C, vsaka od teh konstruktov uporablja naramnice razmejiti svoje telo,
in tako kot v C, vsaka linija pišemo
se mora končati s podpičjem;
Vendar pa so spremenljivke ravna nekoliko drugače PHP.
Prvič, vse spremenljivke v PHP mora začeti s znak za dolar.
Zdi se malo čudno na prvi, ampak boste dobili navadil.
Drugič, PHP je ohlapno vnesli jezik
kar pomeni, da vam ni treba izrecno navesti
tip spremenljivke, ko jo ustvarite.
Kje v C, kar bi morali reči, int x = 5;
ali char y = '';
v PHP moremo preprosto reči, $ x = 5;
in $ y = '. "
Enako velja za funkcije.
Namesto da bi rekel int f () {telo našega delovanja}
v PHP bomo rekli funkcijo f () {telo našega delovanja}.
Nam ni treba izrecno navesti vrsto vrnitev našega funkcije f.
Funkcije v PHP, prav tako ne bi bilo treba vrniti isto vrsto
vsakič, ko so usmrtili.
Na primer, lahko bi napisal funkcijo, ki vrne false o napaki
in še en tip, če mu uspe.
>> To je lahko tudi nam pomagajo napisati več generičnih funkcij.
Na primer, lahko bi napisal eno funkcijo add
da se lahko vrne celo število, če so podani 2 cela
ali plovec, če so na voljo 2 plovci.
V C, bi morali napisati 2 ločeni funkciji, da to storijo.
Medtem ko je v C, ki jih uporabljamo kazalce za povišico in godala,
ne bomo mogli uporabljati kazalce v PHP.
Namesto tega sta nizi in godala so vgrajene v vrstah v PHP.
Oni so zgradili prav v jezik.
Če želite ustvariti polje v PHP, lahko rečemo,
$ = Array (1, 2, 3);
ali bolj enostavno $ = [1, 2, 3].
Mi lahko kazalo v tem polju z enako sintakso, da smo se uporabljajo za iz C.
Da bi dobili prvi del bomo rekli, $ [0];.
PHP ima tudi vgrajeno podporo za asociativnih polj.
Povezovalne matrike so prav tako kot hash tabele strukturo podatkov, ki smo jih že videli -
jih preslikati ključ do vrednosti.
>> Oglejmo si primer.
Lahko rečemo, $ osebje = ["inštruktor" => "David", "tf" => "Tommy"];.
Tukaj imam asociativno paleto z 2 ključema - inštruktorja in tf.
Dvojne puščice, ali enako-več-kot,
se uporablja za ločevanje ključ in temu ustrezno vrednostjo.
Torej, vrednost $ osebje ["tf"] je niz "Tommy".
Vrednosti asociativni niz -
tako kot vsi drugi niz - lahko katerekoli vrste.
Na primer, lahko bi rekli, $ osebje = ["inštruktor" => "David", "TFS" => ["Tommy", "rob"]].
Sedaj vrednost "TFS" je matrika.
To pomeni, da se vrednosti znotraj ene povezovalne matrike lahko različnih tipov.
>> PHP nizi tudi nimajo fiksne dolžine,
tako da bomo lahko dodate ali odstranite elemente iz matrike.
Recimo, imamo preprosto niz kot $ = [1, 2, 3].
Če želite dodati nov element v tem polju,
lahko rečemo, $ [] = 4;.
Sedaj naše matrika sestavljena iz štirih elementov - [1, 2, 3, 4].
Spomnimo se, da če bi želeli narediti kaj takega v C,
mi bi morali dodeliti povsem nov niz,
kopirati vsebino našega prvega niza, v to,
in nato nastavite zadnji element novega niza do naše nove vrednosti.
To je veliko lažje v PHP.
Če je naša array je asociativna polja,
smo lahko enostavno določiti nov ključ za ustvarjanje element
če še ne obstaja.
Če imamo prej paleto - $ osebje -
lahko rečemo $ osebje ["skupaj"] = 3;.
Zdaj imamo nov ključ z vrednostjo 3.
>> Da bi dobili število elementov v matriki,
lahko uporabite "grof" funkcijo.
Če rečemo, štetje ($), ki bo imela vrednost 4.
V PHP, bomo lahko ustvarili strune z eno-ali dvoposteljne ponudb,
tako da sta od teh spremenljivk so strune.
$ S1 = "string"; $ s2 = 'en niz. "
Kakšna je razlika med tema dvema?
No, to je precej pogosti, da želijo vključiti
vrednost spremenljivke znotraj niza.
Eden od načinov za to bi bila uporaba PHP dot operaterja,
ki concatenates strune.
Lahko bi naredil kaj takega -
$ N = 5; $ e = 'n' $ n.;.
Tu naša n spremenljivka je celo število.
Toda, ko smo ga združite z vrvico,
PHP bo samodejno pretvoriti v niz za nas.
Ali pa lahko preprosto uporabite dvojne narekovaje postaviti spremenljivko v nizu sama.
Lahko rečemo, $ s = "n $ n".
Sedaj bo vrednost $ s je "n 5 '.
Če bomo uporabili enojne narekovaje namesto, kot v $ e = 'n $ n';
vrednost s bo "n $ n ';.
Vrednost n ne bo nadomestil če uporabimo apostrof,
vendar pa bo, če bomo uporabili dvojne narekovaje.
Če želimo uporabljati dvojne narekovaje, da se vključi vrednost matrike v nizu,
bomo morali vključevati zavite oklepaje okoli matriki, kot je ta -
$ S = "{$ osebje ['skupno']}."
>> Poglejmo zdaj si na majhnem delčku v C in ga prevesti v PHP.
Tukaj smo ustvariti funkcijo, ki natisne črke niza,
en znak na vrstico.
Naredimo isto stvar v PHP.
Najprej bomo morali naše PHP ločila.
Ko smo ustvarili naše delovanje,
nam ni treba navesti svoje vrste vrnitvi ali vrsto njene trditve.
Naše s spremenljivo mora začeti tudi z znak za dolar.
PHP funkcija strlen nam daje dolžino niza,
tako kot C? strlen nam daje dolžino niza.
Pod pokrovom, čeprav te funkcije dejansko malo drugače
saj niz je vgrajeno v tip v PHP.
Sintaksa našega "za" zanke je enaka.
>> V PHP, lahko uporabite tudi matrično zapis za dostop do znakov v nizu.
Mi lahko sedaj uporabite funkcijo tiskanja natisniti vsako črko niza.
S funkcijo tiskanja PHP, nam ni treba skrbeti za ograde -
kot% d in% c - ko želimo natisniti spremenljivko, ki ni niz.
Namesto tega lahko preprosto prenese spremenljivke katere koli vrste za funkcijo tiskanja
in se pretvori v niz in prikazani.
In to je to! Poglejmo sedaj vodijo našo datoteko z "php print.php".
In tam je izhod smo videli iz našega programa C.
>> PHP podpira tudi konstrukt, imenovan "foreach" zanka.
V "foreach" zanka je tako kot "za" zanko,
vendar dodaja nekaj skladenjsko sladkorja, da bi stvari bolj berljiva.
Tukaj smo ustvariti novo vrsto imenovano "$ niz".
Zdaj lahko rečemo, foreach ($ niz kot $ številko),
in smo lahko natisnete $ številko.
Ko smo teči ta slika - php foreach.php--vidimo vsako številko v svoji vrstici.
>> Ko smo pisali C kodo, je bilo pogosto koristno organizirati našo kodo v ločenih datotekah.
V PHP, da lahko storijo enako stvar.
Recimo, da imamo nekaj funkcij v datoteko z imenom math.php.
Če želim uporabiti te funkcije v drugi PHP datoteki, kot calculator.php,
Lahko uporabite PHP require_once () funkcijo.
Require_once je tako kot # include.
Ko so ga dajali pot do datoteke, bo v bistvu kopiranje in lepljenje vsebine
te datoteke v trenutni datoteki.
Require_once zagotavlja, da je vsaka datoteka vključena v trenutno datoteko samo enkrat,
kar je lahko koristno, če imate veliko zbirko PHP datotek, ki potrebujejo drug drugega.
Oglejmo si primer.
Tukaj imamo zbirko funkcij, ki bi jih rad uporabiti v druge datoteke.
Oglejmo si, kako jih lahko uporabite.
Na progi 3, smo zahtevajo math.php.
"__DIR__" Je posebna konstanta, ki predstavlja trenutni imenik
saj so math.php in calculator.php nahaja v istem imeniku.
Potem bomo potrebovali math.php, lahko uporabite funkcije
kot da smo jih opredeljeno v calculator.php.
Oglejmo teči to s "php calculator.php". Super!
>> To je za našo uvodu skladnje PHP.
Če želite izvedeti več, si oglejte PHP.net.
PHP ima veliko vgrajenih funkcij, in na srečo njegovo dokumentacijo je res super.
Moje ime je Tommy, in to je CS50.
[CS50.TV]
>> ... Nosilec, mi je zmanjkalo prostora. Prekleto! To je zadnji video, kjer sem uporabo velikih besed v kodi.