[Powered by Google Translate] [PHP сінтаксіс]
[Tommy MacWilliam] [Гарвардскі універсітэт]
[Гэта CS50.] [CS50.TV]
>> У гэтым відэа, вы пазнаёміцеся з PHP -
адзін з моў, якія мы будзем выкарыстоўваць у CS50
як мы пераход да вэб-распрацоўцы.
PHP расшыфроўваецца як PHP Hypertext Processor,
PHP або Hypertext Processor Hypertext Processor,
і я буду спыняцца на дасягнутым.
PHP з'яўляецца рэкурсіўны акронім, які я думаю, сапраўды надзвычайны.
>> Такім чынам, давайце напішам 'прывітанне свет' ў PHP,
якая будзе крыху па-іншаму, чым "прывітанне свет 'ў Сі, што мы прыйшлі да ведаем і любім.
Замест таго каб стварыць файл з імем hello.c,
мы створым hello.php.
Увесь наш код PHP будзе знаходзіцца паміж <? PHP і>.
Калі ў нас ёсць PHP кода, які знаходзіцца
па-за гэтымі падзельнікаў, яно не будзе выконвацца.
Мы можам мець як многія з гэтых PHP блокі
як мы хочам у адным файле PHP.
У PHP няма ніякай неабходнасці ў асноўную функцыю.
Замест гэтага наш PHP код будзе выконвацца ў тым парадку, ён з'яўляецца ў нашым PHP файла.
З і PHP ёсць 'Е' функцыя для вываду дадзеных.
Але ў PHP, мы не павінны # ўключаць любыя файлы, такія як загаловак standardIO.h.
Гэта таму, што ў PHP мы не будзем кампіляцыі нашага кода.
Калі мы пісалі код C нашага працоўнага працэсу як правіла, адкрыццё
адна або некалькі. C ці. г файлы, змяняючы іх, іх кампіляцыі,
і працуе атрыманы выкананы файл.
Выезд Складальнікі відэа для атрымання дадатковай інфармацыі аб гэтым працэсе.
>> У адрозненне ад C, PHP з'яўляецца інтэрпрэтаванай, - а ці не складзены - мовы.
Гэта азначае, што код PHP мы пішам
будзе праходзіць праз спецыяльную праграму, званую перакладчыка,
што ў сваю чаргу выканаць наш код.
Для выканання нашага кода PHP,
мы адправім яго разам з інтэрпрэтатарам PHP, які будзе апрацоўваць яго выканання,
, А ня кампіляцыі ў машынны код.
Давайце паглядзім перакладчыка ў дзеянні.
Мы адкрыйце тэрмінал і запусціце каманду PHP
затым шлях да файла PHP мы хацелі б працаваць.
Мы будзем казаць: "PHP hello.php.
І мы ідзем. Там у выхад нашай PHP праграмы.
Мы не павінны кампіляваць наш PHP файлаў наогул.
Замест гэтага, у нас была іншая праграма - інтэрпрэтатар PHP -
выканаць зыходны код, што мы напісалі.
>> PHP можа зрабіць значна больш, чым проста Е.
Давайце напішам больш складаных праграм PHP.
Сінтаксіс канструкцыі - як калі б, яшчэ, у той час як, для, і выключальнік -
тое ж самае ў PHP і C.
Як і С, кожны з гэтых канструкцый выкарыстоўвае дужкі, каб размежаваць іх цела,
і, як і ў C, кожны радок пішам
павінна заканчвацца кропкай з коскі;
Тым не менш, зменныя апрацоўваюцца крыху па-іншаму ў PHP.
Па-першае, усе зменныя ў PHP павінны пачынацца з знака даляра.
Здаецца трохі дзіўным на першы, але вы абвыкнеце да яго.
Па-другое, PHP з'яўляецца слаба тыпізаванай мова
якая азначае, што вам не трэба відавочна ўказваць
тып зменнай пры яе стварэнні.
Дзе ў C вы павінны былі б сказаць дзесятковага х = 5;
або сімвал у = 'A';
У PHP мы можам проста сказаць $ X = 5;
і $ Y = 'A';.
Тое ж самае ставіцца да функцыі.
Замест таго каб гаварыць дзесятковага F () {цела функцыі} нашых,
У PHP мы збіраемся сказаць функцыі F () {цела функцыі} нашых.
Нам не трэба відавочна ўказваць тып якое вяртаецца значэння нашай функцыі F.
Функцыі ў PHP таксама не прыйдзецца вяртаць той жа тып
кожны раз, калі яны выконваюцца.
Напрыклад, мы маглі б напісаць функцыю, якая вяртае ілжывае на памылцы
і іншы тып, калі гэта атрымаецца.
>> Гэта таксама можа дапамагчы нам напісаць больш агульныя функцыі.
Напрыклад, мы маглі б напісаць адну функцыю дапаўненні
, Якая можа вяртаць цэлы лік, калі 2 цэлых дадзены
або Float Калі 2 паплаўка дадзены.
У C, мы павінны былі б напісаць 2 асобныя функцыі для гэтага.
У той час як у C мы выкарыстоўваем паказальнікі для рейз і струнных,
мы не будзем у стане выкарыстаць ўказальнікі ў PHP.
Замест гэтага, як масівы і радкі з'яўляюцца убудаваныя тыпы ў PHP.
Яны ўбудаваныя прама ў мову.
Каб стварыць масіў у PHP, мы можам сказаць,
$ A = array (1, 2, 3);
ці, прасцей кажучы $ = [1, 2, 3];.
Мы можам індэкс у гэтым масіве выкарыстоўваючы той жа сінтаксіс, што мы прывыклі з C.
Каб атрымаць першы элемент мы скажам, $ [0];.
PHP таксама мае убудаваную падтрымку для асацыятыўных масіваў.
Асацыятыўныя масівы такія ж, як хэш-табліцу структуры дадзеных мы ўжо бачылі -
яны адлюстроўваюць ключ да значэння.
>> Давайце паглядзім на прыклад.
Мы можам сказаць, $ персаналу = ["інструктар" => "Давід", "ТФ" => "Томі"];.
Тут, у мяне ёсць асацыятыўны масіў з 2 ключамі - інструктарам і TF.
Падвойную стрэлку, або роўна-больш-чым,
выкарыстоўваецца для падзелу ключ і яго адпаведнае значэнне.
Такім чынам, значэнне $ персаналу ["ТФ"] з'яўляецца радок "Томі".
Значэнні асацыятыўны масіў -
гэтак жа, як любы іншы масіў - можа быць любога тыпу.
Напрыклад, мы маглі б сказаць, $ персаналу = ["інструктар" => "Давід", "TFS" => ["Томі", "Роб"]];.
Цяпер значэнне 'TFS' з'яўляецца масівам.
Гэта азначае, што значэння ў адным асацыятыўным масіве могуць быць розных тыпаў.
>> PHP масівы таксама не маюць фіксаванай даўжыні,
так што мы можам дадаваць або выдаляць элементы з масіва.
Дапусцім, у нас ёсць просты масіў як $ = [1, 2, 3];.
Каб дадаць новы элемент у гэтым масіве,
мы можам сказаць, $ [] = 4;.
Зараз наш масіў складаецца з чатырох элементаў - [1, 2, 3, 4].
Нагадаем, што калі мы хацелі зрабіць нешта падобнае ў C,
мы павінны былі б вылучыць цэлы новы масіў,
скапіяваць змесціва нашага першага масіва ў яго,
а затым ўсталюйце апошні элемент новага масіва нашым новым значэннем.
Гэта нашмат прасцей, у PHP.
Калі наш масіў з'яўляецца асацыятыўным масівам,
можна проста вызначыць новы ключ стварыць элемент
калі ён яшчэ не існуе.
Калі ў нас ёсць масіў раней - $ персаналу -
мы можам сказаць, $ персаналу ["Усяго"] = 3;.
Цяпер у нас ёсць новы ключ са значэннем 3.
>> Каб атрымаць колькасць элементаў у масіве,
мы можам выкарыстоўваць 'колькасць' функцыі.
Калі мы кажам, COUNT ($), якія будуць мець значэнне 4.
У PHP, мы можам стварыць радкі, выкарыстоўваючы падвойныя або адзінарныя двукоссі,
так што абедзве гэтыя зменныя з'яўляюцца радкамі.
$ S1 = "радок"; $ s2 = 'іншая радок';.
У чым розніца паміж гэтымі двума?
Ну, гэта даволі агульнае, неабходна ўключыць
Значэнне зменнай ўнутры радка.
Адзін са спосабаў зрабіць гэта было б выкарыстоўваць аператар кропка ў PHP,
якое аб'яднання радкоў.
Мы маглі б зрабіць нешта накшталт гэтага -
$ N = 5; $ S = 'п' $ N.;.
Тут наша пераменная N з'яўляецца цэлым лікам.
Але калі мы аб'яднаем яго са радком,
PHP аўтаматычна пераўтворыць яго ў радок для нас.
Ці мы можам проста выкарыстоўваць падвойныя двукоссі паставіць зменную ў самой радку.
Мы можам сказаць, $ S = "п $ п";.
Цяпер значэнне $ S будзе «п 5 '.
Калі мы будзем выкарыстоўваць адзінарныя двукоссі замест гэтага, як і ў $ S = 'п $ п';
значэнне з будзе 'п $ п';.
Значэнне N не будзе заменены, калі выкарыстоўваць адзінарныя двукоссі,
але гэта будзе, калі мы выкарыстоўваем падвойныя двукоссі.
Калі мы хочам выкарыстоўваць падвойныя двукоссі, каб ўключаць у сябе значэнне масіва ў радку,
мы павінны ўключыць у фігурныя дужкі масіва, як гэта -
$ S = "{$ персаналу ['агульнай']}";.
>> Давайце цяпер зірнем на невялікі фрагмент на З і перавесці яго на PHP.
Тут мы ствараем функцыю, якая выводзіць літары радкі,
адзін знак у радку.
Давайце зробім тое ж самае ў PHP.
Па-першае, нам спатрэбіцца наш PHP падзельнікі.
Калі мы ствараем нашу функцыю,
нам не трэба абраць яе тып вяртання або тып аргументу.
Наша з зменнай таксама павінны пачынацца са знака даляра.
StrLen функцыі PHP дае нам даўжыню радка,
гэтак жа, як Сі StrLen дае нам даўжыню радка.
Пад капотам не менш, гэтыя функцыі на самай справе трохі адрозніваецца
паколькі радкі убудаванага тыпу ў PHP.
Сінтаксіс нашага 'для' цыклу заставаўся нязменным.
>> У PHP, мы можам таксама выкарыстоўваць натацыю масіва для доступу да сімвалаў радка.
Цяпер мы можам выкарыстоўваць функцыю друку раздрукаваць кожную літару радка.
З функцыяй друку ў PHP, нам не трэба турбавацца аб запаўняльнікаў -
як C або D%% - калі мы хочам, каб раздрукаваць зменную, якая не зьяўляецца радком.
Замест гэтага, мы можам проста перадаць зменную любога тыпу функцыю друку,
і яно будзе пераўтворана ў радок і адлюстроўваецца.
І вось яно што! Давайце зараз запусцім наш файл з 'PHP print.php.
І там мы ўбачылі выхад з нашай праграмы C.
>> PHP таксама падтрымлівае канструкцыю, званую «Бессэнсоўны завесы.
Пятля "Бессэнсоўны гэтак жа, як" за "завесы,
але гэта дадае трохі сінтаксічнага цукру, каб зрабіць рэчы больш чытэльным.
Тут мы ствараем новы масіў пад назвай 'масіва $.
Цяпер мы можам сказаць, па кожнаму элементу ($ масіў $ нумар),
і мы можам надрукаваць на $ колькасці.
Калі мы запускаем гэты файл - PHP-foreach.php-мы можам бачыць кожны нумар на асобнай радку.
>> Калі мы пісалі код C, часцяком карысна арганізаваць наш код у асобныя файлы.
У PHP, мы можам зрабіць тое ж самае.
Дапусцім, у нас ёсць некалькі функцый у файле з імем math.php.
Калі я хачу выкарыстоўваць гэтыя функцыі ў іншым файле PHP, як calculator.php,
Я магу выкарыстоўваць PHP require_once () функцыі.
Require_once сапраўды гэтак жа як # ўключыць.
Калі было дадзена шлях да файла, гэта істотна скапіруйце і ўстаўце змесціва
гэтага файла ў бягучы файл.
Require_once гарантуе, што кожны файл будзе ўключаны ў бягучы файл толькі адзін раз,
якія могуць быць карысныя, калі ў вас ёсць вялікі набор файлаў PHP патрабуюць адзін аднаго.
Давайце паглядзім на прыклад.
Тут у нас ёсць набор функцый, што я хацеў бы выкарыстаць у іншым файле.
Давайце паглядзім, як мы можам выкарыстоўваць іх.
У радку 3 мы патрабуем math.php.
'__DIR__' Гэта спецыяльны канстанта, якая прадстаўляе бягучы каталог
так і math.php calculator.php знаходзяцца ў тым жа каталогу.
Пасля таго як мы math.php патрабуюць, мы можам выкарыстоўваць функцыі
як калі б мы вызначылі іх у calculator.php.
Запусцім з 'PHP calculator.php. Выдатна!
>> Вось менавіта для нашай ўвядзенне ў сінтаксіс PHP.
Каб даведацца больш, наведайце PHP.net.
PHP мае шмат ўбудаваных функцый, і на шчасце яго дакументацыі з'яўляецца сапраўды вялікім.
Мяне клічуць Томі, і гэта CS50.
[CS50.TV]
>> Кранштэйн ..., я выходжу з пакоя. Чорт вазьмі! Гэта апошняе відэа, дзе я выкарыстоўваю гучных слоў у кодзе.