1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [هفته 8، ادامه داد] 2 00:00:02,000 --> 00:00:04,000 [دیوید J. مالان] [دانشگاه هاروارد] 3 00:00:04,000 --> 00:00:08,000 [این CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:13,000 >> این CS50، پس از این است که در پایان هفته (8) در اینجا است. 5 00:00:13,000 --> 00:00:16,000 البته ما تا به حال یک بیت از یک طوفان در اوایل این هفته، 6 00:00:16,000 --> 00:00:19,000 به طوری که در حال حاضر آن است که واقعا فقط من و تو در این سالن سخنرانی، 7 00:00:19,000 --> 00:00:22,000 اما امروز ما ادامه صحبت ما در مورد PHP 8 00:00:22,000 --> 00:00:25,000 و در مورد برنامه نویسی وب به طور کلی، و ما نیز این ایده را معرفی 9 00:00:25,000 --> 00:00:29,000 از پایگاه های داده، به خصوص به نام خروجی، که بسیار محبوب است این روزها، 10 00:00:29,000 --> 00:00:34,000 در بخش زیادی به دلیل مقیاس پذیری آن و همچنین به دلیل آن که آزاد و منبع باز می باشد. 11 00:00:34,000 --> 00:00:37,000 >> اما در ابتدا، نگاهی که در آن ما را ترک کردن زمان گذشته است. 12 00:00:37,000 --> 00:00:40,000 به یاد بیاورید که ما در چندین نمونه انجمن ریاضی جدید الورود شد، 13 00:00:40,000 --> 00:00:44,000 و این به شکل زشت بود که من با برخی از 15 سال + پیش آمد 14 00:00:44,000 --> 00:00:49,000 به منظور دانش آموزان بر روی ثبت نام دانشگاه برای ورزش دانشجوی سال اول فوق 15 00:00:49,000 --> 00:00:52,000 در واقع بدون نیاز به بازحمت حرکت دیگر در سراسر حیاط را به Wigglesworth 16 00:00:52,000 --> 00:00:56,000 به اسلاید یک قطعه فیزیکی کاغذ زیر درب برخی از متولی. 17 00:00:56,000 --> 00:00:59,000 در عوض ما نقل مکان کرد همه چیز، اما برای انجام این کار ما نیاز به استفاده از 18 00:00:59,000 --> 00:01:03,000 از فن آوری های چند، بنابراین، ما نیاز به HTML، زبان نشانه گذاری ابرمتن 19 00:01:03,000 --> 00:01:07,000 که دوباره این زبان نشانه گذاری که با آن شما می توانید صفحات وب ساختاری است. 20 00:01:07,000 --> 00:01:10,000 >> با استفاده از یک بیت از CSS این روزها، شیوه نامه های آبشاری، 21 00:01:10,000 --> 00:01:16,000 به موجب آن stylizations از صفحه وب با استفاده از نحو کمی متفاوت، 22 00:01:16,000 --> 00:01:19,000 در حالی که HTML همه چیز در مورد ساختار آن بود. 23 00:01:19,000 --> 00:01:21,000 ما همچنین نیاز به معرفی زبان برنامه نویسی وب است. 24 00:01:21,000 --> 00:01:25,000 در این مورد، ما PHP، و استفاده از PHP است که به ما اجازه می دهد 25 00:01:25,000 --> 00:01:28,000 به محتوای خروجی به صورت پویا و همچنین کارهای برنامه ریزی شده مانند انجام 26 00:01:28,000 --> 00:01:33,000 ارسال ایمیل، و مورد توجه داشته باشید که ما در سمت چپ در هفته گذشته بود. 27 00:01:33,000 --> 00:01:35,000 >> به یاد بیاورید که این کد برای در 2 بخش بود. 28 00:01:35,000 --> 00:01:38,000 یکی، ما تا به حال froshims3.php 29 00:01:38,000 --> 00:01:42,000 و این تا حد زیادی نشانه گذاری با یک فرم HTML در داخل آن بود. 30 00:01:42,000 --> 00:01:45,000 کمی از CSS در اینجا در ویژگی های سبک 31 00:01:45,000 --> 00:01:48,000 به طوری که شکل خود را بر روی صفحه، خواهد بود اما فراتر از آن متمرکز 32 00:01:48,000 --> 00:01:51,000 ما تا به حال برخی از ورودی فرم نمایندگی، زمینه متن، چک باکس، 33 00:01:51,000 --> 00:01:55,000 برخی از دکمه های رادیویی، یک منو را انتخاب کنید، و یک دکمه ارسال. 34 00:01:55,000 --> 00:02:01,000 و از طریق این فرم، ما را به یک فایل است که ظاهرا نامیده می شد register3.php را مشاهده کنید. 35 00:02:01,000 --> 00:02:04,000 که خود را نگاه چیزی کمی شبیه به این. 36 00:02:04,000 --> 00:02:08,000 در حال حاضر، بیشتر از کد در register3.php، فراخوان، همه چیز در مورد ایمیل بود. 37 00:02:08,000 --> 00:02:11,000 این کار را کمی از اعتبار از فرم که تا مطمئن شویم که ارائه شد 38 00:02:11,000 --> 00:02:14,000 که زمینه در واقع ارائه شد که مورد انتظار است. 39 00:02:14,000 --> 00:02:18,000 سپس ما به نام برخی از توابع پی اچ پی با استفاده از کمی نحو جدید، 40 00:02:18,000 --> 00:02:20,000 حتی اگر آن را از C. قرض گرفته شده 41 00:02:20,000 --> 00:02:24,000 >> این اپراتور فلش اجازه می دهد تا ما را به استفاده از چیزی به نام برنامه نویسی شی گرا است. 42 00:02:24,000 --> 00:02:27,000 ما نمی خواهد که به در هر جزئیات اینجا، اما می دانم که در حال حاضر 43 00:02:27,000 --> 00:02:31,000 این یک راه داشتن توابع مرتبط با اشیاء، 44 00:02:31,000 --> 00:02:34,000 هستند که نوع خاصی از ساختار، همانطور که ما در C. دیدم 45 00:02:34,000 --> 00:02:37,000 اما در حال حاضر، فقط در ایمان این است که به نحو صحیح به استفاده از 46 00:02:37,000 --> 00:02:41,000 در هنگام استفاده از یک کتابخانه مثل این کتابخانه PHPMailer. 47 00:02:41,000 --> 00:02:44,000 و سپس در پایان از این فایل به صورت پویا تولید یک ایمیل به 48 00:02:44,000 --> 00:02:47,000 که به حساب jharvard@cs50.net من ارسال کردم 49 00:02:47,000 --> 00:02:50,000 از حساب jharvard@cs50.net من، 50 00:02:50,000 --> 00:02:54,000 و ما به اطلاع کاربر بر این اساس است که آنها را برای این ورزش ثبت شده بود. 51 00:02:54,000 --> 00:02:57,000 این است که بسیار چه سایت انجمن ریاضی جدید الورود بود همه کسانی که سال ها پیش 52 00:02:57,000 --> 00:03:00,000 زمانی که من آن را اجرا، اعطا شده در زبان های مختلف، 53 00:03:00,000 --> 00:03:02,000 اما آن را به شما نشان می دهد که شاید این قدرت است که شما 54 00:03:02,000 --> 00:03:05,000 حالا که شما می توانید خود را نه تنها به برنامه نویسی بیان 55 00:03:05,000 --> 00:03:08,000 در یک سطح پایین در یک زبان مانند C، اما در یک سطح بسیار بالاتر 56 00:03:08,000 --> 00:03:11,000 با این برنامه های کاربردی جهان واقعی مانند ایمیل را به واقع حل 57 00:03:11,000 --> 00:03:13,000 برخی از مسائل و مشکلات دنیای واقعی است. 58 00:03:13,000 --> 00:03:16,000 >> در حال حاضر، البته، حتی اگر من با استفاده از این اسکریپت برای تولید برخی از 59 00:03:16,000 --> 00:03:20,000 ایمیل ها به صورت پویا از jharvard@cs50.net است، که در واقع یک حساب کاربری 60 00:03:20,000 --> 00:03:23,000 که من به اینترنت دسترسی دارند، انجام می شود کاملا دقیق به ارسال 61 00:03:23,000 --> 00:03:26,000 ایمیل تنها از حساب است که واقع را آن گونه که مایلید تغییر دهید، 62 00:03:26,000 --> 00:03:30,000 مبادا چیزهایی که شما را در کمی آب داغ در زندگی است. 63 00:03:30,000 --> 00:03:35,000 با که گفت، اجازه دهید در حال حاضر انتقال به حل یک مشکل کاملا متفاوت، 64 00:03:35,000 --> 00:03:37,000 که ایالات حفظ. 65 00:03:37,000 --> 00:03:39,000 در حال حاضر، چه در واقع چیست؟ 66 00:03:39,000 --> 00:03:42,000 HTTP، این پروتکل انتقال ابرمتن، 67 00:03:42,000 --> 00:03:45,000 است که در واقع یک پروتکل بی وطن است، و این بدان معنی است که 68 00:03:45,000 --> 00:03:48,000 زمانی که شما بالا بکشد چیزی شبیه به Google.com و سپس ضربه را وارد کنید 69 00:03:48,000 --> 00:03:51,000 معمولا، مرورگر شما از برخی از انواع نخ ریسی نماد که پس از آن 70 00:03:51,000 --> 00:03:54,000 نتایج در برخی از صفحه وب که دانلود شده، 71 00:03:54,000 --> 00:03:57,000 و پس از آن است که آیکون کوچک متوقف می شود در حال چرخش، و که در واقع نشان می دهد 72 00:03:57,000 --> 00:04:02,000 که HTTP نوعی از اتصال به سرور را تکمیل کرده است و این از آن است. 73 00:04:02,000 --> 00:04:05,000 HTTP به این معنا که آن را حفظ نیست بی وطن است 74 00:04:05,000 --> 00:04:08,000 اتصال مداوم به سرور در اسکایپ به همان شیوه می کند 75 00:04:08,000 --> 00:04:11,000 یا Gchat می کند چرا که با HTTP 76 00:04:11,000 --> 00:04:15,000 فرض بر این است که هنگامی که شما در ذهن یک صفحه وب که در آن. 77 00:04:15,000 --> 00:04:18,000 >> در حال حاضر، در واقع این روز بر روی سایت هایی مانند فیس بوک و گوگل نقشه های 78 00:04:18,000 --> 00:04:21,000 و توییتر و مانند خیلی بیشتر از پویایی وجود دارد که به موجب آن 79 00:04:21,000 --> 00:04:25,000 حتی پس از آن نماد متوقف می شود نخ ریسی شما می توانید در واقع دریافت به روز رسانی های بیشتر 80 00:04:25,000 --> 00:04:29,000 از سرور، توییت بیشتر، به روز رسانی وضعیت در فیس بوک و مانند آن. 81 00:04:29,000 --> 00:04:33,000 اما حتی اگر این است که با استفاده از یک تکنیک است که صحبت خواهیم کرد در مورد یک یا دو هفته 82 00:04:33,000 --> 00:04:36,000 شناخته شده به عنوان آژاکس با استفاده از یک زبان به نام جاوا اسکریپت، 83 00:04:36,000 --> 00:04:38,000 اما در پایان روز، HTTP هنوز هم بی. 84 00:04:38,000 --> 00:04:42,000 و با این حال اگر شما می خواهید به نحوی به یاد داشته باشید همه چیز در مورد یک کاربر 85 00:04:42,000 --> 00:04:44,000 حتی بعد از اینکه آنها را از روی سرور خود را قطع کرده اید 86 00:04:44,000 --> 00:04:47,000 PHP به شما استفاده از انجام این کار استطاعت 87 00:04:47,000 --> 00:04:52,000 از آنجا که، به عنوان ما شاهد زمان گذشته، PHP شماره superglobals، 88 00:04:52,000 --> 00:04:55,000 و یک superglobal، دوباره، یک متغیر خاص جهانی 89 00:04:55,000 --> 00:04:59,000 که توسط وب سرور و PHP خود را به شما تحویل داده می شود. 90 00:04:59,000 --> 00:05:02,000 >> شما لازم نیست که برای انجام هر کاری به قرار دادن مقادیر در آن، 91 00:05:02,000 --> 00:05:05,000 و در میان superglobals ما تا کنون دیده ایم، دریافت و ارسال، 92 00:05:05,000 --> 00:05:08,000 است که که در آن فرم ها به صورت خودکار برای شما قرار داده است، 93 00:05:08,000 --> 00:05:11,000 همچنین به عنوان یک زن و شوهر از دیگران است که ما را دیده اند، هنوز رتبهدهی نشده است. 94 00:05:11,000 --> 00:05:17,000 در داخل $ _SERVER برخی از متغیرهای خاص مربوط به خود سرور. 95 00:05:17,000 --> 00:05:22,000 چه آدرس IP، پروتکل، HTTP یا HTTPS استفاده کردید، 96 00:05:22,000 --> 00:05:25,000 چه روش درخواست شما با استفاده از بود و مانند آن، بنابراین برخی از جالب توجه وجود دارد، 97 00:05:25,000 --> 00:05:29,000 جزئیات آبدار در مورد سرور، و در واقع، کاربر در آن وجود دارد نیز هست. 98 00:05:29,000 --> 00:05:33,000 $ _cookie، که جایی است که این چیزها را به نام کوکی ها ذخیره می شوند وجود دارد. 99 00:05:33,000 --> 00:05:36,000 ما زمان را در کوکی ها صرف نیست خود را امروز، 100 00:05:36,000 --> 00:05:40,000 اما می دانم که در حال حاضر که یک کوکی این است که فقط یک قطعه کوچکی از اطلاعات 101 00:05:40,000 --> 00:05:43,000 که یک سرویس دهنده وب می تواند بر روی یک مرورگر وب بوته 102 00:05:43,000 --> 00:05:46,000 و به نوبه خود RAM خود و یا دیسک سخت کامپیوتر خود را 103 00:05:46,000 --> 00:05:49,000 برای ذخیره اطلاعات مربوط به کاربر، به عنوان مثال، نام کاربری خود را 104 00:05:49,000 --> 00:05:52,000 به طوری که آنها مجبور نیستند به نوع آن در هر زمان آنها وارد شوید و یا برخی از 105 00:05:52,000 --> 00:05:55,000 شماره یا شناسه منحصر به فرد است که برای کاربر 106 00:05:55,000 --> 00:05:58,000 به طوری که شما لازم نیست که آنها را با انواع سؤال در مورد اذیت کردن 107 00:05:58,000 --> 00:06:00,000 تنظیمات در آینده است، اما اغلب مورد علاقه 108 00:06:00,000 --> 00:06:02,000 در حال حاضر دلار است _SESSION. 109 00:06:02,000 --> 00:06:07,000 >> این superglobal، که، مانند دیگران، به شما به طور خودکار توسط PHP دست 110 00:06:07,000 --> 00:06:10,000 هنگامی که شما در حال نوشتن وب سایت های مبتنی بر PHP- 111 00:06:10,000 --> 00:06:13,000 می توانید هر چیزی که می خواهید، رشته ها، اعداد صحیح را ذخیره، 112 00:06:13,000 --> 00:06:16,000 نقاط شناور، ارزش ها، آرایه ها، اشیا، 113 00:06:16,000 --> 00:06:20,000 واقعا هر چیزی را که شما می خواهید، و آن را به شما اجازه می دهد تا آن را در چنین راه ذخیره 114 00:06:20,000 --> 00:06:23,000 که حتی اگر کاربر شما را بار مشاهده شده است در حال حاضر و پس از آن 115 00:06:23,000 --> 00:06:26,000 می آید یک دقیقه از هم اکنون و یا 5 دقیقه از در حال حاضر به دلیل 116 00:06:26,000 --> 00:06:28,000 زمان خود را که قبل از نوشتن مطالب لازم است برخی از لینک های دیگر 117 00:06:28,000 --> 00:06:32,000 PHP اطمینان خواهد داد که هر آنچه که شما در superglobal جلسه ای که قرار داده است 118 00:06:32,000 --> 00:06:37,000 یک دقیقه یا 5 دقیقه پیش هنوز هم وجود خواهد داشت زمانی که کاربر می گرداند. 119 00:06:37,000 --> 00:06:40,000 و در زیر هود این superglobal است از طریق به اجرا 120 00:06:40,000 --> 00:06:44,000 کسانی که همه چیز به نام کوکی ها، اما در حال حاضر، آن را فقط یک انتزاع 121 00:06:44,000 --> 00:06:47,000 به موجب آن این نوع معادل برنامه ریزی شده از سبد خرید. 122 00:06:47,000 --> 00:06:50,000 هر آنچه که شما، برنامه نویس، قرار داده و در آن 123 00:06:50,000 --> 00:06:53,000 superglobal آرایه انجمنی وجود دارد از چند دقیقه بعد خواهد بود 124 00:06:53,000 --> 00:06:59,000 تا زمانی که شما آن را حذف و یا تا زمانی که کاربر واریز مرورگر خود را در دسترس نباشد. 125 00:06:59,000 --> 00:07:02,000 >> بیایید نگاهی به یک نمونه از این چیزی است که در واقع استفاده از. 126 00:07:02,000 --> 00:07:07,000 در counter.php در میان تکه های امروز از کد 127 00:07:07,000 --> 00:07:09,000 ما باید خط زیر است. 128 00:07:09,000 --> 00:07:13,000 در آغاز از این فایل ما دسته از نظر آبی، که در حال حاضر هستند و بی. 129 00:07:13,000 --> 00:07:15,000 اما در خط 13 ما یک خط جدید، 130 00:07:15,000 --> 00:07:18,000 session_start، و این در واقع دقیقا همان چیزی است که آن را می گوید. 131 00:07:18,000 --> 00:07:20,000 شروع جلسه است. 132 00:07:20,000 --> 00:07:25,000 این شما را قادر به استفاده از آن بزرگ superglobal $ _SESSION، و آن را به عنوان ساده به عنوان آن است. 133 00:07:25,000 --> 00:07:30,000 در حال حاضر، اگر ما اقدام به در خط 16 نگاه کنید، اجازه دهید سعی کنید به شکل از آنچه در این صفحه وب در حال رفتن به انجام. 134 00:07:30,000 --> 00:07:35,000 اگر (isset ($ _SESSION [""]) پس از آن پیش بروید 135 00:07:35,000 --> 00:07:39,000 و ذخیره در متغیر شمارنده، شمارنده حروف کوچک، 136 00:07:39,000 --> 00:07:42,000 $ _SESSION [""]. 137 00:07:42,000 --> 00:07:45,000 این به نظر می رسد اعلام یک متغیر محلی به نام مبارزه با 138 00:07:45,000 --> 00:07:48,000 در داخل از آن قرار دادن یک کپی از آنچه در داخل superglobal 139 00:07:48,000 --> 00:07:52,000 جلسه در محل به نام "ضد". 140 00:07:52,000 --> 00:07:56,000 دیگری، ظاهرا، این کمی شمارنده متغیر های محلی، به 0 مقداردهی اولیه شده است. 141 00:07:56,000 --> 00:08:01,000 >> اما پس از آن چند خط بعد در 26 اخطار که کپی جلسه کانتر، 142 00:08:01,000 --> 00:08:06,000 کلید آن، واگذار شده ارزش جدید است که ارزش فعلی آن به علاوه 1. 143 00:08:06,000 --> 00:08:09,000 به طور خلاصه، این فایل به نظر می رسد به روز رسانی 144 00:08:09,000 --> 00:08:13,000 شمارنده که در داخل superglobal جلسه ذخیره شده 145 00:08:13,000 --> 00:08:16,000 با افزایش آن 1 است، اما آن را برای اولین بار حفظ یک کپی از مقدار قبلی 146 00:08:16,000 --> 00:08:20,000 با ذخیره آن در یک متغیر محلی به نام $ ضد، 147 00:08:20,000 --> 00:08:22,000 و پس از آن را در اینجا اجازه دهید ببینیم که چه چیزی باقی می ماند. 148 00:08:22,000 --> 00:08:24,000 به نظر می رسد از آن بسیار HTML است. 149 00:08:24,000 --> 00:08:29,000 در پایین این صفحه را در خط 37 که من آن را به بازدید از این سایت 150 00:08:29,000 --> 00:08:33,000 تعداد شمارنده زمان، بنابراین ویژگی های جالب زن و شوهر در اینجا وجود دارد. 151 00:08:33,000 --> 00:08:36,000 یک، این است که به وضوح یک متغیر، اما این کافی نیست که فقط با قرار دادن 152 00:08:36,000 --> 00:08:39,000 دلار شمارنده در بدن از HTML خود را به دلیل البته 153 00:08:39,000 --> 00:08:43,000 اگر آن را فقط در میان PHP خود را در HTML است که فرض کنیم که فقط HTML. 154 00:08:43,000 --> 00:08:48,000 شما به معنای واقعی کلمه می خواهید دلار شمارنده بر روی صفحه چاپ شده است. 155 00:08:48,000 --> 00:08:51,000 >> اما در عوض با انداختن را به حالت PHP 156 00:08:51,000 --> 00:08:55,000 به با این قطعه نحو ما به صورت پویا می تواند یک مقدار را در اینجا درج 157 00:08:55,000 --> 00:08:58,000 در روح بسیار شبیه به آنچه که ما در زمان گذشته با 158 00:08:58,000 --> 00:09:00,000 قرار دادن مقادیر به رشته. 159 00:09:00,000 --> 00:09:04,000 در واقع، این است که فقط یک نماد مختصر برای گفتن چیزی شبیه به این به معنای واقعی کلمه، 160 00:09:04,000 --> 00:09:12,000 چاپ (ضد) و یا حتی چیزی شبیه به printf (٪ S، شمارنده) 161 00:09:12,000 --> 00:09:14,000 یا حتی ممکن است شما را دیده اند، آنلاین و یا در کتاب های درسی، 162 00:09:14,000 --> 00:09:17,000 یک تابع در PHP به نام اکو وجود دارد 163 00:09:17,000 --> 00:09:20,000 که همین کار را، و همه از آن فقط دیگر راه نفس 164 00:09:20,000 --> 00:09:25,000 از گفتن <= 165 00:09:25,000 --> 00:09:28,000 در این مورد شما لازم نیست برای قرار دادن 166 00:09:28,000 --> 00:09:30,000 PHP کلمه بعد از علامت سوال. 167 00:09:30,000 --> 00:09:34,000 این نماد مختصر است، دوباره، چیزی است که ما فقط دیدم یک لحظه قبل 168 00:09:34,000 --> 00:09:37,000 است که انعکاس برخی از ارزش است. 169 00:09:37,000 --> 00:09:39,000 >> اجازه دهید ببینیم که چه چیزی نتیجه نهایی از این واقع شده است. 170 00:09:39,000 --> 00:09:43,000 اجازه دهید من به فایل counter.php، 171 00:09:43,000 --> 00:09:47,000 و خواهیم دید که دیوید فقط یک اشتباه را با بازی با کد وجود دارد ساخته شده است. 172 00:09:47,000 --> 00:09:50,000 بیایید به تعمیر هر چه او خراب، 173 00:09:50,000 --> 00:09:54,000 و خطا به نظر می رسد وجود داشته باشد، رفته، در خط 37. 174 00:09:54,000 --> 00:09:59,000 با توجه به بالا از این صفحه من این سایت 0 بار سفر کرده اند. 175 00:09:59,000 --> 00:10:02,000 خوب، اجازه دهید به جلو بروید در حال حاضر، و در بالای مرورگر کلیک بر روی 176 00:10:02,000 --> 00:10:05,000 بارگذاری مجدد آیکون و من روی Reload کلیک کنید. 177 00:10:05,000 --> 00:10:12,000 و در حال حاضر من به بازدید از سایت 1، 2، 3، 4، 5، 6، 7، 8. 178 00:10:12,000 --> 00:10:16,000 و در واقع، اگر به منبع این صفحه نگاه کنید کد منبع واقعی در حال تغییر است، 179 00:10:16,000 --> 00:10:19,000 و متوجه نبود کامل از هر گونه PHP، و این به دلیل 180 00:10:19,000 --> 00:10:23,000 کد PHP ارزیابی شده است و یا تفسیر سمت سرور، 181 00:10:23,000 --> 00:10:27,000 و به طوری که بدان معنی است که خروجی اسکریپت PHP همان چیزی است که در نهایت به مرورگر فرستاده می شود، 182 00:10:27,000 --> 00:10:31,000 که در این مورد برخی از HTML خام و برخی از متن خام است. 183 00:10:31,000 --> 00:10:33,000 در اینجا چه خبر است؟ 184 00:10:33,000 --> 00:10:37,000 >> خوب، به با خطوط نسبتا تعداد کمی از کد من قادر به ذخیره 185 00:10:37,000 --> 00:10:40,000 همواره در طول این دوره از چند ثانیه، و یا اگر به اندازه کافی طولانی، ما منتظر 186 00:10:40,000 --> 00:10:44,000 دقیقه، حتی ساعت، برخی از ارزش در راه است که باعث می شود HTTP 187 00:10:44,000 --> 00:10:47,000 stateful به نظر می رسد به عنوان اینکه ما حفظ کرده ایم 188 00:10:47,000 --> 00:10:51,000 این اتصال به سرور، و آن را فقط به خاطر سپردن آنچه که من آن را به زمان گذشته گفت، 189 00:10:51,000 --> 00:10:55,000 اما در واقعیت، یک دسته کامل از پیچیدگی در رفتن در زیر هود وجود دارد 190 00:10:55,000 --> 00:10:59,000 شامل کوکی هایی که PHP را قادر می سازد به من این توهم را 191 00:10:59,000 --> 00:11:02,000 این سبد خرید مانند ویژگی. 192 00:11:02,000 --> 00:11:05,000 در حال حاضر، به عنوان مثال پیش پا افتاده است که در آن ما فقط به ذخیره سازی یک عدد صحیح، 193 00:11:05,000 --> 00:11:08,000 اما این قابلیت به بازگشت به ارزش بزرگ 194 00:11:08,000 --> 00:11:10,000 زمانی که ما شروع به صحبت کردن در مورد پروژه های پیچیده تر، 195 00:11:10,000 --> 00:11:12,000 در میان آنها، مشکل تنظیم 7. 196 00:11:12,000 --> 00:11:16,000 این آخرین مشکل در CS50 است. 197 00:11:16,000 --> 00:11:19,000 من می دانم، آن را بسیار غم انگیز است، اما چه شما این است که ما قصد داریم به این نتیجه 198 00:11:19,000 --> 00:11:22,000 این بخش در واقع انتقال از ترم 199 00:11:22,000 --> 00:11:25,000 از چهار چوب از C قطعا به زمینه PHP 200 00:11:25,000 --> 00:11:27,000 اما در حالی که با استفاده از برخی از همان اصول 201 00:11:27,000 --> 00:11:29,000 ایم برای برخی از زمان صحبت کرد. 202 00:11:29,000 --> 00:11:33,000 >> هدف با pset 7 به اجرای CS50 بودجه، 203 00:11:33,000 --> 00:11:37,000 است که نسخه خود را از امور مالی یاهو یا گوگل امور مالی 204 00:11:37,000 --> 00:11:40,000 و یا حتی به موجب آن شما باید توانایی Etrade.com 205 00:11:40,000 --> 00:11:43,000 نگاه کردن قیمت سهام برای نمادهای داده می شود، اما حتی بیشتر از آن 206 00:11:43,000 --> 00:11:48,000 شما توانایی به "خرید" و "فروش" سهام 207 00:11:48,000 --> 00:11:51,000 که در بورس های مختلف به دلیل به عنوان صفحه اصلی این داد و ستد 208 00:11:51,000 --> 00:11:55,000 در اینجا نشان می دهد، که واقعا تا چه حد که ایم شروع 209 00:11:55,000 --> 00:11:59,000 مجموعه ای از مشکل را برای شما، شما باید فرم ورود که درخواست نام کاربری و رمز عبور است. 210 00:11:59,000 --> 00:12:03,000 این دکمه submit، اما پس از آن، همانطور که ما در نهایت خواهید دید. 211 00:12:03,000 --> 00:12:06,000 واقعا وجود دارد هیچ چیز در زیر هود این حال به خاطر آن 212 00:12:06,000 --> 00:12:09,000 باقی می ماند را برای شما به پیاده سازی قابلیت ثبت نام کاربران جدید 213 00:12:09,000 --> 00:12:12,000 توانایی خرید سهام، فروش سهام، 214 00:12:12,000 --> 00:12:14,000 در واقع به نگاه قیمت سهام در حال حاضر است. 215 00:12:14,000 --> 00:12:17,000 >> و در واقع، این به عنوان دنیای واقعی که ممکن است از آنجا که ما 216 00:12:17,000 --> 00:12:20,000 شامل یک بیت از کد است که به شما اجازه می دهد تنها با یک تابع 217 00:12:20,000 --> 00:12:25,000 به پرس و جو یاهو امور مالی، که زیبا باعث می شود اطلاعات موجود آزاد 218 00:12:25,000 --> 00:12:31,000 برای دنبال کردن قیمت سهام بر اساس سهام نماد یا سمبل های اخیر، 219 00:12:31,000 --> 00:12:34,000 و شما می توانید قیمت سهام در حال حاضر از روز است. 220 00:12:34,000 --> 00:12:37,000 اطلاعات شما در واقع دیدن در این pset خاص خواهد بود 221 00:12:37,000 --> 00:12:40,000 در مورد جهان واقعی به عنوان آن را به طوری می توانید دریافت کنید که شما در واقع واسط 222 00:12:40,000 --> 00:12:43,000 با سهام دنیای واقعی، قیمت های دنیای واقعی، 223 00:12:43,000 --> 00:12:47,000 و ما باید ببینید که چه مقدار پول شما احتمالا می تواند باعث 224 00:12:47,000 --> 00:12:51,000 بیش از چند روز بعد از بازی با مجموعه ای مشکل خود را. 225 00:12:51,000 --> 00:12:55,000 >> اما اجازه دهید برای اولین بار صحنه را برای چگونه می توان به طراحی چیزی است که قطعا پیچیده تر، تنظیم کنید 226 00:12:55,000 --> 00:12:59,000 از counter.php، که پیچیده تر از هر یک از نمونه انجمن ریاضی جدید الورود تا کنون، 227 00:12:59,000 --> 00:13:02,000 و اجازه دهید سعی کنید به معرفی چند پارادایم در اینجا است که به ما اجازه می دهد 228 00:13:02,000 --> 00:13:06,000 هر دو برای pset 7 و شاید برای پروژه نهایی خود را اگر شما وب چیزی بر اساس 229 00:13:06,000 --> 00:13:11,000 برای نگه داشتن کد خود را به خوبی سازماندهی شده، برای حفظ خود عاقل، 230 00:13:11,000 --> 00:13:15,000 و به یک گام به سوی همکاری، چه در پروژه نهایی CS50 231 00:13:15,000 --> 00:13:18,000 و یا فراتر از آن اگر شما همچنان به برنامه ریزی چیزی در آینده. 232 00:13:18,000 --> 00:13:21,000 این الگوی طراحی به طور کلی وجود دارد 233 00:13:21,000 --> 00:13:24,000 در علم کامپیوتر و در توسعه نرم افزار به طور کلی 234 00:13:24,000 --> 00:13:27,000 شناخته شده به عنوان MVC، مدل کنترل، 235 00:13:27,000 --> 00:13:30,000 و این مخفف احمقانه است که توصیف یک ایده بسیار خوب است، 236 00:13:30,000 --> 00:13:34,000 که جدایی از جنبه های مختلف از یک برنامه است. 237 00:13:34,000 --> 00:13:39,000 به طور خاص نگهداری جداگانه منطق یا منطق کسب و کار یک وب سایت 238 00:13:39,000 --> 00:13:42,000 به طوری که هر چیزی که شامل چیزهایی مثل 239 00:13:42,000 --> 00:13:45,000 فراخوانی توابع و پرس و جو از پایگاه داده و مانند 240 00:13:45,000 --> 00:13:48,000 اتفاق می افتد نه در میان HTML شما 241 00:13:48,000 --> 00:13:51,000 بلکه در فایل های جداگانه، و در واقع، در این فایل وجود دارد 242 00:13:51,000 --> 00:13:54,000 به طور معمول است که شما را به نام کنترل کننده 243 00:13:54,000 --> 00:13:56,000 که واقعا مغز در پشت این عملیات، و ما یک مثال را ببینید 244 00:13:56,000 --> 00:13:58,000 این فقط در یک لحظه. 245 00:13:58,000 --> 00:14:01,000 >> یک مدل است که کد برنامه نویسی وجود دارد 246 00:14:01,000 --> 00:14:05,000 که می کند صحبت کردن به پایگاه داده خود را، که مذاکرات به یاهو امور مالی و مانند آن، 247 00:14:05,000 --> 00:14:08,000 و پس از آن V در MVC، دیدگاه ها وجود دارد، 248 00:14:08,000 --> 00:14:11,000 همه از چیزهای که مربوط به زیبایی شناسی، فایل های که در واقع شامل 249 00:14:11,000 --> 00:14:14,000 HTML شما، شاید CSS و مانند آن. 250 00:14:14,000 --> 00:14:17,000 این ایده در اینجا، به عنوان این تصویر نشان می دهد، این است که کنترل 251 00:14:17,000 --> 00:14:21,000 فایل، به عنوان ما به زودی خواهید دید و به عنوان شما به ویژه خواهید در pset 7، 252 00:14:21,000 --> 00:14:24,000 که جهان صحبت می کند تا از طریق مرورگرهای وب خود را. 253 00:14:24,000 --> 00:14:27,000 که این فایل می شود که بر روی اینترنت عمومی بازدید شده است. 254 00:14:27,000 --> 00:14:30,000 اما کنترل صحبت می کند به طور بالقوه یک مدل، 255 00:14:30,000 --> 00:14:34,000 که یک یا چند فایل دیگر که حاوی کد مربوط به داده ها است، 256 00:14:34,000 --> 00:14:37,000 کد مربوط به پایگاه داده و مانند، و پس از آن حرف 257 00:14:37,000 --> 00:14:40,000 کنترل یک یا بیشتر از سایر فایل های شناخته شده به عنوان نمایش ها 258 00:14:40,000 --> 00:14:43,000 که زیبایی شناسی از یک صفحه وب، قالب های از انواع، 259 00:14:43,000 --> 00:14:47,000 است که ممکن است برخی از داده ها را به عنوان ورودی است، اما در پایان روز 260 00:14:47,000 --> 00:14:50,000 منطق تنها در داخل یک دیدگاه باید رندر از این داده ها، 261 00:14:50,000 --> 00:14:53,000 تکرار بیش از یک حلقه و در واقع تف کردن برخی از 262 00:14:53,000 --> 00:14:56,000 HTML مبتنی بر تفسیر آن و یا حتی چیزی شبیه PDF است. 263 00:14:56,000 --> 00:14:59,000 >> چه خوب در مورد MVC این است که شما می توانید دیدگاه های مختلف 264 00:14:59,000 --> 00:15:02,000 بر اساس نوع دستگاه، بر اساس نوع فرمت فایل است که شما در واقع 265 00:15:02,000 --> 00:15:04,000 می خواهم برای نشان دادن به کاربر است. 266 00:15:04,000 --> 00:15:10,000 بیایید نگاهی به چند مثال به تدریج پیچیده تر و به خوبی طراحی شده 267 00:15:10,000 --> 00:15:13,000 برای اولین بار با نسخه 0 اینجا شروع می کنند. 268 00:15:13,000 --> 00:15:16,000 اجازه دهید من به جلو بروید و باز کردن در دایرکتوری ما MVC امروز 269 00:15:16,000 --> 00:15:21,000 فایل index.php در پوشه 0 نامیده می شود. 270 00:15:21,000 --> 00:15:26,000 توجه کنید این است که یک وب سایت ساده و بسیار underwhelming فوق العاده 271 00:15:26,000 --> 00:15:29,000 که مرتب سازی بر اساس نسخه 0 یک پیام خصوصی به CS50، 272 00:15:29,000 --> 00:15:32,000 و توجه کنید که چگونه ما یک لینک به سخنرانی، ما باید لینک به برنامه درسی، 273 00:15:32,000 --> 00:15:35,000 و اگر من به دنبال این لینک به اطلاع سخنرانی که URL 274 00:15:35,000 --> 00:15:39,000 تا بالا رفتن برای تغییر lectures.php. 275 00:15:39,000 --> 00:15:44,000 اگر من پس از آن لینک به 1 هفته اخطار را دنبال کنید که تغییرات URL به week1.php. 276 00:15:44,000 --> 00:15:46,000 به نظر می رسد به عنوان یک ساختار سلسله مراتبی نسبتا ساده در اینجا وجود دارد. 277 00:15:46,000 --> 00:15:49,000 >> اجازه دهید نگاهی سریع زیر هود چگونه این گذاشته است، 278 00:15:49,000 --> 00:15:53,000 و در واقع، اگر من در فایل index.php را نگاه کنید از آن بسیار ساده است. 279 00:15:53,000 --> 00:15:57,000 در واقع، حتی اگر من این یک فایل PHP به نام هیچ یک از کدهای برنامه نویسی واقعی وجود دارد. 280 00:15:57,000 --> 00:16:01,000 یک نظر است که من در اینجا در پی اچ پی نوشت: خیلی از کاربر می کند پایان ندارد تا دیدن آن وجود دارد. 281 00:16:01,000 --> 00:16:05,000 البته، مانند قبل، هر چیزی را که در بین تگ های PHP 282 00:16:05,000 --> 00:16:08,000 می شود تفسیر، حتی اگر آن را یک «دیدگاه»، و تفسیر 283 00:16:08,000 --> 00:16:11,000 یعنی به دور انداختن آن در پایان روز و در واقع 284 00:16:11,000 --> 00:16:15,000 ارسال آن به مرورگر است، به طوری که همه چیز در اینجا فقط به زیبایی شناسی است. 285 00:16:15,000 --> 00:16:20,000 اگر من باز به همین ترتیب lectures.php این هم فقط یک فایل hard code شده است. 286 00:16:20,000 --> 00:16:23,000 این اتفاق می افتد به نام چیزی شده است. پی اچ پی، 287 00:16:23,000 --> 00:16:27,000 اما واقعا عادلانه است. HTML و week1.php، week2.php 288 00:16:27,000 --> 00:16:31,000 به همین ترتیب فقط نشانه گذاری است، به طوری که یک دسته از کاستی های این طرح وجود دارد. 289 00:16:31,000 --> 00:16:33,000 در یک آن، مقدار زیادی از کپی / چسباندن است. 290 00:16:33,000 --> 00:16:37,000 حتی اگر تنها چیزی که در حال تغییر در بین این فایل ها لیست نامرتب است، 291 00:16:37,000 --> 00:16:41,000 برچسب ها لی، من با وجود این نوع توضیحات، HTML، سر، 292 00:16:41,000 --> 00:16:44,000 عنوان، بدن نزدیک، نزدیک HTML و بیشتر 293 00:16:44,000 --> 00:16:47,000 در هر فایل، به این معنی که اگر همیشه می خواستم بازسازی 294 00:16:47,000 --> 00:16:50,000 این صفحه وب و یا restylize من باید بروم و تغییر 295 00:16:50,000 --> 00:16:54,000 تمامی این فایل ها را به صورت دستی و یا با بعضی از گسترده پیدا و جایگزین. 296 00:16:54,000 --> 00:17:01,000 >> بیایید گام به سوی یک طراحی دقیق، دیگر فکر کردن در نسخه 1 در اینجا 297 00:17:01,000 --> 00:17:04,000 به موجب آن در من است که ما را گنجانده ام به طوری که شما می توانید بازی همراه با 298 00:17:04,000 --> 00:17:07,000 این فراغت خاطر بیشتر در اخطار خانه که ما را در اینجا 299 00:17:07,000 --> 00:17:10,000 خلاصه ای از فایل های موجود در نسخه 1 این سایت، 300 00:17:10,000 --> 00:17:13,000 و آن را به نظر می رسد که من آن را بر خودم را به عامل 301 00:17:13,000 --> 00:17:17,000 برخی از کد مشترک، header.php را و footer.php را. 302 00:17:17,000 --> 00:17:20,000 خوب، اجازه دهید نگاهی به آنچه در داخل برای اولین بار از آن. 303 00:17:20,000 --> 00:17:23,000 header.php که آشنا به نظر می رسد، 304 00:17:23,000 --> 00:17:26,000 اما توجه کنید که در آن آن را دریافت می کند قطع؟ 305 00:17:26,000 --> 00:17:30,000 بعد از خط 19، به طوری که هر آنچه را که معمول بود 306 00:17:30,000 --> 00:17:33,000 از فایل index.php فایل ها، lectures.php، 307 00:17:33,000 --> 00:17:36,000 week1 و week2.php از مثال قبلی است. 308 00:17:36,000 --> 00:17:40,000 چه من را کپی کنید و همه چیز را برش بود که به همه کسانی که فایل های مشترک بود، 309 00:17:40,000 --> 00:17:44,000 آن را در یک فایل هدر جداگانه، و به همین ترتیب در فایل footer.php 310 00:17:44,000 --> 00:17:48,000 اصل من اعمال می شود که به موجب آن تنها خطوط جالب 311 00:17:48,000 --> 00:17:52,000 در فایل footer.php آیا این دو، بدن نزدیک و نزدیک HTML. 312 00:17:52,000 --> 00:17:55,000 >> اما این به این معنی در حال حاضر این است که در نسخه جدید 313 00:17:55,000 --> 00:17:59,000 اطلاع index.php را بسیار ساده تر می توان آن را دریافت کنید. 314 00:17:59,000 --> 00:18:02,000 اعطا شده، کمی مرموز به دنبال کمی کمتر بصری 315 00:18:02,000 --> 00:18:06,000 به دنبال بالا به پایین است، اما خدای من، همه از آن افزونگی در حال حاضر از بین رفته اند. 316 00:18:06,000 --> 00:18:10,000 ما نیاز به استفاده از یک تابع PHP به معنای واقعی کلمه به نام نیاز تا بالا، 317 00:18:10,000 --> 00:18:15,000 است که بسیار یادآور، یاد، از C # شامل مکانیسم. 318 00:18:15,000 --> 00:18:17,000 ما نیاز به header.php را در بالای صفحه. 319 00:18:17,000 --> 00:18:20,000 ما نیاز به footer.php را در پایین، و تنها چیزی که متفاوت است. 320 00:18:20,000 --> 00:18:25,000 و یا ویژه در مورد این فایل به این معنی بود که به صورت منحصر به فرد به آن است. 321 00:18:25,000 --> 00:18:29,000 اگر من پس از آن به، بگو، lectures.php، همین اصل صادق است. 322 00:18:29,000 --> 00:18:32,000 باز هم، بعضی از نظرات تا بالا، اما بعد از آن من نیاز به هدر، نیاز به بالا و پایین صفحه، 323 00:18:32,000 --> 00:18:35,000 و در بین آن فقط محتوایی که در واقع تغییر است. 324 00:18:35,000 --> 00:18:38,000 و اگر ما را به 1 هفته و هفته نگاه 2 ما رو میدیدیم 325 00:18:38,000 --> 00:18:42,000 که در اصل همان اعمال شده بود وجود دارد. 326 00:18:42,000 --> 00:18:44,000 خب، ما کاملا انجام نمی شود وجود دارد. 327 00:18:44,000 --> 00:18:48,000 >> بیایید نگاهی به نسخه ی 2، که دارای یک ساختار مشابه، 328 00:18:48,000 --> 00:18:50,000 اما متوجه حال حاضر من چیز دیگری معرفی شده است. 329 00:18:50,000 --> 00:18:53,000 در خط 10 به من معرفی helpers.php 330 00:18:53,000 --> 00:18:55,000 که ظاهرا شامل توابع کمک کننده است. 331 00:18:55,000 --> 00:18:58,000 یک تابع کمکی است به طور کلی عملکرد نسبتا کوتاه 332 00:18:58,000 --> 00:19:01,000 که تو می نویسم برای کمک به شما را در مکان های مختلف، 333 00:19:01,000 --> 00:19:04,000 و اجازه دهید ببینیم که چه چیزی در داخل helpers.php. 334 00:19:04,000 --> 00:19:07,000 در این مورد، به نظر می رسد مانند آن دارای 2 توابع. 335 00:19:07,000 --> 00:19:10,000 به یاد بیاورید از روز دیگر با یک مثال مکعب ما 336 00:19:10,000 --> 00:19:13,000 شما می توانید وظایف خود را در PHP تعریف، و آنچه که من انجام داده ام این است که از من 337 00:19:13,000 --> 00:19:17,000 توابع تعریف شده به نام رندر بالا و پایین صفحه و رندر هدر، 338 00:19:17,000 --> 00:19:21,000 اول طول می کشد که یک پارامتر به نام داده ها، 339 00:19:21,000 --> 00:19:25,000 که به طور پیش فرض مقدار یک آرایه خالی است، به عنوان پیشنهاد وجود دارد، 340 00:19:25,000 --> 00:19:29,000 و ما در واقع می تواند این را حتی بیشتر موجز نوشتن در آخرین نسخه از PHP 341 00:19:29,000 --> 00:19:32,000 گفت براکت مربع باز، بسته براکت. 342 00:19:32,000 --> 00:19:35,000 این بدان معناست که یک آرایه خالی از اندازه 0 است، اما با این وجود یک آرایه. 343 00:19:35,000 --> 00:19:38,000 >> این تابع عصاره کمی خاص است که در آن 344 00:19:38,000 --> 00:19:41,000 آنچه در آن می کند این است که آن را به عنوان آرگومان آن طول می کشد یک آرایه انجمنی 345 00:19:41,000 --> 00:19:45,000 که 0 یا چند جفت ارزش کلیدی دارد، و در صورتی که دارای یک کلید از کفش 346 00:19:45,000 --> 00:19:48,000 و یک مقدار از نوار تابع عصاره 347 00:19:48,000 --> 00:19:51,000 ایجاد یک وضعیت که در آن در حال حاضر، به عنوان خط 11 348 00:19:51,000 --> 00:19:57,000 شما باید یک متغیر محلی به نام دلار صنایع غذایی است که ارزش بار. 349 00:19:57,000 --> 00:19:59,000 و اگر شما کلیدهای بیشتر و مقادیر در آرایه داده بود، 350 00:19:59,000 --> 00:20:03,000 به همین ترتیب آنها را به دامنه های محلی استخراج 351 00:20:03,000 --> 00:20:06,000 یا فضای نام به طوری که فایل footer.php و 352 00:20:06,000 --> 00:20:09,000 اینجا کلیک کنید یا با همان ایده را به طوری که header.php را 353 00:20:09,000 --> 00:20:12,000 دسترسی به آن متغیر است. 354 00:20:12,000 --> 00:20:15,000 در واقع، به من اجازه باز کردن دوباره header.php را 355 00:20:15,000 --> 00:20:18,000 و جلب توجه به در حال حاضر آنچه که آن را مانند در این نسخه به نظر می رسد. 356 00:20:18,000 --> 00:20:22,000 >> به جای سخت و برنامه نویسی CS50 عنوان عنوان برای هر صفحه 357 00:20:22,000 --> 00:20:24,000 توجه به پویایی که ممکن است در حال حاضر. 358 00:20:24,000 --> 00:20:29,000 در خط 5 من انعکاس یک متغیر عنوان، 359 00:20:29,000 --> 00:20:34,000 اما در ابتدا من گذشت که متغیر به عنوان یک تابع به نام htmlspecialchars. 360 00:20:34,000 --> 00:20:38,000 نام احمقانه برای یک تابع، زمانی که در آن است، اما این واقعا چیزی است که آن را می گوید. 361 00:20:38,000 --> 00:20:41,000 این تضمین می کند که هر شخصیت های خاص 362 00:20:41,000 --> 00:20:46,000 در رشته که در منتقل می شده است به درستی فرار HTML. 363 00:20:46,000 --> 00:20:49,000 این است که در واقع یک راه اجتناب از چیزی به نام کراس سایت اسکریپت حمله 364 00:20:49,000 --> 00:20:52,000 به موجب آن کسی می تواند مخرب و یا به طور تصادفی 365 00:20:52,000 --> 00:20:55,000 تزریق HTML خود را به وب سایت شما 366 00:20:55,000 --> 00:20:59,000 با چسباندن را به نوعی، به عنوان مثال، 367 00:20:59,000 --> 00:21:02,000 چیزی است که شما کاملا انتظار، به ویژه کد جاوا اسکریپت، 368 00:21:02,000 --> 00:21:05,000 به عنوان صحبت خواهیم کرد در مورد یک هفته یا دو. 369 00:21:05,000 --> 00:21:08,000 >> این header.php که در حال حاضر، آن را مشاهده 370 00:21:08,000 --> 00:21:12,000 به این معنا که به آن اجازه می دهد تا شما را به نمایش زیبا از محتویات برخی از مجموعه داده است. 371 00:21:12,000 --> 00:21:14,000 اما به طور خاص، آن را به یک الگو است. 372 00:21:14,000 --> 00:21:19,000 این نوع از چاپ اوزالید که برای کپیه نقشه و رسم های فنی بکار میرود و در حال حاضر از آنچه که ما می خواهیم هدر هر صفحه شبیه، 373 00:21:19,000 --> 00:21:23,000 اما برخی از پویایی که در آن ما می خواهیم این عنوان را به صورت پویا قرار داده وجود دارد 374 00:21:23,000 --> 00:21:26,000 بر اساس متغیر عنوان 375 00:21:26,000 --> 00:21:30,000 که استخراج شد، زمانی که ما به نام دوباره، 376 00:21:30,000 --> 00:21:33,000 رندر هدر تابع است. 377 00:21:33,000 --> 00:21:36,000 در حال حاضر، اگر ما در پایین صفحه رندر نگاه کرد، در واقع وجود دارد که حق بسیار استفاده نمی کند در حال حاضر 378 00:21:36,000 --> 00:21:40,000 زیرا در فایل footer.php هیچ پویایی آنچه وجود دارد. 379 00:21:40,000 --> 00:21:43,000 تواند وجود داشته باشد، اما در حال حاضر آن را به یک لیست کد سخت 2 برچسب ها: 380 00:21:43,000 --> 00:21:46,000 اما این ایده همین امر، به طوری که در واقع نشان می دهد که چرا 381 00:21:46,000 --> 00:21:49,000 وقت ما هدر هدر رندر و تابع رندر بالا و پایین صفحه؟ 382 00:21:49,000 --> 00:21:52,000 اجازه بدهید من به جای آن در حال حاضر به نسخه 3، 383 00:21:52,000 --> 00:21:56,000 و در نسخه 3 در یاران، تصمیم گرفتم آن را ساده و حتی بیشتر است. 384 00:21:56,000 --> 00:21:58,000 >> اجازه دهید من یک رندر تابع. 385 00:21:58,000 --> 00:22:02,000 اجازه بدهید من آن را یکی دیگر از استدلال، این بار به نام الگو 386 00:22:02,000 --> 00:22:05,000 است که به معنای به نام الگو 387 00:22:05,000 --> 00:22:11,000 و پس از آن من مغرورانه الحاق. پی اچ پی به ارزش این متغیر، 388 00:22:11,000 --> 00:22:17,000 و پس از آن در صورت وجود foo.php، bar.php یا header.php را و footer.php را، 389 00:22:17,000 --> 00:22:20,000 پس از آن من قصد دارم به جلو بروید و استخراج داده های متغیر 390 00:22:20,000 --> 00:22:23,000 و پس از آن این مسیر نیاز دارد. 391 00:22:23,000 --> 00:22:29,000 به عبارت دیگر، استفاده از این در حال حاضر، اگر من باز کردن فایل index.php 392 00:22:29,000 --> 00:22:32,000 توجه کنید که من دیگر هدر رندر را صدا نمی زنم. 393 00:22:32,000 --> 00:22:36,000 من فقط تماس بگیرید ارائه است، اما من در ارزش به نقل از هدر عبور 394 00:22:36,000 --> 00:22:39,000 را آشکار کند که الگو من در واقع می خواهم برای بارگذاری. 395 00:22:39,000 --> 00:22:41,000 >> سپس در اینجا آنچه که من انجام می دهند اطلاع می دهد. 396 00:22:41,000 --> 00:22:44,000 من عبور به صورت پویا در یک کلید از عنوان، 397 00:22:44,000 --> 00:22:47,000 ارزش CS50، و این هم، همانطور که قبلا دیدیم، 398 00:22:47,000 --> 00:22:51,000 می تواند موجز در آخرین نسخه PHP ساخته شده است 399 00:22:51,000 --> 00:22:54,000 جایی که من می توانید از تابع آرایه ای با براکت جایگزین، 400 00:22:54,000 --> 00:22:57,000 که من پیشنهاد می کنم حتی بیشتر قابل خواندن است و قطعا 401 00:22:57,000 --> 00:22:59,000 کمی راحت تر به نوع. 402 00:22:59,000 --> 00:23:02,000 و البته، با تماس رندر بالا و پایین صفحه در پایین، 403 00:23:02,000 --> 00:23:05,000 ما را خسته نکنید عبور در یک آرگومان دوم در همه، هیچ آرایه های انجمنی، 404 00:23:05,000 --> 00:23:07,000 چون داخل هیچ چیز پویا که بالا و پایین وجود دارد. 405 00:23:07,000 --> 00:23:10,000 این فقط به برخی از تگ های نزدیک برای HTML است. 406 00:23:10,000 --> 00:23:14,000 خوب، ما در حال برداشتن گام های واقعا نسبت به تمیز کردن همه چیز در اینجا، 407 00:23:14,000 --> 00:23:17,000 اما به من اجازه باز کردن 2 نمونه نهایی. 408 00:23:17,000 --> 00:23:21,000 توجه کنید که این یکی، شماره 4، من یک تصمیم آگاهانه در حال حاضر ساخته شده است 409 00:23:21,000 --> 00:23:26,000 برای بهبود بر مثال قبلی در نهایت با استفاده از برخی از سلسله مراتب به فایل های من. 410 00:23:26,000 --> 00:23:29,000 >> توجه کنید که در این خلاصه، در این من خواندن، من معرفی 411 00:23:29,000 --> 00:23:32,000 شامل پوشه ها و دایرکتوری قالب 412 00:23:32,000 --> 00:23:35,000 مطالب که در حال رفتن به چیزهایی که من می خواهم به 413 00:23:35,000 --> 00:23:38,000 و از قالب هایی که من می خواهم به ارائه، به ترتیب. 414 00:23:38,000 --> 00:23:42,000 این است که واقعا من رو مقعد و تلاش برای نگه داشتن همه چیز مرتب، 415 00:23:42,000 --> 00:23:45,000 نگه داشتن فایل های مرتبط با هم، اما نتیجه نهایی 416 00:23:45,000 --> 00:23:48,000 این است که ما در حال حاضر نصب کمی tidier، اما ما باید به خاطر داشته باشید در حال حاضر 417 00:23:48,000 --> 00:23:51,000 به عنوان مثال، در فایل index.php 418 00:23:51,000 --> 00:23:55,000 هنگامی که ما نیاز به helpers.php فایل 419 00:23:55,000 --> 00:24:01,000 ما در حال حاضر نیاز به آن را از طریق شامل / helpers.php 420 00:24:01,000 --> 00:24:06,000 به جای تنها گفتن helpers.php چرا که در حال حاضر آن را در واقع در یک دایرکتوری فرعی است. 421 00:24:06,000 --> 00:24:09,000 در حال حاضر، به عنوان یک به کنار، شما در این مثال و بعضی دیگر را ببینید 422 00:24:09,000 --> 00:24:11,000 توابع مانند نیاز به، نیاز به یک بار. 423 00:24:11,000 --> 00:24:15,000 در واقع خود یک تابع به نام وجود دارد، و همه آنها باید رفتار کمی متفاوت است. 424 00:24:15,000 --> 00:24:18,000 در اینجا من می گویند یک بار را فوق العاده روشن است که من فقط می خواهم کسانی که 425 00:24:18,000 --> 00:24:20,000 یاران شامل در پروژه من یک بار. 426 00:24:20,000 --> 00:24:24,000 اما اگر من دقیق و اگر من در واقع از طریق منطق من فکر درستی 427 00:24:24,000 --> 00:24:27,000 کافی بیش از حد فقط می گویند نیاز به بالا 428 00:24:27,000 --> 00:24:31,000 تا زمانی که من خودم به طور تصادفی نیاز است که همان فایل در جای دیگر. 429 00:24:31,000 --> 00:24:34,000 در واقع، این یک راه کمی کارآمد تر از انجام کارها و سپس با استفاده از 430 00:24:34,000 --> 00:24:38,000 نیاز به یک بار، تا من آن را تر و تمیز به فقط نیاز است. 431 00:24:38,000 --> 00:24:40,000 >> بیایید یک قدم بیشتر. 432 00:24:40,000 --> 00:24:46,000 این آخرین عنوان مثال در حال حاضر، نسخه 5، دارای سلسله مراتب پوشه حتی پاک کننده است. 433 00:24:46,000 --> 00:24:50,000 توجه داشته باشید که آنچه که من انجام داده ام اینجا در خواندن در این نسخه نهایی 434 00:24:50,000 --> 00:24:54,000 در حال حاضر من دایرکتوری HTML من، که من تا به حال تمام این مدت، 435 00:24:54,000 --> 00:24:58,000 اما در درون وجود دارد در حال حاضر تنها فایل index.php، lectures.php است، 436 00:24:58,000 --> 00:25:01,000 week1.php و week2.php. 437 00:25:01,000 --> 00:25:05,000 شامل دایرکتوری در حال حاضر در کنار دایرکتوری HTML زندگی می کند، 438 00:25:05,000 --> 00:25:08,000 به طوری که در همان سطح به عنوان یک خواهر و برادر، پس به صحبت می کنند. 439 00:25:08,000 --> 00:25:10,000 بنابراین آیا این پوشه قالب است. 440 00:25:10,000 --> 00:25:14,000 غذای آماده کلیدی در اینجا این است که من به معرفی ساختار کمی بیشتر، 441 00:25:14,000 --> 00:25:17,000 اما ویژگی های کلیدی در حال حاضر که تنها فایل 442 00:25:17,000 --> 00:25:21,000 که نیاز به وب سایت قابل دسترس، عمومی نشانی 443 00:25:21,000 --> 00:25:25,000 URL بر روی اینترنت عمومی را در پوشه HTML من هستند. 444 00:25:25,000 --> 00:25:28,000 >> در همین حال، سایر فایل ها، helpers.php، footer.php را، 445 00:25:28,000 --> 00:25:32,000 header.php را، که مسلما شاید حساس تر هستند، 446 00:25:32,000 --> 00:25:35,000 شاید یاران در واقع برخی از نام کاربر و کلمه عبور و یا برخی از فکری 447 00:25:35,000 --> 00:25:39,000 اموال من، توابع، من واقعا نمی خواهم که دیدن دنیا را، حتی اگر به طور تصادفی. 448 00:25:39,000 --> 00:25:45,000 این تمرین خوبی است برای حفظ از دایرکتوری های عمومی HTML 449 00:25:45,000 --> 00:25:48,000 هر فایل است که خود را به عموم مردم است. 450 00:25:48,000 --> 00:25:51,000 همه شما باید در این مورد انجام دهد زمانی که به دنبال، به عنوان مثال، 451 00:25:51,000 --> 00:25:55,000 فایل index.php راهنمای HTML، 452 00:25:55,000 --> 00:25:58,000 توجه کنید ما فقط باید کمی بیشتر دقت کنید در هنگام نیاز 453 00:25:58,000 --> 00:26:00,000 یا نیاز به یک بار این فایل است. 454 00:26:00,000 --> 00:26:03,000 من نیاز به انجام ... برای رفتن به دایرکتوری پدر و مادر، 455 00:26:03,000 --> 00:26:06,000 پس از آن انجام / شامل / helpers.php 456 00:26:06,000 --> 00:26:12,000 به شیرجه رفتن به پایین در فایلی که من در مورد مراقبت از. 457 00:26:12,000 --> 00:26:16,000 >> هر گونه سؤال و سپس در MVC 458 00:26:16,000 --> 00:26:20,000 این تجسم نسبتا ساده آن است؟ 459 00:26:20,000 --> 00:26:23,000 و به من اجازه روشن است که ما متمرکز بسیار کمی در 460 00:26:23,000 --> 00:26:27,000 V در اینجا، دیدگاه ها و مقاطعه از این قالب. 461 00:26:27,000 --> 00:26:30,000 ما واقعا نمی متمایز M از C درست نشده است. 462 00:26:30,000 --> 00:26:33,000 در واقع، واقعا هیچ M در اینجا وجود دارد، و حتی C ما 463 00:26:33,000 --> 00:26:36,000 کنترل کننده، انجام همه که بسیار است، اما شما خیلی بیشتر 464 00:26:36,000 --> 00:26:39,000 آشنا با هر دو از آن 2 نامه از MVC، 465 00:26:39,000 --> 00:26:43,000 یا نه، شما خیلی بیشتر آشنا با C 466 00:26:43,000 --> 00:26:49,000 در MVC برای مجموعه مشکل 7، به طوری که بیشتر از آن در افق وجود دارد. 467 00:26:49,000 --> 00:26:51,000 پرسش و پاسخ؟ 468 00:26:51,000 --> 00:26:53,000 در واقع هیچ کس در اینجا وجود دارد. 469 00:26:53,000 --> 00:26:57,000 >> خوب، اجازه دهید در حال حاضر به موضوع دوم و نهایی برای امروز حرکت می کند. 470 00:26:57,000 --> 00:27:00,000 این مقدمه از یک پایگاه داده است. 471 00:27:00,000 --> 00:27:03,000 تا این نقطه، ما تا به حال چند راه از ذخیره سازی داده ها. 472 00:27:03,000 --> 00:27:05,000 ما استفاده کرده ایم متغیر است. 473 00:27:05,000 --> 00:27:08,000 برگشت در فایل C، I / O بحث و گفتگو ما شروع به استفاده از فایل های متنی 474 00:27:08,000 --> 00:27:11,000 و با استفاده از فایل ها مانند fprintf، و پس از آن ما حتی شروع 475 00:27:11,000 --> 00:27:14,000 صحبت کردن در مورد CSV فایل کمی، ارزش کاما از هم جدا، 476 00:27:14,000 --> 00:27:17,000 پس از این به ما اجازه داده های ذخیره شده 477 00:27:17,000 --> 00:27:19,000 یا غیر مداوم و یا مداوم است. 478 00:27:19,000 --> 00:27:23,000 اما حتی CSV ها واقعا منجر به جستجو 479 00:27:23,000 --> 00:27:25,000 و قرار دادن و حذف است. 480 00:27:25,000 --> 00:27:28,000 این واقعا احمقانه یک فایل متنی با کاما جدا شده 481 00:27:28,000 --> 00:27:30,000 سطر سطر سطر سطر، بنابراین اگر شما می خواهید 482 00:27:30,000 --> 00:27:32,000 جستجو که فایل شما می توانید انجام دهید واقعا جستجوی خطی است. 483 00:27:32,000 --> 00:27:34,000 شما باید برای شروع در بالای فایل، خواندن همه چیز در، 484 00:27:34,000 --> 00:27:36,000 و به دنبال برخی از ارزش های مورد علاقه. 485 00:27:36,000 --> 00:27:39,000 اگر شما می خواهید به آن وارد شما را مجبور به انجام کاری مشابه، 486 00:27:39,000 --> 00:27:41,000 تکرار بیش از آن و قرار دادن در یک مکان خاص، 487 00:27:41,000 --> 00:27:45,000 و در واقع، شما باید برای انجام تمام منطق جستجو خود را. 488 00:27:45,000 --> 00:27:49,000 >> شما می توانید الگوی تطبیق هوشمندانه بر روی یک فایل CSV مگر اینکه شما خودتان نوشتن کد نمی کنند. 489 00:27:49,000 --> 00:27:51,000 شما می توانید از یک فایل CSV تصفیه انجام نمی 490 00:27:51,000 --> 00:27:53,000 مگر اینکه شما خودتان نوشتن کد. 491 00:27:53,000 --> 00:27:56,000 آیا آن را نمی شود خوب اگر کسی دیگری را در همه این تلاش 492 00:27:56,000 --> 00:27:59,000 در واقع در جستجوی آسان و درج آسان 493 00:27:59,000 --> 00:28:01,000 و حذف و به روز رسانی و غیره؟ 494 00:28:01,000 --> 00:28:04,000 که این دقیقا همان چیزی است که یک پایگاه داده است. 495 00:28:04,000 --> 00:28:07,000 SQL زبان پرس و جوی ساخت یافته است، در عین حال یک زبان دیگر 496 00:28:07,000 --> 00:28:10,000 که ما در حال معرفی امروز در اینجا، اما این بیش از حد است که نسبتا در دسترس 497 00:28:10,000 --> 00:28:13,000 و چیزی است که ما واقعا به انجام این کار فقط از آن شهامت برخی از برجسته ترین 498 00:28:13,000 --> 00:28:16,000 ویژگی به طوری که برای pset 7، و اگر شما وب چیزی بر اساس 499 00:28:16,000 --> 00:28:19,000 پروژه نهایی خود را، شما باید توانایی خود را ابراز 500 00:28:19,000 --> 00:28:22,000 در پرس و جوها داده است. 501 00:28:22,000 --> 00:28:25,000 شما از این توانایی برای ذخیره کمی و یا مقدار زیادی از داده ها 502 00:28:25,000 --> 00:28:28,000 در راه خیلی ساخت یافته تر است که در پایان روز از 503 00:28:28,000 --> 00:28:32,000 زندگی خود را آسان تر چرا که با SQL شما می توانید خود را بیان 504 00:28:32,000 --> 00:28:35,000 بسیار دقیق تر، خیلی بیشتر از متد به منظور 505 00:28:35,000 --> 00:28:40,000 برخی از زیر مجموعه از داده ها از یک مجموعه بزرگتر از اطلاعات است. 506 00:28:40,000 --> 00:28:45,000 >> شما می توانید از یک پایگاه داده فکر می کنم، در این مورد، یک پایگاه داده SQL، واقعا مانند اکسل 507 00:28:45,000 --> 00:28:48,000 و یا شماره ای که در آن یک صفحه گسترده (spreadsheet)، 508 00:28:48,000 --> 00:28:50,000 و یا شاید های متعدد گسترده و گسترده، البته، 509 00:28:50,000 --> 00:28:53,000 دارای سطر و ستون، و این به دلیل 510 00:28:53,000 --> 00:28:56,000 پایگاه های داده SQL، رابطه ای، رابطه ای به این معنا 511 00:28:56,000 --> 00:28:59,000 که آنها ذخیره داده ها در این جدول، 512 00:28:59,000 --> 00:29:01,000 سطر و ستون است. 513 00:29:01,000 --> 00:29:03,000 آنها بالاتر نمایشی از چیزی شبیه به یک صفحه گسترده (spreadsheet)، 514 00:29:03,000 --> 00:29:05,000 و یک صفحه گسترده (spreadsheet) است که به معنای به توسط انسان مورد استفاده قرار گیرد. 515 00:29:05,000 --> 00:29:08,000 یک پایگاه داده به منظور استفاده توسط یک برنامه نویس 516 00:29:08,000 --> 00:29:12,000 نوشتن کد در مقابل آن، به طوری که تجسم یک پایگاه داده 517 00:29:12,000 --> 00:29:14,000 رفتن به صورت خط فرمان. 518 00:29:14,000 --> 00:29:18,000 >> یکی از محبوب ترین پایگاه های داده رابطه ای خارج وجود دارد، باز هم، خروجی، 519 00:29:18,000 --> 00:29:22,000 که زیبا و رایگان است، بسیار بالا انجام، و این چیزی است که 520 00:29:22,000 --> 00:29:24,000 فیس بوک خیلی زود در و تا حدی استفاده می شود، هنوز امروز 521 00:29:24,000 --> 00:29:27,000 برای ذخیره بسیاری از اطلاعات خود را، و ما را در یک لحظه را ببینید 522 00:29:27,000 --> 00:29:30,000 که با استفاده از دستورات نسبتا ساده 523 00:29:30,000 --> 00:29:33,000 ما می توانیم داده ها، داده ها را وارد کنید، اطلاعات به روز رسانی را انتخاب کنید، 524 00:29:33,000 --> 00:29:37,000 حذف داده ها و مانند آن، اما خوشبختانه، رابط کاربر پسند تر وجود دارد 525 00:29:37,000 --> 00:29:39,000 از درست تایپ کردن در اعلان سیاه و سفید در اینجا. 526 00:29:39,000 --> 00:29:43,000 ما می خواهیم برای pset 7 و فراتر از یک ابزار رایگان به نام phpMyAdmin به استفاده کنید. 527 00:29:43,000 --> 00:29:45,000 نام تصادفی است. 528 00:29:45,000 --> 00:29:47,000 این ابزار اتفاق می افتد به در PHP اجرا می شود، 529 00:29:47,000 --> 00:29:49,000 اما اساسا بی ربط است. 530 00:29:49,000 --> 00:29:53,000 چه مفید در مورد phpMyAdmin به این است که آن را به یک ابزار مبتنی بر وب است. 531 00:29:53,000 --> 00:29:55,000 ما آن را در لوازم خانگی برای شما از قبل نصب شده است، 532 00:29:55,000 --> 00:29:58,000 و با آن شما می توانید جداول در یک پایگاه داده ایجاد کنید، 533 00:29:58,000 --> 00:30:01,000 شما می توانید داده ها، وارد کردن حذف داده ها، و به طور کلی 534 00:30:01,000 --> 00:30:04,000 اطلاعات خود را در نسبتا محیط کاربر پسند. 535 00:30:04,000 --> 00:30:07,000 کاربران شما می رویم به استفاده از phpMyAdmin به. 536 00:30:07,000 --> 00:30:09,000 >> این است که واقعا فقط یک ابزار اداری و یا توسعه دهنده 537 00:30:09,000 --> 00:30:12,000 که برای دیدن و بهم زدن در اطراف داده های خود را و بفهمند که چگونه به آن ساختار، 538 00:30:12,000 --> 00:30:15,000 بسیار شبیه به شما به خودتان ممکن است یا اکسل استفاده از اعداد، 539 00:30:15,000 --> 00:30:19,000 اما برای رفتن به یک راه عالی از تجسم آنچه که در زیر هود 540 00:30:19,000 --> 00:30:22,000 به طوری که شما می توانید تمرکز بر روی حل مشکل جالب و نه چندان 541 00:30:22,000 --> 00:30:25,000 دستورات محرمانه است. 542 00:30:25,000 --> 00:30:28,000 بیایید نگاهی به یک نمونه از داده هایی را که ممکن است ذخیره می شود tabularly 543 00:30:28,000 --> 00:30:30,000 در یک پایگاه داده رابطه ای است. 544 00:30:30,000 --> 00:30:32,000 در اینجا یک مثال از جمله. 545 00:30:32,000 --> 00:30:35,000 در حال حاضر، متاسفانه، phpMyAdmin به اشتباه در طرف پرتاب از راه بیش از حد بسیاری از واژه ها 546 00:30:35,000 --> 00:30:38,000 و گرافیک در شما است، اما اگر شما با سنگ تیز کردن فقط در 547 00:30:38,000 --> 00:30:42,000 ستون ID، نام کاربر ستون، و ستون مخلوط، 548 00:30:42,000 --> 00:30:45,000 این است که به طور موثر یک صفحه گسترده (spreadsheet)، اما آن اتفاق می افتد یک قطعه 549 00:30:45,000 --> 00:30:49,000 از داخل جدول از دستگاه 550 00:30:49,000 --> 00:30:53,000 با استفاده از یک فایل است که ما شما را با ارائه در مجموعه مشکل 7. 551 00:30:53,000 --> 00:30:57,000 >> به طور خاص، ما شما را به یک فایل که نشان دهنده 552 00:30:57,000 --> 00:31:01,000 جدول یک کاربر است، به طوری گسترده شامل کاربران با 3 ستون، 553 00:31:01,000 --> 00:31:05,000 که یکی از آنها یک ID منحصر به فرد و با شروع از 1 و در حال افزایش مییابد پس از آن است. 554 00:31:05,000 --> 00:31:08,000 ستون دوم نام کاربری است، و کسانی از شما که هکر ها، 555 00:31:08,000 --> 00:31:12,000 نسخه هکر برای pset 2، ممکن است برخی از این نام کاربری حداقل تشخیص دهد. 556 00:31:12,000 --> 00:31:16,000 در سمت راست کلمه عبور، اما آنها رمزهای عبور تحت اللفظی نیست. 557 00:31:16,000 --> 00:31:19,000 آنها رشته هش آن، پس از آن معلوم 558 00:31:19,000 --> 00:31:22,000 که ذخیره سازی کلمات عبور در یک پایگاه داده، یک ایده واقعا بد است. 559 00:31:22,000 --> 00:31:25,000 همه شما احتمالا در برخی از نقطه از برخی از وب سایت به عنوان خوانده شده 560 00:31:25,000 --> 00:31:28,000 یا پایگاه داده برخی از شرکت های که در معرض خطر است، و سپس شما باید به 561 00:31:28,000 --> 00:31:31,000 تغییر رمز عبور خود را، شما نیاز به بازپرداخت بر روی همه چیز 562 00:31:31,000 --> 00:31:34,000 چرا بعضی از پسر بد در واقع به حساب شما به عنوان یک نتیجه شکست. 563 00:31:34,000 --> 00:31:38,000 >> ذخیره سازی کلمات عبور در متن روشن، تکه تکه کردن در یک پایگاه داده 564 00:31:38,000 --> 00:31:41,000 کاملا نادان است، و در عین حال آن را به شدت سرگرم کننده 565 00:31:41,000 --> 00:31:44,000 سپس به خواندن در مورد برخی از شرکت ها به خوبی شناخته شده است 566 00:31:44,000 --> 00:31:47,000 گاهی اوقات در مطبوعات پایگاه داده که در معرض خطر هستند، 567 00:31:47,000 --> 00:31:50,000 و این قسمت خنده دار نیست، اما واقعیت این است که پایگاه داده های حاوی تکه تکه کردن 568 00:31:50,000 --> 00:31:53,000 کلمه عبور مضحک است، زیرا به معنای واقعی کلمه با یک خط کد 569 00:31:53,000 --> 00:31:57,000 شما می توانید در برابر این تهدید خاص محافظت می کند، و این چیزی است که ما در اینجا انجام داده ام. 570 00:31:57,000 --> 00:32:00,000 حتی برای جعلی ما نسخه کمی CS50 بودجه 571 00:32:00,000 --> 00:32:03,000 رمزنگاری رمزهای عبور فقط برای اندازه گیری خوب، و این واقعیت که 572 00:32:03,000 --> 00:32:07,000 همه از این کلمات عبور شروع با 1 $ $ فقط یک قرارداد است. 573 00:32:07,000 --> 00:32:10,000 این تنها بدان معنی است که آنها در حال رمزگذاری شده و یا واقعا درهم، 574 00:32:10,000 --> 00:32:13,000 است که مانند یک تابع رمزنگاری یک طرفه 575 00:32:13,000 --> 00:32:17,000 به موجب آن شما می توانید اثر خود را با چیزی به نام MD5 معکوس نیست. 576 00:32:17,000 --> 00:32:21,000 >> این واقعیت که 50 است بعد از آن بدان معنی است که یک مقدار نمک 577 00:32:21,000 --> 00:32:24,000 از 50 برای هش کردن همه از این کلمات عبور به جز یک مورد استفاده قرار گرفت. 578 00:32:24,000 --> 00:32:27,000 معدن، البته، همانطور که شما می توانید ببینید، HA، 579 00:32:27,000 --> 00:32:30,000 با استفاده از نمک های مختلف، به طوری که کسانی از شما که کمی افتاد بلند شد 580 00:32:30,000 --> 00:32:33,000 شاید در هکر 2، که ممکن است در نتیجه ما با داشتن استفاده می شود 581 00:32:33,000 --> 00:32:36,000 مخلوط متفاوت از دیگران به دلیل رمز عبور من این است که در واقع همان 582 00:32:36,000 --> 00:32:38,000 به عنوان برخی از کاربر های دیگر وجود دارد. 583 00:32:38,000 --> 00:32:41,000 در واقع، اگر شما شده است در انتظار همه این هفته برای پیدا کردن 584 00:32:41,000 --> 00:32:44,000 چه کسانی کلمه عبور کلمه عبور است که شما به چالش کشیده بودند 585 00:32:44,000 --> 00:32:48,000 به کرک نسخه هکر از مجموعه مشکل 2، به طوری که بیش از حد هیچ مشکل. 586 00:32:48,000 --> 00:32:50,000 در واقع، مالان همان jharvard بود، 587 00:32:50,000 --> 00:32:54,000 اما اگر ما به آنها نگاه متفاوت است. 588 00:32:54,000 --> 00:32:58,000 >> تمرکز بر jharvard در زرشکی، چرا که آنها متفاوت شور شدند. 589 00:32:58,000 --> 00:33:01,000 الگوریتم پرتلاطم در راه است که 590 00:33:01,000 --> 00:33:05,000 هش ارزش، ارزش های رمزگذاری شده به نظر می رسد کمی متفاوت است 591 00:33:05,000 --> 00:33:08,000 چون ورودی کمی متفاوت بود، اما رمز عبور در قسمت پایین هود 592 00:33:08,000 --> 00:33:10,000 هنوز هم در نهایت قرمز بود. 593 00:33:10,000 --> 00:33:12,000 در حال حاضر، که مراقبت در مورد این؟ 594 00:33:12,000 --> 00:33:15,000 خب، ما شما را با فراهم کردن کاربران نمونه، نمونه نام کاربر 595 00:33:15,000 --> 00:33:18,000 و رشته هش کلمه عبور خود را به طوری که شما در واقع برخی از 596 00:33:18,000 --> 00:33:23,000 مشتریان برای CS50 مالی زمانی که شما اول از زمین با استفاده از کد شما. 597 00:33:23,000 --> 00:33:27,000 شما باید برای پیاده سازی جداول در داخل خروجی زیر، در داخل پایگاه داده است. 598 00:33:27,000 --> 00:33:30,000 شما باید برای ایجاد صفحات گسترده، به طور موثر است، اما ما تصمیم گرفت تا این یکی را 599 00:33:30,000 --> 00:33:33,000 به شما آغاز شده است، و شما خواهید دید که مشکل خصوصیات مجموعه 600 00:33:33,000 --> 00:33:37,000 پیاده روی شما را از طریق روند واردات این جدول 601 00:33:37,000 --> 00:33:39,000 و همچنین توضیح برخی از ویژگی های، 602 00:33:39,000 --> 00:33:41,000 و شما همچنین می خواهید که ما شما را با ارائه کد 603 00:33:41,000 --> 00:33:44,000 که مسئولیت رسیدگی به رمزنگاری یا رمزگذاری از این کلمات عبور، 604 00:33:44,000 --> 00:33:49,000 بنابراین شما لازم نیست که به نگرانی بیش از حد در مورد MD5 یا مانند است که در واقع همه چیز در مورد. 605 00:33:49,000 --> 00:33:53,000 >> بنابراین، SQL، زبان پرس و جوی ساخت یافته است. 606 00:33:53,000 --> 00:33:56,000 این کاملا به سادگی، از زبان ما در مورد شروع به استفاده از در pset 7 607 00:33:56,000 --> 00:34:01,000 و شاید فراتر از درخواست اطلاعات از برخی از پایگاه داده است. 608 00:34:01,000 --> 00:34:06,000 داده است، دوباره، tabularly در این جداول رابطه ای، ستون ها و ردیف ها ذخیره می شود. 609 00:34:06,000 --> 00:34:09,000 اما با استفاده از برخی از نحو نسبتا ساده مانند حذف، 610 00:34:09,000 --> 00:34:12,000 INSERT، UPDATE را انتخاب کنید و می توانید دقیقا همان است که ما انجام می دهیم. 611 00:34:12,000 --> 00:34:15,000 ما می توانیم از پایگاه داده حذف، درج، 612 00:34:15,000 --> 00:34:19,000 به روز رسانی اطلاعات، و همچنین به عنوان انتخاب کنید، که، بازیابی اطلاعات از پایگاه داده است. 613 00:34:19,000 --> 00:34:21,000 چگونه ما در مورد انجام این کار بروید؟ 614 00:34:21,000 --> 00:34:23,000 اجازه بدهید من به جلو بروید به دستگاه. 615 00:34:23,000 --> 00:34:28,000 اجازه دهید من بالا بکشد http://localhost را، 616 00:34:28,000 --> 00:34:30,000 که، باز هم، دستگاه محلی خود است. 617 00:34:30,000 --> 00:34:32,000 که نام کاربری پیش فرض آن است. 618 00:34:32,000 --> 00:34:35,000 و اجازه دهید به من / phpMyAdmin به. 619 00:34:35,000 --> 00:34:39,000 این اتفاق می افتد به عنوان یک URL خاص که دستگاه پیش به درک 620 00:34:39,000 --> 00:34:42,000 که بلافاصله به من دهید نام کاربری و رمز عبور می باشد. 621 00:34:42,000 --> 00:34:46,000 >> طبق معمول، من قصد دارم به نوع jharvard و قرمز، 622 00:34:46,000 --> 00:34:48,000 اما متوجه باشید که حساب کاربری مدیر را بر روی کامپیوتر. 623 00:34:48,000 --> 00:34:53,000 این فقط یک تصادف است که نیز وجود دارد یک jharvard ثبت نام برای CS50 بودجه است. 624 00:34:53,000 --> 00:34:56,000 Jharvard، قرمز، ورود به من می دهد رابط کاربری است که ما شاهد 625 00:34:56,000 --> 00:34:59,000 یک نگاه اجمالی از یک لحظه پیش، و آن را کمی قریب به اتفاق در ابتدا، 626 00:34:59,000 --> 00:35:02,000 اما مطمئن باشید، شما در حال رفتن هرگز به به کلیک بر روی لینک در این ابزار است. 627 00:35:02,000 --> 00:35:05,000 شما در نهایت با استفاده از یک زیر مجموعه کوچک هستند که فوق العاده مفید است. 628 00:35:05,000 --> 00:35:08,000 برای اولین بار که از پایگاه داده است تا در اینجا. 629 00:35:08,000 --> 00:35:11,000 اگر من به به پایگاه های داده، توجه کنید که من را وادار به ایجاد یک پایگاه داده است. 630 00:35:11,000 --> 00:35:14,000 این است که با ایجاد یک فایل جدید اکسل، موثر است. 631 00:35:14,000 --> 00:35:18,000 من قصد دارم به جلو بروید و به این سخنرانی، و من فقط به چشم پوشی از زمینه وجود دارد، تلفیق است. 632 00:35:18,000 --> 00:35:20,000 این است که به نمایندگی از داده ها را در آن، 633 00:35:20,000 --> 00:35:24,000 و من قصد دارم به روی "ایجاد" کلیک کنید، و در حال حاضر متوجه به من اجازه رفتن به ایجاد 634 00:35:24,000 --> 00:35:27,000 در سمت چپ که در آن می گوید: هیچ پایگاه داده ها 635 00:35:27,000 --> 00:35:30,000 من به زودی باید پایگاه داده سخنرانی را ببینید. 636 00:35:30,000 --> 00:35:32,000 >> اگر من در حال حاضر در سمت چپ، پایگاه داده سخنرانی کلیک کنید، 637 00:35:32,000 --> 00:35:34,000 متوجه زبانه من کمی تغییر. 638 00:35:34,000 --> 00:35:38,000 من ساختار، SQL، صادرات، واردات و بعضی چیز های دیگر. 639 00:35:38,000 --> 00:35:40,000 ساختار خیلی خالی است. 640 00:35:40,000 --> 00:35:43,000 بدون جداول موجود در پایگاه داده، به عنوان آن را می گوید، 641 00:35:43,000 --> 00:35:47,000 بنابراین ایجاد یک جدول به شما اجازه می دهد، و اجازه دهید به جلو و ایجاد یک جدول 642 00:35:47,000 --> 00:35:53,000 مانند دانشجویان، و چگونه بسیاری از ستون می خواهیم؟ 643 00:35:53,000 --> 00:35:55,000 بیایید این ساده نگه دارید و اجازه دهید برای هر دانش آموز 644 00:35:55,000 --> 00:35:58,000 شماره ID، نام و آدرس ایمیل. 645 00:35:58,000 --> 00:36:02,000 >> ما می خواهیم آن را ساده نگه دارید که می خواهم، به طوری که 3 ستون، به. 646 00:36:02,000 --> 00:36:05,000 فرم است که شما اینجا را ببینید در حال حاضر کمی کثیف و طاقت فرسا، 647 00:36:05,000 --> 00:36:08,000 اما ما فقط باید از طریق آن سطر به سطر، به طوری که واقعا به سرعت اجازه دهید 648 00:36:08,000 --> 00:36:14,000 ستون برای اولین بار در این پایگاه داده به نام ID شناسه منحصر به فرد است. 649 00:36:14,000 --> 00:36:17,000 این یک عدد صحیح خواهد بود. من در واقع می تواند طول و ارزشها را نادیده گرفت. 650 00:36:17,000 --> 00:36:21,000 بین المللی است برای رفتن به 32 بیت بدون توجه به آنچه شما در آن وجود دارد را تایپ کنید، پس اجازه ترک آن را خالی. 651 00:36:21,000 --> 00:36:24,000 مقدار پیش فرض، من می توانم آن را پوچ، به عنوان تعریف شده است. 652 00:36:24,000 --> 00:36:27,000 من قصد دارم به ترک است که به تنهایی. بیایید در مورد مقادیر پیش فرض نگران نباشید. 653 00:36:27,000 --> 00:36:29,000 بیایید حرکت در اینجا به سمت راست، ویژگی های. 654 00:36:29,000 --> 00:36:31,000 این جالب است. 655 00:36:31,000 --> 00:36:33,000 بیایید جلو بروید و تا حدودی خودسرانه می گویند که شناسه باید بدون علامت است. 656 00:36:33,000 --> 00:36:35,000 اجازه دهید که هیچ اعداد منفی هدر ندهید. 657 00:36:35,000 --> 00:36:37,000 >> بیایید پست 0 به 4 میلیارد دلار، دادن و یا گرفتن، 658 00:36:37,000 --> 00:36:40,000 و پس از آن را به هر یک از این زمینه ها را لمس نه تنها هنوز بیش از وجود دارد، 659 00:36:40,000 --> 00:36:43,000 اما بعد از آن اجازه دهید من در نوع نام را در اینجا، 660 00:36:43,000 --> 00:36:46,000 و پس از آن دیگر ایمیل، پس گرفتن ایمیل 661 00:36:46,000 --> 00:36:50,000 و نام، بدیهی است که عدد صحیح نیست، بنابراین تغییر این به حوزه های مختلف. 662 00:36:50,000 --> 00:36:53,000 به نظر می رسد VARCHAR، متغیر طول کاراکتر، 663 00:36:53,000 --> 00:36:56,000 مانند یک رشته در یک پایگاه داده SQL 664 00:36:56,000 --> 00:36:59,000 اما با طول متغیر است، و شما در واقع باید آن را را در پیش 665 00:36:59,000 --> 00:37:02,000 حداکثر طول رشته، بنابراین من قصد دارم تا حدودی خودسرانه 666 00:37:02,000 --> 00:37:05,000 نوع کنوانسیون 255 کاراکتر. 667 00:37:05,000 --> 00:37:08,000 من کاملا می تواند 32 می گویند. من می توانم 1000 می گویند. 668 00:37:08,000 --> 00:37:11,000 شما نوع نیاز به تصمیم گیری برای خود را بر اساس جمعیت شما چیست 669 00:37:11,000 --> 00:37:14,000 نام و نام خانوادگی طولانی ترین دانش آموز و با که عدد یا کمی بزرگتر، 670 00:37:14,000 --> 00:37:17,000 اما چه خوب درباره VARCHAR این است که آن را به هدر 671 00:37:17,000 --> 00:37:19,000 255 کلمه در ادامه متن بر روی نام هر دانش آموز است. 672 00:37:19,000 --> 00:37:23,000 اگر DAVID آن را نمی خواهید به استفاده از کل 255 کلمه در ادامه متن 673 00:37:23,000 --> 00:37:26,000 اما این حد بالا است، به طوری که من با 255 فقط با کنوانسیون برو، 674 00:37:26,000 --> 00:37:30,000 اما ما می تواند موضوع بحثی است که به برخی از ارزش پایین تر، و برای آدرس ایمیل 675 00:37:30,000 --> 00:37:34,000 فقط به سازگار 255، اما باز هم، ما می توانیم بحث همان است. 676 00:37:34,000 --> 00:37:36,000 اما من قصد دارم به یک چیز دیگر در اینجا در سمت راست است. 677 00:37:36,000 --> 00:37:40,000 >> آنچه در مورد یک پایگاه داده قدرتمند است که می تواند بسیاری از بلند کردن اجسام سنگین را انجام دهد 678 00:37:40,000 --> 00:37:42,000 یا کار پیچیده ای را برای شما. 679 00:37:42,000 --> 00:37:46,000 به طور خاص، من واقعا اهمیتی نمی دهند چه تعداد ID های دانشجویان من هستند. 680 00:37:46,000 --> 00:37:49,000 این فقط به معنای به یک شناسه منحصر به فرد را در یک پایگاه داده 681 00:37:49,000 --> 00:37:52,000 بنابراین من باید 32 بیتی نمایندگی موجز که دانش آموز 682 00:37:52,000 --> 00:37:55,000 به طوری که من به برخی از راه های منحصر به فرد آنها را شناسایی 683 00:37:55,000 --> 00:37:58,000 مبادا 2 داویدز، به عنوان مثال، در یک کلاس وجود دارد. 684 00:37:58,000 --> 00:38:01,000 در واقع، من قصد دارم به بررسی این جعبه AI، افزایش خودکار، 685 00:38:01,000 --> 00:38:04,000 به طوری که پایگاه داده، خروجی زیر، چهره های خارج 686 00:38:04,000 --> 00:38:08,000 چه ID هر دانش آموز تازه قرار داده است برای رفتن به. 687 00:38:08,000 --> 00:38:11,000 من حتی نمی دارند که در مورد مراقبت در کد من، 688 00:38:11,000 --> 00:38:13,000 و من هم می خواهم چیزی را انتخاب کنید در زیر منوی اول. 689 00:38:13,000 --> 00:38:17,000 شاخص کشویی اولیه، منحصر به فرد، 690 00:38:17,000 --> 00:38:19,000 فهرست و متن کامل است. 691 00:38:19,000 --> 00:38:21,000 شاید شما می توانید آنچه که یک زن و شوهر از این چیز ها حدس می زنم، 692 00:38:21,000 --> 00:38:24,000 اما به نظر می رسد که در پایگاه داده های رابطه ای 693 00:38:24,000 --> 00:38:28,000 شما برنامه نویس یا مدیر پایگاه داده به preemptively 694 00:38:28,000 --> 00:38:32,000 دادن تذکرات به پایگاه داده به چه زمینه هایی 695 00:38:32,000 --> 00:38:34,000 در یک جدول خاص کمی است. 696 00:38:34,000 --> 00:38:37,000 >> به عنوان مثال، در این مورد من قصد دارم بگویم که ID 697 00:38:37,000 --> 00:38:42,000 است برای رفتن به یک شاخص اولیه، در غیر این صورت به عنوان یک کلید اولیه شناخته شده است. 698 00:38:42,000 --> 00:38:44,000 این بدان معنی است با تعریف این است که ID پس 699 00:38:44,000 --> 00:38:48,000 منحصر به فرد دانش آموزان در این جدول را تشخیص دهد. 700 00:38:48,000 --> 00:38:53,000 هیچ دانشجویی را ID همین دلیل من اعمال این محدودیت و یا این شاخص داشته باشد. 701 00:38:53,000 --> 00:38:55,000 علاوه بر این، آنچه این است که رفتن برای من انجام دهید این است که آن را برای گفتن 702 00:38:55,000 --> 00:38:58,000 خروجی زیر که ID خاص است. 703 00:38:58,000 --> 00:39:03,000 من به خصوص در مورد ID مراقبت، پس جلو بروید و انجام سحر و جادو ساختار داده فانتزی، 704 00:39:03,000 --> 00:39:05,000 ساخت تا به نوعی از درخت است. 705 00:39:05,000 --> 00:39:08,000 به طور معمول آن چیزی به نام B-درخت، که ما در هفته به نظر نمی آید به پیش 706 00:39:08,000 --> 00:39:11,000 اما این یکی دیگر از چنین ساختار داده ها در روح شبیه به درخت دودویی 707 00:39:11,000 --> 00:39:15,000 و تلاش می کند که ما در نگاه کرد، اما آن را برای گفتن 708 00:39:15,000 --> 00:39:18,000 به پایگاه داده این زمینه بسیار مهم است که من احتمالا 709 00:39:18,000 --> 00:39:22,000 می خواهید می شود قادر به جستجو بر روی آن، به جلو و ساخت تا برخی از فانتزی 710 00:39:22,000 --> 00:39:25,000 ساختار داده ها در حافظه برای تسریع جستجو به طوری که در حالت ایده آل 711 00:39:25,000 --> 00:39:28,000 آنها ثابت و یا حداقل به عنوان نزدیک که به عنوان امکان پذیر است 712 00:39:28,000 --> 00:39:32,000 به طوری که آن را به جستجوی خطی واگذاردن است، که نخواهد بود 713 00:39:32,000 --> 00:39:34,000 بالا ترین روش انجام. 714 00:39:34,000 --> 00:39:37,000 در مقابل، آدرس ایمیل می توانست یک کلید اصلی است. 715 00:39:37,000 --> 00:39:41,000 >> در تئوری، آدرس ایمیل هر کس منحصر به فرد است، مگر اینکه شما به اشتراک گذاشتن برخی از حساب، 716 00:39:41,000 --> 00:39:45,000 اما آن را به طور کلی به استفاده از چیزی شبیه به یک رشته خوب نیست 717 00:39:45,000 --> 00:39:49,000 چرا که اگر به عنوان یک کلید اولیه هدف خود را در زندگی این است که منحصر به فرد شناسایی 718 00:39:49,000 --> 00:39:55,000 ردیف در جدول خود هیچ دلیلی برای استفاده از حداکثر 255 کلمه در ادامه متن وجود دارد 719 00:39:55,000 --> 00:39:58,000 منحصر به فرد یک نفر اگر شما می توانید دور با فقط 4 بایت را شناسایی 720 00:39:58,000 --> 00:40:00,000 یا بین المللی 32 بیتی است. 721 00:40:00,000 --> 00:40:03,000 به طور کلی، کلید اصلی باید کوتاه و موجز 722 00:40:03,000 --> 00:40:07,000 و ایده آل چیزی شبیه به یک عدد صحیح و یا بین المللی بزرگ، است که اتفاق می افتد به 64 بیت است. 723 00:40:07,000 --> 00:40:11,000 یک آدرس ایمیل منحصر به فرد، و یکی از ویژگی های یک پایگاه داده بیش از حد 724 00:40:11,000 --> 00:40:14,000 برای اجرای منحصر به فرد برای من است. 725 00:40:14,000 --> 00:40:18,000 با انتخاب منحصر به فرد در اینجا در کنار به ایمیل، حتی اگر خود ایمیل 726 00:40:18,000 --> 00:40:21,000 است میکنین، خاموش کردن صفحه نمایش، به من گفت: به پایگاه داده 727 00:40:21,000 --> 00:40:23,000 به من اعتماد ندارند. 728 00:40:23,000 --> 00:40:26,000 آیا به من اجازه نمی دهد به پایگاه داده وارد 729 00:40:26,000 --> 00:40:29,000 آدرس ایمیل همان دو بار، حتی اگر من ادم سفیه و احمق هستم و نیستم 730 00:40:29,000 --> 00:40:32,000 بسیار خوب با IFS و دیگری IFS و کد PHP واقعی 731 00:40:32,000 --> 00:40:37,000 و من به طور تصادفی کاربر با آدرس ایمیل های موجود برای ثبت نام اینجا را کلیک کنید 732 00:40:37,000 --> 00:40:40,000 پایگاه داده است که در عین حال یکی دیگر از سطح دفاع از صحت 733 00:40:40,000 --> 00:40:44,000 تا اطمینان حاصل شود که آدرس ایمیل های تکراری ختم نمی شود در جدول. 734 00:40:44,000 --> 00:40:49,000 >> در حال حاضر، در مقابل، برای ثبت نام شما احتمالا نمی خواهید را که منحصر به فرد 735 00:40:49,000 --> 00:40:51,000 چرا که پس از آن می تواند وجود داشته باشد هرگز 2 داویدز یا 2 مایک اسمیت، به عنوان مثال، 736 00:40:51,000 --> 00:40:55,000 در پایگاه داده خود، به طوری که یک ما فقط به تنهایی ترک کنید. 737 00:40:55,000 --> 00:40:58,000 من قصد دارم به جلو بروید و ذخیره را کلیک کنید در سمت راست پایین، 738 00:40:58,000 --> 00:41:02,000 و همه چیز خوب به نظر می رسد اما توجه کنید اینجا 739 00:41:02,000 --> 00:41:04,000 این بخشی است که در حال حاضر ما به زمان بیش از حد در صرف نیست 740 00:41:04,000 --> 00:41:07,000 چرا که به نحو کمی پیچیده است، و ما لازم نیست که برای ایجاد جداول 741 00:41:07,000 --> 00:41:10,000 تمام که اغلب، اما SQL خود یک زبان است، 742 00:41:10,000 --> 00:41:13,000 نحو که برای آن مناسب است در اینجا که من برجسته شده است. 743 00:41:13,000 --> 00:41:18,000 phpMyAdmin به واقعا آن را ایجاد یک GUI مبتنی بر وب برای شما 744 00:41:18,000 --> 00:41:23,000 که با آن شما می توانید در زمان صرفه جویی داشته باشند نه به دستی نوع 745 00:41:23,000 --> 00:41:26,000 یک پرس و جوی SQL نسبتا طولانی شبیه به آن. 746 00:41:26,000 --> 00:41:29,000 >> به عبارت دیگر، اگر شما می خواهید به صورت دستی ایجاد این جدول، 747 00:41:29,000 --> 00:41:32,000 یا که در آن سیاه و سفید phpMyAdmin به سریع و یا حتی در 748 00:41:32,000 --> 00:41:35,000 با استفاده از این برگه دیگر، این تب SQL که در آن شما می توانید نوع در هر گونه نمایش داده شد SQL 749 00:41:35,000 --> 00:41:38,000 شما می خواهید، صادقانه بگویم، این را گرفته اند من یک دقیقه 750 00:41:38,000 --> 00:41:41,000 در واقع به نحو کامل، به یاد داشته باشید و حتی پس از آن من احتمالا 751 00:41:41,000 --> 00:41:45,000 ساخته شده برخی از غلط املایی، به طوری که این ابزار بسیار مفید است برای چیزهایی که می خواهم، و آن را نیز آموزنده است. 752 00:41:45,000 --> 00:41:49,000 شما می توانید شروع به استنباط چه نحو است 753 00:41:49,000 --> 00:41:52,000 فقط با رنگ خوب برنامه نویسی است که phpMyAdmin به اضافه کردن 754 00:41:52,000 --> 00:41:54,000 برای راحتی بصری ما. 755 00:41:54,000 --> 00:41:56,000 اما در حال حاضر این کار را به جای بگذارید. 756 00:41:56,000 --> 00:42:00,000 اجازه بدهید من به زبانه Insert در بالا بروید و به من اجازه رفتن به جلو و قرار دادن به عنوان مثال 757 00:42:00,000 --> 00:42:04,000 ID بیایید می گویند در واقع من اهمیتی نمی دهند. 758 00:42:04,000 --> 00:42:07,000 رفتن به افزایش خودکار. من قصد دارم به شما اجازه معامله پایگاه داده با این. 759 00:42:07,000 --> 00:42:11,000 اما من باید دیوید، و ایمیل من را باید malan@harvard.edu. 760 00:42:11,000 --> 00:42:16,000 >> برویم جلو قرار داده و در مایک اسمیت به عنوان یکی دیگر. 761 00:42:16,000 --> 00:42:18,000 من خودم نام خانوادگی را به عنوان خوب، 762 00:42:18,000 --> 00:42:22,000 و ما باید او باشد smith@example.com 763 00:42:22,000 --> 00:42:24,000 و پس از آن جایی که می توانم به آینده؟ 764 00:42:24,000 --> 00:42:27,000 خب، به نظر می رسد مانند برو را فشار دهید کلیک کنید، و voila. 765 00:42:27,000 --> 00:42:30,000 توجه داشته باشید که در 2 ردیف بالا قرار داده شده است. 766 00:42:30,000 --> 00:42:32,000 این پرس و جوی SQL واقعی است. 767 00:42:32,000 --> 00:42:36,000 که ابزار phpMyAdmin به اعدام برای من، 768 00:42:36,000 --> 00:42:40,000 اما نتیجه نهایی، اخطار، اگر من در حال حاضر به برگه مرور، 769 00:42:40,000 --> 00:42:43,000 برای دیدن 2 ردیف در این جدول، بسیار یادآور زیبا 770 00:42:43,000 --> 00:42:46,000 از جدول ما قبلا برای کاربران خود از pset 7 را دیدم، 771 00:42:46,000 --> 00:42:51,000 یکی از آنها دیوید مالان، یکی از آنها در حال حاضر مایک اسمیت است. 772 00:42:51,000 --> 00:42:54,000 اما فقط برای روشن، من نیازی به استفاده از phpMyAdmin به 773 00:42:54,000 --> 00:42:56,000 و در واقع، شما در حال رفتن به زودی نوشتن کد برای pset 7 774 00:42:56,000 --> 00:43:01,000 که خودکار فرایند اضافه کردن ردیف ها، حذف ردیف، ردیف های به روز رسانی و مانند آن، 775 00:43:01,000 --> 00:43:04,000 بنابراین من به جای به تب SQL بروید اجازه دهید تا در اینجا 776 00:43:04,000 --> 00:43:14,000 و در نوع SELECT * از دانش آموزان که در آن 777 00:43:14,000 --> 00:43:18,000 ایمیل = "malan@harvard.edu." 778 00:43:18,000 --> 00:43:21,000 >> به عبارت دیگر فرض کنید در حال حاضر شما باید 779 00:43:21,000 --> 00:43:26,000 برخی از فرم های HTML و نوع کاربر در آدرس ایمیل خود را، در میان رشته های دیگر، 780 00:43:26,000 --> 00:43:29,000 و هدف در حال حاضر در PHP کد پایان دادن به عقب 781 00:43:29,000 --> 00:43:31,000 به واقع نگاه به جزئیات دیگر این کاربر 782 00:43:31,000 --> 00:43:34,000 نام و نام خانوادگی شما چیست؟ شماره ID شما چیست؟ 783 00:43:34,000 --> 00:43:37,000 شما می توانید یک پرس و جوی SQL مثل این نوشتن، از دانش آموزان را انتخاب کنید * 784 00:43:37,000 --> 00:43:40,000 که در آن ایمیل = "malan@harvard.edu." 785 00:43:40,000 --> 00:43:46,000 و اگر من سپس برو کلیک کنید، توجه کنید که من باید، و در واقع من، به عقب بر گردیم فقط یک ردیف. 786 00:43:46,000 --> 00:43:50,000 مایک از این نتیجه، به عنوان مجموعه ای از ردیف های حذف شده 787 00:43:50,000 --> 00:43:53,000 به طور کلی گفته می شود، چرا که او را به همان آدرس ایمیل را به عنوان من ندارد. 788 00:43:53,000 --> 00:43:57,000 >> در حال حاضر، باز هم در اینجا برای pset 7 شما phpMyAdmin به عنوان یک ابزار مدیریتی استفاده 789 00:43:57,000 --> 00:44:00,000 و یک ابزار آموزشی برای یادگیری راه خود را 790 00:44:00,000 --> 00:44:03,000 در سراسر جهان از SQL، اما در پایان روز 791 00:44:03,000 --> 00:44:08,000 شما در حال رفتن به نوشتن این نمایش داده شد در داخل کد PHP واقعی، 792 00:44:08,000 --> 00:44:11,000 و به همین ترتیب در walkthrough Zamyla به ویژه در ارتباط باشید 793 00:44:11,000 --> 00:44:14,000 که در آن شما می خواهید یک تور از کد توزیع برای این مجموعه مشکل 794 00:44:14,000 --> 00:44:18,000 جایی که ما تو را نه تنها از لحاظ زیبایی شناختی برای ورود به صفحه داده شده است 795 00:44:18,000 --> 00:44:21,000 و آرم خوب سکسی که می گوید CS50 مالی، اما ما همچنین به شما داده می شود 796 00:44:21,000 --> 00:44:24,000 یک دسته از توابع است که زندگی خود را کمی آسانتر می کند. 797 00:44:24,000 --> 00:44:27,000 ما همچنین بخشی از pset برای شما نوشته شده است. 798 00:44:27,000 --> 00:44:32,000 بخش ورود به سیستم از آن به طور خاص، به شما یک حس یک طرح نماینده 799 00:44:32,000 --> 00:44:36,000 است که در واقع با استفاده از یک کنترل کننده، به عنوان مثال، فایل index.php، 800 00:44:36,000 --> 00:44:40,000 login.php و مانند آن، و پس از آن خواهید دید pset همچنین دارای یک دایرکتوری قالب 801 00:44:40,000 --> 00:44:43,000 است که تمام دیدگاههای شما، همه از زیبایی شناسی است. 802 00:44:43,000 --> 00:44:46,000 و به این ترتیب گردش کلی در pset 7 خواهد بود که 803 00:44:46,000 --> 00:44:49,000 کاربران خود را ببینید، یک کنترل کننده از طریق یک URL در مرورگر است. 804 00:44:49,000 --> 00:44:53,000 این کنترل شامل کد PHP که شما نوشت، و در داخل کد PHP خود را 805 00:44:53,000 --> 00:44:57,000 ممکن است برخی از خطوط SQL تو در تو در بین کوتیشن ها 806 00:44:57,000 --> 00:45:00,000 و به یک تابع منتقل می نوشت: پرس و جو نامیده می شود 807 00:45:00,000 --> 00:45:03,000 کمک خواهد کرد که شما را به پایگاه داده بدون استفاده از چیزی شبیه به صحبت 808 00:45:03,000 --> 00:45:05,000 یک ابزار مدیریتی مثل phpMyAdmin به. 809 00:45:05,000 --> 00:45:08,000 >> شما قادر خواهید بود به نوشتن عبارات SQL در کد PHP 810 00:45:08,000 --> 00:45:11,000 و به عقب بر گردیم آرایه PHP از مجموعه نتیجه، 811 00:45:11,000 --> 00:45:14,000 از ردیف است که در واقع بازی که پرس و جو. 812 00:45:14,000 --> 00:45:18,000 و به همین ترتیب شما را قادر به انجام آن درج یا حذف 813 00:45:18,000 --> 00:45:22,000 و یا به روز رسانی و یا مانند نحو است که برای آن نسبتا مشابه، 814 00:45:22,000 --> 00:45:25,000 و شما از برخی منابع آنلاین را مشاهده کنید، از کد توزیع 815 00:45:25,000 --> 00:45:29,000 و از pset خود بسته دقیقا چگونه برای رفتن در مورد انجام این کار است. 816 00:45:29,000 --> 00:45:33,000 درک در نهایت ما واقعا تنها سطح از SQL 817 00:45:33,000 --> 00:45:36,000 و از خروجی، اما قدرت آن واقعا این است که شما آن را آزاد 818 00:45:36,000 --> 00:45:40,000 برای تمرکز بر مشکلاتی که شما می خواهید را حل کند، مورد استفاده شما می خواهید برای به اجرا درآوردن 819 00:45:40,000 --> 00:45:43,000 بدون نیاز به نگرانی کاملا به همان اندازه، حداقل در اوایل، 820 00:45:43,000 --> 00:45:47,000 درباره کجا و چگونه ذخیره و جستجو در پایگاه داده خود را، 821 00:45:47,000 --> 00:45:50,000 و این کاملا به معنای واقعی کلمه است که در آن فیس بوک خود را شروع کردم 822 00:45:50,000 --> 00:45:53,000 با استفاده از MySQL و سپس با استفاده از سرور MySQL و سپس چند سرور خروجی زیر 823 00:45:53,000 --> 00:45:57,000 قبل از مدت طولانی تا زمانی که پس از آن تا به حال واقعا شروع به فکر کردن در مورد چگونه به سخت 824 00:45:57,000 --> 00:46:00,000 ذخیره داده ها، چگونه برای ذخیره چیزها حتی بیشتر موثر، 825 00:46:00,000 --> 00:46:04,000 بنابراین حتی اگر ما را برای اعطا به این واقعیت است که شاخص ها و محدودیت های منحصر به فرد 826 00:46:04,000 --> 00:46:08,000 و به این ترتیب فقط یک مکالمه بسیار جالب وجود دارد کار 827 00:46:08,000 --> 00:46:12,000 که این همه می تواند در نهایت منجر به، به طوری که درک کنند که ما تنها سطح 828 00:46:12,000 --> 00:46:17,000 از آنچه که در نهایت می تواند برای شما و یا پروژه های خود را تبدیل به بسیار کمی از داده های بزرگ است. 829 00:46:17,000 --> 00:46:22,000 >> با که گفت، اجازه بدهید پایان در اینجا، و ما به شما در هفته آینده را ببینید. 830 00:46:28,000 --> 00:46:30,000 [CS50.TV]