[Powered by Google Translate] [PHP Syntax]
[Tommy MacWilliam] [Harvard Egyetem]
[Ez a CS50.] [CS50.TV]
>> Ebben a videóban, akkor be PHP -
nyelvek egyikén fogjuk használni a CS50
ahogy átmenet a web fejlődését.
PHP jelentése PHP Hypertext Processor
vagy PHP Hypertext Processor Hypertext Processor
és én meg itt.
A PHP egy rekurzív rövidítés, ami szerintem igazán félelmetes.
>> Szóval, most írni a "Hello World" PHP-
ami egy kicsit más, mint a "Hello World"-ben C, hogy jöttem, hogy ismerünk és szeretünk.
Ahelyett, hogy a fájl neve hello.c,
hozunk létre hello.php.
Minden PHP kódot tartalmazhat között <? Php és?>.
Ha bármilyen PHP kódot, hogy található
kívül ezek határoló, akkor nem működik.
Mi lehet a lehető legtöbb PHP blokkok
ahogy szeretnénk belsejében egy PHP fájlt.
A PHP nincs szükség a fő funkciója.
Ehelyett a PHP kódot lehet futtatni a sorrendben úgy tűnik, a mi PHP fájlban.
Mind a C és a PHP egy "printf" funkció a kimenetre az adatokat.
De a PHP, akkor nem kell # tartalmaz header fájlok, mint standardIO.h.
Ennek oka, hogy a PHP-ben nem fogunk összeállítása a kódot.
Amikor írtam C kód a munkafolyamat jellemzően megnyitása
egy vagy több. c vagy. h fájlokat, azok módosítása, lefordítását,
és fut a kapott bináris.
Nézze meg a videót Fordítóprogramok további információt ezt a folyamatot.
>> Ellentétben a C, PHP egy értelmezett - inkább, mint fordított - nyelv.
Ez azt jelenti, hogy a PHP kódot írunk
fog futni egy speciális program neve tolmács,
ami viszont végre a kódot.
Futtatni a PHP kódot,
akkor küldje el együtt, hogy a PHP interpreter, amely kezeli annak végrehajtását,
ahelyett, összeállítása, hogy gépi kódot.
Lássuk a tolmács akcióban.
Majd nyit egy terminált és futtassa a PHP parancs
majd az elérési utat a PHP fájlt szeretnénk futtatni.
Azt mondjuk, "php hello.php".
És ott vagyunk. Ott van a kimenete a PHP program.
Nem kell fordítanod a PHP fájlt egyáltalán.
Ehelyett volt egy másik program - a PHP értelmező -
végre a forráskód, amit írtam.
>> PHP ennél sokkal többet tud, mint egyszerűen printf.
Írjunk néhány bonyolultabb PHP programokat.
A szintaxis a konstrukciókat - mint if, else, while, for és switch -
ugyanaz a PHP és a C-
Csakúgy, mint a C, mindegyik konstrukciók használ fogszabályozó, hogy meghatározza a teste,
és mint a C, minden sorban írunk
kell pontosvesszővel végződnek;
azonban változó kezelése egy kicsit másképp a PHP.
Először is, minden változó a PHP kell kezdeni a dollár jel.
Úgy tűnik, egy kicsit furcsa először, de akkor szokni.
Másodszor, a PHP gyengén típusos nyelv,
ami azt jelenti, hogy nem kell külön felsorolni
A változó típusát a létrehozásakor.
Ahol C azt kell mondani, int x = 5;
vagy char y = 'a';
PHP-ben akkor egyszerűen azt mondják, $ x = 5;
és $ y = 'a',.
Ugyanez érvényes azokra a funkciókra.
Ahelyett, mondván int f () {a szervezet a funkció}
PHP fogunk mondani, f () {a szervezet a function}.
Nem kell megadnia a visszatérési típus a függvény f.
Függvények PHP-ben is, nem kell visszatérni az azonos típusú
Minden alkalommal, amikor kivégezték.
Például, lehet írni a függvény false értékkel tér vissza egy hiba
és más típusú, ha sikerül.
>> Ez is segít írni általánosabb funkciókat.
Például, lehet írni egy add funkció
hogy visszatérhet az egész, ha 2 egész kapnak
vagy úszó ha 2 úszik kapnak.
A C, meg kéne írni 2 külön funkció erre.
Míg a C használjuk mutatók fizetésemelést és vonósokra,
nem fogjuk tudni használni mutatók a PHP.
Ehelyett, mind a tömbök és stringek beépített típusokkal PHP-ben.
Ők építve a nyelvet.
Hogy hozzon létre egy tömböt PHP-ben azt mondhatjuk,
$ A = array (1, 2, 3);
vagy egyszerűbben $ a = [1, 2, 3];.
Tudjuk index ebbe a tömb ugyanazt a szintaxist, hogy mi használt a C.
Ahhoz, hogy az első elem azt mondjuk, $ a [0].
PHP is beépített támogatást asszociatív tömbök.
Az asszociatív tömbök, mint a hash tábla adatstruktúra már láttam -
amelyre leképezésre kulcs értékre.
>> Vessünk egy pillantást egy példát.
Elmondhatjuk, $ személyzet = ["oktató" => "Dávid", "TF" => "Tommy"].
Itt van egy asszociatív tömb 2 kulccsal - oktató és tf.
A dupla-nyíl, vagy egyenlő, nagyobb mértékű volt,
elválasztására használják a kulcs és a hozzá tartozó értéket.
Így a $ alkalmazottak ["TF"] a string "Tommy".
Az értékek egy asszociatív tömb -
ugyanúgy, mint bármely más tömb - lehet bármilyen típusú.
Például, azt mondhatnánk, $ személyzet = ["oktató" => "Dávid", "TFS" => ["Tommy", "kirabolni"]].
Az érték a "TFS" egy tömb.
Ez azt jelenti, hogy az értékek belül egy asszociatív tömb lehet a különböző típusok.
>> PHP tömbök még nincs egy fix hosszúságú,
így lehet hozzáadni vagy eltávolítani elemeket egy tömb.
Tegyük fel, hogy van egy egyszerű tömb, mint $ a = [1, 2, 3].
Egy új eleme a tömb,
azt mondhatjuk, $ a [] = 4,.
Most a tömb áll négy elem - [1, 2, 3, 4].
Emlékezzünk vissza, hogy ha akarnánk, hogy valami ehhez hasonló a C,
mi volna hozzá egy teljesen új tömb,
másolni az első tömb bele,
majd állítsa be az utolsó eleme az új tömb az új értéket.
Ez sokkal könnyebb a PHP.
Ha a mi tömb egy asszociatív tömb,
akkor egyszerűen meg egy új kulcsot létrehozni egy elemet
ha még nem létezik.
Ha van a korábbi tömb - $ staff -
azt mondhatjuk, $ alkalmazottak ["teljes"] = 3,.
Most van egy új kulcsot, melynek értéke 3.
>> Ahhoz, hogy az elemek száma egy tömb,
tudjuk használni a "gróf" funkciót.
Ha azt mondjuk, count ($ a), hogy lesz a 4 értéket.
A PHP, mi is létrehozhatunk húrok a dupla vagy szimpla idézőjelet,
így mindkét változók szálakat.
$ S1 = "string", $ s2 = 'egy string';.
Mi a különbség a kettő között?
Nos, ez elég gyakori, hogy kívánja, hogy a
változó értékét belsejében egy string.
Ennek egyik módja az lenne, hogy a PHP a pont operátor,
amely összefűzi szálakat.
Tudnánk tenni valamit, mint ez -
$ N = 5, $ s = 'n'. $ N,.
Itt az n változó egész.
De amikor összefűzzük egy string,
PHP automatikusan átalakítani, hogy egy string számunkra.
Vagy egyszerűen használható idézőjelek, hogy a változó a szöveg is.
Elmondhatjuk, $ s = "n $ n".
Most a $ s lesz 'n 5'.
Ha egyszerű idézőjeleket inkább, mint $ s = 'n $ n';
Az S értéke lesz 'n $ n',.
Az n értéke nem helyettesíthető, ha egyszerű idézőjeleket,
de ez lesz, ha az általunk használt idézőjelek.
Ha azt akarjuk, hogy idézőjelek egy olyan mértékű egy tömb egy string,
mi kell, hogy tartalmazza zárójelek körül a tömb, mint ez -
$ S = "{$ alkalmazottak ['teljes']}";.
>> Nézzük most vessünk egy pillantást a kis részlet a C, és lefordítani a PHP.
Itt hozunk létre egy függvényt, amely kiírja a leveleket egy string,
egy karakter soronként.
Csináljuk ugyanezt a PHP.
Először is szükségünk lesz a PHP határoló.
Amikor létrehozzuk a funkció,
nem kell megadni a visszatérési típus vagy a típus az érvelés.
Az s változó kell kezdeni egy dollár jel.
PHP strlen függvény megadja a string hossza,
mint a C strlen megadja a karakterlánc hosszát.
A motorháztető alatt azonban ezek a funkciók valóban egy kicsit más
mivel a string egy beépített típus a PHP.
A szintaxis a mi "a" hurok ugyanaz.
>> A PHP, mi is használni tömböt jelölést eléréséhez a karakterek egy string.
Most már használhatja a nyomtatási funkciót, hogy nyomtassa ki minden egyes levél a húr.
A PHP nyomtatási funkcióval, akkor nem kell aggódnia helyőrzőket -
mint% d vagy% c - ha azt akarjuk, hogy nyomtassa ki a változó, amely nem a string.
Ehelyett egyszerűen át egy változó bármilyen típusú a nyomtatási funkció,
és ez lesz átalakítani a húr, és jelenik meg.
És ez az! Nézzük most fut a fájlt "php print.php".
És ott van a kimenő láttuk a C program.
>> A PHP támogatja a konstrukció neve "foreach" hurok.
A "foreach" ciklus olyan, mint egy "a" hurok,
de hozzáteszi, egy kis szintaktikai cukor, hogy a dolgok még olvasható.
Itt hozunk létre egy új tömböt úgynevezett "$ array".
Most már elmondhatjuk, foreach ($ array as $ szám),
és kinyomtathatja $ számát.
Amikor futtatni ezt a fájlt - php-foreach.php-láthatjuk az egyes számokat külön sorban.
>> Amikor írtam C kód, ez gyakran hasznos szervezni a kódot külön fájlokba.
A PHP, akkor nem ugyanaz a dolog.
Tegyük fel, hogy van egy pár funkciót nevű fájlt math.php.
Ha szeretné használni ezeket a funkciókat egy másik PHP fájlban, mint calculator.php,
Tudom használni a PHP require_once () függvényt.
Require_once olyan, mint # include.
Amikor adott utat a fájlt, akkor alapvetően másolja be a tartalmát
, hogy a fájl az aktuális fájlt.
Require_once biztosítja, hogy minden fájl tartalmazza az aktuális fájl csak egyszer,
ami hasznos lehet, ha van egy nagy gyűjtemény a PHP fájlokat igénylő egymást.
Vessünk egy pillantást egy példát.
Itt van egy gyűjtemény a funkciót, amit szeretnék használni egy másik fájlt.
Vessünk egy pillantást, hogyan tudjuk használni őket.
A 3. sorban, mi szükség math.php.
A "__DIR__" egy különleges állandó képviselő az aktuális könyvtárban
mivel a math.php és calculator.php található ugyanabban a könyvtárban.
Miután igényelnek math.php, tudjuk használni a funkciókat
mintha már meg őket calculator.php.
Fussunk ezt "php calculator.php". Nagyszerű!
>> Ennyi a mi Bevezetés a PHP szintaxis.
Ha többet szeretne megtudni, nézd meg PHP.net.
PHP rengeteg beépített funkció, és szerencsére a dokumentáció igazán nagy.
A nevem Tommy, és ez CS50.
[CS50.TV]
>> ... Konzol, én meg a szoba. A fenébe is! Ez az utolsó videó, ahol használni nagy szavakat a kódot.