داگ لوید: بنابراین ما به انجام بسیاری از کار در C، و C واقعا سرد است زبان به دلیل آن به شما می دهد توانایی به شیرجه رفتن واقعا سطح پایین را به برنامه های خود را. ما را وادار به انجام همه چیز به عنوان واقعا دقیقه به عنوان دستکاری بایت فرد از حافظه است. به یاد بیاورید که علائم واقعا ما اجازه می دهد که انعطاف پذیری. اما ما همیشه نیاز به که سطح ریز از جزئیات در برنامه های ما؟ احتمالا نه، درست است؟ و اگر ما در حال رفتن به تجاری کردن بین بودن قادر به انجام واقعا، واقعا همه چیز دقیقه و واقعا، واقعا چیزهای بزرگ است که ما لازم نیست به فکر می کنم درباره ما لازم نیست برای پیاده سازی این ایده واقعا بزرگ اگر آنها در حال حاضر در برای ما ساخته شده است، به طور کلی برای ساخت و ساز بزرگ برنامه ها و پروژه های بزرگ، ما احتمالا در حال رفتن به جانب داشتن چیزهای زبان های دیگر ساخته شده است برای ما، به جای داشتن مسائل سطح پایین. و این که در آن PHP واقعا در می آید. در حال حاضر، یکی از دلایل که ما در PHP CS50 آموزش است که آن را به شدت توسط الهام C. و در واقع، به نظر من، در واقع دو وجود دارد زبان اجدادی که بسیار شایع هستند امروزه. C و LISP. و آنها زبان ساز هستید چرا که هر برنامه نویسی مدرن دیگر زبان است که توسعه یافته از آن به بعد الهام گرفته است در یک یا نحوی دیگر. PHP بسیار شبیه است که از لحاظ دستوری به C، در حالی که زبان هایی مانند طرح، به عنوان مثال، ممکن است شما از شنیده می شود، به شدت توسط یک زبان الهام نام LISP، که یک زبان قدیمی تر است. بنابراین به این دلیل که ما آموزش PHP در CS50 است که، با دانستن C به عنوان اساسا عنوان شما در این مرحله انجام دهید، برداشتن پی اچ پی، که به شما می دهد توانایی انجام کارهای سطح بسیار بالاتر از C می کند، نه که خیلی از مانع، چون شما در حال حاضر ایده اصلی از نحو. C در اطراف برای تقریبا 45 سال در این نقطه است. PHP در اطراف برای حدود 20 سال بوده است. و در آن 25 سال در میان، برنامه نویسان مشخص است که آنها بسیار می و نه توانایی های سطح بالاتر، و اشتباهات و مبارزات از 20 سال در بین به PHP و دیگر زبان های مدرن منجر شده است. یک انتخاب بزرگ از پی اچ پی زبان برای نرم افزار که برای allow-- نرم افزار that-- که در آن شما نیاز به انجام کارهایی که در C در واقع پیچیده است. بنابراین برای مثال، کار با رشته ها در سی است بسیار پیچیده است، چرا همانطور که می دانیم، رشته ها در سی واقعا فقط آرایه از شخصیت های. این یک نوع داده ساخته شده است در این نیست. یا شاید مهمتر، چیزی است که ما حتی در C پوشش نمی دهد، چه می شود اگر شما نیاز به انجام برخی از شبکه های کامپیوتر؟ خیلی خوب؟ C است که توانایی به انجام آن، اما آن را بسیار محرمانه و بسیار دشوار به واقع انجام دهد. آیا آن را نمی شود خوب اگر زبان، راه آسان ساخته شده است در حال برای پیاده سازی شبکه های؟ و PHP یک زبان که باعث می شود این است که، و یا تسهیل آن، کمی بیشتر. همانطور که گفتم، PHP بسیار زیادی الهام گرفته است توسط C. نحو بسیار مشابه است. و پس از آن باید امیدوارم را گذار از یکی به دیگری کمی نرم تر از برخی زبان های دیگر ممکن است. شروع به نوشتن PHP، فقط باز کردن یک فایل با پسوند پی اچ پی. مشخصات فنی این است که در واقع مورد نیاز، اما اگر شما می خواهید همه چیز مانند نحو برجسته در IDE، به طوری که نوع نام، و یا نام متغیر ها، توابع، شما می دانید، کلمات کلیدی از زبان در برجسته رنگ خاص، شما به طور کلی می خواهم به نام فایل های خود را با یک پسوند فایل خاص است. بنابراین ما فایل ما به نام ام با پی اچ پی فرمت، اما پس از آن نیز با پی اچ پی، تمام کد پی اچ پی که ما در آن ارسال فایل به این پی اچ پی محصور می شود جداکننده که ما می بینیم در اینجا بر روی صفحه نمایش. براکت زاویه؟ پی اچ پی شروع می شود. سپس ما همه ارسال PHP ما کد است که ما در می خواهید و بین. و بعد ؟ براکت زاویه برای بستن. اگر ما این کار را نکنید، پس از آن چه اتفاقی خواهد افتاد؟ آن را نمی را به سقوط. آن را به رفتن نیست واقعا برنامه های ما را خراب کردن. اما آن را نه به اثر است که ما می خواهیم. چه اتفاقی خواهد افتاد، واقعا، که زمانی که ما سعی و اجرای این برنامه، همه چیز بین این جداکننده نیست در حال رفتن به چاپ شود کلمه به کلمه. آن را به رفتن نیست در واقع کد اجرا، آن را به تنها آن را چاپ کلمه به کلمه. حالا چرا مورد است؟ بنابراین C همان چیزی است که شناخته شده به عنوان یک زبان وارد شده است. شما احتمالا با آن آشنا هستید مرحله از ساخت برنامه های خود، تبدیل فایل های ج و فایل های حجتاله به یک فایل اجرایی با آرایش، به طور خاص با استفاده از صدای جرنگ جرنگ به عنوان کامپایلر ما. PHP، هر چند، نیست این معادل است. PHP چیزی است که یک نام زبان تفسیر شده است. و به چه معنا است؟ خب، به این معنی که ما لازم نیست برای تبدیل کد منبع خود را به صفر و آنهایی که پیش - پیشاپیش. در عوض، یک برنامه وجود دارد، که نیز نامیده می شود پی اچ پی، پی اچ پی و که می داند می توانید از آن را در پرواز است. این واقعا دقیقا دقیق نیست، اما آن را یک قیاس خیلی خوب از آنچه اتفاق می افتد. این تفسیر آن صفر و در پرواز است. و بنابراین اگر آن را نمی داند چگونگی پردازش چیزی، اگر نمی داند که چگونه به پی اچ پی، شما احتمالا خواستم برای قرار دادن متن در آن وجود دارد که، درست است؟ شما احتمالا خواستم برای قرار دادن کد امنیتی را در وجود دارد، حتی اگر آن را بین PHP-- نیست جداکننده پی اچ پی. But-- طوری که آن را نمی آن را حذف کنید را برای شما، آن را فقط به واقع آن را دور بیندازید. پس از آن را به چاپ آن را به روی صفحه نمایش. این به نظر می رسد مانند آن را بد چیز است، اما در واقع آن را برای رفتن به یک واقعا چیز خوبی است، به عنوان ما بینیم هنگامی که ما در مورد آن صحبت پی اچ پی توسعه وب، زیرا به این معنی که ما می توانیم متفرق PHP و HTML. ما می توانیم آنها را با هم به استفاده از ایجاد یک صفحه وب پویا تر. اما بیشتر که در ویدئو در PHP توسعه وب است. پس چه نحو PHP است؟ این چیزی است که این فیلم همه چیز در مورد. بیایید در مورد آن صحبت کنید. بنابراین برای شروع کار، متغیر. متغیرهای PHP وجود دارد. تنها دو بزرگ وجود دارد تفاوت از C. اول این است که وجود دارد این است که هیچ تعیین نوع. ما لازم نیست که به نوع int، کاراکتر، شناور، تمام چیزهای که. ما لازم نیست که به انجام این کار دیگر. PHP یک زبان مدرن است. این می تواند به کشف کردن آنچه شما هستید تلاش برای انجام یا یک بهترین حدس می زنم به آنچه که شما در حال تلاش برای انجام. به طوری که خیلی خوب است. مساله دیگر این است که همه متغیر نام باید با یک علامت دلار شروع می شود. که تنها چیزی که برای رسیدن به استفاده می شود. این کمی عجیب و غریب، به دلیل آن را به طوری که PHP می تواند درک چه یک متغیر است و چه چیزی نیست. به طوری که هر نام متغیر با یک علامت دلار شروع می شود. بنابراین در C ما ممکن است چیزی می گویند مثل این، اعضای هیات ایکس = 54. ما لازم نیست که به انجام این کار دیگر در پی اچ پی. فقط می توانیم بگوییم $ X = 54. و می توان گفت، برای مثال، در C، اگر ما بود پوند شامل حجتاله CS50 فایل هدر، ما می گویند عبارت رشته = "این CS50 است." ما لازم نیست برای انجام این کار در PHP، هر چند. فقط می توانیم بگوییم $ عبارت = "این CS50 است." و در واقع، در حال حاضر رشته یک نوع داده ساخته شده است در در پی اچ پی، و یا به جای درک PHP چه یک رشته است. آن را جدا از یک آرایه از شخصیت های مانند آن را در C. است همه مورد علاقه خود را عبارات شرطی از C هنوز هم در دسترس برای شما به استفاده می باشد. بنابراین هیچ انتقال بزرگ وجود دارد. ما می توانیم می گویند ما می توانیم اگر اظهارات مثل این. اگر $ Y 43، یا $ Z = 15. به طوری که خیلی سر راست است. ما می توانیم اگر و دیگری داشته باشد. ما می توانیم اگر و اگر دیگری داشته باشد. و چیزی متوجه بسیار خوب اینجا، و این مرتب کردن بر اساس یکی از آن است مزایای استفاده از پی اچ پی در مقابل، اطلاع C چه عملکرد ما با استفاده از اینجا نیست؟ ما با استفاده از == برای مقایسه متغیر، نام $، به یک رشته است. ما نمی تواند انجام دهد که در C، درست است؟ ما مجبور به استفاده از یک تابع به نام StrComp یا StrEndComp و یا هر از پسرعموهای مرتبط با آن. و به این ترتیب در حال حاضر ما این مزایا را ببینید. ما لازم نیست برای انجام کاری به عنوان احمقانه و یا شاید غیرشهودی به عنوان یک تابع به نام پاسخ StrComp اگر من فقط می خواهم به آزمون آیا یک مقدار برابر یک رشته است. من فقط می تواند استفاده برابر است با برابر، مانند من می تواند هر چیز دیگری را انجام دهد. بنابراین یک مزیت وجود دارد. گاهی اوقات، به هر حال، شما ممکن است اگر دیگری به عنوان یکی ببینید کلمه، ELSEIF. و این خوب است در PHP است. بنابراین گاهی اوقات شما ممکن است که. این یک اشتباه تایپی نیست. PHP در واقع درک ELSEIF. من نمی دانم که چرا آنها تصمیم به پیاده سازی آن، اما همانطور که ما چند بار دیده ام در سراسر فیلم های ما تا کنون، ما برنامه نویسان آن را دوست دارم اگر ما می توانیم همه چیز به سرعت انجام دهید، پس از گرفتن که فضای خلاص شدن از شر ظاهرا یک مزیت بزرگ است. به طوری که اگر و ELSEIF است. ما همچنین اپراتور سه گانه دارند، فراخوان روده بزرگ علامت سوال، برای فرم واقعا کوتاه اگر دیگری و یا مشروط شاخه. و ظاهرا، در این، آنچه که ما در حال تلاش برای انجام در اینجا نسبت دادن متغیر $ نامه درست یا نادرست، بسته به اینکه آیا $ var را یک حرف است. پس این است که بسیار شبیه به isalpha که ما با از C. آشنا این نوع از معادل آن در PHP است. این تابع این است که ظاهرا نام ctype_alpha، اما این که چگونه ما آن را انجام در PHP. بنابراین تمام این است که رفتن به است، اگر $ var را یک نامه است، $ نامه درست است. اگر $ var است نامه نیست، $ نامه نادرست است. ما همچنین دستور switch هنوز هم. ما به خاطر کسانی که از C است. در بالا بسیار وجود دارد، این که چگونه ما انجام می دهیم چیزی شبیه به روی int و یا رشته است. بنابراین PHP است که در ساخته شده است. ما کتابخانه CS50 نیاز ندارد. ما فقط می توانید استفاده از readline تابع. چاپ آنچه که برای انجام شده است این پیام را، "دولت شما، مدیر فروش "، و سپس به چشمک زدن سریع انتظار برای کاربر را به ورودی برخی از اطلاعات. در حال حاضر چه چیز دیگری متوجه ما می توانیم با سوئیچ انجام. اگر شما قبل از آن استفاده می شود، شما ممکن است که سوئیچ به یاد محدود است تقریبا به اعداد صحیح و شخصیت ها، اما در حال حاضر ما می توانیم رشته استفاده کنید. و در واقع، دستور switch در PHP است انعطاف پذیر بسیار کمی بیشتر نسبت به پسر عموی خود را از C. حلقه. درست مثل شرطی، همه مورد علاقه های قدیمی خود را هنوز هم وجود دارد. ما در حالی که حلقه های آن شمارش از 1 تا 100 در این مورد. ما در حالی که حلقه انجام که تعداد از 1 تا 100، و ما برای حلقه دارند که تعداد از 1 تا 100. بنابراین هیچ جهش بزرگ وجود دارد. نحو بسیار است خیلی دقیقا همان است، جز در حال حاضر ما با استفاده از علامت دلار متغیر به جای از تعریف متغیرها عدد صحیح یا چیزی شبیه به آن برای شمارنده ما است. اینجا جایی است که همه چیز گرفتن خیلی بهتر از C، هر چند. آرایه ها. پس به یاد آورید هنگامی که ما بود صحبت کردن در مورد C، در برای ما به رشد و کوچک مجموعه ای از اطلاعات، ما نیاز به مرتب کردن بر اساس پیش فرض به این ایده از یک لیست پیوندی، چون آرایه C در اندازه ثابت شد. ما می تواند آنها را کوچک نیست. ما می تواند آنها را رشد می کنند. ما تا به حال به تخصیص مجدد حافظه و انجام تمام این جنون و یا استفاده از لیست های پیوندی، که تا کاملا یک فضای کمی بیشتر. اما در پی اچ پی، آرایه ها در اندازه ثابت نیست. آنها می تواند رشد و آنها می توانند کوچک. پس دوباره، این 20 سال است که وجود داشته بین انتشار اولین C و اولین نسخه پی اچ پی، ما تصمیم گرفتیم که شما می دانید، این امر می تواند واقعا بزرگ اگر ما می تواند این کار را. و بنابراین ما این اجرا شده است. بنابراین آرایه PHP در ثابت نیست اندازه، و چون پی اچ پی را واقعا نمی دارند برنامه نویس جلو مفاهیم انواع، ما می توانیم انواع داده مخلوط در آرایه ما، بیش از حد. بنابراین ما حتی نمی باید به استفاده از تمام اعداد صحیح یا تمام نقاط شناور، ما می توانید ترکیبی از همه انواع مختلف در یک آرایه تک. اعلام یک آرایه است بسیار ساده. درست مثل هر متغیر دیگر است. $ عدد رده آرایه = (1، 2، 3، 4)، آرایه بودن یک تابع است که به PHP ساخته شده است که یک آرایه برای شما ایجاد. این باعث ایجاد یک مجموعه ای از چهار مقدار، اعداد در این مورد، به نام $ عدد رده. و بیش از یک راه برای انجام آن وجود دارد. و ما قصد داریم به این زیادی در PHP را ببینید. PHP توسط بسیاری از متفاوت است مردم و رشد می کند و رشد می کند و رشد می کند. معمولا وجود ندارد فقط دو یا سه راه برای انجام کاری در پی اچ پی، معمولا مانند 10 یا 20 وجود دارد. در اینجا تنها دیگر مشترک راه به اعلام یک آرایه. $ عدد رده = مربع براکت 1، 2، 3، 4. پس این است که مرتب کردن بر اساس شبیه به زاویه C است br-- نماد آکولاد، نه. $ - و یا این امر می تواند عدد رده INT مربع براکت برابر آکولاد 1، 2، 3، 4. در PHP آن را $ عدد رده = مربع براکت 1، 2، 3، 4. اما هر دو از این نمونه در اینجا به من بدهد آرایه ای از چهار در این مورد اعداد صحیح است. اگر من می خواهم به رویه چیزی در حال حاضر؟ خب من فقط می توانم بگویم $ عدد رده 4، که باز هم، ما هنوز هم از 0 شمارش در اینجا در پی اچ پی، خواهد بود پنجم عنصر از آرایه. من فقط می توانم بگویم که. من قصد ندارم به رنج می برند SEG گسل، به دلیل آرایه من است تنها رفتن به رشد را به جای که. این خیلی خوب، درست است؟ و در واقع، من حتی نمی نیاز به مشخص که در آن من می خواهم به آن را قرار داده است. من فقط می توانم بگویم این است و فقط رویه آن را بر روی به پایان، یا من می توانم حتی فقط می گویند $ عدد رده 20 یا 1،000. این واقعا مهم نیست. آن را هنوز هم فقط رفتن به رویه آن را بر روی به پایان است. بنابراین من می تواند به رشد، و as-- ما رفتن به آن را پوشش در اینجا، اما من می توانم پیوند یا نوار عناصر خارج از آرایه به عنوان خوب، و آرایه کوچک خواهد شد به جای که فضا در حال حاضر گم شده و یا خالی است. راه دیگری وجود دارد به رویه چیزی را به یک آرایه، که یک تابع به نام array_push است. بنابراین دوباره، فقط این ایده که قادر به انجام کارهای بسیاری از روش های مختلف. بنابراین ما دیده ایم سه راه مختلف در حال حاضر به رویه عنصر دیگری بر روی یک آرایه. بنابراین این می افزاید: عنصر دیگری به پایان آرایه $ عدد رده. و ما می توانیم مخلوط کردن انواع داده های ما. بنابراین من می تواند یک آرایه از نه 1، 2، 3، 4، اما 1، درست است، 3، 4، که در آن واقعی بولی است، و سپس اگر من می خواهم به رویه در عنصر دیگر به آن آرایه، شاید یک رشته، رشته "پنج،" من می توانم انجام این کار. و در حال حاضر آرایه من خواهد 1، واقعی، 3، 4، پنج. کلمه پنج، نه عدد 5. بنابراین بسیاری از انعطاف پذیری وجود دارد. انعطاف پذیری می شود حتی بهتر، هر چند، چون پی اچ پی دارای پشتیبانی از چیزی به نام یک آرایه انجمنی. و ما بر مبهم صحبت آرایه های انجمنی در مورد در C در زمینه جداول هش، به دلیل چه آرایه های انجمنی واقعا همه در مورد در حال ساخت کلید نگاشت جفت ارزش. و در این مورد، اگر keys-- ما را با آرایه از C آشنا هستید، کلید اعداد شاخص هستند. 0، 1، 2، 3. و ارزش چیزی است که ما که آرایه 0، 1 آرایه، آرایه 2، و غیره. بنابراین کلید شاخص هستند، و ارزش آنچه در آن مکان آرایه، مشخص شده توسط که شاخص. اما در پی اچ پی، ما لازم نیست برای انجام این کار مفهوم آرایه 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. آرایه دارای عناصر N در در، شاخص معتبر هستند 0 تا N منهای 1. بنابراین ما می تواند یک حلقه for استفاده قدم از طریق هر عنصر. اما این واقعا نمی مورد دیگر، درست است؟ در حال حاضر که در آن ما کلید جفت ارزش نگاشت که در آن کلید کلمات، چگونه ما تکرار بیش از همه از کلمات؟ خب، خوشبختانه، پی اچ پی یک راه برای مقابله با این بیش از حد، و بنابراین ما تماس پرش به حلقه برای یک ثانیه برای معرفی یک نوع چهارم از حلقه که وجود دارد در PHP به نام حلقه foreach. و چه می کند این است که حلقه foreach آن همان ایده اساسا. شما می توانید آن را برای هر نوع آرایه استفاده کنید. اما آن را اساسا همان ایده به عنوان یک حلقه for، به جز به جای استفاده از اعداد شاخص، شما فقط این نحو که در آن عجیب و غریب شما هر عنصر پاسخ یک نام برای اهداف این حلقه. بنابراین در این مورد، حلقه foreach ($ $ آرایه به عنوان کلید). در واقع، همانطور که یادداشت نظر، در داخل آن حلقه foreach، آن را به بیش از هر عنصر از آرایه $، که معمولا رفتن به یک آرایه انجمنی، اما واقعا می تواند هر نوع آرایه که شما در PHP می خواهید. و هر بار که در یک حلقه for شما ممکن است $ آرایه براکت گفته اند $ من، شما فقط می گویند $ کلیدی است. به طوری که $ کلیدی یک نام مستعار برای هر می شود شاخص PHP آرایه انجمنی خود را، و بنابراین شما می توانید آن را مانند که استفاده کنید. بنابراین برای مثال، ما در حال حاضر کردم آرایه پیتزا ما. من به نوعی آن را جمع را به گوشه ای وجود دارد بنابراین ما می توانیم آن را به انجام یک مثال سریع استفاده کنید. اگر من می گویند حلقه foreach ($ پیتزا به عنوان $ پیتزا)، خوب، چه اتفاقی می افتد؟ خب، من قصد دارم از طریق هر تکرار عنصر از آرایه $ پیتزا، و در این کار، من قصد دارم به پاسخ هر عنصر، زمانی که من در داخل هستم از بدن که برای حلقه، $ پیتزا. به طوری که مرتب سازی بر اساس یک است ایستاده در، به یاد بیاورید، که $ پیتزا ایستاده در برای گفتن است $ پیتزا براکت $ من اگر ما برای حلقه، که در آن ما با استفاده از می تواند از $ من = 0 تا، در این مورد رفتن، $ I = 3. اگر ما جفت کلید ندارد در اینجا، این امر می تواند عنصر 0، 1، 2، 3، و ما یک حلقه for به استفاده از $ پیتزا 0، $ پیتزا 1، $ پیتزا 2، $ پیتزا 3. بنابراین در حال حاضر فقط $ پیتزا جایگزین برای آن کلید فردی است. بنابراین آنچه که این رفتن برای چاپ کردن؟ من چاپ $ پیتزا. چه هستم من را پیدا at-- اگر من نسخه قابل چاپ کردن $ پیتزا، $ من؟ درست؟ اگر من قصد دارم برای چاپ کردن عنصر i ام از پیتزا، چه هستم من به چاپ؟ من قصد دارم برای چاپ کردن ارزش در آن محل، درست است؟ اگر ما انجام شد این در زمینه C، ما معمولا نمی تکرارکننده ما استفاده کنید متغیر، اعضای هیات من = 0، من کمتر از 3 است، من + +، برای چاپ کردن 0، 1، 2، 3. ما در حال چاپ کردن آرایه 0، آرایه 1، آرایه 2، آرایه 3. و بنابراین، آنچه این چاپ این است. این لیست از قیمت است. 8.99، 9.99، 10.99، 11.99. در حال حاضر توجه داشته باشید سریع در اینجا. یک حلقه foreach لزوما نسخه قابل چاپ کردن همه چیز در جهت. این تضمین شده نیست. این حالت معمولا می کند. آن را معمولا به سفارش در بر که عناصر به آرایه اضافه شده است، بنابراین فقط خرس که در ذهن. این ممکن است به منظور شود. اما یک حلقه foreach تکرار خواهد در سراسر هر عنصر از آرایه در سوال. در این مورد، دوباره، که آرایه $ پیتزا است. من می توانم نحو، اگر تغییر، هر چند من می خواهم هر دو کلید و ارزش. به جای گفتن $ پیتزا عنوان $ پیتزا، من می توانم این می گویند. و اگر شما در آنچه من نگاه برجسته به رنگ سبز در اینجا، آن را مانند یک نقشه برداری جفت ارزش کلیدی به نظر می رسد. و بنابراین اگر you-- حتی اگر شما نمی کاملا مطمئن چه آن را انجام دهید، شما احتمالا می توانید حدس بزنید که $ شکوه است که به کلید در این مورد و $ قیمت است برای رفتن به ارزش. بنابراین من در حال حاضر جایگزین هر عنصر از $ پیتزا به عنوان یک جفت ارزش کلیدی، و در حال حاضر من می توانم به کلید مراجعه کنید و ارزش، که ممکن است در دستی، برای مثال، به شرح زیر است "تمام" - این بسیاری از است چاپ بر روی here-- "یک کل" شکوه "پیتزا هزینه $" قیمت، و سپس من نسخه قابل چاپ کردن یک دوره و یک بک اسلش N. بنابراین در حال حاضر، توجه دوباره من به اینترنت دسترسی دارند یک کلید، $ شکوه، و یک مقدار، $ قیمت. بنابراین می تواند به شما حدس بزنید چه این است که برای چاپ کردن؟ در بسیاری از اظهارات چاپ وجود دارد، اما تنها یک بک اسلش نفر وجود دارد، پس از آن را به چاپ چیزی در entire-- را در یک خط از کد. اگر من می توانم به کلید اشاره و ارزش، و سپس در حال حاضر، به جای تنها بودن قادر برای چاپ کردن قیمت ها، من می توانم نسخه قابل چاپ کردن چیزی شبیه به این. "A پنیر پیتزا طیف هزینه 8.99 $." و حالا من با استفاده از تمام keys-- پنیر، پپرونی، سبزی، بوفالو chicken-- و ارزش ها. 8.99، 9.99، 10.99، 11.99 بنابراین این فقط یک راه متفاوت است برای انجام یک حلقه foreach که به جای فقط به شما به ارزش دسترسی داشته باشید، آن را فقط به you-- آن را به شما می دهد دسترسی به کلید ها و مقادیر. بنابراین چاپ کردن اطلاعات است. من در حال حاضر آن را انجام داده چند روش های مختلف، شما ممکن است متوجه. دو تابع را در درجه اول ما دیده می شود چاپ و اکو. و برای تقریبا تمام مفاهیم و اهداف، آنها دقیقا همان است. They're-- یک بسیار ظریف وجود دارد تفاوت که حتی ارزش وارد شدن به، اما اساسا در همه جا شما می توانید چاپ شما احتمالا می توانید استفاده کنید استفاده اکو است. و این تنها دو است. PHP است که بسیاری از مختلف راه هایی برای چاپ همه چیز، و همچنین دارای راه هایی برای ادغام متغیرهای را به وسط رشته است. بنابراین از C به یاد، شما انجام به یاد داشته باشید آنچه تابع ما می توانیم به جای متغیر استفاده کنید به همه چیز ما می خواهیم برای چاپ کردن؟ شما احتمالا استفاده از این عمل بسیار زیادی است. تابع () printf، درست است؟ بنابراین این چیزی است که ما قبل از داخل به حال از چهار چوب از حلقه foreach ما است. ما تا به حال این پنج عبارت print جداگانه، این دلیل که تنها بود راه من واقعا در آن زمان می دانستند چگونه برای چاپ کردن پیام است. من نمی دانم چگونه به ادغام متغیر $ شکوه را به کد PHP است. خب، اگر من فقط یک حدس گرفته وحشی، تابع () printf، آن را در واقع کار کرده اند. تابع () printf یک تابع است که من می توانید استفاده کنید در پی اچ پی، درست مثل من می توانید آن را در C. استفاده و به این ترتیب چیزی شبیه به این، تابع () printf، باز هم، ما با آن آشنا هستید. اولین٪ s را جایگزین با مقدار $ شکوه. ٪ s را جایگزین دوم با مقدار $ قیمت. و بنابراین من interpellating، که فقط یک راه فانتزی است گفت: من چسبیده متغیرها را به آن مکان. بنابراین من متصل کردن $ شکوه که در آن ٪ s را قرمز است و $ قیمت که در آن آبی٪ s را است، و پس از آن من این پیام را دریافت، "A پنیر پیتزا طیف هزینه 8.99 $." نه تنها راهی که من می توانید آن را انجام دهید، هر چند. شاید من مایل به استفاده از این روش است. این است که در واقع چه اغلب به نام استیضاح متغیر است. من می توانم اکو استفاده کنید. من می توانم یک چاپ بیش از حد استفاده، همانطور که خواهیم دید. اما آنچه اتفاق می افتد که اینجا هستید؟ اول از همه، من به علامت دلار فرار کنند. از آنجا که به یاد داشته باشید، زمانی که ما در واقع چاپ کردن قیمت از پیتزا، من در واقع آنها قالب بندی شد آمار و ارقام پولی با یک علامت دلار. اما ما با استفاده از علائم دلار نیز به نمایندگی نام متغیر در PHP، و به ویژه زمانی که من استفاده از این روش از اشکال مختلف متغیر بند روش استیضاح، من نیاز برای فرار از علامت دلار من تا آن را نمی کند فکر می کنم من صحبت کردن در مورد یک متغیر است. آن را به واقع، به معنای واقعی کلمه یک علامت دلار را چاپ کنید. بنابراین از آن به قیاس چه چیزی شما را در پایان وجود دارد. این کار در واقع نمی چاپ بک اسلش نفر، درست است؟ آن را چاپ یک کاراکتر خط جدید. این is-- آن را به رفتن نیست چاپ علامت دلار بک اسلش، آن را برای چاپ کردن فقط یک شخصیت علامت دلار. همان ایده. فرار توالی، چه این چیزها هستند. اما توجه کنید که من انجام نمی هر نوع از٪ s تعویض، من فقط به معنای واقعی کلمه متصل کردن در این متغیرها باشد. و به این ترتیب در this-- چه اینجا اتفاق می افتد این است که مقدار $ topping-- دوباره، فقط نگه داشتن با آنچه ما شده ایم صحبت کردن در مورد پنیر بنابراین far-- گرفتن وصل وجود دارد. و $ قیمت خواهد بود هر مقدار است در پیتزا استفاده کرد، براکت، پنیر، که 8.99 بود. و این نیز از چاپ "A پنیر پیتزا طیف هزینه 8.99 $." و مثل من گفت، من می توانم استفاده در اینجا به جای چاپ اکو، و قابلیت است تقریبا دقیقا همان. آن را چاپ کنید همین. راه دیگری هم برای انجام آن وجود دارد، و این مزیت دیگر این است از پی اچ پی کار با رشته ها. ما می توانیم الحاق رشته است. ما می توانیم این را در C، بیش از حد، با استفاده از یک تابع به نام strcat، اما باز هم، ما به حال توابع جداگانه پاسخ. این کل این آشفته برای انجام شد. ما تا به حال به پوند شامل string.h. این تولید بود، درست است؟ اما در حال حاضر من فقط می تواند استفاده از این عملگر نقطه به هم الحاق رشته ها. بنابراین من الحاق "یک کل" و پس از آن هر چه مقدار $ شکوه است، و سپس یکی دیگر رشته، "هزینه پیتزا $" و سپس الحاق هر مقدار $ قیمت است، و سپس در پایان من ضمیمه در دوره بک اسلش نفر. و این را نیز چاپ "یک کل" - دوباره، اگر ما در حال صحبت کردن در مورد اول عنصر از آرایه که پیتزا "A پنیر پیتزا طیف هزینه 8.99 $." دوره، بک اسلش نفر، دوباره، با $ شکوه و $ قیمت جایگزین برای آنچه که ما در حلقه foreach ما مشخص بود حلقه به عنوان کلید نقشه برداری جفت ارزش. PHP می توانید توابع را اداره کند. توابع مرتب کردن بر اساس بودند انتگرال به C، چنان که دیدیم. مانند متغیرهای، ما لازم نیست تعیین نوع بازگشتی این تابع، چرا که آن را واقعا مهم نیست. و ما مشخص نیست انواع داده ها از هر پارامتر، چرا که آنها واقعا نمی ماده، مانند ما در PHP دیده می شود. هر تابع معرفی شده است با کلمه کلیدی عملکرد. این که چگونه ما نشان می دهد که به پی اچ پی آنچه ما در حال صحبت کردن در مورد یک تابع است. و ما لازم نیست که مقابله با اصلی در همه، به این دلیل که مترجم، پی اچ پی مترجم، کار می کند از بالا به پایین، بدون در نظر گرفتن. اگر آن را می بیند شما می توانید یک فراخوانی تابع، آن را پیدا کردن فراخوانی تابع، حتی اگر آن را بعد می آید. اما آن را از بالا به عنوان خوانده شده پایین، بنابراین ما نیازی به مشخص، اینجا جایی که شما شروع می شود. شما در خط 1 از شروع خود را پی اچ پی و پایین کار می کنند وجود دارد. بنابراین در اینجا این است که چگونه ما ایجاد یک تابع به نام hard_square. ظاهرا یکی طول می کشد پارامتر، که من خواستار $ X. این تابع فقط پیچیده برای نشان دادن چیزهای مختلف. ما هنوز مقادیر برگشتی است. من با استفاده از یک حلقه for در اینجا. اما آن را اساسا تنها، این چه مقدار فقط $ X $ X بار است. آنچه که من در واقع انجام است فقط با اضافه کردن X به X 0 بار یا $ X به صفر بار $ X. اما آن را به طور موثر دقیقا همان ضرب $ X $ X. من هنوز هم می توانید یک مقدار بازگشت، در این مورد $ نتیجه، و من تابع در PHP ساخته شده است. در اینجا شما ممکن است آن را در متن استفاده کنید. بنابراین شاید من در داخل برخی از فایل PHP هستم. توجه به رنگ آبی وجود دارد که من جداکننده PHP من استفاده می شود، براکت زاویه پی اچ پی علامت سوال است. در میان این همه از پی اچ پی که من می خواهم به نوشتن. بنابراین من ظاهرا رفتن به get-- من قصد دارم به سریع کاربر به من یک عدد، اینترنتی را که متغیر، اینترنتی که در متغیر $ X، هر آنچه که آنها به من داد. سپس من قصد دارم به اکو hard_square که ارزش، و ظاهرا رفتن به رویه در یک خط جدید و همچنین، و سپس بعد از من شما تعریف تابع hard_square تا که زمانی که من را پاسخ به hard_square، آن را می داند آنچه که من صحبت کردن در مورد. در حال حاضر، من هم می تواند انجام دهد چیزی شبیه به این. این کمی متفاوت است. این تقریبا دقیقا همان چیزی است که قبلا دیدیم، جز به جای گفت: فقط $ X وجود دارد به عنوان پارامتر به hard_square، من گفت: $ X = 10. بنابراین این یک نمونه از است برنامه نویسی تدافعی، امنیت برنامه های خود را در برابر کاربران مخرب. این یک راه برای انجام برخی از خطا است چک کردن که ما واقعا نمی به عنوان یک گزینه در C. دارند ما می تواند هرگز تعیین مقدار پیش فرض از چیزی. ما همیشه به حال به بررسی آیا، برای مثال، اگر ما یک تماس به از GetString ساخته شده، آن بود اگر بلافاصله بعد از ما مناسب ترین بررسی می شود که، ما چک آیا رشته که کاربر را به ما است به تهی برابر نیست، زیرا ما نمی خواهیم برای شروع کار با یک رشته تهی. در اینجا، این یک راه است برای محافظت در برابر آن است. اگر کاربر ما چیزی ارائه نمی به نحوی، چه می خواهیم کاری انجام دهید؟ خب، ما فقط می گویند هر چه آنها به ما فراهم نیست، ما فقط رفتن به جای را به برق وصل 10. بنابراین اگر آنها نمی ارزش به ما بدهد، فقط استفاده از 10 به طور پیش فرض. و بنابراین در اینجا، توجه کنید که من ساخت یک تماس به hard_square، اما هیچ اعلان وجود دارد به کاربر، درست است؟ من فقط ساخت یک تماس خالی است. اما عملکرد من hard_square انتظار یک پارامتر. این چیست که برای چاپ کردن؟ آن را برای چاپ کردن 100، درست است؟ از آنجا که کاربران نمی هر چیزی به من بدهد. و بنابراین من فقط رفتن به فرض که 10-- 10 مقدار پیش فرض است. و این را چاپ 100 در خط خود را دارد. فایل های PHP لازم نیست که فقط یک فایل واحد. شما می توانید چند فایل را با هم ترکیب، درست مثل شما می توانید در C. راه ما این کار را در C به طور معمول بود برای انجام یک کد: #include برای دریافت فایل های هدر در کشیده است. ما کار را نمی کنند در PHP. ما چیزی به نام require_once در. و پس از آن این طیف وجود دارد چیزی، چه این __DIR__ نیست. که فقط یک ویژه متغیر، ثابت و یا خاص، واقعا، که مشخص چه دایرکتوری فعلی است. و پس از آن را به نگاه در دایرکتوری فعلی برای یک فایل به نام cs50.php در این مثال در اینجا، و آن را به چوب که فایل در بالای برنامه پی اچ پی خود را، فرض کنید که شما نیاز به قرار دادن یک بار خط در بالای فایل پی اچ پی خود را. بنابراین PHP در درجه اول استفاده می شود، اما نه منحصرا استفاده می شود، به عنوان یک زبان برای برنامه نویسی مبتنی بر وب. این واقعا چگونه آن را به دست می آمد. اما این یک کامل زبان، به عنوان دیده ایم. ما را دیده ام که تقریبا همه چیز که می توانید انجام دهید که شبیه به C هستند، و می تواند معامله از انجام خیلی بیشتر از آن است. اما به دلیل آن یک زبان کامل است و ما می توانید برنامه نویسی خط فرمان در آن انجام دهد. ما می توانیم برنامه های خط فرمان اجرا کنید. همه که لازم به اجرای یک فرمان برنامه خط که در پی اچ پی نوشته است که شما یک مفسر PHP را داشته باشد. بنابراین این نوع مشابه داشتن یک کامپایلر بر روی سیستم شما اگر شما می خواهید به کامپایل کردن کد C خود را آن را تبدیل به فایل های اجرایی. شما نیاز به یک مفسر PHP که بر روی سیستم شما وجود دارد به طوری که شما می توانید فایل های پی اچ پی تفسیر. با فرض شما، و معمولا این مترجم است که به نام پی اچ پی، و آن را معمولا با اکثر همراه دریافت و یا نصب PHP که شما می توانید آنلاین قطعا، و نام مفسر PHP ما در CS50 دارند، IDE. همه شما باید انجام نوع فایل پی اچ پی است. و چه برنامه شما رفتن به انجام آن است رفتن را از طریق اجرا مترجم، آن را رفتن همه چیز را که به چشم پوشی از در بین درخواست mark-- و یا، پی اچ پی براکت زاویه علامت سوال، جداکننده پی اچ پی، و آن را چاپ کنید، و آن را تفسیر و اجرا کد داخل جداکننده PHP خود را. بنابراین اجازه دهید به CS50 IDE پاپ و یک نگاهی به یک زن و شوهر از فایل های پی اچ پی، در حال اجرا یک زن و شوهر از فایل های پی اچ پی، در رابط خط فرمان از CS50 IDE. بنابراین در اینجا ما در CS50 IDE هستند، و من آزادی گرفته شده باز کردن یک فایل به نام hello1.php. و ظاهرا، محتویات این فایل فقط جداکننده PHP وجود دارد، و در میان، اکو ("سلام جهان"). این یک برنامه PHP بسیار ساده است. من فقط رفتن به پایین به پنجره ترمینال من در اینجا، و من قصد دارم به نوع پی اچ پی hello1.php، ضربه وارد کنید. سلام دنیا. که احتمالا به آنچه که ما انتظار آن را به انجام، درست است؟ اجازه بدهید برویم و دیگر در یک برنامه است. hello2.php. تقریبا همان چیزی، بسیاری نه در رفتن است. این زمان، هر چند، من قصد دارم به بی درنگ کاربر را به من نام خود را به من بدهید. من با استفاده از آن تابع از readline دوباره. $ نام = از readline. که سریع، است "نام شما چیست؟" ظاهرا من چاپ هستم آن را در خط خود را دارد. و سپس، به طوری که خط زیر خواهد شد که اعلان که در آن کاربر می تواند نام خود را وارد کنید. و پس از آن من با استفاده از یک کمی از استیضاح متغیر در اینجا در خط 3 برای چاپ کردن "سلام" و هر نوع کاربر. بنابراین این شبیه به این است، سلام، کاما،٪ s را اگر ما در C. استفاده از printf بنابراین اجازه دهید به و تفسیر این برنامه است. بنابراین دوباره، من در پایین حرکت به پنجره ترمینال من. hello2.php پی اچ پی. اسم شما چیست؟ داگ. سلام، داگ. من هم یکی دیگر از فایل به نام hello3.php. من قصد دارم برای روشن من صفحه نمایش با کنترل L، و من قصد دارم برای اجرای آن. اسم شما چیست؟ داگ. سلام، داگ. بنابراین رفتار یکسان است hello2.php، اما چرا آن را hello3.php؟ خوب، در اینجا تفاوت است. در این مورد، متوجه که در خط 1 در اینجا، من چیزی است که نمی در بین جداکننده پی اچ پی. من فقط چاپ out-- یا من فقط تایپ، "نام شما چیست؟" هنگامی که مفسر PHP این را می بیند، آن را هیچ ایده چگونه آن را تفسیر به عنوان پی اچ پی، و بنابراین به جای شکست، آن را فقط به آن را تف. بنابراین اطلاع در خط 3 در حال حاضر، پاسخ به از readline، هیچ اعلان دیگر وجود دارد. من فقط در واقع رفتن to-- که مفسر PHP این را می بیند، آن را برای چاپ کردن "اسم شما چیست؟" سپس آن را می بیند، آه، OK، here's-- هر چیز دیگری است برای رفتن به تفسیر به عنوان PHP، بنابراین به همین دلیل این کار می کند. من لازم نیست که لزوما بی درنگ to-- کاربران داخل از readline، من فقط می توانید آن را خارج از جداکننده پی اچ پی و اجازه می دهد مفسر به فقط آن را چاپ برای من. بنابراین شما در واقع نه تنها به یک مجموعه ای از جداکننده PHP در برنامه شما. شما در واقع می تواند چندین تن از آنها، باز و بسته شدن آنها را به عنوان مورد نیاز است. بنابراین اجازه دهید یک نگاهی از در چند برنامه در CS50 IDE که در آن ما نشان دادن این ایده داشتن مجموعه های متعددی از حد و مرز مشخصی PHP. خوب، پس من یک فایل را باز کرده ام در اینجا add1.php نامیده می شود. و متوجه آنچه اینجا اتفاق می افتد. فقط به عنوان قبل، من یک تک PHP مجموعه ای از جداکننده. من قصد دارم برای چاپ کردن پیام، "لطفا به من یک عدد می دهد." سپس من قصد دارم برای خواندن یک خط و ذخیره آن در $ در num1 متغیر است. سپس من قصد دارم برای چاپ کردن دوباره. من یک عدد دوم می دهد. خواندن یک خط از کاربران، فروشگاه هر آنچه که آنها در در $ num2 تایپ. آنها را با هم اضافه کردن و ذخیره که در نتیجه در یک متغیر به نام $ مجموع، و پس از آن را چاپ کنید، "این مجموع این دو عدد است "، و سپس استیضاح $ مجموع متغیر وجود دارد. بنابراین اجازه دهید فقط این اجرا از طریق مترجم برای تایید است که این چیزی است که ما انتظار داریم. add1.php پی اچ پی. لطفا با من یک عدد، 3 است. لطفا به من یک شماره دوم، 4 است. مجموع این دو عدد 7 است. که 3 به علاوه 4. باشه؟ پس هیچ چیزی وحشتناکی فانتزی وجود دارد. و در حال حاضر اجازه دهید باز کردن add2.php. در اینجا، من یک زن و شوهر از پی اچ پی ام مجموعه محدود وجود دارد، درست است؟ خطوط 1، 3-- خطوط 1 و 3 هیچ جداکننده PHP. بنابراین، هنگامی که مفسر آنها را می بیند، آن را فقط رفتن به تف کردن دقیقا همان آنچه که من وجود دارد تایپ کردهام. طوری که در آن من انجام همه باعث من. در خطوط 2 و 4، ما می بینیم بسیار $ آشنا؟ مرتب سازی بر پی اچ پی از جداکننده، بنابراین کسانی که دو خط رفتن به پی اچ پی را اجرا کند. و سپس در خط 5، من این را چیز عجیب و غریب در اینجا، درست است؟ این براکت زاویه علامت سوال علامت مساوی. من حتی در کمی بیشتر زوم. شما می توانید ببینید این چیزی است که من صحبت کردن در مورد سمت راست وجود دارد، این $؟ =. به نظر می رسد که آن را بسیار رایج است که به این دلیل که ما برای باز کردن مجموعه ای از پی اچ پی جداکننده است برای چاپ کردن یک ارزش است. و همه ما در حال رفتن به انجام است. اما حتی مختصر برای آن وجود دارد. $؟ = PHP مختصر برای گفتن است چیزی شبیه به $؟ PHP اکو مجموع از num1 و num2. بنابراین این فقط یکی دیگر مختصر برای آن است. بنابراین اگر من این برنامه، add2.php پی اچ پی را اجرا کنید. من زوم کردن کمی. لطفا با من یک عدد، 4 است. لطفا به من یک عدد دوم به من بدهید. و از آنجایی که من واقعا در مورد مراقبت انواع داده ها در PHP، من می توانم 4.8 می گویند. مجموع این دو عدد 8.8 است. این تابع رفتار بسیار دقیقا همان است که ما انتظار می رود، به خوبی. و من یکی بیشتر باز تا اینجا dice.php نامیده می شود. دوباره سعی کنید این. من یکی بیشتر اینجا به نام dice1.php، که همچنین، دیدن، است که درخواست براکت زاویه علامت نماد علامت مساوی در آن وجود دارد، اما توجه کنید که در این مورد من تماس با رند تابع، به عنوان شما که ممکن است انتظار تولید یک عدد تصادفی. "شما نورد"، و آن را به محاسبه برخی از عدد تصادفی، MOD 6 + 1. به طوری که به من عدد می دهد در محدوده 1 تا 6. به یاد داشته باشید که وزارت دفاع 6 دوست من بدهید تعداد در محدوده 0 تا 5، اما اگر من شبیه سازی رول تاس، است که آنچه که من در اینجا انجام، من نمی خواهم از این تاس به از 0 تا 5، من می خواهم تاس که 1-6 است. و این یک راه برای گرفتن است من در طیف وسیعی از 1 به 6. من انجام این کار دو بار. بنابراین ظاهرا من نورد هستم دو تاس در این برنامه است. بنابراین من روی صفحه نمایش من روشن است، و من dice1.php پی اچ پی را انجام دهد. شما نورد 4 و 2. و اگر من این برنامه را اجرا دوباره، شما نورد 5 و 5. بنابراین هر بار که من این برنامه را اجرا کنید، من گرفتن شماره های مختلف، زیرا هر بار که من بنابراین، آن را بیش از شروع. آن را به تولید یک جدید مجموعه ای از اعداد تصادفی برای من. بنابراین اگر ما به استفاده در حال اجرا برنامه از C، ما در حال تایپ کردن استفاده می شود ./ نام برنامه، درست است؟ این که ما چگونه تمام انجام داده ام برنامه های ما در C تا کنون. ما می توانیم در PHP نیز انجام با اضافه کردن چیزی به نام ابتکار به بالای فایل پی اچ پی است. من می دانم که این نوع از یک کلمه احمقانه است. آن را کوتاه را برای هش بنگ. که دو کاراکتر اول وجود دارد. به یاد داشته باشید که ما به علامت تعجب پاسخ اغلب یک انفجار در علم کامپیوتر است. همچنین ممکن است برای انفجار تیز باشد. یک زن و شوهر راه آن را تفسیر وجود دارد. اما آن را اساسا یک نوع خاص از فرمان است که مفسر PHP درک به عنوان، آه، من می خواهم شما برای اجرای این برنامه، که ظاهرا / کاربر / بن / پی اچ پی است که است که در واقع که در آن مفسر PHP به طور خاص بر روی سیستم ما زندگی می کند. بنابراین it's-- چه اتفاقی می افتد است مترجم درک، آه، من ظاهرا قرار است به استفاده از در این برنامه به اجرای این فایل. و پس از آن اجازه می دهد تا شما به جست و خیز بیش از مرحله از داشتن به گفتن something.php پی اچ پی. یکی گرفتن دیگر وجود دارد در اینجا، که که اگر ما می خواهید برنامه های ما برای کار به عنوان انتظار می رود، ما نیاز به انجام کاری به نام تغییر مجوز فایل. و ما go-- و ما کمی صحبت کمی بیشتر در مورد فایل تغییرات اجازه در ویدیو های ما در MVC، اما کافی است تا می گویند که این چیزی است که شما نیاز به انجام به منظور ایجاد خود را پی اچ پی اجرایی فایل های. بنابراین اجازه دهید نگاهی به این عنوان به عنوان مثال نهایی ما در CS50 IDE. بنابراین در اینجا در IDE من دو فایل در این راهنمای PHP که به نظر می رسد نیست به نام پی اچ پی. من یک تابع به نام add-- من یک فایل به نام add3 و یک فایل به نام dice2. بنابراین اجازه دهید سریع نگاه و باز کردن add3. و به عنوان شما می توانید ببینید، در آغاز فایل من من این ابتکار، درست است؟ این هش علامت تعجب است. در حال حاضر، شما نیز شاید توجه کنید که برای برخی از دلیل، من هر نحو ندارد برجسته دیگر، و این چیزی است که پیشتر اشاره کردم، که بود که اگر من فایل نام من نیست پی اچ پی، من به نفع ندارد از نحو برجسته کند. این فایل فقط add3 نامیده می شود. به طوری که من می توانید آن را بعد از اجرا با ./ add3 و نه ./ add3.php. بنابراین reason-- آن را هنوز هم خوب، آن را هنوز هم PHP معتبر، اما آن را نحو برجسته نیست، چرا که این فایل something.php نام نیست. که تنها تفاوت واقعی در اینجا، به علاوه ابتکار. بنابراین اجازه دهید که چه اتفاقی می افتد من سعی می کنم و اجرای این برنامه. ./ add3، درست مثل من با C. باش. ./ اجازه add3 را تکذیب کرد. این چیزی است که شما در حال رفتن برای دیدن اگر شما فراموش برای استفاده از دستور chmod به تغییر مجوزهای فایل. همانطور که معلوم است، PHP به طور منظم فایل های نه تنها می تواند اجرا شود. آنها را می توان تفسیر، اما ما انجام چیزی کمی متفاوت است در اینجا. ما آن را اجرا. و بنابراین من نیاز به اضافه کردن اجازه اعدام، سطح دسترسی A + X به add3. پس من می توانم ./ add3 می گویند. لطفا به من یک عدد می دهد. 5، 6. مجموع این دو عدد 11 است. به طور مشابه، من در حال حاضر chmoded dice2، بنابراین من فقط می توانید نوع ./ dice2، شما نورد 1 و 1، شما نورد 5 و 4، و غیره. به طوری که تقریبا این ایده از یک نحو PHP، درست است؟ در بسیاری برای دریافت از طریق وجود دارد، من می دانم. اما امیدوارم شما هم اکنون دیده می شود که پی اچ پی واقعا که متفاوت از C نیست و واقعا به ما می دهد توانایی به همه چیز تا یک یا دو شکاف. ما واقعا نمی به نگرانی بیش از حد about-- ما واقعا نمی به نگرانی بیش از حد در مورد جزئیات سطح پایین ما حال به نگرانی در مورد با C، درست است؟ ما می توانیم در بالاتر تمرکز مسائل سطح که PHP اجازه می دهد تا ما را به انجام و برای گرفتن مسلم است که آن را برای ما کار خواهد کرد. پس از آن ما می دهد توانایی در حال حاضر، انتقال از C به PHP، به برنامه هایی که خیلی بیشتر پیچیده و شاید بسیاری قوی تر است. بنابراین من امیدوارم که شما سرگرم کننده کار با پی اچ پی، و من داگ لوید هستم. این CS50 است.