1 00:00:00,000 --> 00:00:02,150 >> [سمینار] [Kohana: A سبک فریم ورک PHP] 2 00:00:02,150 --> 00:00:04,000 [براندون لیو] [دانشگاه هاروارد] 3 00:00:04,000 --> 00:00:07,270 [این CS50 است.] [CS50.TV] 4 00:00:07,270 --> 00:00:09,130 >> سلام. نام من براندون است. 5 00:00:09,130 --> 00:00:11,000 من یک تازه وارد در اینجا در کالج انجام می دهند علوم کامپیوتر، و امروز ما قصد داریم به بحث در مورد 6 00:00:11,000 --> 00:00:14,460 Kohana است، که یک چارچوب توسعه وب PHP. 7 00:00:14,460 --> 00:00:17,260 امروز در حال رفتن به یک سمینار برنامه نویسی زندگی می کنند، 8 00:00:17,260 --> 00:00:21,000 بنابراین من اساسا رفتن به صرف 5-10 دقیقه توضیح آنچه Kohana است، 9 00:00:21,000 --> 00:00:25,000 و پس از آن من به معنای واقعی کلمه رفتن به ساخت یک وبلاگ فوق العاده ساده 10 00:00:25,000 --> 00:00:28,570 برای شما در اینجا به معنای واقعی کلمه، از ابتدا. 11 00:00:28,570 --> 00:00:32,229 ما قصد داریم برای دانلود کد آن را از وب سایت Kohana، 12 00:00:32,229 --> 00:00:35,000 و ما قصد داریم به شروع به ساخت یک وبلاگ، و امیدوارم آن خواهید بود بسیار آموزنده، 13 00:00:35,000 --> 00:00:37,000 چرا که شما شاید شاید خواهید دید من برخی از اشتباهات را، 14 00:00:37,000 --> 00:00:39,000 و شما خواهید دید که من از آنها بهبود می یابند، 15 00:00:39,000 --> 00:00:42,040 یا شما روند تفکر من را به عنوان من را از طریق این وبلاگ ساخت، 16 00:00:42,040 --> 00:00:44,000 و در عین حال، شما نیز با چارچوب خود آشنا کنید. 17 00:00:44,000 --> 00:00:48,000 امیدوارم آن خواهید بود یک ورزش بسیار آموزنده. 18 00:00:48,000 --> 00:00:51,370 >> اول، آنچه که دقیقا یک چارچوب است؟ 19 00:00:51,370 --> 00:00:54,000 اگر شما شده است مصرف CS50 تا کنون، شما واقعا با هیچ کار نکرده 20 00:00:54,000 --> 00:00:56,000 چارچوب نشده است، و چیزی که این است. 21 00:00:56,000 --> 00:01:00,000 شما احتمالا انجام داده ام 1 توسعه وب pset در حال حاضر، 22 00:01:00,000 --> 00:01:03,000 و اجازه دهید به شما می گویند ادامه به ساخت وب سایت و حفظ وب سایت های ساخت و ساز. 23 00:01:03,000 --> 00:01:05,000 شما شروع به توجه به چند چیز. 24 00:01:05,000 --> 00:01:07,000 اولین چیزی که شما متوجه است که شما احتمالا انجام کارهای مشابه 25 00:01:07,000 --> 00:01:09,150 بارها و بارها در همه زمان ها، 26 00:01:09,150 --> 00:01:13,000 چیزهایی مثل تمیز کردن داده های ورودی کاربر، 27 00:01:13,000 --> 00:01:17,250 چیزهایی مثل سازماندهی فایل های خود را در یک روش خاص. 28 00:01:17,250 --> 00:01:19,000 چیز دیگری شما نیز احتمالا متوجه این است که کد شما 29 00:01:19,000 --> 00:01:21,000 ممکن است شروع به تبدیل شدن به بسیار، بسیار کثیف، 30 00:01:21,000 --> 00:01:24,000 و شما ممکن است آن را کثیف را ترک کرده و فقط در زمان بسیار سخت است حفظ آن را داشته باشد، 31 00:01:24,000 --> 00:01:26,000 و یا ممکن است شما شروع به ساختار کد شما و ساخت آن مدولار 32 00:01:26,000 --> 00:01:28,510 در روش های خاصی به آن را نگهداری می کند. 33 00:01:28,510 --> 00:01:31,020 >> این است که در آن چارچوب های وب اساسا هنوز وارد آمد 34 00:01:31,020 --> 00:01:33,680 اینها کسانی هستند که بسیاری از وب سایت ساخته شده بود، گفتند: 35 00:01:33,680 --> 00:01:35,820 "ما نیازی به انجام مجدد این در هر زمان تنها ما برای ساخت یک وب سایت." 36 00:01:35,820 --> 00:01:39,050 "چرا ما فقط یک بسته است که تمام این چیزها را برای شما می سازد 37 00:01:39,050 --> 00:01:41,250 در هر زمان تنها شما می خواهید برای ایجاد یک وب سایت؟ " 38 00:01:41,250 --> 00:01:43,030 و به طوری که زمانی که شما یک وب سایت جدید، 39 00:01:43,030 --> 00:01:45,880 شما فقط در آنچه که دقیقا در این وب سایت خاص است که در مورد تمرکز می کنند. 40 00:01:45,880 --> 00:01:48,630 شما لازم نیست به تکرار تمام پیکربندی های مختلف 41 00:01:48,630 --> 00:01:53,070 و جدایی از کد و کد بازنویسی 42 00:01:53,070 --> 00:01:56,180 که شما اغلب باید بکنید هنگامی که شما در حال ساخت وب سایت. 43 00:01:56,180 --> 00:01:59,410 ایده این است که یک چارچوب اجازه می دهد تا شما را به ارسال یک کد سطح بالاتر 44 00:01:59,410 --> 00:02:01,030 بدون اینکه در مورد جزئیات سطح پایین تر نگران باشید. 45 00:02:01,030 --> 00:02:03,670 جزئیات سطح پایین تر ممکن است چیزی شبیه به 46 00:02:03,670 --> 00:02:07,250 خرید و فروش با تمیز کردن داده های ورودی کاربر. 47 00:02:07,250 --> 00:02:09,320 این چیزی است که شما واقعا نمی باید نیاز به نگرانی در مورد است. 48 00:02:09,320 --> 00:02:12,370 شما باید در مورد آنچه که تخصیص وب سایت شما است که در واقع در مورد تمرکز می کنند. 49 00:02:12,370 --> 00:02:14,790 این حذف بسیاری از کد boilerplate. 50 00:02:14,790 --> 00:02:16,640 این معماری برای پروژه شما است. 51 00:02:16,640 --> 00:02:18,680 >> یکی از محبوب ترین خواهد بود مدل نمایش، کنترل، 52 00:02:18,680 --> 00:02:20,380 که من قصد دارم به بحث در مورد در یک ثانیه. 53 00:02:20,380 --> 00:02:22,790 و بسیاری از اوقات این چارچوب شکل دادن به یک مجموعه ای از روش، 54 00:02:22,790 --> 00:02:25,750 قوانین، و بهترین شیوه را برای شما به استفاده از 55 00:02:25,750 --> 00:02:28,190 به طوری که زمانی که شما در چارچوب وب اتخاذ 56 00:02:28,190 --> 00:02:30,050 شما باید برای ارسال کد خود را در یک روش خاص، 57 00:02:30,050 --> 00:02:32,430 و آن را به طور کلی به مجموعه ای از اصول توافق کردند 58 00:02:32,430 --> 00:02:34,290 توسط جامعه است که به طور کلی پذیرفته می شود 59 00:02:34,290 --> 00:02:36,230 یک راه خوب نوشتن کد. 60 00:02:36,230 --> 00:02:38,260 این باعث می شود کد شما نگهداری بیشتر، بیشتر قابل استفاده، 61 00:02:38,260 --> 00:02:40,030 غیره و غیره. 62 00:02:40,030 --> 00:02:42,740 و در نهایت، چیزی که من می خواهم در مورد چارچوب تاکید 63 00:02:42,740 --> 00:02:45,980 در مقابل کتابخانه این ایده در مورد وارونگی کنترل است، و چیزی که این است. 64 00:02:45,980 --> 00:02:48,430 تفاوت بین یک کتابخانه و یک چارچوب است که با یک کتابخانه 65 00:02:48,430 --> 00:02:51,990 شما هنوز هم نوشتن برنامه اصلی، 66 00:02:51,990 --> 00:02:54,460 و شما نوع فراخوانی کتابخانه 67 00:02:54,460 --> 00:02:56,810 و خواستار بر کتابخانه برای انجام کاری برای شما. 68 00:02:56,810 --> 00:02:58,180 تفاوت بین یک کتابخانه و یک چارچوب 69 00:02:58,180 --> 00:03:01,620 است که چارچوب شروع می شود با کنترل، 70 00:03:01,620 --> 00:03:03,260 و آن را فراخوانی کد خود را، 71 00:03:03,260 --> 00:03:06,190 بنابراین شما می توانید از آن به عنوان فکر می کنم - این است که چرا آن را به یک چارچوب نامیده می شود - 72 00:03:06,190 --> 00:03:09,700 چارچوب فراهم می کند این قاب و ساختار برای کد شما، 73 00:03:09,700 --> 00:03:11,320 و شما را در سوراخ ها را پر کنید، 74 00:03:11,320 --> 00:03:13,990 و این در دوم تبدیل خواهد شد بیشتر آشکار 75 00:03:13,990 --> 00:03:16,670 من زمانی که می بینید شروع به نوشتن کد در چارچوب چارچوب. 76 00:03:16,670 --> 00:03:19,130 شما خواهید دید که من پر کردن شکاف، 77 00:03:19,130 --> 00:03:22,450 و چارچوب نوع از کنترل تمام قطعات در حال حرکت، 78 00:03:22,450 --> 00:03:27,420 و من مجبور به قرار دادن قطعات در مکان های مناسب. 79 00:03:27,420 --> 00:03:29,360 >> امروز ما قصد داریم تا در مورد Kohana صحبت می کنید، 80 00:03:29,360 --> 00:03:31,610 که یکی از چارچوب PHP است. 81 00:03:31,610 --> 00:03:34,550 می باشد چارچوب های وب وجود دارد، و آنهایی که وجود دارد تقریبا در هر زبان واحد، 82 00:03:34,550 --> 00:03:38,330 و من چیدن Kohana به دلیل Kohana است مسلما 83 00:03:38,330 --> 00:03:43,250 و به طور کلی به عنوان ساده ترین چارچوب PHP را انتخاب کنید تا به رسمیت شناخته شده. 84 00:03:43,250 --> 00:03:45,940 این بسیار سبک وزن است. 85 00:03:45,940 --> 00:03:48,470 دیگر آنهایی که در خارج وجود دارد که با بسیاری از، بسیاری از ویژگی های بیشتری وجود دارد، 86 00:03:48,470 --> 00:03:51,590 اما آنها تمایل به سخت تر انتخاب کنید تا. 87 00:03:51,590 --> 00:03:54,920 و در نهایت، Kohana با استفاده از معماری MVC. 88 00:03:54,920 --> 00:03:57,780 این به اندازه کافی سبک وزن است که ما به معنای واقعی کلمه می تواند به ساخت یک پروژه 89 00:03:57,780 --> 00:03:59,620 در اینجا درست در مقابل چشم شما، و شما می توانید تقریبا 90 00:03:59,620 --> 00:04:02,780 به دنبال همراه به راحتی. 91 00:04:02,780 --> 00:04:04,420 >> معماری MVC چیست؟ 92 00:04:04,420 --> 00:04:06,540 این برای مدل نمایش، کنترل می ایستد، 93 00:04:06,540 --> 00:04:09,560 و شاید اگر شما در مورد کد فکر می کنم شما نوشتن تا کنون 94 00:04:09,560 --> 00:04:11,280 برای برخی از psets توسعه وب شما 95 00:04:11,280 --> 00:04:14,710 شما ممکن است قادر به دیدن برخی از این، اما معمولا وقتی شروع به نوشتن 96 00:04:14,710 --> 00:04:16,500 برنامه وب پیچیده تر، 97 00:04:16,500 --> 00:04:21,209 بخش بین این 3 بخش بیشتر و بیشتر آشکار می شود. 98 00:04:21,209 --> 00:04:26,740 I گذاشته شده از MVC در اینجا به مانند یک پشته، 99 00:04:26,740 --> 00:04:29,920 و اغلب شما شنیدید که مردم در توسعه وب را در مورد پشته صحبت می کنید، 100 00:04:29,920 --> 00:04:33,760 و این است برای نشان دادن این ایده که 101 00:04:33,760 --> 00:04:37,510 هر لایه، هر یک از اجزاء واقعا تلاش می کند تا تنها ارتباط 102 00:04:37,510 --> 00:04:40,750 بین 2 سایر اجزاء. 103 00:04:40,750 --> 00:04:44,550 کسی دسترسی به وب سایت خود را به عنوان یک مشتری و یا مرورگر. 104 00:04:44,550 --> 00:04:48,870 آنها با برنامه های خود را از طریق کد نظر تداخل می کنند. 105 00:04:48,870 --> 00:04:50,500 کد نمایش تعامل با کنترل. 106 00:04:50,500 --> 00:04:52,400 کنترل تعامل با مدل، 107 00:04:52,400 --> 00:04:55,090 و مدل با پایگاه داده SQL تعامل است. 108 00:04:55,090 --> 00:04:59,670 و هیچ رقص در بین وجود دارد اگر شما به درستی ارسال نمایید. 109 00:04:59,670 --> 00:05:01,670 >> چه این کارها را انجام دهید؟ 110 00:05:01,670 --> 00:05:06,020 این مدل در اصل قطعه از کد را که با داده های خود سر و کار دارد. 111 00:05:06,020 --> 00:05:09,100 هر چیزی که با پایگاه داده خود را می پردازد، با اشیاء است که شما را ذخیره، 112 00:05:09,100 --> 00:05:11,280 و یا بازیابی آن اشیاء در پایگاه داده، 113 00:05:11,280 --> 00:05:13,450 این همه با استفاده از مدل گرفته شده است. 114 00:05:13,450 --> 00:05:15,290 شاید شما اشیاء در بانک اطلاعاتی شما. 115 00:05:15,290 --> 00:05:17,700 ما قصد داریم برای ایجاد یک مدل نیاز به کار با نوشته ها، 116 00:05:17,700 --> 00:05:19,760 بنابراین یک پست ممکن است برخی از ویژگی های آن را داشته باشد. 117 00:05:19,760 --> 00:05:23,900 شما نمیتوانید توابع اطراف ذخیره سازی آن ارسال و یا دریافت پست دارند 118 00:05:23,900 --> 00:05:26,270 و یا فیلتر کردن پست و غیره و غیره، 119 00:05:26,270 --> 00:05:28,880 و تمام کد که توسط مدل به کار گرفته شده است. 120 00:05:28,880 --> 00:05:31,780 کنترل کننده نوع منطق برنامه است، 121 00:05:31,780 --> 00:05:37,910 و بسیاری از مسائل مختلف می تواند در منطق برنامه بروید. 122 00:05:37,910 --> 00:05:39,790 اگر شما در حال صحبت کردن به API های مختلف، 123 00:05:39,790 --> 00:05:42,310 که ممکن است که در آن شما با خرید و فروش منطق برنامه است. 124 00:05:42,310 --> 00:05:47,990 اگر شما در حال تلاش برای باید این کار را در داده ها از مدل های مختلف چند 125 00:05:47,990 --> 00:05:51,540 و باید آنها را ترکیب در برخی از راه، که اغلب ممکن است با کنترل گرفته شده است. 126 00:05:51,540 --> 00:05:53,820 به عنوان مثال، در فیس بوک، اگر شما دوست، فردی هست، 127 00:05:53,820 --> 00:05:58,500 پس شاید که عمل ایجاد این رابطه 128 00:05:58,500 --> 00:06:00,490 ممکن است با کنترل انجام می شود. 129 00:06:00,490 --> 00:06:04,350 >> و در نهایت، از نظر کد که تولید چیزی است که شما در واقع می بینند. 130 00:06:04,350 --> 00:06:07,410 بسیاری از اوقات من در psets CS50 فکر می کنم 131 00:06:07,410 --> 00:06:10,050 آنها واقعا به شما بچه ها را تشویق به جدا کردن این 3 چیز است. 132 00:06:10,050 --> 00:06:12,430 شما احتمالا این بزرگ، فایل های طولانی که در آن در بالای صفحه 133 00:06:12,430 --> 00:06:15,130 شما برخی از پرس و جو SQL را و شاید انجام برخی پردازش 134 00:06:15,130 --> 00:06:17,020 در داده های شما از دیتابیس بازیابی، 135 00:06:17,020 --> 00:06:19,370 و پس از آن همه HTML خود را در پایین. 136 00:06:19,370 --> 00:06:22,840 و شما ممکن است دریابید که به شما ایجاد صفحات بیشتر و بیشتر 137 00:06:22,840 --> 00:06:25,790 است که شما قصد به برخی از تکرار کد، و همچنین، 138 00:06:25,790 --> 00:06:29,600 چیزی است فایل شما می شود واقعا بزرگ و بلند 139 00:06:29,600 --> 00:06:32,370 و گنده برای مدیریت می شود. 140 00:06:32,370 --> 00:06:34,500 به همین دلیل MVC است تا به خوبی در نظر گرفته 141 00:06:34,500 --> 00:06:36,120 برای تعدادی از دلایل. 142 00:06:36,120 --> 00:06:38,110 اولین چیزی است که چیزی به نام جدایی از نگرانی 143 00:06:38,110 --> 00:06:40,370 است که این ایده است که هنگامی که شما به - 144 00:06:40,370 --> 00:06:43,520 در حالت ایده آل 1 قطعه ای از کد باید 1 کار را انجام و آن را واقعا خوب، 145 00:06:43,520 --> 00:06:47,210 و شما باید قطعه کد که انجام کارهای مختلف ترکیب نیست. 146 00:06:47,210 --> 00:06:49,230 به عنوان مثال، مشاهده کد و کد مدل، 147 00:06:49,230 --> 00:06:51,040 آنها واقعا باید به هم مرتبط باشند. 148 00:06:51,040 --> 00:06:53,290 آنها لازم نیست که در فایل های مشابه می شود، تا زمانی که شما می توانید، آنها را از هم جدا 149 00:06:53,290 --> 00:06:55,300 پس از آن آسان است حفظ کند. 150 00:06:55,300 --> 00:06:57,130 >> چیز دیگری استفاده مجدد از کد است. 151 00:06:57,130 --> 00:06:59,770 شما ممکن است خودتان را در همان پرس و جو SQL نوشتن و یا انجام 152 00:06:59,770 --> 00:07:03,060 نمایش داده شد مشابه است که می تواند به 1 تابع انتزاعی، 153 00:07:03,060 --> 00:07:05,440 و این که این ایده در پشت مدل و کنترل، 154 00:07:05,440 --> 00:07:09,690 داشتن آن را در یک عملکرد مجزا که شما می توانید در مکان های مختلف در پروژه های خود استفاده مجدد. 155 00:07:09,690 --> 00:07:12,420 و در نهایت، که به خشک کردن کد خود را گره خورده است، 156 00:07:12,420 --> 00:07:14,700 و یا خود را تکرار نمی کند، خودتان را تکرار کنیم. 157 00:07:14,700 --> 00:07:18,090 این در توسعه بسیار قابل فهم است. 158 00:07:18,090 --> 00:07:20,110 هر زمان که شما می توانید، شما نمی خواهید به خودتان تکرار، چرا که اگر شما خودتان را تکرار، 159 00:07:20,760 --> 00:07:23,400  آن را به مراتب پر هزینه تر برای حفظ. 160 00:07:23,400 --> 00:07:26,040 اگر شما می خواهید به تغییر 1 چیزی، شما باید برای تغییر آن در همه جا، 161 00:07:26,040 --> 00:07:30,230 و که منجر به اشکالات، و آن را وحشتناک. 162 00:07:30,230 --> 00:07:32,010 >> خوب. 163 00:07:32,010 --> 00:07:37,270 هر گونه سؤال که تا کنون در مورد Kohana در تمام؟ 164 00:07:37,270 --> 00:07:39,200 بزرگ. 165 00:07:39,200 --> 00:07:42,300 در حال حاضر ما در حال رفتن به شیرجه رفتن به جلسه برنامه نویسی زندگی می کنند، 166 00:07:42,300 --> 00:07:48,050 و امیدوارم همه چیز به خوبی می رود. 167 00:07:57,200 --> 00:08:00,050 من می خواهم برای اساسا ساخت این وب سایت 168 00:08:00,050 --> 00:08:03,910 بر روی یکی از سرور از راه دور من، و به این ترتیب شما بچه ها نیز می توانید 169 00:08:03,910 --> 00:08:06,310 وب سایت مراجعه کنید و دسترسی به وب سایت، 170 00:08:06,310 --> 00:08:10,990 و همچنین محیط زیست بهتر پیکربندی از دستگاه راه دور من است، 171 00:08:10,990 --> 00:08:14,580 چرا که آن را در حال اجرا لینوکس به جای OS X. 172 00:08:14,580 --> 00:08:16,260 ما به معنای واقعی کلمه شروع کنید به. 173 00:08:16,260 --> 00:08:18,110 KohanaFramework.org. 174 00:08:18,110 --> 00:08:21,350 من قصد دارم برای دانلود کد آن را از وب سایت. 175 00:08:21,350 --> 00:08:24,610 من قصد دارم برای کپی کردن آدرس لینک، 176 00:08:24,610 --> 00:08:29,770 رفتن به سرور، دانلود، 177 00:08:29,770 --> 00:08:33,000 و من قصد دارم به آن را استخراج میکند. 178 00:08:38,330 --> 00:08:45,710 >> [دانشجو] چه بزرگترین شما می توانید متن را در؟ 179 00:08:45,710 --> 00:08:47,330 [براندون لیو] است که بهتر است؟ 180 00:08:47,330 --> 00:08:50,070 [دانشجو] آیا این شدنی است؟ >> [براندون لیو] آره، خوب است. 181 00:08:50,070 --> 00:08:54,500 من دانلود یک فایل ZIP و در یک پوشه به نام Kohana همینگونه که، 182 00:08:54,500 --> 00:08:58,820 و ما در حال رفتن به تغییر نام که CS50-Kohana، 183 00:08:58,820 --> 00:09:01,140 و اجازه دهید به وارد 184 00:09:01,140 --> 00:09:03,610 بسیار معروف. 185 00:09:03,610 --> 00:09:06,870 در اینجا یک دسته از فایل های مختلف را مشاهده می کنید. 186 00:09:06,870 --> 00:09:10,140 بسیاری از شما می تواند نادیده بگیرد - we're قصد ندارم به از طریق هر فایل واحد است که در اینجا 187 00:09:10,140 --> 00:09:13,130 به دلیل محدودیت های زمان ما، 188 00:09:13,130 --> 00:09:16,310 اما به طور کلی زمانی که شما نصب Kohana، اولین چیزی که شما باید انجام دهید 189 00:09:16,310 --> 00:09:23,210 است شما را به دایرکتوری بروید، 190 00:09:23,210 --> 00:09:26,050 و شما اساسا خواهید انجام برخی از آزمون های محیط زیست و فلان چیز 191 00:09:26,050 --> 00:09:28,640 مطمئن شوید محیط زیست خود را به درستی برای اجرای Kohana 192 00:09:28,640 --> 00:09:31,450 و مطمئن شوید که همه چیز درست است. 193 00:09:31,450 --> 00:09:35,510 شما می توانید ببینید ترین چیز گذشت، اما به طور کلی شما همیشه به این مشکل 1 اجرا 194 00:09:35,510 --> 00:09:38,180 که در آن شکایت می کند که برخی directory قابل نوشتن نیست، 195 00:09:38,180 --> 00:09:40,410 و این که به دلیل برخی از مجوز است. 196 00:09:40,410 --> 00:09:43,080 من نمی دانم که چقدر به شما بچه ها در مورد مجوز های دسترسی فایل در CS50 آموخته، 197 00:09:43,080 --> 00:09:47,920 اما اگر شما توسعه وب، شما به اجرا را به این مسئله زیادی. 198 00:09:47,920 --> 00:09:58,340 من قصد دارم آن را قابل نوشتن کنید 199 00:09:58,340 --> 00:10:03,390 و من فکر می کنم من هم به - وجود می کنیم. 200 00:10:03,390 --> 00:10:07,040 >> خوب، پس در حال حاضر شما می توانید ببینید که همه چیز گذشت، 201 00:10:07,040 --> 00:10:10,000 و در حال حاضر آن را به شما بگویم به تغییر نام فایل install.php. 202 00:10:10,000 --> 00:10:15,630 من قصد دارم به حرکت در فایل install.php رو به installed.php، 203 00:10:15,630 --> 00:10:19,610 و در حال حاضر اگر من تازه کردن، 204 00:10:19,610 --> 00:10:22,810 آن را به من می دهد برخی از خطا، و این جایی است که اشکال زدایی می آید. 205 00:10:22,810 --> 00:10:25,610 این جایی است که شما می توانید آنچه در واقع اتفاق خواهد افتاد. 206 00:10:25,610 --> 00:10:28,460 چیزی است، به طور پیش فرض، Kohana فرض می شود که 207 00:10:28,460 --> 00:10:31,480 پروژه خود را در فهرست ریشه دامنه شما، 208 00:10:31,480 --> 00:10:35,920 پس از آن به انتظار شما در demo.brandonkliu.com باشد. 209 00:10:35,920 --> 00:10:37,540 ما باید به آن بگویید که آن را در واقع در یک زیرپوشه. 210 00:10:37,540 --> 00:10:39,820 آن را در یک زیر پوشه به نام CS50 Kohana است. 211 00:10:39,820 --> 00:10:42,640 چیزی است، آن را تفسیر غلط CS50-Kohana 212 00:10:42,640 --> 00:10:45,680 به عنوان چیز دیگری که من به شما در یک ثانیه را توضیح دهد. 213 00:10:45,680 --> 00:10:49,910 اما من باید به شما بگویم که چیزی است که انتظار می رود است. 214 00:10:49,910 --> 00:10:53,700 چه ما می خواهیم انجام دهیم این است که ما قصد داریم برای رفتن به این پوشه به نام bootstrap.php، 215 00:10:53,700 --> 00:10:59,260 که پوشه پیکربندی که در آن بسیاری از مسائل مختلف راه اندازی شده است. 216 00:10:59,260 --> 00:11:01,570 من باز است که تا. 217 00:11:01,570 --> 00:11:09,790 پس از آن شاید یکی از اولین چیزهایی که من انجام است تغییر منطقه زمان. 218 00:11:09,790 --> 00:11:13,910 >> و پس از آن اجازه دهید را ببینید. 219 00:11:13,910 --> 00:11:15,180 آها! حق در اینجا. 220 00:11:15,180 --> 00:11:18,690 یک دسته از احادیث پیکربندی های مختلف وجود دارد در اینجا، 221 00:11:18,690 --> 00:11:21,700 اما یکی از من دنبال این چیزی که به نام URL پایه است، 222 00:11:21,700 --> 00:11:24,570 و به طور پیش فرض من آن را به Kohana مجموعه، 223 00:11:24,570 --> 00:11:29,020 اما من قصد دارم برای تغییر آن به CS50-Kohana، 224 00:11:29,020 --> 00:11:32,880 و من فکر می کنم که باید آن را حل کنند. 225 00:11:32,880 --> 00:11:34,150 بله، بزرگ است. 226 00:11:34,150 --> 00:11:39,530 به طور پیش فرض، برای دیدن آن است که کار می کند، آن را می گوید، "سلام جهان." 227 00:11:39,530 --> 00:11:42,930 از کجا آمده است؟ چگونه ما به سلام جهان شد؟ 228 00:11:42,930 --> 00:11:47,640 که در آن دقیقا همان کد که در واقع نوشته است که است؟ 229 00:11:47,640 --> 00:11:50,240 به درک که، من این مفهوم به نام مسیریابی معرفی. 230 00:11:50,240 --> 00:11:52,590 تقریبا تمام چارچوب های وب را به مفهوم مسیریابی، 231 00:11:52,590 --> 00:11:57,230 است که در آن قطعه از نرم افزار که یک URL خاص نقشه 232 00:11:57,230 --> 00:12:01,550 به قطعه خاصی از کد در چارچوب خود را. 233 00:12:01,550 --> 00:12:07,510 به عنوان مثال، اگر شما برخی از URL و شما را به برخی URL مانند foo.com / وبلاگ / همه رفتن 234 00:12:07,510 --> 00:12:11,170 پس از آن چه چارچوب است که برای انجام این کار - و یا حداقل آنچه Kohana در حال رفتن به انجام - 235 00:12:11,170 --> 00:12:15,540 است آن را برای پیدا کردن یک کلاس به نام وبلاگ کنترل کننده، 236 00:12:15,540 --> 00:12:18,720 و آن را برای اجرای تابع به نام اکشن تمام. 237 00:12:18,720 --> 00:12:20,160 من می دانم که من صحبت کردن در مورد کلاس ها و توابع، 238 00:12:20,160 --> 00:12:23,860 و من می دانم که شما بچه ها کلاس ها و توابع پوشش داده نمی شوند 239 00:12:23,860 --> 00:12:26,470 در CS50 رتبهدهی نشده است، اما در حال حاضر، 240 00:12:26,470 --> 00:12:29,800 شما می توانید از کلاس فقط به عنوان یک گروه از توابع فکر می کنم، 241 00:12:29,800 --> 00:12:32,900 یک روش گروه بندی توابع با هم. 242 00:12:32,900 --> 00:12:37,690 این واقعا همه شما نیاز به دانستن. 243 00:12:37,690 --> 00:12:43,120 >> حال اگر در ساختار پوشه های ما نگاه کنید، 244 00:12:43,120 --> 00:12:47,110 در داخل پوشه برنامه است یک پوشه دیگر به نام کلاس ها، وجود دارد 245 00:12:47,110 --> 00:12:49,200 و پوشه های دیگر کنترل و مدل نامیده می شود. 246 00:12:49,200 --> 00:12:52,530 اگر شما در داخل پوشه کنترل نگاه کنید، 247 00:12:52,530 --> 00:12:56,330 ما می بینیم این است که یک فایل با نام خوش آمدید وجود دارد، 248 00:12:56,330 --> 00:13:00,370 و شما می توانید در اینجا مشاهده کنید یک کلاس به نام کنترل خوش آمدید، 249 00:13:00,370 --> 00:13:02,340 و یک تابع به نام صفحه اول اکشن وجود دارد، 250 00:13:02,340 --> 00:13:06,360 و چه میکند این مجموعه بدن از پاسخ شما به سلام جهان. 251 00:13:06,360 --> 00:13:08,730 این جایی است که کد نوشته شده. 252 00:13:08,730 --> 00:13:11,610 سوال دیگر این است که، خوب، من برای رفتن نیست 253 00:13:11,610 --> 00:13:13,680 ، اه، اه، اه، / خوش آمدید / شاخص. 254 00:13:13,680 --> 00:13:16,250 چگونه من در نهایت به اینجا؟ 255 00:13:16,250 --> 00:13:20,410 خب، این تنها به دلیل 256 00:13:20,410 --> 00:13:22,410 در اینجا، در انتهای فایل خود راه انداز ما 257 00:13:22,410 --> 00:13:24,550 که در آن ما مجموعه های ما 258 00:13:24,550 --> 00:13:26,570 شما می توانید ببینید که آنها برخی پیش فرض ها برای شما تنظیم شده است. 259 00:13:26,570 --> 00:13:28,990 کنترل کننده به طور پیش فرض خوش آمدید. عمل به طور پیش فرض اول است. 260 00:13:28,990 --> 00:13:31,600 به همین دلیل زمانی که ما هیچ چیزی در آن وجود دارد آن را به طور خودکار به کنترل خوش آمدید رفت 261 00:13:31,600 --> 00:13:33,940 و شاخص اکشن. 262 00:13:33,940 --> 00:13:37,460 >> همه چیز را حس تا کنون؟ 263 00:13:37,460 --> 00:13:40,850 در حال حاضر، شما می توانید بیش از فقط به کنترل کننده به انجام 264 00:13:40,850 --> 00:13:43,670 و یک عمل خاص. 265 00:13:43,670 --> 00:13:48,480 شما همچنین می توانید در پارامتر به کنترل کننده منتقل می کند. 266 00:13:48,480 --> 00:13:56,390 فقط به عنوان مثال، 267 00:13:56,390 --> 00:14:04,070 من قصد دارم به اضافه اقدامات دیگر این کنترل به شما نشان دهد. 268 00:14:04,070 --> 00:14:09,130 اجازه دهید این عمل را صدا اکو، به دلیل آن را به شما بگویم هر آنچه شما آن را بدهد، 269 00:14:09,130 --> 00:14:17,510 و بنابراین من اساسا رفتن به گرفتن 270 00:14:17,510 --> 00:14:20,960 یک پارامتر که رفتن به از طریق من به برنامه مسیریابی فرستاده می شود، 271 00:14:20,960 --> 00:14:24,440 و همانطور که شما در اینجا می توانید ببینید، 272 00:14:24,440 --> 00:14:28,440 این خط در اینجا، شما می توانید ببینید که 273 00:14:28,440 --> 00:14:31,270 این اساسا بدان معنی است که شما کنترل، و شما یک /، 274 00:14:31,270 --> 00:14:33,480 و شما باید اقدام، و شما را / دیگر، 275 00:14:33,480 --> 00:14:39,140 و برای رفتن به پارامترها، و از آنجا که ما این نام ID 276 00:14:39,140 --> 00:14:42,450 در براکت زاویه، که بدان معنی است که ما در حال نامگذاری این پارامتر ID. 277 00:14:42,450 --> 00:14:45,490 پس از آن در کد کنترل من اگر من می خواهم برای گرفتن نگه دارید که پارامتر، 278 00:14:45,490 --> 00:14:51,790 من می توانید از کد که نوشتم استفاده کنید، پیدا کردن پارامتر به نام ID. 279 00:14:51,790 --> 00:14:59,290 این چیزی است که من در اینجا انجام داد، و من قصد دارم به بازگشت و می گویند، 280 00:14:59,290 --> 00:15:07,090 "شما گفته اید" که. 281 00:15:07,090 --> 00:15:10,760 و بنابراین در حال حاضر اگر من به وب سایت ما، 282 00:15:10,760 --> 00:15:19,550 من به cs50-kohana/welcome/echo/Helloooo-- بروید 283 00:15:19,550 --> 00:15:21,420 آه، درست است. 284 00:15:21,420 --> 00:15:23,930 است 1 مرحله I از سمت چپ وجود دارد. 285 00:15:23,930 --> 00:15:27,020 این بخشی از ایده های برنامه نویسی است زندگی می کنند. 286 00:15:27,020 --> 00:15:36,100 >> در اینجا 1 چیز است. اجازه دهید را ببینید. 287 00:15:36,100 --> 00:15:38,870 بنابراین به طور معمول به طور پیش فرض با تعداد زیادی از این برنامه های کاربردی وب 288 00:15:38,870 --> 00:15:42,820 شما باید این چیزی که فایل index.php در URL خود را، 289 00:15:42,820 --> 00:15:46,410 چرا که این ایده است که فایل index.php نوع نقطه ورود است 290 00:15:46,410 --> 00:15:48,250 از درخواست شما، اما البته، 291 00:15:48,250 --> 00:15:50,110 که به نوعی آزار دهنده داشته باشد. 292 00:15:50,110 --> 00:15:53,790 شما نمی خواهید به فایل index.php در URL خود را به نظر می رسد، 293 00:15:53,790 --> 00:15:56,080 و تقریبا در هر چارچوب وب از جعبه 294 00:15:56,080 --> 00:15:58,440 تا به این مشکل اضافه کردن به مسیر، 295 00:15:58,440 --> 00:16:03,370 و بنابراین شما را به برخی از اقدامات که قادر به حذف. 296 00:16:03,370 --> 00:16:07,540 و به این ترتیب در این مورد، 297 00:16:07,540 --> 00:16:11,450 آنچه ما می خواهیم انجام دهیم این است که ما قصد استفاده از یک فایل با نام. htaccess تغییر نام دهید، 298 00:16:11,450 --> 00:16:13,900 و این چیزی است که خاص به وب سرور آپاچی است، 299 00:16:13,900 --> 00:16:16,290 و می تواند چیزهایی مانند بازنویسی آدرس ها انجام 300 00:16:16,290 --> 00:16:19,350 و تغییر مسیر URL ها و غیره و غیره، 301 00:16:19,350 --> 00:16:24,280 و Kohana به اندازه کافی خوب به ارائه یک قالب فایل htaccess که ما می توانیم از آن استفاده کنید. 302 00:16:24,280 --> 00:16:28,300 >> همانطور که می بینید، یک فایل وجود دارد به نام example.htaccess وجود دارد، 303 00:16:28,300 --> 00:16:33,410 و ما قصد داریم برای کپی کردن است که به. htaccess تغییر نام دهید. 304 00:16:33,410 --> 00:16:36,950 من قصد دارم برای باز کردن این و آن را ویرایش کنید، 305 00:16:36,950 --> 00:16:40,840 و اساسا آن را یک دسته از چیزهای مختلف. 306 00:16:40,840 --> 00:16:45,320 خط کلید شما ممکن است بخواهید به در نگاه است در اینجا. 307 00:16:45,320 --> 00:16:49,840 ایده این است که این مجموعه تا یک قانون که می گوید، 308 00:16:49,840 --> 00:16:56,400 "بسیار خوب، هر آنچه که شما تایپ می کنید در، اضافه کردن به مسیر prepend به آن." 309 00:16:56,400 --> 00:16:58,710 شما می توانید ببینید که. 310 00:16:58,710 --> 00:17:00,370 * مخفف برای هر چیزی، مطابقت هر چیزی، 311 00:17:00,370 --> 00:17:03,300 و پس از آن قسمت دوم اضافه کردن به مسیر / $ 0 است، 312 00:17:03,300 --> 00:17:07,410 و $ 0 به هر آنچه قبلا شده بود. 313 00:17:07,410 --> 00:17:09,500 آیا این را حس؟ 314 00:17:09,500 --> 00:17:12,190 اما چیزی که واقعا کلیدی من می خواهم به تغییر است تغییر این پایگاه بازنویسی، 315 00:17:12,190 --> 00:17:14,300 است که پایه URL. 316 00:17:14,300 --> 00:17:17,780 این نوع به عهده می گیرد که در آن شما در حال کار از. 317 00:17:17,780 --> 00:17:22,560 من قصد دارم برای اضافه کردن CS50 Kohana به آن، 318 00:17:22,560 --> 00:17:26,530 و به این ترتیب در حال حاضر اگر من حذف فایل index.php، 319 00:17:26,530 --> 00:17:32,110 آن باید کار کند، و من قصد دارم به اضافه کردن برخی از اعداد 320 00:17:32,110 --> 00:17:36,380 به شما نشان می دهد که آن را در واقع انجام کار. 321 00:17:36,380 --> 00:17:38,130 به نظر می رسد خوب است. 322 00:17:38,130 --> 00:17:40,260 >> هر گونه سؤال تا کنون؟ 323 00:17:40,260 --> 00:17:42,300 [دانشجو] چگونه آن را می دانم بود را به 123؟ 324 00:17:42,300 --> 00:17:44,120 آیا این استدلال؟ 325 00:17:44,120 --> 00:17:46,560 دقیقا. شما می توانید از آن درست مثل استدلال فکر می کنم. 326 00:17:46,560 --> 00:17:52,410 اما چیزی که عجیب و غریب، هر چند، این است که راه Kohana آن را 327 00:17:52,410 --> 00:17:54,910 است که آنها را دقیقا مانند استدلال نمی کنند. 328 00:17:54,910 --> 00:17:56,930 شما باید آن را گرفتن مثل این. 329 00:17:56,930 --> 00:18:01,030 شما باید برای گرفتن شی درخواست و درخواست پارامتر که به نام ID، 330 00:18:01,030 --> 00:18:03,240 و این نام ID می آید از آن فایل خود راه انداز 331 00:18:03,240 --> 00:18:06,990 که من قبل از آن نشان داد، و به نام ID در آن قلاب شده بود، 332 00:18:06,990 --> 00:18:11,580 و این که شما چگونه گرفتن آن پارامترها. 333 00:18:11,580 --> 00:18:14,010 بسیار معروف. 334 00:18:14,010 --> 00:18:17,550 هر گونه سؤال دیگر؟ 335 00:18:17,550 --> 00:18:20,500 من می خواهم گفت، کنترل، که مسئولیت رسیدگی به منطق برنامه، 336 00:18:20,500 --> 00:18:22,980 به طوری که 1 به عنوان مثال که در آن شما می توانید that's ببینید - 337 00:18:22,980 --> 00:18:24,830 آن را بسیار اساسی است، اما هنوز هم منطق برنامه، 338 00:18:24,830 --> 00:18:27,980 ایده گرفتن پارامتر و ایجاد یک رشته جدید 339 00:18:27,980 --> 00:18:31,920 که می گوید، "شما گفت، اه،" و سپس تف که به شما. 340 00:18:31,920 --> 00:18:34,030 و به طور کلی آنچه که شما انجام دهید این است که شما کنترل های مختلف ایجاد کنید. 341 00:18:34,030 --> 00:18:36,450 شما کنترل جداگانه برای قسمت های مختلف وب سایت خود را ایجاد کنید. 342 00:18:36,450 --> 00:18:38,160 >> امروز ما در حال رفتن به یک وب سایت بسیار ساده است، 343 00:18:38,160 --> 00:18:40,420 و آن را برای رفتن به یک وبلاگ بسیار ساده است. 344 00:18:40,420 --> 00:18:43,780 ما در حال رفتن به یک کنترل جدید فقط برای پست در وبلاگ. 345 00:18:43,780 --> 00:18:47,060 اما اگر من به همچنین نظر به وبلاگ اضافه کنید، 346 00:18:47,060 --> 00:18:50,140 پس از آن من احتمالا می خواهم یک کنترلر جدید برای کسانی که نظرات. 347 00:18:50,140 --> 00:18:53,380 اگر من می خواستم برای اضافه کردن کاربران، من احتمالا اضافه کردن یک کنترل جدید برای آن دسته از کاربران، 348 00:18:53,380 --> 00:18:57,000 و به طور کلی، ایده این است که هر زمان که شما یک مدل جدید، 349 00:18:57,000 --> 00:18:59,630 یک شی جدید داده است که شما با خرید و فروش، 350 00:18:59,630 --> 00:19:02,970 شما یک کنترل کننده تک آن شئ داده است. 351 00:19:02,970 --> 00:19:04,370 امروز ما فقط رفتن به محل کار با 1 شی داده ها، 352 00:19:04,370 --> 00:19:06,250 و رفتن به پست، 353 00:19:06,250 --> 00:19:08,710 و همچنین شما می توانید از اشیاء به عنوان داده های مربوط به جداول فکر می کنم. 354 00:19:08,710 --> 00:19:12,160 به طور کلی هر جدول مربوط به 1 نوع شی داده ها، 355 00:19:12,160 --> 00:19:15,160 بنابراین جدول نوشته خواهد شد 1 پست مدل داشته باشد، 356 00:19:15,160 --> 00:19:18,230 که 1 پست کنترل مربوط به آن داشته باشد، 357 00:19:18,230 --> 00:19:22,190 و همین کار را برای نظر، همین کار را برای کاربران، و غیره و غیره. 358 00:19:22,190 --> 00:19:24,070 و این یک قانون کلی است. 359 00:19:24,070 --> 00:19:27,460 رفتن به موارد خاص که در آن شما ممکن است از آن تفاوت وجود دارد، 360 00:19:27,460 --> 00:19:29,300 اما 90٪ از زمان این چیزی است که شما قصد انجام شود، 361 00:19:29,300 --> 00:19:32,810 و من به شما این چیزی است که ما قصد داریم برای انجام این کار امروز را نشان می دهد. 362 00:19:32,810 --> 00:19:35,490 1 مفهوم بیشتری قبل از ما شیرجه رفتن دوباره به کد، 363 00:19:35,490 --> 00:19:37,710 این ایده از نگاشت رابطه ای شی. 364 00:19:37,710 --> 00:19:41,200 >> شما بچه ها که در حال حاضر انجام می شود pset توسعه وب، 365 00:19:41,200 --> 00:19:43,820 و شما را دیده ام که شما پرس و جو SQL را، 366 00:19:43,820 --> 00:19:46,510 و هر چه آن را به شما باز می گرداند ردیف می باشد. 367 00:19:46,510 --> 00:19:50,040 شما دریافت می کنید این ردیف، و شاخص شما آنها را با برخی از نام، 368 00:19:50,040 --> 00:19:55,480 نام ستون و جدول، 369 00:19:55,480 --> 00:19:57,630 و این که شما چگونه با آن کار می کنند، 370 00:19:57,630 --> 00:19:59,290 و می توان آن را کمی دست و پا گیر. 371 00:19:59,290 --> 00:20:01,810 اما علاوه بر این، اگر شما روابط در پایگاه داده خود را، 372 00:20:01,810 --> 00:20:05,280 مانند به عنوان مثال اگر من نظر و پست، 373 00:20:05,280 --> 00:20:11,240 پس شاید من می خواهم برای گرفتن پست پدر و مادر از نظر. 374 00:20:11,240 --> 00:20:14,350 اگر من با استفاده از فقط ردیف در SQL، پس از آن همه من می توانید ID است 375 00:20:14,350 --> 00:20:19,310 پس از پدر و مادر و نه پست واقعی خود. 376 00:20:19,310 --> 00:20:21,680 اما زمانی که ما در حال برنامه نویسی، آنچه که ما در واقع می خواهم این است که در واقع گرفتن 377 00:20:21,680 --> 00:20:23,550  پدر و مادر گاهی اوقات در پست خود. 378 00:20:23,550 --> 00:20:25,730 چه شی نگاشت رابطه ای کند است 379 00:20:25,730 --> 00:20:29,480 آن نتایج حاصل از پرس و جو پایگاه داده را می گیرد 380 00:20:29,480 --> 00:20:32,420 و آن را تبدیل به اشیاء برای شما، که بسیار بهتر برای کار با 381 00:20:32,420 --> 00:20:34,770 از آرایه های ساده و ردیف. 382 00:20:34,770 --> 00:20:37,550 >> به عنوان مثال، در حال حاضر زمانی که من در نظر دارید، 383 00:20:37,550 --> 00:20:40,900 و من می خواهم برای گرفتن پست پدر و مادر خود، 384 00:20:40,900 --> 00:20:43,440 و من شاید نظر جهت دار پست، 385 00:20:43,440 --> 00:20:45,230 سپس آن را در واقع من شی پست را 386 00:20:45,230 --> 00:20:47,940 مربوط به پست پدر و مادر واقعی، نه فقط چند ID، 387 00:20:47,940 --> 00:20:52,210 که من در غیر این صورت مجبور به استفاده و ایجاد یک پرس و جوی SQL برای گرفتن پست، 388 00:20:52,210 --> 00:20:57,430 دست و پا گیر و غیر ضروری است. 389 00:20:57,430 --> 00:21:01,840 و علاوه بر این، با نقشه برداری این همه ردیف داده ها را به اشیاء، 390 00:21:01,840 --> 00:21:03,760 شما همچنین می توانید توابع بیشتری را به اشیاء ضمیمه، 391 00:21:03,760 --> 00:21:09,700 به عنوان مثال، من در مورد کلاس های چگونه اساسا گروه بندی از توابع صحبت کردیم. 392 00:21:09,700 --> 00:21:11,620 شما می توانید از آن را مانند که فکر می کنم. 393 00:21:11,620 --> 00:21:15,290 به عنوان مثال، شاید من از این نوشته: شی، 394 00:21:15,290 --> 00:21:17,830 و شاید من می خواهم به برخی از مرتب کردن بر اساس تابع متصل به آن 395 00:21:17,830 --> 00:21:20,300 که اساسا به من می گوید شد آن را به تازگی ارسال شده است؟ 396 00:21:20,300 --> 00:21:23,570 بود آن را در هفته گذشته نوشته شده، درست است یا غلط؟ 397 00:21:23,570 --> 00:21:27,320 و این یک تابع I می توانید بر روی آن شی متصل است، 398 00:21:27,320 --> 00:21:31,300 و این واقعا راحت به آن را در همان محل، 399 00:21:31,300 --> 00:21:33,820 و میزبان هستند از توابع مختلف شما می توانید ایجاد وجود دارد 400 00:21:33,820 --> 00:21:37,990 برای این اشیاء، و آن را واقعا به خوبی قادر به آن متصل به یک کلاس، 401 00:21:37,990 --> 00:21:41,700 به یک شی، در حالی که اگر شما فقط به حال ردیف که از پایگاه داده خود را، 402 00:21:41,700 --> 00:21:43,790 سپس شما واقعا نمی توانید به آن وصل کنید هر عملکرد. 403 00:21:43,790 --> 00:21:47,850 این به معنای واقعی کلمه فقط داده ها. 404 00:21:47,850 --> 00:21:50,550 هر گونه سؤال در مورد که در همه؟ 405 00:21:50,550 --> 00:21:52,710 ORMs می باشد توسعه وب بسیار معمول است، 406 00:21:52,710 --> 00:21:56,330 و در بسیاری از انواع مختلف ORMs وجود دارد، 407 00:21:56,330 --> 00:21:58,450 و Kohana است ORM خود را دارد. 408 00:21:58,450 --> 00:22:05,050 این بسیار اساسی است، اما شما طعم از آنچه آن را مانند به نظر می رسد را دریافت کنید. 409 00:22:05,050 --> 00:22:08,780 >> اجازه دهید یک مدل برای پست های وبلاگ ما ایجاد، 410 00:22:08,780 --> 00:22:12,350 و اولین چیزی که ما بدیهی است که باید انجام دهید این است برای ایجاد یک جدول واقعی 411 00:22:12,350 --> 00:22:16,680 در بانک اطلاعاتی ما در واقع داده های ما ذخیره برای کسانی که پست. 412 00:22:16,680 --> 00:22:19,260 اولین چیزی که من قصد دارم برای انجام شده است رفتن به phpMyAdmin. 413 00:22:19,260 --> 00:22:21,410 آیا بچه ها قبل از استفاده از phpMyAdmin؟ 414 00:22:21,410 --> 00:22:23,400 بسیار خوب، عالی، پس شما بچه ها می دانید چه چیزی است، 415 00:22:23,400 --> 00:22:32,200 و من قصد دارم برای ایجاد یک جدول جدید به نام Kohana پست ها، 416 00:22:32,200 --> 00:22:37,820 و این می شود واقعا ساده است. 417 00:22:37,820 --> 00:22:40,190 من باید به سیستم وارد شوید پشت شوید. 418 00:23:02,620 --> 00:23:04,640 همه ما در حال رفتن به انجام امروز یک نویسنده و بدن، 419 00:23:04,640 --> 00:23:11,930 فقط نگه داشتن آن ساده است. 420 00:23:11,930 --> 00:23:15,620 من قصد دارم برای ایجاد آن جدول، 421 00:23:15,620 --> 00:23:19,620 و در حال حاضر ما فقط باید یک جدول به نمایندگی از پست های ما 422 00:23:19,620 --> 00:23:23,370 با 2 زمینه برای نویسنده ما و بدن ما. 423 00:23:23,370 --> 00:23:26,290 چیز دیگری من می خواهم به انجام این کار نیست. 424 00:23:26,290 --> 00:23:29,820 پیکربندی برنامه وب من پس از آن می داند که چگونه به اتصال به پایگاه داده، 425 00:23:29,820 --> 00:23:31,950 و این، دوباره، چیزی است که شما باید انجام دهید این را با تمام برنامه های وب است. 426 00:23:31,950 --> 00:23:34,790 شما باید آن را به نام کاربر و رمز عبور بگویید 427 00:23:34,790 --> 00:23:36,990 و نام پایگاه داده و غیره و غیره 428 00:23:36,990 --> 00:23:40,000 برای کشف کردن که چگونه در واقع به پایگاه داده شما متصل شود. 429 00:23:40,000 --> 00:23:58,710 >> در Kohana، ما چیزی به نام ماژول پایگاه داده، 430 00:23:58,710 --> 00:24:02,690 و در پوشه پیکربندی ما باید این پوشه را به نام پایگاه داده، 431 00:24:02,690 --> 00:24:07,330 و همانطور که می بینید، یک دسته از تنظیمات شما را به مجموعه ای در اینجا وجود دارد 432 00:24:07,330 --> 00:24:09,860 به آن بگویید که چه نام کاربری و رمز عبور است 433 00:24:09,860 --> 00:24:13,110 برای پایگاه داده، بنابراین من در واقع می تواند به آن متصل شود. 434 00:24:13,110 --> 00:24:15,010 و از آنجا که من نمی خواهم شما بچه ها به واقع می دانم 435 00:24:15,010 --> 00:24:17,190 نام کاربری و رمز عبور پایگاه داده من، 436 00:24:17,190 --> 00:24:23,840 من یک فایل که در آن من در حال حاضر از آن همه راه اندازی، و من قصد دارم به کپی کنید و آن را بیش از پیست کنید. 437 00:24:33,080 --> 00:24:36,870 بسیار معروف. 438 00:24:36,870 --> 00:24:39,880 خوب. من فکر می کنم که تمام تنظیمات من نیاز به انجام است، 439 00:24:39,880 --> 00:24:41,070 اما اجازه دهید را ببینید. 440 00:24:41,070 --> 00:24:43,720 ما به حفظ مشغول به کار در آن، و اگر چیزی تصادفات، 441 00:24:43,720 --> 00:24:47,490 پس از آن خواهیم آن را برطرف. 442 00:24:47,490 --> 00:24:51,830 در حال حاضر آنچه من قصد دارم برای انجام این کار است من قصد دارم برای ایجاد یک کنترل جدید. 443 00:24:51,830 --> 00:24:53,190 یا در واقع، متاسفم. 444 00:24:53,190 --> 00:24:55,080 اول باید به ایجاد یک مدل جدید است. 445 00:24:55,080 --> 00:25:01,620 من یک مدل جدید به نام Post.php خواهید ایجاد کنید، 446 00:25:01,620 --> 00:25:12,440 و آنچه ما می خواهیم انجام دهیم این است که ما در حال رفتن به آن را طبقه Model_Post. 447 00:25:12,440 --> 00:25:15,390 برخی از نحو برجسته در، 448 00:25:15,390 --> 00:25:19,750 و تا زمانی که من می گویم، "گسترش ORM،" که اساسا 449 00:25:19,750 --> 00:25:21,210 برخی از برنامه نویسی شی گرا تر، 450 00:25:21,210 --> 00:25:23,340 که متاسفانه شما بچه ها در CS50 یاد گرفته نشده است، 451 00:25:23,340 --> 00:25:25,290 اما آن را بسیار آسان میسازد. 452 00:25:25,290 --> 00:25:27,950 آن را به من می دهد تمام این قابلیت های اضافی می آید که در این بسته ORM، 453 00:25:27,950 --> 00:25:31,120 و من یک دسته از توابع اضافی و فلان چیز به صورت رایگان، 454 00:25:31,120 --> 00:25:34,810 که شما یک کمی در یک ثانیه را ببینید. 455 00:25:34,810 --> 00:25:37,670 >> در حال حاضر در واقع تمام من باید انجام دهید ایجاد این کلاس. 456 00:25:37,670 --> 00:25:39,160 من حتی نیاز به هر گونه عملکرد و یا هر چیزی، 457 00:25:39,160 --> 00:25:41,770 اما من یک کلاس است که نشان دهنده جدول ایجاد کرده اید، 458 00:25:41,770 --> 00:25:44,140 و چون من این کلاس ORM گسترش داده ایم، 459 00:25:44,140 --> 00:25:51,080 من یک دسته از چیزها به صورت رایگان است، بنابراین در حال حاضر شما لازم نیست که به تنظیم هر چیزی تا بیشتر. 460 00:25:51,080 --> 00:25:53,530 و در حال حاضر آنچه که من قصد انجام دهید این است که من قصد دارم برای ایجاد یک کنترل جدید، 461 00:25:53,530 --> 00:25:58,480 که من قصد دارم به نام blog.php، 462 00:25:58,480 --> 00:26:04,350 و من قصد دارم برای کپی بر روی کنترل خوش آمدید 463 00:26:04,350 --> 00:26:11,950 بنابراین من مجبور به تکرار برخی مسائل، 464 00:26:11,950 --> 00:26:20,720 و در حال حاضر من به تغییر نام این. 465 00:26:20,720 --> 00:26:24,710 در حال حاضر آنچه من قصد دارم برای تست کنید تا مطمئن شوید همه چیز را در حال کار کردن، 466 00:26:24,710 --> 00:26:27,820 من قصد دارم برای گرفتن اولین ارسال از پایگاه داده من 467 00:26:27,820 --> 00:26:32,680 و چاپ در بدن از ارسال بر روی صفحه نمایش. 468 00:26:32,680 --> 00:26:37,920 برای انجام این کار چیزی است که من قصد دارم برای انجام این کار برای اولین بار است که من قصد دارم برای نجات پست 469 00:26:37,920 --> 00:26:48,770 به یک متغیر چه خوب، ما قصد داریم انجام دهیم این است - 470 00:26:48,770 --> 00:26:52,090 در Kohana آنچه شما انجام است را به چنگ شی پست 471 00:26:52,090 --> 00:26:55,380 این نوع دست و پا گیر است، اما شما باید انجام دهید این چیزی به نام ORM :: کارخانه، 472 00:26:55,380 --> 00:26:57,750 و سپس شما را به نام مدل شما می خواهید عبور، 473 00:26:57,750 --> 00:27:00,490 و آن را می گرداند شی ORM است که نشان دهنده آن مدل. 474 00:27:00,490 --> 00:27:04,860 و پس از آن، من می خواهم گفت، زمانی که ما گسترش شی ORM، 475 00:27:04,860 --> 00:27:07,320 ما تمام این روش ها به صورت رایگان است، بنابراین به عنوان مثال، 476 00:27:07,320 --> 00:27:09,200 ما از این عملکرد جدید به نام "پیدا کردن همه" 477 00:27:09,200 --> 00:27:12,160 که به طور خودکار هر پست تنها در پایگاه داده را برمی گرداند، 478 00:27:12,160 --> 00:27:14,850 که بسیار راحت است. 479 00:27:14,850 --> 00:27:17,480 >> و در حال حاضر در بدن من قصد دارم به بازگشت 480 00:27:17,480 --> 00:27:24,860 اولین پست و بازگشت بدن آن است. 481 00:27:24,860 --> 00:27:27,930 و البته، من نیاز به ایجاد یک پست، 482 00:27:27,930 --> 00:27:31,880 بنابراین اجازه دهید وارد کردن یک پست جدید. 483 00:27:31,880 --> 00:27:37,870 من می گویم، "براندون، اولین پست من." 484 00:27:37,870 --> 00:27:40,010 بسیار معروف. 485 00:27:40,010 --> 00:27:45,910 و در حال حاضر ما قصد داریم برای رفتن به وبلاگ ها 486 00:27:45,910 --> 00:27:50,960 و اگر همه به خوبی کار - آه، این برخی دیگر از چیزی که اجازه فایل های گنگ دوباره است. 487 00:27:50,960 --> 00:27:56,090 در 1 ثانیه نگه دارید. این نوع از پوچ. 488 00:28:06,700 --> 00:28:08,490 وجود دارد می کنیم. خوب. 489 00:28:08,490 --> 00:28:10,040 من که مشکل اجازه ثابت. 490 00:28:10,040 --> 00:28:12,040 این تلاش بود برای ایجاد بعضی از فایل ها و برخی از ورود به سیستم، 491 00:28:12,040 --> 00:28:15,400 و مجوز، دوباره، شد به درستی تنظیم نشده، بنابراین من آن را ساخته شده است 492 00:28:15,400 --> 00:28:18,320 بنابراین کسانی که فایل قابل نوشتن و قابل اجرا بود 493 00:28:18,320 --> 00:28:21,090 پس از آن در واقع می تواند به همه چیز وارد شوید. 494 00:28:21,090 --> 00:28:24,220 در حال حاضر آن را به من دادن یکی دیگر از ضرب المثل استثنا، "ORM کلاس یافت نشد،" 495 00:28:24,220 --> 00:28:26,960 و این به خاطر من گام دیگری را فراموش کرده. 496 00:28:26,960 --> 00:28:37,010 این خیلی بده. 497 00:28:37,010 --> 00:28:40,270 در فایل پوشه خود راه انداز هستند، این ماژول ها در اینجا وجود دارد، 498 00:28:40,270 --> 00:28:42,480 که شما می توانید انتخاب کنید برای فعال یا غیر فعال کنید. 499 00:28:42,480 --> 00:28:44,340 این ها یک دسته از ویژگی های مختلف که شما می توانید انتخاب کنید برای استفاده 500 00:28:44,340 --> 00:28:46,180 در Kohana است که نوع خوب. 501 00:28:46,180 --> 00:28:49,090 >> به عنوان مثال، آنها یک ماژول ورود و خروج 502 00:28:49,090 --> 00:28:51,170 که شما می توانید برای تصدیق هویت کاربران استفاده کنید. 503 00:28:51,170 --> 00:28:53,390 آنها یک ماژول ذخیره اگر شما می خواهید برای پیاده سازی 504 00:28:53,390 --> 00:28:57,870 نوعی از ذخیره به عقب پایان به کار نرم افزار سریع تر و فلان چیز. 505 00:28:57,870 --> 00:29:02,140 ما نیاز به فعال کردن پایگاه داده و ماژول ORM، 506 00:29:02,140 --> 00:29:04,280 چون مثل من گفت، ما با استفاده از پایگاه داده، بدیهی است، 507 00:29:04,280 --> 00:29:08,200 و ما نیز نیاز به فعال کردن ماژول ORM، 508 00:29:08,200 --> 00:29:12,220 از آنجا که ما می خواهم به قابلیت های اضافی، که خوب است به. 509 00:29:12,220 --> 00:29:14,240 همه من را مجبور به انجام کامنت کسانی که 2 خط است، 510 00:29:14,240 --> 00:29:18,760 و در حال حاضر اگر من تازه کردن، آن را به من یکی دیگر از خطا. 511 00:29:18,760 --> 00:29:22,100 این گزارش می گوید، "کلاس Model_Post یافت نشد." 512 00:29:22,100 --> 00:29:30,210 در حال حاضر این مشکل به خوبی داشته باشد. 513 00:29:30,210 --> 00:29:37,660 اجازه دهید را ببینید. 514 00:29:37,660 --> 00:29:42,200 آن را عمومی است. 515 00:29:42,200 --> 00:29:46,450 شماره رو نگه دار. 516 00:30:11,610 --> 00:30:13,160 آه، عزیزم. 517 00:30:13,160 --> 00:30:18,590 من نمی دانم که چرا آن را قادر به پیدا کردن که نیست. 518 00:30:18,590 --> 00:30:21,030 این واقعا عجیب و غریب. 519 00:30:21,030 --> 00:30:23,820 من این کلاس در اینجا ببینید. 520 00:30:23,820 --> 00:30:28,650 من حدس می زنم من ممکن است که - آه. 521 00:30:28,650 --> 00:30:32,010 من گنگ هستم. من را فراموش کرده برای اضافه کردن یک تگ PHP. 522 00:30:32,010 --> 00:30:34,670 به همین دلیل است. 523 00:30:34,670 --> 00:30:41,260 حالا من به خنثیسازی که 1 تغییرات من فقط. 524 00:30:41,260 --> 00:30:44,270 >> باشه. وجود دارد می کنیم. 525 00:30:44,270 --> 00:30:47,500 این واقعا احمقانه بود. من یک تگ PHP باز ندارد. 526 00:30:47,500 --> 00:30:49,900 اما همانطور که مشاهده می کنید، در حال حاضر آن را به کار درست، درست است؟ 527 00:30:49,900 --> 00:30:51,240 ما 1 ارسال. 528 00:30:51,240 --> 00:30:54,730 ما به گل تبدیل شد اولین ارسال، و در حال حاضر ما چاپ شده از بدن است. 529 00:30:54,730 --> 00:30:58,010 بزرگ. فوق العاده است. 530 00:30:58,010 --> 00:31:01,470 هر گونه سؤال تا کنون؟ 531 00:31:01,470 --> 00:31:04,100 نه؟ هر گونه سؤال؟ 532 00:31:04,100 --> 00:31:08,340 خوب، پس ما فقط ایجاد مدل نشده، بسیار اساسی، 533 00:31:08,340 --> 00:31:10,930 و ما قصد داریم به اضافه کردن برخی از توابع بعد. 534 00:31:10,930 --> 00:31:13,600 ما می توانیم امکان سنجی و فیلتر اضافه کنید. 535 00:31:13,600 --> 00:31:15,650 امکان سنجی یکی از چیزهایی است 536 00:31:15,650 --> 00:31:18,150 که چارچوب را برای شما حل واقعا، واقعا خوب، 537 00:31:18,150 --> 00:31:21,310 و من فکر نمی کنم شما بچه ها تا به حال به انجام این کار برای pset CS50 خود را، 538 00:31:21,310 --> 00:31:24,000 اما اگر شما توسعه وب را برای پروژه نهایی خود را، 539 00:31:24,000 --> 00:31:26,280 شما به احتمال زیاد تمایل به انجام نوعی از اعتبار سنجی، 540 00:31:26,280 --> 00:31:28,290 مانند در اختیار داشتن نام کاربر خالی نیست، 541 00:31:28,290 --> 00:31:31,950 شاید داشتن یک رمز عبور با حداقل برخی از طول، چیزهایی مانند آن. 542 00:31:31,950 --> 00:31:34,750 و این واقعا دست و پا گیر برای پیاده سازی این چیز توسط خودمان، 543 00:31:34,750 --> 00:31:37,390 و تقریبا در هر چارچوب وب تنها آن را برای شما 544 00:31:37,390 --> 00:31:41,140 و به شما اجازه انجام این کار را به شیوه ای بسیار تمیز. 545 00:31:41,140 --> 00:31:44,340 و مدل است که در آن شما به طور کلی بیان این قوانین اعتبار سنجی، 546 00:31:44,340 --> 00:31:48,790 زیرا این اعتبار که آیا یک مدل معتبر است یا نه. 547 00:31:48,790 --> 00:31:51,350 >> اما در حال حاضر، ما قصد داریم برای قرار دادن که تا بعد، 548 00:31:51,350 --> 00:31:53,520 و در حال حاضر ما در حال رفتن به کار در بخش دیگری، 549 00:31:53,520 --> 00:31:55,400 و ما قصد داریم به تلاش و ایجاد یک دیدگاه جدید 550 00:31:55,400 --> 00:31:59,580 که لیست تمام پست. 551 00:31:59,580 --> 00:32:02,490 مراحل مربوط به ساخت یک اقدام جدید برای لیست تمام پست ها 552 00:32:02,490 --> 00:32:04,810 است برای گرفتن یک لیست از تمام ارسال ها 553 00:32:04,810 --> 00:32:11,990 و پس از آن ارائه لیستی از تمام ارسال ها از طریق یک نمایش. 554 00:32:11,990 --> 00:32:16,420 حق در اینجا، خوشبختانه به اندازه کافی، ما در حال حاضر برداشت همه ارسال ها 555 00:32:16,420 --> 00:32:20,310 با استفاده از این خط اول، پیدا کردن همه تابع، 556 00:32:20,310 --> 00:32:22,520 و در حال حاضر آنچه ما می خواهیم انجام دهیم این است که تا کنون 557 00:32:22,520 --> 00:32:25,350 من شده است به طور مستقیم تنظیم کرده ایم بدن در پاسخ 558 00:32:25,350 --> 00:32:29,090 با عبور رشته، اما در حال حاضر من می خواهم به استفاده از یک دیدگاه، 559 00:32:29,090 --> 00:32:31,870 و تفاوت بین دیدگاه و فقط به انجام این کار 560 00:32:31,870 --> 00:32:35,330 با در نظر من می توانم خوب، قالب HTML بزرگ، 561 00:32:35,330 --> 00:32:37,710 و آنچه که من می تواند انجام دهد این است که با تصویب آن متغیر خاص 562 00:32:37,710 --> 00:32:42,200 و پس از آن است این دیدگاه به طور خودکار قالب آن جمعیت 563 00:32:42,200 --> 00:32:44,690 با استفاده از آن متغیرها. 564 00:32:44,690 --> 00:32:50,780 چه من انجام دهید این است که من یک نظر جدید را ایجاد، 565 00:32:50,780 --> 00:32:55,940 و من به نظر چیزی شبیه به نام "وبلاگ / شاخص،" 566 00:32:55,940 --> 00:33:08,480 و من قصد دارم در واقع این اتصال - آه، چه هستم من در نوشتن؟ 567 00:33:08,480 --> 00:33:12,910 مغز من جای دیگری است. 568 00:33:12,910 --> 00:33:16,600 من قصد دارم برای اتصال ارسال متغیر به این دیدگاه، 569 00:33:16,600 --> 00:33:19,950 به طوری که راه از نظر دسترسی به این پست متغیر است. 570 00:33:19,950 --> 00:33:26,140 >> و بنابراین در حال حاضر من نیاز به ایجاد این دیدگاه، 571 00:33:26,140 --> 00:33:28,500 بنابراین در اینجا ما باید این پوشه به نام "نمایش" 572 00:33:28,500 --> 00:33:32,150 و برای اولین بار، من قصد دارم برای ایجاد یک پوشه جدید در زیر آن به نام "وبلاگ" 573 00:33:32,150 --> 00:33:35,810 این خوب است. به این ترتیب ما می توانیم یک سلسله مراتب خوب برای دیدگاههای خود را داشته باشد. 574 00:33:35,810 --> 00:33:43,910 و سپس من قصد دارم برای ایجاد یک فایل دیگر در آن وجود دارد به نام "اضافه کردن به مسیر." 575 00:33:43,910 --> 00:33:45,780 بسیار معروف. 576 00:33:45,780 --> 00:33:52,930 در واقع، اجازه دهید هر دو آنها را در اینجا. 577 00:33:52,930 --> 00:33:56,760 ساخت یک فایل مشخصات احتمالا ساده ترین بخشی از این همه، 578 00:33:56,760 --> 00:33:59,090 و این چیزهایی را که در حال حاضر با آن آشنا هستید احتمالا. 579 00:33:59,090 --> 00:34:01,240 ما قصد داریم برای انجام کاری واقعا ساده است، 580 00:34:01,240 --> 00:34:05,360 شروع کرد و گفت، "لیست من از پست های وبلاگ." 581 00:34:05,360 --> 00:34:14,860 سپس ما را از طریق می تواند، 582 00:34:14,860 --> 00:34:17,920 و ما می توانیم از طریق آرایه پست تکرار، 583 00:34:17,920 --> 00:34:21,760 با شتاب هر پست تنها و چیزی شبیه به می گویند - 584 00:34:21,760 --> 00:34:25,290 شاید اضافه کردن یک خط 585 00:34:25,290 --> 00:34:42,460 و سپس از چاپ نویسنده و بدن است. 586 00:34:42,460 --> 00:34:44,480 این حس را تا کنون؟ 587 00:34:44,480 --> 00:34:50,870 و اجازه دهید ببینید که اگر آن کار می کند. 588 00:34:50,870 --> 00:34:53,489 هیچ چیز اتفاق افتاده است. 589 00:34:53,489 --> 00:34:55,090 من تعجب می کنم که چرا. 590 00:34:55,090 --> 00:34:58,760 اوه، من از دست رفته مرحله 1. بسیار احمقانه از من. 591 00:34:58,760 --> 00:35:01,640 من یک نظر ایجاد شده است، اما من این دیدگاه را به عنوان پاسخ تنظیم شده باشد، 592 00:35:01,640 --> 00:35:03,190 بنابراین شما مجبور به انجام کاری 1 بیشتر. 593 00:35:03,190 --> 00:35:12,610 شما باید برای انجام "این بدن پاسخ" و مجموعه ای را به مشاهده آن دارید. 594 00:35:12,610 --> 00:35:14,760 وجود دارد می کنیم. 595 00:35:14,760 --> 00:35:17,200 ما عنوان ما، و پس از آن ما باید یک پست، 596 00:35:17,200 --> 00:35:20,500 و فقط برای ضربات، اجازه دهید یکی دیگر از پست وارد 597 00:35:20,500 --> 00:35:23,390 بنابراین ما می توانیم یک لیست را ببینید. 598 00:35:31,800 --> 00:35:36,650 و قرار دادن این 2 پست، 599 00:35:36,650 --> 00:35:39,500 و در حال حاضر اگر من صفحه را تازه کنید، 600 00:35:39,500 --> 00:35:42,060 ما می بینیم همه این پست اینجا. 601 00:35:42,060 --> 00:35:44,250 >> آیا این را حس تا کنون؟ 602 00:35:44,250 --> 00:35:46,400 بله، یک سوال؟ آه، درست است. 603 00:35:46,400 --> 00:35:51,440 همانطور که می بینید، ما قادر به جدا کردن همه این کدهای از شده است 604 00:35:51,440 --> 00:35:53,920 را به بخش های مختلف، و سپس شما می توانید ببینید که آن را بیشتر روشن با کد نظر. 605 00:35:53,920 --> 00:35:57,810 این فایل در اینجا است که نشان دهنده این دیدگاه، 606 00:35:57,810 --> 00:36:01,220 آن را تنها در مورد نمایندگی داده ها، نمایش داده ها اهمیت می دهد. 607 00:36:01,220 --> 00:36:04,310 این می شود منتقل می شود نوعی از داده ها، و همه آن کند است فقط آن را به شما نشان دهد. 608 00:36:04,310 --> 00:36:07,660 در تمام قسمت های دیگر از کد خود را، شما نمی خواهد باید در مورد هر یک از آن نگران است، 609 00:36:07,660 --> 00:36:10,480 و به همین ترتیب، کد نظر شما نیست که نگران باشید هر چیزی در مورد 610 00:36:10,480 --> 00:36:13,390 چگونه برای دسترسی به پایگاه داده و غیره و غیره، 611 00:36:13,390 --> 00:36:19,950 است که واقعا خوب است و باعث می شود کد شما به مقدار زیادی قابل نگهداری است. 612 00:36:19,950 --> 00:36:23,390 من می خواهم گفت، نمایش، آنها پویا در آن هستید 613 00:36:23,390 --> 00:36:27,080 1 فایل است، اما آن را از دیدگاه های مختلف تولید 614 00:36:27,080 --> 00:36:29,940 بر اساس متغیرهای شما در واقع عبور در، 615 00:36:29,940 --> 00:36:32,370 و علاوه بر این، بسیاری از توابع مختلف کمک کننده وجود دارد 616 00:36:32,370 --> 00:36:34,230 که شما می توانید استفاده کنید برای کمک به نوشتن کد خود را سریع تر، 617 00:36:34,230 --> 00:36:36,320 که من شما را در یک ثانیه نشان می دهد. 618 00:36:36,320 --> 00:36:38,050 آره. 619 00:36:38,050 --> 00:36:42,490 >> [دانشجو] بنابراین $ 0 کنترل است، درست است؟ 620 00:36:42,490 --> 00:36:44,000 این نکته دوم. 621 00:36:44,000 --> 00:36:46,090 سوال این است که، 0 دلار در کنترل؟ 622 00:36:46,090 --> 00:36:48,610 0 $ یک متغیر I را در اینجا ایجاد شده است. 623 00:36:48,610 --> 00:36:51,320 من یک نظر ایجاد شده است. من آن را به برخی از متغیر اختصاص داده. 624 00:36:51,320 --> 00:36:54,960 سپس من آن را به این تابع، آن را به عنوان بدن از پاسخ تنظیم شده است. 625 00:36:54,960 --> 00:36:57,260 آیا این را حس؟ 626 00:36:57,260 --> 00:37:02,200 [دانشجو] بنابراین نظر :: کارخانه است، نمایش شبیه به یک کلاس است 627 00:37:02,200 --> 00:37:06,610 و یا یک کتابخانه [نامفهوم] عملکرد کارخانه؟ 628 00:37:06,610 --> 00:37:10,640 سوال این است که در مورد تابع view :: کارخانه، 629 00:37:10,640 --> 00:37:14,020 و اساسا این برخی از برنامه نویسی شی گرا تر در اصل است. 630 00:37:14,020 --> 00:37:18,000 مشخصات کلاس مشاهده است، و آن را به یک روش به نام "کارخانه" 631 00:37:18,000 --> 00:37:24,170 و این راه را به چنگ شی است که به نام است "وبلاگ / شاخص." 632 00:37:24,170 --> 00:37:27,140 و که برخی شی گرا مسائل برنامه نویسی بیشتر 633 00:37:27,140 --> 00:37:33,010 که من قصد ندارم به اینجا بیش از حد. 634 00:37:33,010 --> 00:37:36,400 حالا بدیهی است، ما می خواهیم به ایجاد پست جدید، 635 00:37:36,400 --> 00:37:38,790 اما ما نمی خواهیم به آن را انجام دهد از طریق یک پایگاه داده، 636 00:37:38,790 --> 00:37:41,280 بنابراین ما قصد داریم برای ایجاد یک اقدام جدید برای ایجاد یک پست جدید، 637 00:37:41,280 --> 00:37:43,050 و بسیاری از چیزهایی که ما باید انجام دهید وجود دارد. 638 00:37:43,050 --> 00:37:45,910 >> اولین چیزی که ما قصد داریم به کار - اجازه دهید این چیزها مقابله یک به یک. 639 00:37:45,910 --> 00:37:48,320 اولین چیزی که ما را انجام دهد این است که ما باید به ایجاد یک فرم 640 00:37:48,320 --> 00:37:54,460 برای قرار دادن یک پست جدید، 641 00:37:54,460 --> 00:37:57,360 اما من هم رفتن برای اضافه کردن یک اقدام جدید برای اولین بار، 642 00:37:57,360 --> 00:38:01,050 بنابراین اضافه کردن یک اقدام جدید است فقط به سادگی 643 00:38:01,050 --> 00:38:03,490 اضافه کردن یک تابع جدید با کنترل خود، 644 00:38:03,490 --> 00:38:13,710 و در حال حاضر من قصد دارم برای انجام کاری بسیار اساسی، 645 00:38:13,710 --> 00:38:20,850 فقط این نظر گرفتن و بعد از آن، فقط آن صفحه نمایش را برای شما. 646 00:38:20,850 --> 00:38:26,220 و پس از آن در حال حاضر من قصد دارم برای ایجاد یک فایل دیدگاه جدید، 647 00:38:26,220 --> 00:38:33,690 و من قصد دارم شروع به نوشتن برخی از مسائل. 648 00:38:33,690 --> 00:38:36,540 چه خوب است در مورد Kohana است که آنها را به بسیاری از توابع مختلف کمکی 649 00:38:36,540 --> 00:38:38,790 را برای شما به ارسال نظر کد به راحتی، 650 00:38:38,790 --> 00:38:41,970 و 1 از آن دسته از توابع کمکی و یا ماژول های کمکی 651 00:38:41,970 --> 00:38:45,860 در اطراف نوشتن اشکال. 652 00:38:45,860 --> 00:38:49,460 برای نوشتن فرم ها، من واقعا نیست که به طور مستقیم ارسال هر گونه HTML خودم. 653 00:38:49,460 --> 00:38:51,100 شما بچه ها فرم های HTML نوشته شده اند. 654 00:38:51,100 --> 00:38:54,850 شما می دانید که چگونه می توان آن را واقعا، واقعا دردناک و دست و پا گیر به ارسال اشکال. 655 00:38:54,850 --> 00:38:59,970 آن را سرگرم کننده نیست، بنابراین خوشبختانه، 656 00:38:59,970 --> 00:39:04,860 ما اساسا می تواند یک فرم با استفاده از در Kohana ارسال 657 00:39:04,860 --> 00:39:11,190 تشکیل توابع کمکی برای این کار را برای ما. 658 00:39:11,190 --> 00:39:17,340 ما قصد داریم در واقع زمینه را برای هر چیزی که تک ما، 659 00:39:17,340 --> 00:39:23,160 بنابراین یکی برای نویسندگان و یکی برای بدن. 660 00:39:23,160 --> 00:39:27,090 ما در حال رفتن به یک برچسب، و ما در حال رفتن به یک ورودی می باشد. 661 00:39:37,450 --> 00:39:41,360 >> و سپس در نهایت، ما قصد داریم به تسلیم. 662 00:39:49,350 --> 00:39:52,230 و همانطور که می بینید، این است که بسیار تمیز کننده به ارسال 663 00:39:52,230 --> 00:39:58,150 از همه که HTML کثیف، است که نوع خوب. 664 00:39:58,150 --> 00:40:00,930 اعطا شده، از دیگر چارچوب های وب است که آن را حتی پاک تر از آن وجود دارد، 665 00:40:00,930 --> 00:40:04,440 اما حداقل این بهتر از نوشتن HTML به خودتان است. 666 00:40:09,400 --> 00:40:11,130 بسیار معروف است، بنابراین این همان چیزی است که شما می بینید. 667 00:40:11,130 --> 00:40:13,530 این نوع کثیف، 668 00:40:13,530 --> 00:40:19,720 من می خواهم برای اضافه کردن یک خط وجود دارد 669 00:40:19,720 --> 00:40:21,180 را که نگاه کنید کمی بهتر است. 670 00:40:21,180 --> 00:40:23,330 خب، البته، هنوز هم به نظر می رسد واقعا، واقعا بد است، اما ما فقط تمرکز 671 00:40:23,330 --> 00:40:26,050 در قابلیت در حال حاضر و نه در زیبایی شناسی. 672 00:40:26,050 --> 00:40:28,010 هیچ وقت برای انجام همه چیز. 673 00:40:28,010 --> 00:40:30,600 و همانطور که می بینید، در حال حاضر ما به صورت فوق العاده عمومی، 674 00:40:30,600 --> 00:40:32,080 که نوع خوب. 675 00:40:32,080 --> 00:40:36,730 این کد من می گویند پاک تر از تلاش برای نوشتن HTML را تشکیل خودتان است، 676 00:40:36,730 --> 00:40:40,290 به طوری که به خوبی. 677 00:40:40,290 --> 00:40:42,030 گام بعدی چیست؟ 678 00:40:42,030 --> 00:40:49,260 در حال حاضر ما نیاز به انجام کارهای با عمل است. 679 00:40:49,260 --> 00:40:51,240 به طور معمول هنگامی که شما ارسال اشکال HTML، 680 00:40:51,240 --> 00:40:54,070 شما باید آن را به جایی که آن را برای ارسال فرم به. 681 00:40:54,070 --> 00:40:56,050 به طور پیش فرض در بسیاری از چارچوب های وب، 682 00:40:56,050 --> 00:40:58,200 آن را به همان URL دقیق آن تسلیم است، بنابراین چیز است، 683 00:40:58,200 --> 00:41:01,310 اگر شما یک درخواست GET را به / وبلاگ / جدید، 684 00:41:01,310 --> 00:41:03,240 که باید شما به صورت نمایش، 685 00:41:03,240 --> 00:41:06,810 اما اگر شما یک درخواست ارسال ارسال را به / وبلاگ / جدید را با اطلاعات، 686 00:41:06,810 --> 00:41:10,000 آن را در واقع باید سعی کنید که جز پست 687 00:41:10,000 --> 00:41:13,300 و انجام کاری با آن. 688 00:41:20,630 --> 00:41:22,180 >> چه ما می خواهیم انجام دهیم این است 689 00:41:22,180 --> 00:41:25,320 در واقع همه ما باید انجام دهیم برای بررسی اینکه آیا این یک درخواست ارسال و یا یک درخواست GET 690 00:41:25,320 --> 00:41:29,350 است برای بررسی متغیرهای پست شما می توانید مجموعه چه هستند. 691 00:41:29,350 --> 00:41:34,560 و اگر متغیر پست قرار است، پس از آن ما قصد داریم به تلاش و ایجاد یک پست جدید. 692 00:41:34,560 --> 00:41:38,440 باز هم، ما فقط این کار، 693 00:41:38,440 --> 00:41:41,090 و ایجاد یک پست جدید، و ما به معنای واقعی کلمه رفتن به 694 00:41:41,090 --> 00:41:51,150 مجموعه زمینه های آن مانند این، 695 00:41:51,150 --> 00:41:55,640 و پس از آن ما در حال رفتن به آن را ذخیره کنید. 696 00:41:55,640 --> 00:41:59,200 و سپس من قصد دارم به تغییر مسیر 697 00:41:59,200 --> 00:42:07,660 به صفحه فهرست به طوری که آنها می تواند ما را از لیست پست را دوباره ببینم. 698 00:42:07,660 --> 00:42:09,620 بیایید سعی کنید که. 699 00:42:09,620 --> 00:42:15,160 من می گویم، "براندون" 700 00:42:15,160 --> 00:42:18,140 و پس از آن ارائه نشده، و اگر همه به خوبی می رود، 701 00:42:18,140 --> 00:42:21,390 همانطور که می بینید، آن را به من هدایت می شوید به صفحه اول، 702 00:42:21,390 --> 00:42:24,140 و اگر من به پایین حرکت کنید، ما یک ارسال تازه وارد می شود. 703 00:42:24,140 --> 00:42:26,430 عالیست! 704 00:42:26,430 --> 00:42:28,430 آره، سوال. 705 00:42:28,430 --> 00:42:31,760 >> [دانشجو] اگر وارد همان چیزی که دقیق بود 706 00:42:31,760 --> 00:42:33,380 شما قبل از وارد؟ 707 00:42:33,380 --> 00:42:36,950 آیا آن را چک کنید تا مطمئن شوید که شما تکرار نیست 708 00:42:36,950 --> 00:42:38,810 همان تسلیم؟ 709 00:42:38,810 --> 00:42:41,660 شود به طور پیش فرض، هیچ، چرا که به طور پیش فرض - 710 00:42:41,660 --> 00:42:46,470 با عرض پوزش، سوال این است که اگر شما در داده های یکسان را در فرم وارد کنید 711 00:42:46,470 --> 00:42:50,180 و ارائه آن، آن را به شما اجازه وارد کردن یک شی های تکراری، 712 00:42:50,180 --> 00:42:52,550 تکراری ورود، در اصل؟ 713 00:42:52,550 --> 00:42:54,070 در حال حاضر، بله، آن را به شما اجازه می دهد برای انجام این کار، 714 00:42:54,070 --> 00:42:58,860 چرا که در پایگاه داده های آن را کاملا معتبر به ردیف کاملا تکراری، 715 00:42:58,860 --> 00:43:02,260 اما در صورتی که یک نگرانی است، سپس شما می توانید امکان سنجی اضافه کنید، به عنوان مثال، 716 00:43:02,260 --> 00:43:06,430 مطمئن شوید که در صورتی که این دقیقا همان چیزی است که از قبل وجود دارد، 717 00:43:06,430 --> 00:43:08,720 پس از آن می گویند که آن را به یک شی نامعتبر است، 718 00:43:08,720 --> 00:43:11,200 و پس از آن شما حتی می توانید پیام خطا را مشخص 719 00:43:11,200 --> 00:43:14,390 و می گویند، "اشتباه است چرا که این از قبل وجود دارد" و یا چیزی شبیه به آن. 720 00:43:14,390 --> 00:43:22,420 اما در این مورد، من می توانم تنها چیزی تکراری ایجاد کنید. 721 00:43:22,420 --> 00:43:26,010 حالا اجازه دهید امتحان کنید و اضافه کردن برخی از امکان سنجی. 722 00:43:26,010 --> 00:43:30,400 مشکل با این در حال حاضر این است که 723 00:43:30,400 --> 00:43:34,220 من به معنای واقعی کلمه می تواند یک پست به طور کامل خالی ارسال کنید. 724 00:43:34,220 --> 00:43:37,500 من می توانم این دکمه کلیک کنید در حال حاضر، وجود دارد و ما بروید. 725 00:43:37,500 --> 00:43:40,290 شما واقعا نمی توانید آن را ببینید، اما این خط اضافی در اینجا 726 00:43:40,290 --> 00:43:43,830 نشان می دهد که من به معنای واقعی کلمه یک پست جدید داشته باشد. 727 00:43:43,830 --> 00:43:46,050 این فقط یک نویسنده خالی و بدن خالی، 728 00:43:46,050 --> 00:43:48,630 و ما نمی خواهیم که به مردم اجازه می دهد برای انجام این کار. 729 00:43:48,630 --> 00:43:52,550 این جایی است که اعتبار سنجی می آید. 730 00:43:52,550 --> 00:43:57,540 >> I می تواند به مدل شیء رفتن من، 731 00:43:57,540 --> 00:43:59,530 و در حال حاضر من می توانم یک تابع جدید است که مشخص اضافه کنید 732 00:43:59,530 --> 00:44:02,000 چه قوانین اعتبار سنجی من باید به این مدل اضافه 733 00:44:02,000 --> 00:44:06,840 مطمئن شوید که معتبر است و یا به مشخص کنید که چه معنا آن را به یک پست معتبر است؟ 734 00:44:06,840 --> 00:44:10,210 و من می خواهم بگویم آن را تنها یک پست معتبر است اگر هر دو نویسنده و بدن 735 00:44:10,210 --> 00:44:15,150 می باشد خالی نیست، و این است که چگونه شما آن را انجام دهد در Kohana. 736 00:44:15,150 --> 00:44:18,750 شما یک تابع جدید به نام "قوانین" ایجاد 737 00:44:18,750 --> 00:44:20,210 و پس از آن شما اساسا بازگشت یک آرایه انجمنی 738 00:44:20,210 --> 00:44:24,230 که قوانین اعتبار سنجی برای این شی را تعریف می کند. 739 00:44:24,230 --> 00:44:27,530 ما قصد داریم به بازگشت به آرایه، و پس از آن چیزی است که ما قصد داریم به کار است 740 00:44:27,530 --> 00:44:32,820 می گویند "نویسنده،" آن را به یک آرایه می رود، 741 00:44:32,820 --> 00:44:37,720 که می رود به آرایه دیگری به نام "خالی نیست." 742 00:44:37,720 --> 00:44:41,480 و سپس من قصد دارم برای گفتن "بدن است." 743 00:44:50,980 --> 00:44:54,120 بسیار خوب، و نحو برای این و ساختار این 744 00:44:54,120 --> 00:44:56,530 ممکن است دست و پا گیر کمی و کمی پیچیده است. 745 00:44:56,530 --> 00:44:59,330 اگر شما خواندن اسناد و مدارک، آن را بسیار ساده به شکل، 746 00:44:59,330 --> 00:45:02,500 اما در اصل این چیزی است که شما باید انجام دهید را مشخص 747 00:45:02,500 --> 00:45:04,130 برخی از قوانین اعتبار سنجی، و در بسیاری از قوانین مختلف وجود دارد 748 00:45:04,130 --> 00:45:06,810 که Kohana شما را به صورت رایگان را، مانند شما می توانید قوانین اضافه به می گویند 749 00:45:06,810 --> 00:45:08,410 باید حداقل این طول خواهد بود. 750 00:45:08,410 --> 00:45:11,800 شاید آن را به عددی. شاید آن را به عددی آلفا. 751 00:45:11,800 --> 00:45:14,410 شاید آن را به حداکثر می شود این طول، غیره و غیره. 752 00:45:14,410 --> 00:45:17,730 هستند بسیاری از قوانین مختلف که Kohana فراهم می کند برای شما وجود دارد، 753 00:45:17,730 --> 00:45:19,610 و شما می توانید بر روی وب سایت خود را، در اسناد نگاه کنید، 754 00:45:19,610 --> 00:45:23,150 و شما می توانید تمام چیزهای مختلف است که شما می توانید انجام دهید را ببینید. 755 00:45:23,150 --> 00:45:25,650 >> اما این تمام من مجبور به انجام آن، 756 00:45:25,650 --> 00:45:30,490 و در حال حاضر بیایید ببینید چه اتفاقی می افتد 757 00:45:30,490 --> 00:45:34,060 اگر من یک پست خالی ارسال کنید. 758 00:45:34,060 --> 00:45:36,960 چه اتفاقی خواهد افتاد؟ اوه، نه، من خطا. 759 00:45:36,960 --> 00:45:39,440 من یک استثنا اعتبار سنجی. 760 00:45:39,440 --> 00:45:41,070 خوب، آن را خوب است. 761 00:45:41,070 --> 00:45:43,200 این به من گفت که مدل من نامعتبر است، 762 00:45:43,200 --> 00:45:45,780 اما من نمی خواهم برای نشان دادن یک استثنا 763 00:45:45,780 --> 00:45:48,720 به کاربران من وقتی که آنها سعی می کنند برای ارائه چیزی نامعتبر، درست است؟ 764 00:45:48,720 --> 00:45:51,560 من می خواهم به آنها نوعی از پیغام خطا دوستانه را 765 00:45:51,560 --> 00:45:53,610 هنگامی که چیزی را اشتباه می رود. 766 00:45:53,610 --> 00:46:01,830 چه ما می خواهیم انجام دهیم این است که ما قصد داریم به 767 00:46:01,830 --> 00:46:04,490 قرار دادن همه چیز را در یک حلقه گرفتن امتحان کنید. 768 00:46:04,490 --> 00:46:06,750 در واقع، من فکر می کنم این هم چیزی است که شما آموخته اند که هنوز 769 00:46:06,750 --> 00:46:10,820 در CS50، چون C، زبان برنامه نویسی C، 770 00:46:10,820 --> 00:46:14,000 یک استثنا نیست، اما تقریبا در هر زبان دیگری 771 00:46:14,000 --> 00:46:16,700 است استثنا، پس واقعا، واقعا به طور خلاصه، 772 00:46:16,700 --> 00:46:19,430 یک استثنا چیزی است که یک قطعه از کد می تواند باشد 773 00:46:19,430 --> 00:46:21,430 یک استثنا هنگامی که چیزی را اشتباه می رود، 774 00:46:21,430 --> 00:46:23,410 اما پس از آن شاید برخی از قطعه دیگری از کد بالاتر 775 00:46:23,410 --> 00:46:25,810 می تواند که به جز گرفتن و انجام کاری با آن. 776 00:46:25,810 --> 00:46:27,710 >> برای مثال، در این مورد، 777 00:46:27,710 --> 00:46:29,940 قطعه از کد را که در تلاش برای نجات یک مدل، 778 00:46:29,940 --> 00:46:33,170 آن را به تایید مدل، و اگر آن را می گوید، "خوب، این مدل نامعتبر است" 779 00:46:33,170 --> 00:46:36,150 آن را به یک استثنا، و این نوع از معادل است 780 00:46:36,150 --> 00:46:39,870 در C شما ممکن است با -1 یا چیزی شبیه به آن بازگشت. 781 00:46:39,870 --> 00:46:42,320 و پس از آن برای من، این تابع، کد من 782 00:46:42,320 --> 00:46:46,310 در یک سطح بالاتر، من می توانید سعی کنید و گرفتن که استثنا 783 00:46:46,310 --> 00:46:49,330 و اساسا گفت، "خوب، اگر من گرفتن استثنا، چه هستم من کاری انجام دهید؟" 784 00:46:49,330 --> 00:46:51,570 یا من می توانم را انتخاب کنید برای گرفتن نیست که استثنا و اجازه دهید کسی بالاتر 785 00:46:51,570 --> 00:46:54,400 گرفتن استثنا، یا اگر هیچ کس آن را خوش، 786 00:46:54,400 --> 00:46:56,820 سپس برنامه تمام برنامه قفل و می گوید: 787 00:46:56,820 --> 00:46:59,170 "مشکلی، و من می توانم آن را تحمل کنم." 788 00:46:59,170 --> 00:47:04,490 >> اما آنچه ما انجام می دهیم این است که شما بسته بندی کردن قطعه از کد را در یک بلوک try، 789 00:47:04,490 --> 00:47:09,030 و سپس شما نیز چیزی به نام بلوک catch اضافه کنید، 790 00:47:09,030 --> 00:47:17,300 که نوع کد که سعی خواهد کرد و گرفتن استثنا است که ممکن است رخ دهد است. 791 00:47:17,300 --> 00:47:20,430 و به این ترتیب اگر من گرفتن این استثنا خاص 792 00:47:20,430 --> 00:47:23,110 و یا به جز باطل، پس از آن چه من قصد دارم برای انجام شده است 793 00:47:23,110 --> 00:47:31,210 من قصد دارم به مجموعه ای از خطاها - من فکر می کنم که چگونه من آن را انجام دهید - 794 00:47:31,210 --> 00:47:35,370 و من قصد دارم به راه خطا به. 795 00:47:35,370 --> 00:47:40,920 و پس از آن چه من می خواهم به انجام این کار است اگر از آن بازدید از این استثنا، 796 00:47:40,920 --> 00:47:43,090 آن را به تغییر مسیر، و اگر آن را نشانی از تغییر مسیر نیست، 797 00:47:43,090 --> 00:47:46,160 آن را به خارج از اگر وبلاگ می آیند 798 00:47:46,160 --> 00:47:49,920 و ضربه زدن به این وبلاگ / جدید، که می خواهم من می خواهم به انجام. 799 00:47:49,920 --> 00:47:53,190 در صورتی که خطا وجود دارد، پس من می خواهم برای رفتن به فرم 800 00:47:53,190 --> 00:47:55,100 و نمایش آن خطا است. 801 00:47:55,100 --> 00:48:00,780 در حال حاضر آنچه من می خواهم به انجام این کار است من می خواهم به تصویب در همان اشتباهات را 802 00:48:00,780 --> 00:48:07,010 به نظر. 803 00:48:07,010 --> 00:48:10,360 خوب، من فکر می کنم من با نظر حق در اینجا، 804 00:48:10,360 --> 00:48:14,660 و اساسا من می خواهم برای نشان دادن همان اشتباهات را در صورتی که وجود داشته باشد. 805 00:48:14,660 --> 00:48:19,740 قبل از اینکه من نوشتن HTML برای آن، من قصد دارم واقعا به سرعت 806 00:48:19,740 --> 00:48:21,720 شما نشان می دهد که ساختار این خطا به نظر می رسد متغیر را دوست دارم، 807 00:48:21,720 --> 00:48:23,080 و این یک تمرین خوب به طور کلی است. 808 00:48:23,080 --> 00:48:25,070 بسیاری از اوقات شما چیزی را از برخی روش، 809 00:48:25,070 --> 00:48:27,250 برخی از عملکرد در چارچوب وب، 810 00:48:27,250 --> 00:48:29,410 و شما نمی دانید که چه متغیر به نظر می رسد، 811 00:48:29,410 --> 00:48:31,210 بنابراین شما نمی دانید که چگونه به کار با آن است. 812 00:48:31,210 --> 00:48:37,790 من قصد دارم به استفاده از روش چاپ R اساسا آن را چاپ کنید. 813 00:48:37,790 --> 00:48:41,100 >> و به عنوان شما می توانید آن را ببینید، به من می گوید آن را به یک آرایه کاردانی، 814 00:48:41,100 --> 00:48:44,880 و شما باید یک کلید، نویسنده، امتیاز به این رشته، 815 00:48:44,880 --> 00:48:47,050 نویسنده نباید خالی باشد، و کلید دیگر، بدن، 816 00:48:47,050 --> 00:48:49,680 امتیاز به یکی دیگر از رشته، بدن نباید خالی باشد. 817 00:48:49,680 --> 00:48:52,130 من دوست دارم، خوب، بامزه هستم. 818 00:48:52,130 --> 00:48:56,230 سپس من می توانید از طریق آرایه و چاپ هر پیام واحد است. 819 00:48:56,230 --> 00:49:02,150 این در واقع شبیه به یک آرایه انجمنی با یک دسته از پیام است. 820 00:49:02,150 --> 00:49:13,500 چه من قصد دارم برای انجام شده است "اگر اشتباهات،" 821 00:49:13,500 --> 00:49:17,140 و من قصد دارم برای ایجاد یک لیست نامرتب، 822 00:49:17,140 --> 00:49:20,860 و من قصد دارم از طریق تمام خطاها را تکرار. 823 00:49:33,730 --> 00:49:38,710 و این، و در حال حاضر من قصد دارم به سعی کنید این دوباره، 824 00:49:38,710 --> 00:49:41,200 و اجازه دهید ببینیم که چه چیزی ما را دریافت کنید. 825 00:49:41,200 --> 00:49:45,370 در حال حاضر ما را دریافت کنید به این لیست خوبی از اشتباهات، 826 00:49:45,370 --> 00:49:48,630 و این هنوز هم خیلی زشت است، اما این واضح است که می تواند فرمت شده به نگاه زیبا، 827 00:49:48,630 --> 00:49:51,620 اما ایده اولیه این است که فقط در چند خط از کد، 828 00:49:51,620 --> 00:49:53,720 ما قادر به تایید اعتبار مدل ما بودند، 829 00:49:53,720 --> 00:49:56,510 مطمئن شوید که زمینه های خاصی بود خالی نیست، 830 00:49:56,510 --> 00:49:59,740 و اگر چیزی را اشتباه رفت، و سپس بازگشت برخی از پیام خطا 831 00:49:59,740 --> 00:50:01,760 من پس از آن می تواند به عقب ارائه به کاربر. 832 00:50:01,760 --> 00:50:03,910 شما همچنین می توانید اعتبار خود را سفارشی کنید 833 00:50:03,910 --> 00:50:07,590 به طوری که شما می توانید پیام خطا 834 00:50:07,590 --> 00:50:09,620 است که مشخص تر به برنامه یا چیزی شبیه به آن است. 835 00:50:09,620 --> 00:50:14,600 آنچه به طور کلی قابل تنظیم است. 836 00:50:14,600 --> 00:50:17,150 >> متاسفانه، ما در حال اجرا خارج از زمان، 837 00:50:17,150 --> 00:50:20,040 بنابراین من قصد دارم به قطع جلسه برنامه نویسی زندگی می کنند در اینجا. 838 00:50:20,040 --> 00:50:22,980 یک دسته از ویژگی های دیگری که من می خواهم برای نشان دادن برای شما وجود دارد 839 00:50:22,980 --> 00:50:25,650 در این مثال. 840 00:50:25,650 --> 00:50:27,620 به عنوان مثال، شما می توانید قالب ها را به سایت خود اضافه کنید، 841 00:50:27,620 --> 00:50:31,110 بنابراین شاید نوعی از کد HTML که شما می خواهید به درخواست وجود دارد 842 00:50:31,110 --> 00:50:35,190 به هر صفحه تنها به سایت خود، و به جای چسباندن که 843 00:50:35,190 --> 00:50:40,630 در هر فایل نمایش پست تنها شما، که به وضوح می تواند یک عمل بد، 844 00:50:40,630 --> 00:50:43,020 شما در واقع می تواند به تعریف این قالب ها، 845 00:50:43,020 --> 00:50:46,660 و پس از آن در کنترل خود گفت، "خوب، من با استفاده از این الگو." 846 00:50:46,660 --> 00:50:50,130 "آیا به همه نظرات من استفاده از این قالب." 847 00:50:50,130 --> 00:50:52,470 و آخرین چیزی که من می خواهم به شما نشان دهد و همچنین 848 00:50:52,470 --> 00:50:57,800 که ما هم برای کراس سایت اسکریپت است را نداشته باشند، 849 00:50:57,800 --> 00:51:01,430 و اساسا من فکر می کنم شما بچه ها احتمالا در CS50 دیده می شود - 850 00:51:01,430 --> 00:51:03,770 من فکر می کنم دیوید مالان احتمالا در مورد چگونه شما معمولا می توانید تزریق صحبت کردیم 851 00:51:03,770 --> 00:51:08,040 کد جاوا اسکریپت را - که شما را در این مورد صحبت؟ 852 00:51:08,040 --> 00:51:10,220 شاید؟ شاید نه؟ 853 00:51:10,220 --> 00:51:12,670 >> اما بسیاری از اوقات شما می توانید کد جاوا اسکریپت مخرب تزریق 854 00:51:12,670 --> 00:51:15,630 به پایگاه داده کسی، و اگر آنها فرار نیست که به درستی، 855 00:51:15,630 --> 00:51:18,280 پس از آن زمانی که آنها در حال حاضر که اطلاعات را به کاربر، 856 00:51:18,280 --> 00:51:21,310 سپس آن را ممکن است به نوعی از کد جاوا اسکریپت تصادفی شما نمی خواهید به اتفاق اجرا شود، 857 00:51:21,310 --> 00:51:23,050 و من که قرار بود نشان دهد که چگونه شما می خواهم انجام که در Kohana. 858 00:51:23,050 --> 00:51:25,380 در واقع این واقعا، واقعا آسان است. 859 00:51:25,380 --> 00:51:31,920 من می توانم آن را در حال حاضر در 2 ثانیه به معنای واقعی کلمه انجام دهد. 860 00:51:31,920 --> 00:51:34,560 همه شما باید انجام دهید این است که اساسا این چیزها بسته بندی 861 00:51:34,560 --> 00:51:46,920 در این چیزی به نام سازمان های HTML. 862 00:51:46,920 --> 00:51:51,180 و این به طور خودکار فرار از تمام شخصیت ها به درستی 863 00:51:51,180 --> 00:51:54,730 و مطمئن شوید که شما این مشکل می کنید. 864 00:51:54,730 --> 00:51:57,220 [دانشجو] شما اولین آزمایش املای اشتباه است. 865 00:51:57,220 --> 00:52:01,030 [براندون لیو] اوه، اوه. 866 00:52:01,030 --> 00:52:06,420 >> خوب، که همه من تا به حال برای به اشتراک گذاشتن با شما برای امروز. 867 00:52:06,420 --> 00:52:09,930 این اسلاید می خواهید می شود نوشته شده است، اما این به طور کلی 868 00:52:09,930 --> 00:52:13,900 تنها منابع شما واقعا باید نیاز به با Kohana آغاز شده است. 869 00:52:13,900 --> 00:52:16,770 شما می توانید به وب سایت بروید. آنها یک راهنمای کاربر، و آنها کاشف API نیز داشته باشد. 870 00:52:16,770 --> 00:52:20,630 ما می توانیم تمام توابع مختلف و توابع کمکی آنها را برای شما بررسی. 871 00:52:20,630 --> 00:52:22,070 آنها به طور کلی اطلاعات کافی در وب سایت 872 00:52:22,070 --> 00:52:25,310 که شما می توانید استفاده کنید برای شروع و رفتن با Kohana. 873 00:52:25,310 --> 00:52:30,840 وجود ندارد که بسیاری از آموزش، من فکر می کنم، برای Kohana، در خارج از 874 00:52:30,840 --> 00:52:33,880 آنچه را که آنها بر روی وب سایت در اینجا، بنابراین این است که احتمالا بهترین شرط بندی شما. 875 00:52:33,880 --> 00:52:35,600 اما اگر شما می خواهید با چارچوب وب 876 00:52:35,600 --> 00:52:37,120 و شما نمی خواهید به انتخاب کنید تا به یک زبان جدید، 877 00:52:37,120 --> 00:52:39,780 و شما می خواهید چیزی است که نسبتا سبک وزن و دارای یک منحنی یادگیری آسان، 878 00:52:39,780 --> 00:52:41,570 من قطعا نشان می دهد Kohana. 879 00:52:41,570 --> 00:52:44,040 این احتمالا بهترین ارائه برای آن. 880 00:52:44,040 --> 00:52:46,830 جالب است این است که اگر ما در آهن با استفاده از روبی، 881 00:52:46,830 --> 00:52:48,550 ما می تواند تکرار کرده اند چیزی است که ما فقط 882 00:52:48,550 --> 00:52:51,430 و احتمالا در کمتر از 3 دقیقه. 883 00:52:51,430 --> 00:52:54,710 بدون شوخی است، اما یادگیری روبی در آهن طول می کشد بسیاری دیگر 884 00:52:54,710 --> 00:52:56,780 از آن بود را به یاد Kohana. 885 00:52:56,780 --> 00:52:58,840 این اساسا انتخاب شما در مورد آنچه که می خواهید را انتخاب کنید تا بیاموزید، 886 00:52:58,840 --> 00:53:01,260 اما اگر شما می خواهید برای دریافت و در حال اجرا به سرعت، 887 00:53:01,260 --> 00:53:03,870 Kohana است که قطعا یک انتخاب بسیار خوب است. 888 00:53:03,870 --> 00:53:06,730 >> هر گونه سؤال قبل از پایان دادن به ما؟ بله. 889 00:53:06,730 --> 00:53:08,020 [دانشجو] چگونه ما یکپارچه است که 890 00:53:08,020 --> 00:53:13,120 در چارچوب CSS مثل شما بودند با استفاده از زمانی که شما دستور شد؟ 891 00:53:13,120 --> 00:53:16,700 سوال این است که چگونه ادغام می کنیم که با یک چارچوب CSS؟ 892 00:53:16,700 --> 00:53:18,740 آنچه که ما احتمالا انجام دهید این است که ما احتمالا شامل 893 00:53:18,740 --> 00:53:21,090 یک پوشه جدید که در آن ما را تمام فایل های CSS ما کمپرسی، 894 00:53:21,090 --> 00:53:23,010 و سپس ما همچنین می خواهم یک قالب جدید اضافه کنید. 895 00:53:23,010 --> 00:53:26,090 در قالب ما می خواهم شامل آن دسته از فایل CSS 896 00:53:26,090 --> 00:53:28,410 مطمئن شوید که آنها در هر صفحه تنها اشاره شده، 897 00:53:28,410 --> 00:53:32,220 و پس از آن هنگامی که شما در واقع در حال نوشتن HTML، 898 00:53:32,220 --> 00:53:34,010 شما فقط اضافه کردن کلاس و فلان چیز مناسب، 899 00:53:34,010 --> 00:53:36,100 و به عنوان مثال، زمانی که شما با استفاده از چیزی شبیه به شکل 900 00:53:36,100 --> 00:53:40,710 تابع کمک کننده، شما می توانید پارامترهای تر پس از آن اضافه 901 00:53:40,710 --> 00:53:42,830 برای مشخص کردن کلاس های درس می خواهید به چیز های مختلف متصل شده 902 00:53:42,830 --> 00:53:47,820 به طوری که آنها می تواند آن را به درستی سبک، و اساسا چگونه می خواهید بروید. 903 00:53:47,820 --> 00:53:50,100 >> هر گونه سؤال دیگر؟ 904 00:53:50,100 --> 00:53:52,090 بسیار معروف. 905 00:53:52,090 --> 00:53:58,540 با تشکر از شما برای وقت خود و با تشکر از شما برای آینده. 906 00:53:58,540 --> 00:54:05,170 من که قرار بود برای اضافه کردن بسیار دیگری، 907 00:54:05,170 --> 00:54:08,560 اما 1 چیزی که واقعا سریع است که ما یک لینک ندارد 908 00:54:08,560 --> 00:54:12,590 را به فرم. 909 00:54:12,590 --> 00:54:14,310 واقعا گنگ. 910 00:54:14,310 --> 00:54:20,110 اجازه دهید اضافه کردن یک - در واقع در این دیدگاه، وبلاگ، صفحه اول، 911 00:54:20,110 --> 00:54:23,890 بیایید واقعا به سرعت اضافه کردن یک لینک است که می رود به صفحه جدید، 912 00:54:23,890 --> 00:54:26,770 صفحه که در آن ما می توانیم یک پست جدید وارد کنید. 913 00:54:26,770 --> 00:54:29,950 ما قصد داریم برای انجام این کار. 914 00:54:29,950 --> 00:54:34,020 چه خوب است این گروه کل از توابع کمکی HTML وجود دارد 915 00:54:34,020 --> 00:54:37,090 که انجام کارهای مختلف را برای شما، بنابراین شما در حال حاضر شاهد اشخاص 916 00:54:37,090 --> 00:54:41,980 تابع در اینجا، اما آنها نیز یک تابع به نام "لنگر" 917 00:54:41,980 --> 00:54:45,400 که شما می توانید نوع در وبلاگ / جدید 918 00:54:45,400 --> 00:54:49,550 و می گویند، "ارسال یک وبلاگ جدید است." 919 00:54:49,550 --> 00:54:51,850 و آن را که لینک را برای شما ایجاد، 920 00:54:51,850 --> 00:54:54,120 و این به نظر می رسد واقعا بی اهمیت را انجام دهید، اما این خوب است، 921 00:54:54,120 --> 00:54:58,720 چون فرض کنید که شما در حال حرکت وب سایت خود را از 1 دامنه را به دیگری. 922 00:54:58,720 --> 00:55:01,390 و اگر شما فقط خودتان را نوشت: از آدرس ها، 923 00:55:01,390 --> 00:55:04,350 پس از آن شما را مجبور به تغییر تمام آدرس ها. 924 00:55:04,350 --> 00:55:06,850 یا شاید شما آن را از 1 زیرپوشه به زیر پوشه دیگر منتقل کرد. 925 00:55:06,850 --> 00:55:08,790 شما مجبور به تغییر تمام کسانی که آدرس خود را، 926 00:55:08,790 --> 00:55:12,180 و هیچ سرگرم کننده است. 927 00:55:12,180 --> 00:55:14,510 شما می توانید این لنگر در اینجا استفاده کنید، 928 00:55:14,510 --> 00:55:18,950 و شما می توانید دامنه یا پیشوند زیر پوشه را تغییر دهید 929 00:55:18,950 --> 00:55:20,640 در فایل پیکربندی یک بار، 930 00:55:20,640 --> 00:55:22,980 و پس از آن که در همه جا اعمال می شود، و این است که، دوباره، 931 00:55:22,980 --> 00:55:26,930 به عنوان مثال بزرگ آیا تکرار خود، خشک کردن کد شما است. 932 00:55:26,930 --> 00:55:30,370 هر جا که شما خودتان را تکرار کنید، سعی کنید و استخراج در نوعی از فایل پیکربندی 933 00:55:30,370 --> 00:55:34,160 یا به یک تابع متفاوت است و آن را اداره کرده اند که برای شما. 934 00:55:34,160 --> 00:55:42,930 >> و آخرین چیزی که من می خواستم به شما نشان دهد بود 935 00:55:42,930 --> 00:55:50,250 فرض کنید ما در این پست، و من مقداری مقاله واقعا طولانی تشکیل شده بود، 936 00:55:50,250 --> 00:55:52,670 اما من را فراموش کرده به عبارتند از نویسنده من. 937 00:55:52,670 --> 00:55:55,210 حالا وقتی که من کلیک کنید "ارسال پست،" 938 00:55:55,210 --> 00:55:57,270 من فقط همه چیز را از دست داده است. 939 00:55:57,270 --> 00:56:00,000 نه! واقعا غم انگیز است. 940 00:56:00,000 --> 00:56:03,870 پس چگونه می توانم شما را با آن مقابله؟ 941 00:56:03,870 --> 00:56:06,070 این چیزی است که ما انجام می دهیم. 942 00:56:06,070 --> 00:56:09,340 آنچه ما انجام دهیم این است در اینجا برای این ورودی و متن توابع، 943 00:56:09,340 --> 00:56:12,700 اگر ما شامل پارامتر دوم، و سپس مقدار آن پارامتر دوم 944 00:56:12,700 --> 00:56:16,620 در حال رفتن به آنچه که درست است که رفتن به ابتدا با جمعیت. 945 00:56:16,620 --> 00:56:23,570 چه ما می توانیم انجام دهیم این است در کنترل وبلاگ ما، 946 00:56:23,570 --> 00:56:25,360 ما می تواند متغیر دیگر متصل شوند. 947 00:56:25,360 --> 00:56:27,050 تماس با آن "ارزش" شاید. 948 00:56:27,050 --> 00:56:30,620 و با تصویب در آرایه پست، به معنای واقعی کلمه. 949 00:56:30,620 --> 00:56:32,620 این بدان معنی است که اگر اعتبار شکست خورده، 950 00:56:32,620 --> 00:56:36,570 عبور به من آرایه ای پست که من از آخرین درخواست های ارائه شده، 951 00:56:36,570 --> 00:56:38,420 و به این ترتیب من می توانم ارزش از آخرین ارسال من استفاده کنید 952 00:56:38,420 --> 00:56:44,540 به تکثیر شوند زمینه. 953 00:56:44,540 --> 00:56:49,600 در حال حاضر من می تواند چیزی شبیه به ارزش نویسنده انجام 954 00:56:49,600 --> 00:56:55,180 و ارزش های بدن، و به این ترتیب در حال حاضر اگر من انجام برخی از چیزهای تصادفی 955 00:56:55,180 --> 00:57:01,490 و بر روی "ارسال پست،" پس از آن باقی می ماند وجود دارد. 956 00:57:01,490 --> 00:57:03,830 اما ما قصد داریم برای اجرا به مشکل دیگری. 957 00:57:03,830 --> 00:57:07,670 کار می کند که، اما اگر من به این صفحه بروید اولین بار، 958 00:57:07,670 --> 00:57:09,720 آن را به سقوط، و این به آن دلیل اولین بار 959 00:57:09,720 --> 00:57:13,730 ما به این صفحه بروید، این پست متغیر هنوز به درستی مشخص نشده است. 960 00:57:13,730 --> 00:57:18,170 این تهی. این وجود ندارد. 961 00:57:18,170 --> 00:57:21,630 >> و کاری که ما می خواهم بگویم این است که اگر این کلید وجود دارد، 962 00:57:21,630 --> 00:57:27,750 و سپس بازگشت مقدار این آرایه، 963 00:57:27,750 --> 00:57:30,450 اما اگر کلید وجود ندارد، و سپس بازگشت یک رشته خالی. 964 00:57:30,450 --> 00:57:32,150 این قابلیت ما در اینجا می خواهیم است. 965 00:57:32,150 --> 00:57:34,690 ما می خواهیم به بررسی در صورتی که کلید را پیش از تلاش برای دسترسی به آرایه وجود دارد، 966 00:57:34,690 --> 00:57:36,580 و خوشبختانه به اندازه کافی، 967 00:57:36,580 --> 00:57:38,570 Kohana نیز به ما می دهد یک تابع کمکی برای که. 968 00:57:38,570 --> 00:57:41,040 آنها این مجموعه کامل از توابع 969 00:57:41,040 --> 00:57:43,660 تحت نام ARR، کوتاه برای آرایه، 970 00:57:43,660 --> 00:57:45,800 و آنها را به 1 تابع به نام "دریافت" 971 00:57:45,800 --> 00:57:48,690 و شما می توانید در آرایه عبور، 972 00:57:48,690 --> 00:57:50,740 و شما می توانید به نام کلید منتقل می کند. 973 00:57:50,740 --> 00:57:54,330 سپس اساسا آنچه در آن انجام خواهد داد آن را امتحان کنید برای دریافت کنید که کلیدی، 974 00:57:54,330 --> 00:57:56,470 اما در صورتی که کلید در آرایه وجود ندارد، 975 00:57:56,470 --> 00:58:00,900 سپس آن را خالی باز خواهد گشت، و ما نیز می تواند به طور پیش فرض مشخص، به اعتقاد من، 976 00:58:00,900 --> 00:58:03,500 که خوب است. 977 00:58:09,740 --> 00:58:13,150 حال اگر همین کار را دوباره، 978 00:58:13,150 --> 00:58:15,970 پس از آن شما در حال حاضر کار می کند اولین بار، 979 00:58:15,970 --> 00:58:18,080 و دوباره، اگر ما در برخی از چیزهای تصادفی تایپ 980 00:58:18,080 --> 00:58:23,210 و سعی کنید و ارسال کنید، سپس آن باقی می ماند وجود دارد. 981 00:58:23,210 --> 00:58:31,640 >> و من حدس می زنم من نیز می تواند به شما چگونه برای اضافه کردن یک قالب واقعا به سرعت نشان می دهد. 982 00:58:31,640 --> 00:58:36,140 چیزی که ما برای اولین بار می توانید انجام دهید این است که ما می تواند یک دید جدید به نام "template.php" اضافه 983 00:58:36,140 --> 00:58:38,890 در پوشه نمایش ها، 984 00:58:38,890 --> 00:58:44,730 و آنچه من قصد دارم برای انجام این کار است من قصد دارم به نسخه قابل چاپ کردن چیزی به نام "محتوا" 985 00:58:44,730 --> 00:58:49,130 است که برای رفتن به محتوای اصلی من است. 986 00:58:49,130 --> 00:58:51,380 و شاید در خیلی پایین من قصد دارم به اضافه کردن، می گویند، 987 00:58:51,380 --> 00:58:53,340 کپی رایت. 988 00:58:53,340 --> 00:58:56,150 [سوال دانش آموز نامفهوم] 989 00:58:56,150 --> 00:58:58,050 [براندون لیو] شاید این یک قالب فوق العاده اساسی من می خواهم برای استفاده است. 990 00:58:58,050 --> 00:59:02,840 من می خواهم به یک پوشه با کپی رایت من در هر صفحه، 991 00:59:02,840 --> 00:59:05,560 و در حال حاضر آنچه که من قصد دارم در کنترل من انجام 992 00:59:05,560 --> 00:59:07,740 در حال حاضر به جای گفتن، "گسترش کنترل" 993 00:59:07,740 --> 00:59:11,870 من قصد دارم برای گفتن، "گسترش Controller_Template،" 994 00:59:11,870 --> 00:59:15,890 و در حال حاضر به جای گفتن، "بدن پاسخ به این نظر برابر" 995 00:59:15,890 --> 00:59:24,110 من قصد دارم که می گویند، "این مطلب به این الگو است -" 996 00:59:24,110 --> 00:59:27,690 و من فکر می کنم - آیا یک علامت تساوی قرار داده I؟ 997 00:59:27,690 --> 00:59:32,710 من را فراموش کرده ام. بله، من فکر کردم تا. 998 00:59:32,710 --> 00:59:37,710 و در حال حاضر من مجموعه ای است که متغیر محتوا را برابر این دیدگاه. 999 00:59:37,710 --> 00:59:40,960 من می توانم در اینجا همان انجام دهد. 1000 00:59:49,620 --> 00:59:57,170 و در حال حاضر اگر من تازه کردن، شما هم اکنون می توانید این کپی رایت وجود دارد اضافه شده است، 1001 00:59:57,170 --> 01:00:00,350 و فقط بعضی از پست های تصادفی را، 1002 01:00:00,350 --> 01:00:06,760 و پس از آن، دوباره، شما باید ببینید که کپی رایت در پایین صفحه استفاده کنید. 1003 01:00:06,760 --> 01:00:10,730 >> بزرگ. این همه من می خواستم به شما بچه ها نشان می دهد. 1004 01:00:10,730 --> 01:00:14,970 [تشویق حضار] 1005 01:00:14,970 --> 01:00:18,950 هر گونه سؤال؟ 1006 01:00:18,950 --> 01:00:21,000 [CS50.TV]