>> Даг Lloyd: Так што мы зроблена шмат працы ў C,
і С сапраўды выдатна мова, таму што гэта дае вам
здольнасць апускацца на самай справе нізкі ўзровень у вашы праграмы.
Мы атрымліваем, каб рабіць рэчы, як сапраўды хвілін як маніпуляванне
асобныя байты памяці.
Нагадаем, што паказальнікі на самай справе дазваляюць нам, што гнуткасць.
>> Але мы заўсёды павінны мець што ўзровень дробназярністая дэталяў
у нашых праграмах?
Напэўна, не, не так?
І калі мы будзем мець кампраміс між тым,
ў стане зрабіць сапраўды, сапраўды пуцёўкі рэчы і сапраўды, сапраўды
вялікія рэчы, якія мы не павінны думаць аб, мы не павінны рэалізаваць
гэтыя сапраўды вялікія ідэі, калі яны ўжо пабудавалі ў нас,
як правіла, для будаўніцтва вялікі праграмы або праекты, вялікія
мы, верагодна, будзем памыляцца на баку у тым больш мова матэрыял пабудаваны ў
для нас, замест таго, нізкаўзроўневыя рэчы.
І вось, калі PHP на самай справе ўваходзіць.
>> Цяпер, адной з прычын што мы вучым PHP ў CS50
з'яўляецца тое, што ён у значнай ступені натхнёныя С. І на самай справе, на мой погляд,
Ёсць сапраўды двух мовы папярэднікі, што
вельмі распаўсюджаны ў наш час.
З і LISP.
І яны мовах папярэднікаў таму што кожны іншы сучаснага праграмавання
мова, які распрацаваў з тых часоў натхнёныя
адзін ці іншы сінтаксічна.
PHP вельмі падобны сінтаксічна З, у той час як моў, такіх як Scheme,
Напрыклад, які Вы, магчыма, чулі пра,
у значнай ступені натхнёныя мове называецца LISP, які з'яўляецца стары мову.
>> Так што прычына мы вучым PHP ў CS50, што,
ведаючы C як прынцыпова як вы робіце ў дадзены момант,
падымаючы PHP, якая дае Вам здольнасць рабіць рэчы значна больш высокія ўзроўню
чым З робіць, не што многае з перашкода,
таму што ў вас ужо ёсць Асноўная ідэя сінтаксісу.
З была вакол на працягу амаль 45 гадоў у гэтай кропцы.
PHP быў вакол на працягу прыблізна 20 гадоў.
І ў тым, што 25 гадоў паміж праграмістамі,
Устаноўлена, што яны будуць нашмат а маюць больш высокія здольнасці ўзроўню,
і памылкі і барацьба з 20 гадоў у паміж
прывяло да PHP і іншых сучасных моў.
>> PHP, вялікі выбар мова для праграмнага забеспячэння
што allow-- для Праграмнае забеспячэнне that-- дзе вы
трэба рабіць тое, што ў З фактычна складаней.
Так, напрыклад, працуе са радкамі ў C
вельмі складаная, таму як мы ведаем, у C радкоў
сапраўды проста масівы знакаў.
Гэта не з'яўляецца убудаваным у тып дадзеных.
Або, магчыма, больш важна, тое, што мы нават не пакрываюць ў C,
што, калі вам трэба зрабіць, некаторыя кампутарныя сеткі?
Усё ў парадку?
>> З валодае здольнасцю рабіць гэта, але гэта так таямніцай і так цяжка на самай справе.
Не было б нядрэнна, калі б Мова быў пабудаваны ў лёгкі шлях,
ажыццявіць сетак?
І PHP з'яўляецца мовай, які робіць, што або палягчае, што зусім трохі больш.
Як я ўжо сказаў, PHP вельмі моцна натхнілі па С. сінтаксіс вельмі падобны.
І так, будзем спадзявацца, зрабіць Пераход ад аднаго да іншага
трохі мякчэй, чым некаторыя іншыя мовы можа быць.
>> Каб пачаць пісаць PHP, проста адкрыйце файл з пашырэннем .php файлаў.
Тэхнічна гэта не на самай справе патрабуецца,
але калі вы хочаце нешта накшталт сінтаксісу вылучаючы ў IDE, так што тыпу
імёны, або імёны зменных, функцыі, Вы ведаеце, ключавыя словы мовы
выдзелены ў пэўны колер, вы, як правіла
хачу называць свае файлы з канкрэтны файл з пашырэннем.
Так мы назвалі наш файл з .php пашырэнне, але затым таксама з PHP,
усе PHP код мы пішам, што Файл павінен быць заключаны ў гэтых PHP
падзельнікі, якія мы бачым Тут на экране.
Куток? PHP, каб пачаць.
Тады мы пішам усе нашы PHP код, які мы хочам паміж імі.
А потым?
дужка, каб закрыць.
>> Калі мы не зробім гэтага, то што адбудзецца?
Гэта не збіраецца да краху.
Гэта не збіраецца сапраўды разбурыць нашу праграму.
Але гэта не будзе мець эфект, які мы хочам.
Што адбудзецца, сапраўды, што, калі мы спрабуем запусціць гэтую праграму,
усё, што не паміж гэтымі падзельнікамі збіраецца быць раздрукаваныя даслоўна.
Гэта не збіраецца на самай справе выканаць код,
гэта будзе проста раздрукаваць яго даслоўна.
>> Цяпер, чаму гэта адбываецца?
Так С, што вядома як скампіляваны мове.
Вы, напэўна, знаёмыя з крок робіць вашыя праграмы,
ператвараючы .c файлы і файлы .h ў адзін выкананы файл з маркам,
у прыватнасці, з дапамогай Clang ў якасці нашага кампілятара.
PHP, хоць, не ёсць гэты эквівалент.
PHP з'яўляецца тое, што называецца інтэрпрэтаваная мова.
І што гэта значыць?
>> Ну, гэта азначае, што мы не павінны пераўтварыць наш зыходны код нулёў і адзінак
загадзя.
Хутчэй за ўсё, ёсць праграма, які таксама называюць
PHP, які разумее PHP і можаце сартаваць зрабіць гэта на лета.
Гэта на самай справе не зусім дакладныя, але гэта даволі добрая аналогія
што адбываецца.
Гэта тыя, інтэрпрэтацыі нулёў і адзінак на лета.
І таму, калі ён не ведае, як апрацоўваць нешта,
калі ён не ведае, як Працэс PHP, вы, верагодна,
хацеў паставіць, што тэкст там, праўда?
>> Вы, напэўна, хацелі паставіць код у там, нават калі гэта не паміж PHP--
PHP-падзельнікі.
Но-- так ён не збіраецца каб выдаліць яго для вас,
гэта проста будзе ў асноўным адкінуць яго.
Так што гэта ў друк гэта, каб на экране.
>> Гэта здаецца, што гэта дрэнная рэч, але на самой справе гэта
будзе сапраўды добрая рэч, як мы будзем
бачыць, калі мы гаворым пра Вэб-распрацоўкі PHP,
таму што гэта азначае, што мы можам перасыпаць PHP і HTML.
Мы можам выкарыстоўваць іх разам, каб стварыць больш дынамічны вэб-старонкі.
Але аб гэтым у відэа па вэб-распрацоўцы PHP.
>> Так што сінтаксіс PHP?
Гэта тое, што гэта відэа з'яўляецца ўсё аб.
Давайце пагаворым пра гэта.
>> Такім чынам, каб пачаць, зменныя.
Існуюць PHP зменныя.
Ёсць толькі два вялікіх адрозненні ад С.
Па-першае, ёсць няма тып спецификатор.
Мы не павінны гаварыць Int, сімвал, паплавок, і ўсё такое.
Мы не павінны гэтага рабіць.
PHP гэта сучасны мову.
Гэта можа высветліць, што вы спрабуюць рабіць лепшы
думаю, каб тое, што вы спрабуеце зрабіць.
Так што гэта даволі прыемна.
>> Іншая справа, што ўсе зменныя Імёны павінны пачаць са знака даляра.
Гэта проста нешта, каб прывыкнуць да.
Гэта крыху дзіўна, таму што гэта так, што PHP можа зразумець
што зменную, а што не.
Такім чынам, кожны імя зменнай пачынаецца з знака даляра.
Такім чынам, у C мы маглі б сказаць што-то як гэта, INT х = 54.
Мы не павінны гэтага рабіць у PHP.
Мы можам толькі сказаць, $ х = 54.
І мы маглі б сказаць, напрыклад, у C, калі б мы фунт-уключаў .h CS50
Файл загалоўка, можна сказаць, Радок фраза = "Гэта CS50."
Мы не павінны рабіць гэта ў PHP, хоць.
Мы можам толькі сказаць, $ фразу = "Гэта CS50."
І на самай справе, радок цяпер убудаваны тып дадзеных у PHP,
ці, хутчэй, PHP разумее тое, што радок з'яўляецца.
Гэта асобны з ​​масіва сімвалаў, як гэта ў З
Усе вашыя любімыя ўмоўныя заявы C
па-ранейшаму даступныя для выкарыстання.
Так што няма вялікай пераход ёсць.
Мы можам say-- мы можам мець калі заявы, як гэта.
калі ў $ 43, або $ г = 15.
Так што гэта даволі проста.
Мы можам мець, калі і яшчэ.
Мы можам мець, калі і яшчэ калі.
>> І звярніце ўвагу, што-то вельмі прыемна тут, і гэта
з'яўляецца свайго роду адзін з тых Перавагі PHP ў параўнанні з C, апавяшчэння
якія функцыі мы тут не карыстаецеся?
Мы выкарыстоўваем == для параўнання Пераменная, імя $, у радок.
Мы не маглі зрабіць гэта ў C, праўда?
Мы павінны былі выкарыстаць функцыю з імем StrComp або StrEndComp або любы
з звязаных з стрыечнымі братамі.
>> І так, мы ўжо бачым гэтыя перавагі.
Мы не павінны рабіць нешта гэтак жа па-дурному, або, магчыма, неинтуитивными
а выклікаць функцыю пад назвай StrComp калі я проста хачу, каб праверыць
ўраўноўваецца Ці значэнне радка.
Я мог бы проста выкарыстоўваць роўны роўных, як я мог бы зрабіць што-небудзь яшчэ.
Так што перавага.
>> Часам, дарэчы, вы можаце см, калі яшчэ ў адно слова, ElseIf.
І гэта нармальна ў PHP, а таксама.
Так што часам вы можаце ўбачыць, што.
Гэта не памылка друку.
PHP на самой справе разумее, ElseIf.
Я не ведаю, чаму яны вырашыў ажыццявіць гэта,
але, як мы бачылі шмат разоў на працягу ўсёй нашай відэа да гэтага часу,
мы праграмісты любяць яго, калі мы можам зрабіць усё хутка,
так, каб пазбавіцца ад гэтага прасторы па-відаць, з'яўляецца вялікім перавагай.
>> Дык вось, калі і ElseIf.
У нас таксама ёсць патройны аператар, водгук знак пытання тоўстай кішкі,
для сапраўды кароткай форме, калі яшчэ або ўмоўнае галінаванне.
І, мабыць, у тым, тое, што мы спрабуем зрабіць тут
гэта прызначыць зменную $ Ліст альбо сапраўдным, альбо памылковае,
у залежнасці ад таго вар $ алфавітны сімвал.
Так што гэта вельмі падобна на IsAlpha што мы знаёмыя з С.
Гэта свайго роду эквівалент у PHP.
Функцыя па-відаць, называецца ctype_alpha,
але гэта, як мы робім гэта ў PHP.
Так што ўсё гэта будзе ў тым, калі $ Var гэты ліст, ліст $ дакладна.
Калі $ Var не пісьмо, $ Ліст з'яўляецца ілжывым.
>> У нас таксама ёсць перамыкач заявы яшчэ.
Нагадаем, тых, ад З, а таксама.
На самым версе там, гэта, як мы робім нешта накшталт Get INT ці атрымаць радок.
Такім чынам, PHP мае, што пабудаваны ў.
Мы не павінны бібліятэку CS50 больш.
Мы можам проста выкарыстоўваць функцыю Readline.
Тое, што гэта збіраецца зрабіць, гэта раздрукаваць з паведамлення, "Ваш дзяржава,
калі ласка ", а затым міргае радок чакае ўводу карыстальнікам
некаторая інфармацыя.
Зараз звернеце ўвагу, што яшчэ мы можам зрабіць з выключальнікам.
Калі вы выкарыстоўвалі яго раней, Вы можаце ўспомніць, што перамыкач
абмяжоўваецца даволі шмат цэлых лікаў і сімвалы, але зараз мы можам выкарыстоўваць радка.
І на самай справе, пераход сабе у PHP зусім няшмат больш гнуткім
чым яго стрыечны брат з З
Завесы.
Гэтак жа, як ўмоўныя, усё Вашы старыя фаварыты ўсё яшчэ там.
У нас ёсць у той час як завесы, разлічваць ад 1 да 100 у гэтым выпадку.
Мы ў той час як завесы рабіць што лічыць ад 1 да 100,
і ў нас ёсць для завес што лічыць ад 1 да 100.
Так што няма вялікі скачок там.
Сінтаксіс даволі шмат сапраўды гэтак жа,
толькі зараз мы выкарыстоўваем Пераменная знак даляра замест
дэкларавання цэлалікавых зменных або нешта падобнае для нашых прылаўках.
>> Вось дзе ўсё становіцца нашмат лепш, чым C, хоць.
Масівы.
Так памятаю, калі мы былі казаць аб З, для таго,
для нас, каб расці і скарачацца наборы інфармацыі,
нам трэба адсартаваць дэфолту да гэтай ідэі звязанага спісу,
таму што C масівы фіксаванага памеру.
Мы не маглі паменшыць іх.
Мы не маглі вырошчваць іх.
Нам давялося пераразмеркаваць памяць і рабіць усё гэта вар'яцтва
або выкарыстоўваць звязаныя спісы, якія ўзяць крыху больш прасторы.
Але ў PHP, масівы ня фіксаваны памер больш.
Яны могуць расці, і яны могуць скарачацца.
Такім чынам, яшчэ раз, гэтыя 20 гадоў, што існуе паміж першым выпускам З
і першы выпуск PHP, мы вырашылі, што, ведаеце,
гэта было б сапраўды выдатна калі б мы маглі зрабіць гэта.
І так мы рэалізавалі гэта.
>> Так PHP масівы не фіксуецца ў памер, і таму, што PHP на самай справе не
ёсць праграміст пярэднюю облицовку- Паняцці тыпаў,
мы можам змяшаць тыпы дадзеных у нашых масівах, таксама.
Такім чынам, мы нават не павінны выкарыстоўваць усе цэлыя або ўсе плаваюць пункту,
мы можам мець спалучэнне ўсіх розныя віды ў адным масіве.
Аб'яву масіва даволі простая.
Гэта проста, як і любы іншы зменнай.
$ НУМС = масіў (1, 2, 3, 4), масіў з'яўляецца функцыяй
што ўбудаваны ў PHP, што створыць масіў для вас.
Гэта стварае масіў з чатырох значэнняў, Лічбы ў гэтым выпадку, называюць $ Nums.
І ёсць больш чым адзін спосаб зрабіць гэта.
І мы збіраемся ўбачыць гэта шмат у PHP.
PHP быў распрацаваны шмат розных людзі і расце і расце і расце.
Там, як правіла, не толькі два ці тры спосабу зрабіць што-то ў PHP,
там, як правіла, як 10 або 20.
Вось толькі яшчэ адзін агульны спосаб абвясціць масіў.
$ НУМС = квадратных дужак 1, 2, 3, 4.
Так што гэта свайго роду падобныя на кут С у br-- кучаравыя абазначэння дужкі, а. $ -
ці гэта будзе INT НУМС плошчы Кранштэйны роўная фігурную дужку 1, 2, 3, 4.
У PHP гэта $ НУМС = квадрат Кранштэйны 1, 2, 3, 4.
Але і з гэтых прыкладаў тут даюць мне масіў з чатырох чалавек у гэтым выпадку цэлых лікаў.
>> Што рабіць, калі я хачу што-то лавіраваць цяпер?
Ну што я магу толькі сказаць, $ НУМС 4, зноў жа, мы ўсё яшчэ лічачы ад 0 тут
у PHP, будзе пяты элемент масіва.
Я магу толькі сказаць, што.
Я не збіраюся пакутаваць SEG віна, таму што мой масіў толькі
будзе расці, каб прыстасаваць гэта.
Гэта даволі прыемна, праўда?
І на самай справе, я нават не трэба паказаць, дзе я хачу, каб пакласці яго.
Я магу толькі сказаць, гэта і проста лавіраваць гэта права да канца,
ці я мог нават проста скажам, $ 20 ці Nums 1000.
Гэта сапраўды не мае значэння.
Гэта яшчэ толькі збіраецца лавіраваць гэта права да канца.
>> Так што я магу расці, і мы as-- не збіраецца, каб пакрыць яго тут,
але я магу злучыць або паласа элементы з масіва, а таксама,
і масіў будзе скарачацца, каб прыстасаваць што цяпер адсутнічае або пустое прастору.
Там яшчэ адзін спосаб лавіраваць то ў масіў,
якая з'яўляецца функцыяй называецца array_push.
Такім чынам, яшчэ раз, толькі ў гэтым думка пра тое, ў стане зрабіць рэчы па-рознаму.
Такім чынам, мы бачылі тры розныя спосабы ў цяперашні час каб прымацаваць іншы элемент у масіў.
Такім чынам, гэта дадае яшчэ адзін элемент да канца масіва $ Nums.
І мы можам змяшаць нашы тыпы дадзеных.
Так што я мог ёсць масіў ня 1, 2, 3, 4, але 1, праўда, 3, 4,
дзе праўда з'яўляецца лагічным, а затым калі я хачу, каб лавіраваць на іншы элемент
у гэтым масіве, магчыма, радок, радок "пяць", я мог бы зрабіць гэта.
А цяпер мой масіў будзе быць 1, праўда, 3, 4, пяць.
Слова пяць, ня цэлы лік 5.
Так шмат гнуткасці там.
>> Гнуткасць атрымлівае нават лепш, хоць,
Паколькі PHP падтрымлівае тое называецца асацыятыўным масівам.
І мы накшталт цьмяна казалі аб асацыятыўныя масівы ў C
у кантэксце хэш-табліц, таму што тое, што асацыятыўныя масівы на самай справе ўсё
аб робяць ключ адлюстравання значэнне пара.
І ў гэтым выпадку, калі keys-- мы знаёмыя з масівамі з C,
ключы індэксны.
0, 1, 2, 3.
І тое, што значэння мы знаходзім, што Масіў 0, 1 масіў, масіў 2, і гэтак далей.
Такім чынам, ключы індэксы, і значэння
што ў гэтым месцы масіва, паказана, што індэкс.
>> Але ў PHP, мы не павінны рабіць гэта Паняцце масіва 0, масіў 1, масіў 2
больш.
Цяпер мы можам выкарыстоўваць фактычныя словы на карту ключы значэнняў.
І таму я мог сказаць нешта накшталт гэтага.
Я мог бы стварыць масіў з дапамогай квадрат сінтаксіс наступным кранштэйн.
$ Піцы = квадратная дужка "сыр", а затым
такога роду двайны запісу стрэлкай, 8.99, "пепперони," стрэлка 10.99-- 9,99,
і гэтак далей.
І так, што ж тут адбываецца?
Што я на самой справе рабіць?
Я ствараю ключавых адлюстравання пары значэнняў.
Такім чынам, замест таго, каб гаварыць, напрыклад, піца 0, шт 1, 2, піцы
Цяпер я магу сказаць, піцы сыр, піца пепперони,
і ставяцца да значэнняў звязаныя з імі.
>> Дык вось нашы ключы ў зялёны колер.
Сыр, Пепперони, раслінны, тураў курыца.
Вось стрэлка, які робіць гэты ключ адлюстраванне значэнне пара.
А потым тут значэння у гэтым месцы масіве.
Так што гэта, як кажуць масіў 0 роўны 8,99.
Ключ 0.
Значэнне 8,99.
Цяпер я магу сказаць, масіў сыр, або ў гэтым Справа піцы, сыр з'яўляецца ключавым,
і што я знаходжу ў піца сыр 8.99.
Гэта значэнне, што я знаходжу там.
>> Таму я магу сказаць рэчы, як. $ Піцы сыр = 7.99.
Сказаць, што я з продажу.
Я хачу dis-- Я хачу адмовіцца цана піцы сыру.
Ці я магу выкарыстоўваць раслінны піца як частка стану,
ці я магу дадаць новы элемент у мой Масіў, як я мог зрабіць раней.
Я магу дадаць новы элемент у гэтым Асацыятыўны масіў з ключом "бекон"
і значэнне 13.49.
>> Але гэта свайго роду ўяўляе праблему, калі вы думаеце пра гэта ні на секунду.
Як бы мы перабору масіва?
Дакладна?
У C, мы б проста мець цыкл, звычайна, што
будзе працаваць ад 0 да памер масіва мінус 1.
Масіў мае п элементаў у ў, то Дапушчальныя індэксы ад 0 да N мінус 1.
Такім чынам, мы маглі б выкарыстоўваць цыкл для крок праз кожны аднаго элемента.
>> Але гэта на самай справе не так больш, ці не так?
Цяпер, калі ў нас ёсць ключ значэнне пары адлюстравання, дзе ключы словы,
як мы перабраць усе словы?
Ну, на шчасце, ёсць PHP спосаб справіцца з гэтым таксама,
і таму мы будзем скакаць назад каб завесы на секунду
ўвесці чацвёрты выгляд завесы, існуе ў PHP называецца цыкл па кожнаму элементу.
І тое, што цыкл па кожнаму элементу робіць гэта ў асноўным тая ж ідэя.
Вы можаце выкарыстоўваць яго для любога віду масіва.
Але гэта ў асноўным Тая ж ідэя, як цыкл,
акрамя замест індэксны, вы проста
ёсць гэты дзіўны сінтаксіс дзе Вы называеце кожны элемент
імя для мэт гэтага цыклу.
>> Такім чынам, у гэтым выпадку, Еогеасп ($ масіў, як $ ключ).
У прынцыпе, у тым, што каментар нот, ўнутры гэтага цыкл па кожнаму элементу,
ён збіраецца перайсці кожны элемент масіва $, які, як правіла
будзе асацыятыўным масівам, але сапраўды можа быць любы выгляд масіва
што вы хочаце ў PHP.
І кожны раз, што ў для цыклу вы маглі
сказаў $ масіва ў квадратных дужках $ Я, вы маглі б проста сказаць $ ключ.
Так што $ ключ становіцца псеўданім кожны Індэкс вашага PHP асацыятыўны масіў,
і таму вы можаце выкарыстоўваць яго як што.
>> Так, напрыклад, мы ў Зараз атрымалі наш піцы масіў.
Я накшталт засунуў яго у куце
так што мы можам выкарыстоўваць яго, каб зрабіць хуткі прыклад.
Калі я кажу, Foreach ($ піцы як $ Піцы), ну, што ж адбываецца?
Ну, я збіраюся перабору кожны адзін элемент масіва $ піцы,
і такім чынам, я збіраюся патэлефанаваць кожны элемент, калі я ўнутры
цела, што для цыклу, $ піцу.
>> Дык вось роду стаяць у, нагадаем, што $ піцы
з'яўляецца намеснікам для кажучы $ Піца квадратныя дужкі $ I
калі б мы выкарыстоўвалі для цыклу, дзе мы можа ісці ад $ = 0, каб у гэтым выпадку,
$ Я = 3.
Калі ў нас не было пары ключ-значэнне Тут, гэта было б элементам 0, 1, 2, 3,
і мы хацелі б выкарыстоўваць для цыклу, каб пайсці $ Піцы 0, $ 1 піца, піца $ 2,
$ Піцы 3.
Так што цяпер толькі $ піца падстаўляючы для гэтага асобнага ключа.
>> Так што гэта збіраецца друкаваць?
Я друкую $ піцу.
Што я збіраюся знайсці at-- калі я раздрукаваць $ піцу, $ я?
Дакладна?
Калі я збіраюся раздрукаваць й элемент піцы,
што я буду друкаваць?
Я збіраюся раздрукаваць Значэння ў гэтым месцы, праўда?
Падобна гэтаму, калі мы рабілі гэта ў кантэксце C,
мы звычайна не выкарыстоўваюць наш итератор Пераменная, INT = 0, я менш, чым 3,
я ++, раздрукаваць 0, 1, 2, 3.
Мы друкуем з масіва 0, Масіў 1, масіў 2, 3 масіў.
І так, што гэта выводзіць гэта.
Гэта спіс цэнаў.
8.99, 9.99, 10.99, 11.99.
>> Цяпер невялікае заўвага тут.
Цыкл па кожнаму элементу не абавязкова раздрукаваць рэчы ў парадку.
Гэта не гарантавана.
Гэта звычайна робіць.
Гэта, як правіла, на падставе загаду ў якія элементы будуць дададзеныя ў масіў,
так што проста майце гэта на ўвазе.
Гэта не можа быць у парадку.
Але цыкл па кожнаму элементу будзе паўтараць па кожнай элемента
масіва ў пытанні.
У гэтым выпадку, зноў жа, што масіў $ піцы.
>> Я магу змяніць сінтаксіс, хоць, калі Хачу ключ і значэнне.
Замест таго каб сказаць $ піцы а $ піцы, я магу сказаць, што гэта.
І калі вы паглядзіце на тое, што я вылучаныя зялёным колерам тут,
гэта выглядае як ключавы адлюстравання значэнне пар.
І таму, калі you--, нават калі вы не зусім упэўнены, што гэта будзе рабіць,
Вы можаце здагадацца, што $ далівання збіраецца
каб стаць ключавым у дадзеным выпадку і $ Цана будзе значэнне.
Так што я ў цяперашні час замены кожны элемент з $ піцы як ключавы пары значэнняў,
і цяпер я магу звярнуцца да ключа і значэнне, якія маглі б спатрэбіцца,
напрыклад, наступным чынам.
>> "Цэлы" - гэта шмат друк адбываецца here-- "ў цэлым"
далівання "піца каштуе $" цану, а затым Я раздрукаваць перыяд і зваротнай касой п.
Так што цяпер, апавяшчэнне зноў у мяне ёсць доступ да ключ, $ далівання, а значэнне, $ цана.
Так вы можаце здагадацца, што гэта будзе раздрукаваць?
Там вельмі шмат друкаваных заяў, але ёсць толькі адзін зваротны слеш п,
так што гэта надрукаваць што-небудзь на entire-- на адной радку кода.
>> Калі я магу звярнуцца да ключа і значэнне, то зараз,
а не проста быць у стане раздрукаваць коштаў,
Я магу надрукаваць нешта накшталт гэтага.
"Цэлы піца сыр каштуе $ 8,99."
А цяпер я выкарыстоўваю ўсе keys-- сыр, пепперони, гародніна,
буйвал chicken-- і значэння.
8.99, 9.99, 10.99, 11.99 Так гэта проста іншы спосаб
зрабіць цыкл па кожнаму элементу, што замест проста даць вам доступ да значэнняў,
ён проста дае you-- гэта дае вам Доступ да ключоў і значэнняў.
>> Так раздрукоўкі інфармацыі.
Я ўжо зрабіў гэта пару розныя спосабы, вы, магчыма, заўважылі.
Гэтыя дзве функцыі, перш за ўсё, мы ў бачыў у друку і рэха.
А для амаль ўсіх намераў і Мэты, яны сапраўды гэтак жа.
They're-- ёсць вельмі тонкая Розніца, што нават не варта
патрапіць у, але ў асноўным ўсюды Вы можаце выкарыстоўваць друк можна, верагодна, выкарыстоўваць
рэха, а таксама.
>> І гэта не толькі два.
PHP мае шмат розных спосабу друку рэчы,
а таксама мае магчымасці інтэграцыі Зменныя ў сярэдзіне радка.
Так, памятаеце з C, ты памятаеце, што функцыя
мы можам выкарыстоўваць, каб замяніць зменныя у тое, што мы хочам, каб раздрукаваць?
Вы, напэўна, выкарыстоўваць гэта функцыянаваць даволі шмат.
Printf, праўда?
Так што гэта тое, што мы мелі да ўнутры у кантэксце нашай цыкл па кожнаму элементу.
Мы мелі гэтыя пяць асобныя выказванні друку,
таму што гэта быў адзіны як я на самой справе ведаў у той час
як раздрукаваць паведамленні.
Я не ведаю, як інтэграваць Зменная $ далівання ў маёй PHP кода.
Ну, калі я проста ўзяў дзікіх здагадацца, Printf, на самай справе працаваў бы.
Printf з'яўляецца функцыяй што я магу выкарыстоўваць у PHP, як я магу выкарыстоўваць яго ў С.
>> І так-то, як гэта, Printf, зноў, мы знаёмыя з гэтым.
Першы% s замяняецца са значэннем $ чале.
Другі% s замяняецца са значэннем $ цане.
І таму я interpellating, якая з'яўляецца проста мудрагелісты спосаб
сказаць, што я ўстаўляць зменныя ў гэтым месцы.
Так што я падлучэння $ далівання, дзе чырвоны% s з'яўляецца і $ цана, дзе сіні% s
ёсць, і тады я хацеў бы атрымаць паведамленне, "Цэлы піца сыр каштуе $ 8,99."
>> Не толькі так я магу гэта зрабіць, хоць.
Можа быць, я хацеў бы выкарыстаць гэты метад.
Гэта на самай справе тое, што найбольш часта называецца пераменная запыт.
Я магу выкарыстоўваць рэха.
Я мог бы выкарыстаць друк таксама, як мы ўбачым.
Але што тут адбываецца?
>> Перш за ўсё, я павінен пазбегнуць знак даляра.
Таму што памятаю, калі мы былі на самай справе раздрукаваць цэны піцы,
Я на самой справе фарматаванне іх грашовыя паказчыкі са знакам даляра.
Але мы выкарыстоўваем знакі даляра таксама прадстаўляць імёны зменных у PHP,
і, у прыватнасці, калі я з дапамогай гэтага метаду ў фігурных
Пераменная дужка Метад запыт, мне трэба
каб пазбегнуць маёй знак даляра так што гэта не думаю, што я кажу пра зменнай.
Гэта на самай справе адбываецца, каб, літаральна надрукаваць знак даляра.
>> Так накшталт аналогію яго Вы бачыце ў канцы там.
Гэта на самай справе не друк зваротны слеш н, праўда?
Гэта друкуе сімвал новага радка.
Гэта is-- гэта не збіраецца друк знак зваротнай касой долар,
гэта будзе проста раздрукаваць знак даляра знак.
Тая ж самая ідэя.
Ўцёкі паслядоўнасці, тое, што гэтыя рэчы называюцца.
>> Але заўважце, што я не раблю любы від% S замен,
Я проста літаральна затыкаць У гэтых зменных.
І так у this-- што здарыцца тут з'яўляецца тое, што кошт $ topping-- зноў,
проста адпавядае таму, што мы былі ідзе аб так far-- сыру б атрымаць
падлучаны там.
І $ цана будзе ўсё значэнне на піцу, квадратныя дужкі, сыр,
які быў 8,99.
І так гэта было таксама раздрукаваць "Цэлы піца сыр каштуе $ 8,99."
І як я ўжо сказаў, я мог бы выкарыстаць раздрукаваць тут замест рэха,
і функцыянальнасць быць у значнай ступені тое ж самае.
Было б раздрукаваць тое ж самае.
>> Там яшчэ адзін спосаб зрабіць гэта, і гэта з'яўляецца яшчэ адным перавагай
РНР працы са радкамі.
Мы можам зрабіць канкатэнацыі.
Мы маглі б зрабіць гэта ў C, таксама, выкарыстоўваючы функцыю, званую strcat,
але зноў жа, мы павінны былі выклікаць асобныя функцыі.
Гэта быў увесь гэты беспарадак, каб зрабіць.
Нам давялося фунт-ўключаюць string.h.
Гэта была вытворчасць, праўда?
Але цяпер я магу проста выкарыстаць гэты аператар кропка для аб'яднання радкоў разам.
>> Так што я аб'яднаннем "ў цэлым" і то ўсё значэнне $ разваротных ёсць
а потым яшчэ Радок, "выдаткі піцы $"
а затым аб'яднання незалежна значэнне $ цане,
а затым у самым канцы я лавіруючы на ​​перыяд зваротнай касой п.
І так гэта было таксама раздрукаваць "ў цэлым", - яшчэ раз,
калі мы кажам аб першай элемент гэтай піцы array--
"Цэлы піца сыр каштуе $ 8,99."
Перыяд, зваротны слеш п, зноў жа, з $ Далівання і $ цана замяняе
за тое, што мы паказана ў нашым Еогеасп цыкл у якасці ключавой адлюстравання значэнне пар.
>> PHP можа апрацоўваць функцыі.
Функцыі былі свайго роду неад'емнай C, як мы бачылі.
Як зменных, мы не павінны пазначыць тып якое вяртаецца функцыяй,
таму што гэта на самай справе не мае значэння.
І мы не паказаць Тыпы дадзеных параметраў, альбо
таму што яны на самой справе не Справа, як мы бачылі ў PHP.
Кожная функцыя ўводзіцца з функцыяй ключавое слова.
Вось як мы пазначыць выкліку, якія тое, што мы гаворым пра функцыі.
>> І мы не павінны справу з галоўным наогул,
таму што інтэрпрэтатар, PHP перакладчык, працуе зверху ўніз,
незалежна.
Калі бачыць, што вы можаце зрабіць выклік функцыі, то гэта
пайсці знайсці выклік функцыі, нават калі гэта прыходзіць пазней.
Але гэта будзе чытаць зверху знізу, такім чынам, мы не павінны паказаць,
вось дзе вы пачынаеце.
Вы пачынаеце на лініі 1 Ваш PHP і працаваць адтуль ўніз.
>> Дык вось, як бы мы стварыць функцыя называецца hard_square.
Гэта, па-відаць займае адно параметр, які я тэлефаную $ х.
Гэтая функцыя ўскладняецца толькі каб праілюстраваць розныя рэчы.
У нас яшчэ ёсць вяртаюцца значэння.
Я выкарыстоўваю для цыклу тут.
Але гэта ў асноўным проста, што гэта складае ўсяго $ х раз $ х.
Тое, што я на самой справе робіць, проста дадаўшы х да 0 х раз, або $ х $ да нуля х разоў.
Але гэта эфектыўна менавіта гэтак жа, як множанне $ х раз $ х.
Я да гэтага часу можа вяртаць значэнне, у гэтым выпадку $ выніку
і я зрабіў функцыю ў PHP.
>> Вось як вы можаце выкарыстоўваць яго ў кантэксце.
Так, можа быць, я ўнутры некаторага PHP-файл.
Звярніце ўвагу, у сінім, што там Я выкарыстаў мае PHP падзельнікі,
дужка знак пытання PHP.
Між тым, усе з РНР, што я хачу пісаць.
Так што я, мабыць, збіраецца get-- Я збіраюся прапанаваць карыстачу
каб даць мне нумар, магазін, Пераменная, краму ў гэтым зменнай $ х,
усё, што яны мне далі.
Тады я іду да рэха hard_square гэтага значэння,
па-відаць, адбываецца і лавіраваць на новай лініі
а таксама, а потым я табе Вызначым функцыю hard_square так
што, калі я зрабіць каб патэлефанаваць у hard_square,
гэта ведае, што я кажу.
>> Зараз, я мог бы таксама зрабіць нешта накшталт гэтага.
Гэта крыху адрозніваецца.
Гэта амаль дакладна гэтак жа, як тое, што мы бачылі раней,
акрамя замест таго каб сказаць усяго $ х там, як параметр hard_square,
Я кажу $ х = 10.
Такім чынам, гэта з'яўляецца прыкладам ахоўнае праграмаванне,
ахоўныя свае праграмы супраць зламыснікаў.
>> Гэта адзін са спосабаў, каб зрабіць некаторыя памылкі праверка, што мы сапраўды ня
ёсць у якасці опцыі ў С. Мы ніколі не мог задаць значэнне па змаўчанні нешта.
Мы заўсёды павінны былі праверыць Ці, напрыклад,
калі мы зрабілі выклік GetString, гэта было Найбольш правільным, калі адразу пасля
праверыў, што мы праверылі Ці радкі
што карыстальнік даў нам ня роўны нулю,
таму што мы не хочам, каб пачаць працы з пустым радком.
>> Тут гэта спосаб каб ахоўваць супраць гэтага.
Калі карыстальнік не забяспечвае нам нешта тое, што мы збіраемся рабіць?
Ну, мы проста сказаць усё, што яны не даюць нам,
мы толькі збіраемся падлучыць 10, а.
Так што, калі яны не даюць нам значэнне, проста выкарыстоўваць па змаўчанні 10. І вось,
заўважыць, што я раблю патэлефануеце каб hard_square,
але няма хуткае для карыстальніка, ці не так?
Я проста зрабіць пусты выклік.
>> Але мая функцыя hard_square чакае параметр.
Што гэта будзе раздрукаваць?
Гэта адбываецца, каб раздрукаваць 100, праўда?
Паколькі карыстальнік не зрабіў даць мне што-небудзь.
І таму я проста хачу, каб выказаць здагадку, што 10-- 10 Значэнне па змаўчанні.
І так гэта было надрукаваць з 100 на асобнай радку.
>> PHP файлы не павінны быць толькі адзін файл.
Вы можаце аб'яднаць некалькі файлаў разам, проста, як вы можаце ў C. шлях
мы зрабілі гэта ў C быў, як правіла, каб зрабіць #include, каб атрымаць файлы загалоўкаў выцягнуў ст.
Мы не робім, што ў PHP.
Мы робім тое, што называецца require_once.
А тут яшчэ ўся гэтая рэч, што гэта __dir__?
Вось толькі спецыяльная зменнай або спецыяльная канстанта,
сапраўды, што паказвае, што Ваш бягучы каталог.
І так будзе выглядаць у бягучым каталогу
для файлавай называецца cs50.php у гэтым прыкладзе тут,
і гэта будзе прытрымлівацца гэты файл у верхняй частцы вашай праграмы PHP,
пры ўмове, што ставіш патрабуюць калі лініі ў верхняй частцы вашага PHP файла.
>> Такім чынам, PHP ў асноўным выкарыстоўваецца, але не выключна, выкарыстоўваецца,
як мова для вэб-праграмавання.
Гэта сапраўды, як ён прыйшоў, каб быць.
Але гэта поўны мова, як мы ўжо бачылі.
Мы бачылі даволі шмат усе рэчы што ён можа зрабіць гэта, аналагічныя C,
і гэта можа зрабіць чартоўску нашмат больш, чым гэта.
>> Але таму, што гэта паўнавартасны мова, і мы можна зрабіць камандны радок праграмавання ў ім.
Мы можам запускаць праграмы каманднага радка.
Усё, што патрабуецца, каб запусціць каманду Лінія праграма, якая напісана ў PHP
з'яўляецца тое, што ў вас ёсць РНР.
Так што гэта свайго роду аналагам маючы кампілятар на вашай сістэме
калі вы хочаце, каб скампіляваць C код каб ператварыць яго ў выкананых файлах.
Вы павінны мець перакладчыка PHP што існуе на вашай сістэме
так што вы можаце інтэрпрэтаваць PHP файлаў.
>> Мяркуючы, што вы, як правіла, і Гэты інтэрпрэтатар называюць PHP,
і гэта, як правіла, у камплекце з найбольш загрузкі альбо ўсталявання PHP
што вы можаце атрымаць на сайце, і, вядома, імя перакладчыка PHP
мы маем на CS50, IDE.
Усё, што вам зрабіць, гэта ўвесці PHP файлаў.
І тое, што ваша праграма-х збіраюся зрабіць, гэта гэта
збіраецца запусціць праз перакладчык, гэта
збіраецца ігнараваць усё, што не паміж пытанне mark--
або дужка знак пытання PHP, PHP-падзельнікі, і раздрукаваць яго,
і будзе інтэрпрэтаваць і выканаць Код ўнутры вашых PHP падзельнікаў.
>> Такім чынам, давайце поп да CS50 IDE і паглядзіце на пару PHP файлаў,
працуе пару PHP файлаў, у інтэрфейс каманднага радка з CS50 IDE.
Дык вось мы ў CS50 IDE, і я ўзяў на сябе смеласць
адкрыцця файла пад назвай hello1.php.
І, мабыць, змесціва гэтага Файл з'яўляюцца толькі PHP падзельнікі там,
і паміж імі, рэха ("прывітанне, свет").
Гэта даволі простая праграма PHP.
Я проста хачу, каб пракруціць ўніз на мой акне тэрмінала тут,
і я збіраюся ўвесці PHP hello1.php, націсніце ўвод.
Прывітанне, свет.
Гэта, верагодна, тое, што мы былі спадзеючыся, што гэта зрабіць, праўда?
>> Давайце і прыняць Яшчэ адзін погляд на праграму.
hello2.php.
У значнай ступені тое ж самае, ня шмат тут адбываецца.
На гэты раз, хоць, я іду, каб заахвоціць карыстальнік, каб даць мне іх імёны.
Я яшчэ раз, выкарыстоўваючы гэтую функцыю Readline.
$ Назва = Readline.
Гэта хуткае, "Як цябе клічуць?"
>> Мабыць я друк гэта па сваёй уласнай лініі.
А потым, так што лінія ніжэй што будзе хуткае
дзе карыстальнік можа ўвесці сваё імя.
І тады я выкарыстоўваю трохі Пераменная запыт тут на 3 лініі
раздрукаваць "прывітанне" і усе тыпы карыстальнікаў.
Такім чынам, гэта аналагічна кажучы, Прывітанне, Коска,% s, калі мы з дапамогай Printf ў С.
>> Так што давайце ісці і інтэрпрэтаваць гэтую праграму.
Такім чынам, яшчэ раз, я пракруціць ўніз на мой акне тэрмінала.
PHP hello2.php.
Як цябе зваць?
Дуг.
Прывітанне, Дуг.
У мяне таксама ёсць яшчэ адзін Файл называецца hello3.php.
Я збіраюся ачысціць экран з кіраваннем L,
і я збіраюся выканаць гэта.
Як цябе зваць?
Дуг.
Прывітанне, Дуг.
Такім чынам, паводзіны ідэнтычна hello2.php, але чаму гэта hello3.php?
>> Ну, вось у чым розніца.
У гэтым выпадку апавяшчэнне што ў радку 1 тут,
У мяне ёсць тое, што не у перыяд паміж PHP падзельнікаў.
Я проста друк out-- ці я толькі што ўвялі, "Як цябе клічуць?"
Калі інтэрпрэтатар PHP бачыць гэта, яго паняцця не мае, як інтэрпрэтаваць яго як PHP,
і таму замест таго, няўдачу, гэта проста будзе выплюнуць.
>> Так заўважыць у радку 3 зараз, мой заклік да Readline, няма хуткае больш.
Я проста на самай справе адбываецца, калі, мэтай якіх РНР бачыць гэта,
гэта будзе раздрукаваць "Як цябе зваць?"
Затым ён бачыць, аб, добра, here's-- усё астатняе будзе
інтэрпрэтуецца як PHP, так Вось чаму гэта працуе.
Я не абавязкова падкажуць карыстальнік, мэтай якіх ўнутры Readline,
Я магу проста яго межамі з PHP падзельнікаў
і дазваляюць інтэрпрэтатар проста раздрукаваць яго для мяне.
>> Такім чынам, вы на самой справе не толькі мець адзін набор PHP падзельнікаў
у вашай праграме.
Вы на самой справе можа мець некалькі з іх, адкрыцця і закрыцця іх па меры неабходнасці.
Такім чынам, давайце зірнем на пару праграм
у CS50 IDE, дзе мы праілюстраваць гэтую ідэю правядзення
некалькі камплектаў абмежаванай PHP.
>> ОК, так што я адкрыў файл тут называецца add1.php.
І заўважце, што тут адбываецца.
Як і раней, у мяне ёсць адзін PHP набор падзельнікаў.
Я збіраюся раздрукаваць паведамленне, "Калі ласка, дайце мне нумар."
Тады я іду чытаць радок і захоўваць яго ў зменнай $ num1.
Тады я іду, каб раздрукаваць яшчэ раз.
Дайце мне другі нумар.
Чытайце лінію ад карыстальніка, магазін што яны ўвялі ў ў $ num2.
Дадайце іх разам і захоўваць, што прывесці ў зменнай $ сума,
а затым раздрукаваць, "Аб сума гэтых двух лікаў
ёсць ", а затым интерпеллировать ёсць зменная $ сума.
Так што давайце проста запусціць гэтую праз перакладчыка
каб пацвердзіць, што гэта тое, што мы чакаем.
PHP add1.php.
Калі ласка, дайце мне нумар, 3.
Калі ласка, дайце мне другі нумар, 4.
Сума гэтых двух лікаў 7.
Вось 3 плюс 4.
ДОБРА?
Так нічога не страшна фантазіі ёсць.
>> А цяпер давайце адкрыем add2.php.
Тут я атрымаў пару PHP падзельнікамі наборы ёсць, праўда?
Лініі 1, 3-- лініі 1 і 3 няма PHP падзельнікі.
Таму, калі перакладчык бачыць іх, гэта проста
збіраецца пляваць дакладна тое, што я набраў там ужо.
Дык вось, дзе я рабіць усё мае падказкі.
На лініі 2 і 4, мы бачым, што вельмі знаёмыя $? PHP роду абмежавальнікаў,
так што гэтыя дзве лініі будзе выконваць, як PHP.
І тады на лініі 5, у мяне ёсць гэта дзіўная рэч прама тут, прама?
Гэты кут кранштэйны Пытальнік знак роўнасці.
Я нават павялічыць крыху далей.
Вы можаце бачыць, што гэта тое, што я казаць аб прама, гэта $? =.
>> Аказваецца, што гэта так часта, што прычынай таго, што мы адкрываем набор PHP
падзельнікі, каб раздрукаваць значэнне.
І гэта ўсё, што мы збіраемся рабіць.
Але нават скарачэнне для гэтага.
$? = Па-за PHP скарачэнне для кажучы нешта накшталт $? PHP Эхо сума
з num1 і num2.
Так што гэта проста яшчэ адзін аблічваць для гэтага.
>> Так што, калі я запускаю гэтую праграму, PHP add2.php.
Я маштабу ўніз няшмат.
Калі ласка, дайце мне нумар, 4.
Калі ласка, дайце мне другі нумар.
А так як я на самой справе не хвалюе тыпы дадзеных у PHP, я магу сказаць, 4.8.
Сума гэтых двух лікаў складае 8,8.
Гэтая функцыя паводзіць сябе даволі шмат сапраўды гэтак жа, як і варта было чакаць,
а таксама.
І ў мяне ёсць яшчэ адзін адкрыты тут называецца dice.php.
Паспрабуйце гэта зноў.
У мяне ёсць яшчэ адзін тут называецца dice1.php, які таксама, бачыце,
мае той кут кранштэйны пытанне пазначыць роўныя абазначэння знак там,
але звернеце ўвагу, што ў гэтым выпадку я выкліку функцыі рандаў, якія, як вам
б чакаць генеруе выпадковы лік.
"Вы выкінуў", і гэта будзе разлічыць некаторы выпадковы нумар, мод 6 +
1.
Так што дасць мне нумар у дыяпазоне ад 1 да 6.
>> Памятаеце, што мод 6 дасць мне лік у дыяпазоне ад 0 да 5,
але калі я імітацыі косткі рулоны, што тое, што я тут раблю,
Я не хачу, каб гэтыя косткі, каб перайсці ад 0 5, я хачу, косці, якія ідуць ад 1 да 6.
І так гэта спосаб атрымаць мне ў дыяпазоне ад 1 да 6.
Я раблю гэта ў два разы.
Такім чынам, відавочна я пракаткі дзве косткі ў гэтай праграме.
>> Так што я буду ачысціць экран, і я зраблю PHP dice1.php.
Вы згарнуў 4 і 2.
І калі я запускаю праграму зноў, вы пракату 5 і 5.
Такім чынам, кожны раз, калі я запусціць праграму, Я атрымліваю розныя нумары,
таму што кожны раз, калі я так, ён пачынае зноў.
Гэта будзе генераваць новы набор выпадковых лікаў для мяне.
>> Так што, калі мы прывыклі да запускаць праграмы з C,
мы прывыклі набіраць ./ назва праграмы, праўда?
Вось як мы зрабілі ўсё нашы праграмы ў C гэтага часу.
Мы можам зрабіць гэта ў PHP, а таксама дадаўшы тое, што называецца
прытон да пачатку нашага PHP-файл.
Я ведаю, што гэта свайго роду дурныя словы.
Гэта скарачэнне хэш выбуху.
Гэта першыя два знака ёсць.
Памятаеце, што мы называем клічнік часта челку ў інфарматыцы.
Яна таксама можа быць рэзкага выбуху.
Там ёсць пара спосабаў інтэрпрэтацыі яго.
Але гэта ў асноўным адмысловы выгляд каманды, што РНР
разумее, як, ну, я хачу Вам выканаць гэтую праграму,
па-відаць, / карыстальнік / бен / PHP, які на самай справе, дзе РНР
спецыяльна жыве ў нашай сістэме.
Так it's--, што тут адбываецца, інтэрпрэтатар разумее, аб,
Я, мабыць, мяркуецца выкарыстаць у гэтай праграме, каб запусціць гэты файл.
І так як дазваляе прапусціць крок
таго, каб сказаць, PHP something.php.
Там яшчэ адна выгада Тут, які з'яўляецца тое, што, калі мы
хочам, каб нашы праграмы на працаваць, як чакалася, мы
трэба зрабіць нешта пад назвай змена правоў доступу да файлаў.
І мы будзем go--, і мы кажам трохі трохі больш змены дазволаў пра файлавыя
у нашым відэа на MVC, але досыць сказаць, што гэта тое, што вам трэба зрабіць,
для таго, каб зрабіць свой .php файлы выкананымі.
Такім чынам, давайце зірнем на гэта як наш апошні прыклад больш у CS50 IDE.
>> Дык вось у IDE ў мяне ёсць два файлы ў гэтым Каталог PHP, якія з'яўляюцца, каб не быць
называецца .php.
У мяне ёсць функцыя, званая add-- У мяне ёсць файл называецца add3
і файл называецца dice2.
Такім чынам, давайце хутка глядзець і адкрыць add3.
І, як вы бачыце, у пачатку майго файла ў мяне ёсць гэты прытон, праўда?
Гэты хэш марка клічнік.
Цяпер вы будзеце, магчыма, таксама заўважыць, што па некаторых прычынах,
Я не ёсць якія-небудзь сінтаксіс вылучаючы больш,
і гэта тое, што я згадваў раней, які быў, што калі я не называю мой файл
.php, я не маюць перавагу падсвятлення сінтаксісу больш.
Гэты файл называецца проста add3.
Так што я магу запусціць яго ў далейшым з ./ add3 і ня ./ add3.php.
>> Такім чынам, reason-- гэта яшчэ добра, гэта па-ранейшаму дзейнічае PHP,
але гэта не падсветкай сінтаксісу, таму што гэты файл не называецца something.php.
Гэта адзінае рэальнае адрозненне тут, плюс прытон.
Такім чынам, давайце паглядзім, што адбываецца, калі Я стараюся і запусціце гэтую праграму.
./ Add3, як я б з С. Bash.
./ Дазвол add3 адмоўлена.
Гэта тое, што вы збіраецеся каб убачыць, калі вы забыліся
выкарыстоўваць каманду CHMOD змяніць правы доступу да файла.
>> Як высвятляецца, рэгулярныя PHP файлы не могуць проста быць выкананы.
Яны могуць быць інтэрпрэтаваныя, але мы рабіць нешта крыху рознае тут.
Мы яго выканання.
І таму мне трэба, каб дадаць дазвол выканання, CHMOD а + х да add3.
Тады я магу сказаць ./ add3.
Калі ласка, дайце мне нумар.
5, 6.
Сума гэтых двух лікаў 11.
>> Сапраўды гэтак жа, я ўжо правы змененымі dice2, так што я магу проста набярыце ./ dice2,
Вы згарнуў 1 і 1, вы пракат 5 і 4, і гэтак далей.
>> Дык вось у значнай ступені Ідэя сінтаксісу PHP, праўда?
Там вельмі шмат, каб прайсці, я ведаю.
Але, спадзяюся, вы бачылі, што ў цяперашні час PHP на самай справе не так ужо адрозніваецца ад C
і сапраўды дае нам магчымасць прымаць рэчы на ​​прыступку вышэй або два.
Мы сапраўды не прыйдзецца турбавацца занадта шмат about-- мы сапраўды ня
павінны занадта турбавацца аб дэталі нізкага ўзроўню мы
прыйшлося турбавацца а с З, праўда?
Мы можам засяродзіцца на больш Узровень рэчы, якія PHP
дазваляе нам рабіць і прымаць для разумеюцца, што ён будзе працаваць на нас.
Так гэта дае нам магчымасць зараз, пераход ад С да РНР
каб праграмы, якія з'яўляюцца значна больш Комплекс і, магчыма, значна больш надзейнымі.
>> Так што я спадзяюся, што вы весела працаваць з PHP, і я Дуг Лойд.
Гэта CS50.