1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP توسعه وب] 2 00:00:03,000 --> 00:00:05,000 [تامی MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [این CS50 است.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> در این فیلم، ما در مورد استفاده از پی اچ پی برای توسعه وب یاد بگیرند. 5 00:00:11,000 --> 00:00:14,000 PHP یک زبان برنامه نویسی است که می تواند برای پیاده سازی استفاده می شود 6 00:00:14,000 --> 00:00:17,000 وب سایت ها بر روی سرور وب. 7 00:00:17,000 --> 00:00:21,000 وب سرور است که در اصل یک ماشین اختصاص داده شده به ارائه مطالب 8 00:00:21,000 --> 00:00:24,000 است که می تواند از طریق اینترنت قابل دسترسی است. 9 00:00:24,000 --> 00:00:30,000 هنگامی که شما به یک صفحه وب مانند Facebook.com / home.php حرکت 10 00:00:30,000 --> 00:00:35,000 کد را در فایلی به نام home.php که بر روی یک وب سرور فیس بوک زندگی می کند جایی 11 00:00:35,000 --> 00:00:38,000 خواهد شد که سرور اجرا. 12 00:00:38,000 --> 00:00:41,000 این کد به احتمال زیاد تولید برخی از خروجی 13 00:00:41,000 --> 00:00:43,000 که به نوبه خود از سرور فرستاده می شود 14 00:00:43,000 --> 00:00:45,000 به مرورگر وب خود. 15 00:00:45,000 --> 00:00:49,000 ما با استفاده از دستگاه CS50 به عنوان یک وب سرور. 16 00:00:49,000 --> 00:00:51,000 ماشین شما احتمالا نمی خواهد نزدیک به عنوان قدرتمند به عنوان ماشین آلات 17 00:00:51,000 --> 00:00:57,000 در فیس بوک مرکز داده، اما شما هیچ مشکلی با استفاده از آن برای توسعه وب سایت داشته باشد. 18 00:00:57,000 --> 00:01:05,000 >> هنگامی که ما به یک URL حرکت مانند http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 ما پیکربندی دستگاه از طریق یک برنامه به نام آپاچی سرور HTTP 20 00:01:10,000 --> 00:01:19,000 برای یک فایل hello.php داخل خانه / jharvard / vhosts / localhosts / اچ تی ام ال به نام به طور پیش فرض است. 21 00:01:19,000 --> 00:01:23,000 در صورتی که فایل وجود دارد و سپس آپاچی مترجم PHP استفاده کنید 22 00:01:23,000 --> 00:01:27,000 برای اجرای کد های PHP را در hello.php. 23 00:01:27,000 --> 00:01:31,000 اگر این فایل وجود ندارد و سپس آپاچی یک خطا یافت نشد پرتاب 24 00:01:31,000 --> 00:01:36,000 و یا یک خطای 404 را، که احتمالا شما در هنگام مرور وب سایت دیده می شود. 25 00:01:36,000 --> 00:01:40,000 >> اجازه دهید نگاهی به hello.php. 26 00:01:40,000 --> 00:01:45,000 ما در اینجا می توانید ببینید که hello.php تولید یک خط سیگنال خروجی. 27 00:01:45,000 --> 00:01:51,000 هنگامی که ما hello.php در خط فرمان از طریق hello.php پی اچ پی فرار 28 00:01:51,000 --> 00:01:54,000 که خروجی به ترمینال چاپ شده بود. 29 00:01:54,000 --> 00:01:58,000 در حال حاضر، زمانی که ما دسترسی به این فایل از طریق یک URL در مرورگر وب 30 00:01:58,000 --> 00:02:01,000 خروجی آن خواهد شد به مرورگر وب فرستاده می شود، 31 00:02:01,000 --> 00:02:09,000 بنابراین از رفتن به URL، http://localhost/hello.php، 32 00:02:09,000 --> 00:02:12,000 ما می توانیم خروجی در مرورگر وب ما را ببینید. 33 00:02:12,000 --> 00:02:17,000 >> دهید چون printf یکی دیگر از برنامه جهانی سلام ما را. 34 00:02:17,000 --> 00:02:23,000 خوب، اجازه دهید سر به مرورگر وب و ببینید چه چیزی ما. 35 00:02:23,000 --> 00:02:25,000 جالب. 36 00:02:25,000 --> 00:02:28,000 به جای چاپ خط دیگر در خط خود را، که شما را دیده اند، 37 00:02:28,000 --> 00:02:32,000 در ترمینال، به نظر می رسد مانند آن را بر روی همان خط smushed کردم 38 00:02:32,000 --> 00:02:36,000 به عنوان چون printf دیگر، خطوط تا شاید جدید در PHP کار نمی کند. 39 00:02:36,000 --> 00:02:38,000 نه کاملا. 40 00:02:38,000 --> 00:02:41,000 به یاد داشته باشید که HTML به طور معمول مورد استفاده برای ایجاد صفحات وب 41 00:02:41,000 --> 00:02:44,000 که می تواند توسط مرورگر وب نمایش داده می شود. 42 00:02:44,000 --> 00:02:49,000 نه تنها رشته از پی اچ پی HTML معتبر نمی باشد سلام، 43 00:02:49,000 --> 00:02:53,000 اما به یاد می آورند که ما می توانیم شخصیت \ n در HTML استفاده کنید 44 00:02:53,000 --> 00:02:55,000 برای ایجاد یک خط. 45 00:02:55,000 --> 00:03:01,000 به جای به سادگی خروجی خروجی HTML معتبر رشته اجازه. 46 00:03:01,000 --> 00:03:04,000 با استفاده از هر یک از تماس های چون printf ما پاراگراف 47 00:03:04,000 --> 00:03:07,000 خواهد شد در خط خود را نمایش داده، 48 00:03:07,000 --> 00:03:11,000 بنابراین در حال حاضر زمانی که بازدید ما اشاره URL به valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 ما خروجی است که ما به دنبال را ببینید. 51 00:03:19,000 --> 00:03:22,000 >> حال اگر ما به منبع این صفحه 52 00:03:22,000 --> 00:03:25,000 ما می توانید ببینید که ما در حال حاضر در HTML معتبر به دنبال، 53 00:03:25,000 --> 00:03:28,000 که ما از PHP ایجاد شده است. 54 00:03:28,000 --> 00:03:31,000 قرار دادن تمام HTML در داخل تماس چون printf 55 00:03:31,000 --> 00:03:34,000 البته برای به دست آوردن واقعا آزار دهنده است. 56 00:03:34,000 --> 00:03:38,000 خوشبختانه ما به راحتی می تواند به HTML و PHP مخلوط 57 00:03:38,000 --> 00:03:41,000 در همان فایل پی اچ پی. 58 00:03:41,000 --> 00:03:47,000 به یاد داشته باشید، همه از کد PHP ما باید در <؟ پی اچ پی محصور می شود 59 00:03:47,000 --> 00:03:49,000 و>. 60 00:03:49,000 --> 00:03:52,000 هر چیزی که در درون این حائل محصور نیست 61 00:03:52,000 --> 00:03:55,000 به سادگی به عنوان خروجی به مرورگر ارسال می شود 62 00:03:55,000 --> 00:03:57,000 به جای اعدام شدن. 63 00:03:57,000 --> 00:04:01,000 این بدان معناست که ما چیزی شبیه به این می تواند انجام دهد. 64 00:04:01,000 --> 00:04:05,000 ما به سادگی می تواند HTML در داخل فایل پی اچ پی ما. ارسال 65 00:04:05,000 --> 00:04:11,000 و سپس وارد بلوک های PHP در هر کجا که ما می خواهم برخی از کد پی اچ پی اجرا شود. 66 00:04:11,000 --> 00:04:15,000 در اینجا چند متغیر را تعریف می کنیم در بالای فایل، 67 00:04:15,000 --> 00:04:19,000 و بعد ما آنها را به نسخه قابل چاپ کردن در داخل از HTML است. 68 00:04:19,000 --> 00:04:27,000 حال اگر این URL بازدید، http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 ما می توانیم PHP مورد بررسی ما در داخل از HTML ما را ببینید. 70 00:04:33,000 --> 00:04:36,000 >> حالا اجازه دهید نگاهی به چگونه ما می توانیم اطلاعات را عبور 71 00:04:36,000 --> 00:04:39,000 در میان صفحات PHP مختلف ما است. 72 00:04:39,000 --> 00:04:51,000 به جای گفتن <پی اچ پی چاپ ($)؛؟> 73 00:04:51,000 --> 00:04:58,000 ما به سادگی می توان گفت <؟ = متغیر ما می خواهم برای چاپ، و یا، 74 00:04:58,000 --> 00:05:01,000 و>. 75 00:05:01,000 --> 00:05:03,000 اکنون بیایید نگاهی به چگونگی ما می توانیم اطلاعات را منتقل کنند 76 00:05:03,000 --> 00:05:06,000 در میان صفحات PHP مختلف ما است. 77 00:05:06,000 --> 00:05:11,000 یکی از راه ما می توانیم که انجام آن برای رمزگذاری اطلاعات به URL از یک صفحه. 78 00:05:11,000 --> 00:05:14,000 هنگامی که در حال دیدن این وب سایت، شما ممکن است متوجه شده است که بعضی از آدرس ها 79 00:05:14,000 --> 00:05:20,000 شامل؟ پس از یک رشته حاوی آمپرسندهای کاربردی و نشانه های برابر است. 80 00:05:20,000 --> 00:05:23,000 این بخشی از URL به عنوان رشته پرس و جو شناخته شده است، 81 00:05:23,000 --> 00:05:29,000 و این اجازه می دهد تا شما را به طور موثر به اسکریپت PHP شما آرگومان. 82 00:05:29,000 --> 00:05:34,000 رشته پرس و جو متشکل از جفت کلید، درست مثل یک جدول هش. 83 00:05:34,000 --> 00:05:38,000 علامت مساوی یک کلید و مقدار متناظر با آن را از هم جدا 84 00:05:38,000 --> 00:05:41,000 در حالی که آمپرسندهای کاربردی جفت جدا. 85 00:05:41,000 --> 00:06:05,000 URL که به نظر می رسد http://localhost/get.php؟foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 دارای 2 جفت ارزش کلیدی در رشته پرس و جو. 87 00:06:09,000 --> 00:06:12,000 غذایی کلیدی نقشه به نوار ارزش، 88 00:06:12,000 --> 00:06:16,000 و باز کلیدی نقشه به qux ارزش. 89 00:06:16,000 --> 00:06:23,000 ما به راحتی می توانید این جفت کلید دسترسی به استفاده از یک متغیر خاص در PHP، 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET یک آرایه انجمنی است 92 00:06:32,000 --> 00:06:36,000 که به طور خودکار با داده های رشته پرس و جو جمعیت. 93 00:06:36,000 --> 00:06:46,000 این بدان معنی است که با توجه به این URL $ _GET ["تولی"] 94 00:06:46,000 --> 00:06:49,000 به نوار رشته برابر خواهد شد. 95 00:06:49,000 --> 00:06:56,000 >> اجازه دهید نگاهی به get.php برای دیدن _GET $ در عمل است. 96 00:06:56,000 --> 00:07:00,000 در اینجا ما با استفاده از یک تابع به نام var_dump، 97 00:07:00,000 --> 00:07:03,000 که زمانی که یک آرایه یا متغیر دیگر 98 00:07:03,000 --> 00:07:05,000 خواهد آن را چاپ کنید برای ما. 99 00:07:05,000 --> 00:07:12,000 حال اگر ما به سادگی دسترسی به http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 پس از آن خواهیم یک آرایه خالی نگاه کنید چون ما یک رشته پرس و جو کرده اند ارائه نشده است. 101 00:07:17,000 --> 00:07:29,000 اگر ما ارائه یک رشته پرس و جو از طریق http://localhost/get.php؟foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 پس از آن ما می توانید ببینید که متغیر $ _GET شامل خواهد شد 103 00:07:34,000 --> 00:07:37,000 جفت کلید رشته پرس و جو است. 104 00:07:37,000 --> 00:07:42,000 اما اگر ما نمی خواهیم برای قرار دادن داده های ما در داخل URL از یک صفحه؟ 105 00:07:42,000 --> 00:07:46,000 برای مقدار زیادی از اطلاعات، این می تواند در بعضی از آدرس ها بسیار زشت شود 106 00:07:46,000 --> 00:07:49,000 که در حال رفتن به براق لنگ وب سایت نگاه ما. 107 00:07:49,000 --> 00:07:52,000 ما به جای آن می تواند رشته پرس و جو در داخل بدن قرار 108 00:07:52,000 --> 00:07:57,000 از درخواست HTTP به جای URL درخواست شده است. 109 00:07:57,000 --> 00:08:02,000 پس ما می توانیم _POST $ متغیر پی اچ پی استفاده کنید 110 00:08:02,000 --> 00:08:05,000 برای دسترسی به جفت ارزش کلیدی است. 111 00:08:05,000 --> 00:08:10,000 یک راه برای انجام این کار از طریق فرم HTML. 112 00:08:10,000 --> 00:08:13,000 در اینجا ما یک فرم HTML ساده است. 113 00:08:13,000 --> 00:08:17,000 توجه کنید که در اینجا ویژگی روش این شکل نوشته شده است. 114 00:08:17,000 --> 00:08:21,000 این می گوید که مرورگر برای قرار دادن جفت کلید ارزش به فرم 115 00:08:21,000 --> 00:08:25,000 به بدنه درخواست به جای URL. 116 00:08:25,000 --> 00:08:28,000 >> اگر ما به استفاده از مقدار این ویژگی را دریافت کنید 117 00:08:28,000 --> 00:08:32,000 پس از جفت کلید ارزش فرم به جای آن به رشته پرس و جو به، 118 00:08:32,000 --> 00:08:36,000 بنابراین ما می تواند آنها را از طریق $ _GET دوباره دسترسی پیدا کنید. 119 00:08:36,000 --> 00:08:42,000 ویژگی عمل به شکل مرورگر که در آن به ارسال داده ها می گوید. 120 00:08:42,000 --> 00:08:46,000 در اینجا 2 عناصر ورودی ما ویژگی های نام. 121 00:08:46,000 --> 00:08:51,000 ارزش ویژگی های نام به عنوان کلید به داده های ما خدمت می کنند، 122 00:08:51,000 --> 00:08:56,000 و ارزش های ورودی متن تبدیل ارزش های آن کلید خواهد کرد. 123 00:08:56,000 --> 00:08:59,000 حالا اجازه دهید نگاهی به post.php، 124 00:08:59,000 --> 00:09:03,000 فایل که این فرم ارسال به. 125 00:09:03,000 --> 00:09:10,000 درست مثل ما قبل از انجام، ما به سادگی نمایش محتویات متغیر $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> اجازه دهید به فرم با http://localhost/form.php حرکت. 127 00:09:18,000 --> 00:09:23,000 هنگامی که ما از فرم را ارسال کنید ما می توانید ببینید که داده ها را از form.php 128 00:09:23,000 --> 00:09:30,000 به تصویب می رسد به post.php بدون الحاق رشته پرس و جو به URL. 129 00:09:30,000 --> 00:09:35,000 در حال حاضر ما دیده می شود 2 راه مختلف عبور داده و در میان صفحات PHP، 130 00:09:35,000 --> 00:09:37,000 دریافت و ارسال. 131 00:09:37,000 --> 00:09:41,000 در مثال ما، ما 2 نوع مختلف از درخواست های HTTP استفاده می شود. 132 00:09:41,000 --> 00:09:45,000 همانطور که شما ممکن است انتظار داشت، یک درخواست GET هنگامی که ما جمعیت استفاده شد 133 00:09:45,000 --> 00:09:51,000 $ _GET از URL، و یک درخواست ارسال مورد استفاده قرار گرفت 134 00:09:51,000 --> 00:09:55,000 هنگامی که ما $ _POST جمعیت. 135 00:09:55,000 --> 00:09:59,000 در طراحی برنامه های وب خود را آن هم یک حکومت خوب از انگشت شست برای استفاده از GET درخواست 136 00:09:59,000 --> 00:10:03,000 زمانی که برنامه شما فقط خواندن اطلاعات، و ارسال درخواست 137 00:10:03,000 --> 00:10:05,000 زمانی که برنامه شما داده خواهد شد ارسال. 138 00:10:05,000 --> 00:10:09,000 به عنوان مثال، پرس و جو جستجو خواهد داده ها را از برنامه خود را به عنوان خوانده شده، 139 00:10:09,000 --> 00:10:12,000 بنابراین یک درخواست GET را حس می کند. 140 00:10:12,000 --> 00:10:17,000 از سوی دیگر، برنامه خود را به اطلاعات از طریق چیزی شبیه به یک فرم ثبت نام ارسال، 141 00:10:17,000 --> 00:10:22,000 بنابراین یک درخواست ارسال را حس کند، و یک نمای کلی از برخی از تکنیک است 142 00:10:22,000 --> 00:10:26,000 ما خواهید بود با استفاده از در CS50 برای ایجاد وب سایت با استفاده از PHP. 143 00:10:26,000 --> 00:10:30,000 >> نام من تامی است، و این CS50 است. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]