1 00:00:00,000 --> 00:00:02,150 >> [სემინარი] [kohana: A Lightweight PHP Framework] 2 00:00:02,150 --> 00:00:04,000 [Brandon Liu] [ჰარვარდის უნივერსიტეტის] 3 00:00:04,000 --> 00:00:07,270 [ეს არის CS50.] [CS50.TV] 4 00:00:07,270 --> 00:00:09,130 >> Hi ყველას. ჩემი სახელი არის Brandon. 5 00:00:09,130 --> 00:00:11,000 მე junior აქ კოლეჯში აკეთებს კომპიუტერული მეცნიერების, და დღეს ჩვენ ვაპირებთ ვისაუბროთ 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 გარკვეული გზები, რათა ის უფრო maintainable. 33 00:01:28,510 --> 00:01:31,020 >> ეს არის სადაც web ფარგლებში ძირითადად შემოგრიალდნენ 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 >> ყველაზე პოპულარული ერთი იქნება Model-View-Controller, 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 რაც თქვენი კოდი უფრო maintainable, უფრო გამოსადეგი, 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 და თქვენ ერთგვარი invoking ბიბლიოთეკა 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 არსებობს web ფარგლებში, და არსებობს პირობა, პრაქტიკულად ყველა ერთ ენაზე, 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 იგი დგას Model-View-Controller, 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 მე ასახული MVC აქ სახის როგორც დასტის, 99 00:04:26,740 --> 00:04:29,920 და ხშირად თქვენ მოისმენს ადამიანები საუბრობენ stacks ვებ განვითარება, 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 და არ არსებობს hopping შორის თუ წერთ თქვენი კოდი სათანადოდ. 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 მაგალითად, Facebook, თუ თქვენ მეგობარს ვინმე, 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 ბევრი ჯერ მე ვფიქრობ, CS50 psets 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 და ხდება unwieldy მართვა. 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 >> სხვა რამ არის კოდი reuse. 151 00:06:57,130 --> 00:06:59,770 თქვენ შეიძლება აღმოჩნდეთ წერა იგივე SQL შეკითხვაზე ან აკეთებს 152 00:06:59,770 --> 00:07:03,060 მსგავსი queries რომელიც შეიძლება ამოღებული შევიდა 1 ფუნქცია, 153 00:07:03,060 --> 00:07:05,440 და ეს იდეა უკან მოდელები და კონტროლერები, 154 00:07:05,440 --> 00:07:09,690 რომელსაც იგი ცალკე ფუნქცია, რომ თქვენ შეგიძლიათ reuse სხვადასხვა ადგილებში თქვენი პროექტი. 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 იმიტომ, რომ ის გაშვებული Linux ნაცვლად 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 [Brandon Liu] ის არის, რომ უკეთესი? 180 00:08:47,330 --> 00:08:50,070 [სტუდენტური] არის ის, რომ შესაძლებელია? >> [Brandon Liu] ჰო, რომ ჯარიმა. 181 00:08:50,070 --> 00:08:54,500 მე გადმოწერილი ZIP ფაილი და unzipped რომ შევიდა დირექტორია მოუწოდა 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 აქ ხედავთ bunch სხვადასხვა ფაილები. 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 და თქვენ ძირითადად დაკავდით გარემოს ტესტები და whatnot 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 სადაც იგი აცხადებს, რომ ზოგიერთი საქაღალდე არ არის ჩაწერადი, 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 >> Okay, ასე რომ, ახლა თქვენ ხედავთ, ყველაფერი გავიდა, 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 თქვენი პროექტი არის root დირექტორია თქვენი დომენი, 208 00:10:31,480 --> 00:10:35,920 ამიტომ ველოდებით თქვენ უნდა იყოს demo.brandonkliu.com. 209 00:10:35,920 --> 00:10:37,540 ჩვენ უნდა ვუთხრათ, რომ ეს რეალურად subfolder. 210 00:10:37,540 --> 00:10:39,820 ეს წელს subfolder მოუწოდა 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 Aha! უფლება აქ. 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 By default, ვხედავ, რომ ის მუშაობს, მისი თქმით, "Hello World". 227 00:11:39,530 --> 00:11:42,930 სად რომ მოდის? როგორ არ მივიღებთ Hello World? 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 და ის აპირებს ფუნქცია სახელად action ყველა. 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 in 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 და სხვა ფოლდერები უწოდებენ Controller და მოდელი. 246 00:12:49,200 --> 00:12:52,530 თუ გადავხედავთ შიგნით Controller საქაღალდეში, 247 00:12:52,530 --> 00:12:56,330 ჩვენ ვხედავთ, რომ არის ფაილი სახელად მოგესალმებით, 248 00:12:56,330 --> 00:13:00,370 და თქვენ ხედავთ, აქ არის კლასი მოუწოდა Controller მოგესალმებით, 249 00:13:00,370 --> 00:13:02,340 და არსებობს ფუნქცია მოუწოდა აქცია ინდექსი, 250 00:13:02,340 --> 00:13:06,360 და რა არ არის ის ადგენს ორგანოს თქვენი პასუხი Hello World. 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 blah, blah, blah, / welcome / ინდექსი. 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 ამიტომ, როცა ჩვენ არაფერი იქ ავტომატურად წავიდა Welcome კონტროლერი 261 00:13:31,600 --> 00:13:33,940 და ინდექსი მოქმედება. 262 00:13:33,940 --> 00:13:37,460 >> Everything აზრი აქამდე? 263 00:13:37,460 --> 00:13:40,850 ახლა თქვენ შეგიძლიათ უფრო მეტი, ვიდრე უბრალოდ წასვლა Controller 264 00:13:40,850 --> 00:13:43,670 და კონკრეტული action. 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 მოდით მოვუწოდებთ ამ action ექო, რადგან ის აპირებს გითხრათ, რასაც თქვენ მისცეს მას, 269 00:14:09,130 --> 00:14:17,510 და ა.შ. მე ძირითადად აპირებს დაიბრუნოს 270 00:14:17,510 --> 00:14:20,960 პარამეტრი, რომელიც იქნება იგზავნება ჩემთვის routing პროგრამა, 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 oh, ეს უფლება. 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 აქვს ამ index.php პრობლემა, 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 და ეს არის ის, რომ სპეციფიკური Apache სერვერზე, 299 00:16:13,900 --> 00:16:16,290 და ეს შეიძლება გავაკეთოთ რამ, როგორიცაა ხელმეორე მისამართები 300 00:16:16,290 --> 00:16:19,350 და გადამისამართება მისამართები და ა.შ. და ა.შ., 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 და ძირითადად ეს იმას bunch სხვადასხვა რამ. 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 "Okay, რასაც თქვენ აკრიფოთ, prepend index.php, რომ." 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 და შემდეგ მეორე ნაწილი index.php / $ 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 იდეა grabbing პარამეტრი და შექმნა ახალი string 339 00:18:27,980 --> 00:18:31,920 რომელიც ამბობს, "თქვენ თქვით, blah," და შემდეგ spitting რომ უკან თქვენ. 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 და ეს ზოგადი წესი thumb. 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 more კონცეფცია სანამ ჩვენ ჩაყვინთვის დააბრუნებდა კოდი 363 00:19:35,490 --> 00:19:37,710 ამ იდეის ობიექტი relational რუკების. 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 და ეს შეიძლება ცოტა cumbersome. 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 რა ობიექტი relational mapping არ არის 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 და მე იქნებ კომენტარის arrow ჩანაწერი, 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 რომელიც cumbersome და არასაჭირო. 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 და ეს ფუნქცია მე შეგიძლიათ დაურთოთ გადატანა, რომ ობიექტი, 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 Okay, რა, ასე რომ თქვენ ბიჭები უკვე იცით, რა არის, 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 >> In kohana, ჩვენ გვაქვს რაღაც მოუწოდა მონაცემთა ბაზის მოდული, 430 00:23:58,710 --> 00:24:02,690 და კონფიგურაციის საქაღალდეში ჩვენ ამ საქაღალდეში მოუწოდა მონაცემთა ბაზა, 431 00:24:02,690 --> 00:24:07,330 და როგორც ხედავთ, არსებობს bunch of პარამეტრების თქვენ უნდა მითითებული აქ 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 Okay. მე ვფიქრობ, რომ ყველა კონფიგურაციის უნდა გავაკეთოთ, 439 00:24:39,880 --> 00:24:41,070 მაგრამ ვნახოთ. 440 00:24:41,070 --> 00:24:43,720 ჩვენ გავაგრძელებთ მუშაობას, და თუ რამე crashes, 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 ოჯახის ზოგიერთი სინტაქსის შეფერადება on, 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 და მე მიიღოთ bunch of ზედმეტი ფუნქციები და whatnot უფასოდ, 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 მივიღებ bunch რამ უფასოდ, ასე რომ ახლა თქვენ არ უნდა დააყენოთ არაფერი მეტი up. 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 და მე ვაპირებ კოპირება მეტი Welcome კონტროლერი 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 ახლა, რაც მე ვაპირებ, რათა გამოსცადოს დარწმუნდეთ ყველაფერი მუშაობს out, 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 in 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 მე ვიტყვი ", Brandon, ჩემი პირველი პოსტი". 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 და თუ ყველა კარგად მუშაობს - oh, ეს არის რაღაც სხვა dumb ფაილი ნებართვის რამ ერთხელ. 487 00:27:50,960 --> 00:27:56,090 გაიმართება 1 წამი. ეს ერთგვარი აბსურდია. 488 00:28:06,700 --> 00:28:08,490 იქ ჩვენ წავიდეთ. Okay. 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 In ჩატვირთვის საქაღალდეში ფაილი, არსებობს ეს მოდულები აქ, 498 00:28:40,270 --> 00:28:42,480 რომელიც შეგიძლიათ ჩართვა ან გამორთვა. 499 00:28:42,480 --> 00:28:44,340 ეს არის bunch სხვადასხვა თვისებები, რომ თქვენ შეგიძლიათ გამოიყენოთ 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 გარკვეული ქეშირების უკან ბოლომდე, რათა განაცხადის სამუშაოს სწრაფად და whatnot. 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 ყველა მე უნდა გააკეთოთ uncomment იმ 2 ხაზები, 510 00:29:14,240 --> 00:29:18,760 და ახლა თუ მე ამოცნობა, ეს მომცა კიდევ ერთი შეცდომა. 511 00:29:18,760 --> 00:29:22,100 იგი ამბობს: "Class 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 ვფიქრობ, მე ალბათ - oh. 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 >> Okay. იქ ჩვენ წავიდეთ. 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 დიდი. Fantastic. 530 00:30:58,010 --> 00:31:01,470 ნებისმიერი კითხვები აქამდე? 531 00:31:01,470 --> 00:31:04,100 Nope? რაიმე შეკითხვა? 532 00:31:04,100 --> 00:31:08,340 Okay, ასე რომ, ჩვენ უბრალოდ შექმნილი ჩანაწერებში მოდელი, ძალიან ელემენტარული, 533 00:31:08,340 --> 00:31:10,930 და ჩვენ ვაპირებთ, რომ დაამატოთ ზოგიერთი ფუნქციების მოგვიანებით. 534 00:31:10,930 --> 00:31:13,600 ჩვენ შეგვიძლია დავამატოთ validations და ფილტრაცია. 535 00:31:13,600 --> 00:31:15,650 Validations არის ერთი რამ, 536 00:31:15,650 --> 00:31:18,150 რომ ფარგლებში გადაწყვიტოს თქვენ ნამდვილად, ნამდვილად კარგად, 537 00:31:18,150 --> 00:31:21,310 და მე არ ვფიქრობ, რომ თქვენ ბიჭები უნდა გაეკეთებინათ ეს თქვენი CS50 pset, 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 და საკმაოდ ბევრი ყველა ერთი web ფარგლებში აკეთებს იგი თქვენთვის 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 template, 561 00:32:35,330 --> 00:32:37,710 და რა შეგვიძლია გავაკეთოთ არის გაიაროს ეს ცვლადების 562 00:32:37,710 --> 00:32:42,200 და შემდეგ ხედი ავტომატურად populate მისი შაბლონი 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 და მე ვაპირებ ძირითადად სავალდებულოა ამ - Oh, რა ვარ მე წერა? 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 და შემდეგ მე ვაპირებ, რომ შევქმნათ ერთი ფაილი არ არსებობს ე.წ. "index.php". 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 მიღების view ფაილი არის ალბათ უმარტივესი ნაწილია ეს ყველაფერი, 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 და ჩვენ შეგვიძლია iterate მეშვეობით შეტყობინება მასივი, 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 და მხოლოდ kicks, მოდით ჩადეთ მეორე ჩანაწერი 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 ჰო, კითხვა? ოჰ, okay. 603 00:35:46,400 --> 00:35:51,440 როგორც ხედავთ, ჩვენ შევძელით გამოყოფა ყველა ამ კოდები out 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 რომელიც არის ძალიან კარგი და რაც თქვენი კოდი ბევრად უფრო maintainable. 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 არის ცვლადი, მე შექმნილი უფლება აქ. 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 ან ბიბლიოთეკაში [inaudible] ქარხნის ფუნქცია? 628 00:37:06,610 --> 00:37:10,640 კითხვა დაახლოებით კალენდარი :: ქარხნის ფუნქცია, 629 00:37:10,640 --> 00:37:14,020 და ძირითადად ეს არის კიდევ რამდენიმე ობიექტზე ორიენტირებული პროგრამირების არსებითად. 630 00:37:14,020 --> 00:37:18,000 View არის ხედი კლასის, და მას აქვს მეთოდი ეწოდება "ქარხანა" 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 თქვენ იცით, ეს შეიძლება იყოს მართლაც, მართლაც მტკივნეული და cumbersome დაწერა ფორმები. 655 00:38:54,850 --> 00:38:59,970 ეს არ არის fun, ასე რომ საბედნიეროდ, 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 ახლა ჩვენ უნდა გავაკეთოთ ყველაფერი ერთად action. 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 By default ყველაზე ვებგვერდი ფარგლებში, 682 00:40:56,050 --> 00:40:58,200 იგი წარუდგენს ზუსტად იგივე URL, ასე რამ არის, 683 00:40:58,200 --> 00:41:01,310 თუ თქვენ მისაღებად თხოვნით / წაკითხვა / ახალი, 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 ძირითადად ყველა ჩვენ უნდა გავაკეთოთ, რათა შეამოწმოს თუ არა ეს ჩანაწერი მოთხოვნა ან მიღება თხოვნა 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 მე ვიტყვი ", Brandon" 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 Yay! 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 მაგრამ თუ ეს არის შეშფოთება, მაშინ თქვენ შეგიძლიათ დაამატოთ validations, მაგალითად, 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 ახლა მოდით შევეცადოთ და დაამატოთ რამდენიმე validations. 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 >> შემიძლია წასვლა ჩემი მოდელი ობიექტი, 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 რომელიც მიდის სხვა array მოუწოდა "არ ცარიელი." 742 00:44:37,720 --> 00:44:41,480 და შემდეგ მე ვაპირებ ვთქვა "ორგანო." 743 00:44:50,980 --> 00:44:54,120 Okay, და სინტაქსი და სტრუქტურა ამ 744 00:44:54,120 --> 00:44:56,530 შეიძლება ცოტა cumbersome და ცოტა რთული. 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 იქნებ ეს უნდა იყოს numeric. იქნებ ეს უნდა იყოს alpha numeric. 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 გადაიტანოთ ყველაფერი ცდილობენ დაჭერა loop. 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 მას validates მოდელი, და თუ ის ამბობს: "Okay, ეს მოდელი არასწორია" 779 00:46:33,170 --> 00:46:36,150 ის აპირებს იმისათვის, რომ გამონაკლისი, და ეს არის ერთგვარი ექვივალენტური 780 00:46:36,150 --> 00:46:39,870 დო თქვენ შეიძლება დაბრუნდეს -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 და ძირითადად ამბობენ, "Okay, მე დაჭერა გამონაკლისი, რა ვარ მე აპირებს?" 784 00:46:49,330 --> 00:46:51,570 ან მე ვერ აირჩიოს არ დაიჭიროთ, რომ გამონაკლისი და მოდით ვინმე უმაღლესი up 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 >> მაგრამ რას ვაკეთებთ არის თქვენ გადაიტანოთ ნაჭერი კოდი in ლელო ბლოკი, 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 Okay, მე ვფიქრობ, რომ მე მაქვს კალენდარი უფლება აქ, 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 მე მსგავსად, okay, cool. 818 00:48:52,130 --> 00:48:56,230 მაშინ მე შემიძლია iterate მეშვეობით მასივი და ამობეჭდოთ თითოეული გაგზავნა. 819 00:48:56,230 --> 00:49:02,150 ეს ძირითადად, როგორც ასოციაციურ მასივში ერთად bunch of წერილები. 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 და მე ვაპირებ iterate მეშვეობით ყველა შეცდომები. 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 თქვენ ასევე შეგიძლიათ Customize თქვენი დადასტურება 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 >> სამწუხაროდ, ჩვენ გაშვებული out of time, 837 00:50:17,150 --> 00:50:20,040 ამიტომ მე ვაპირებ უნდა შეწყვიტა ცოცხალი კოდირების სხდომაზე აქ. 838 00:50:20,040 --> 00:50:22,980 არსებობს bunch სხვა თვისებები, რომ მინდა დემონსტრირება თქვენთვის 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 თითოეული გვერდი თქვენს საიტზე, და ნაცვლად pasting რომ 843 00:50:35,190 --> 00:50:40,630 თითოეული view ფაილი გაქვთ, რომელიც აშკარად იქნებოდა ცუდი პრაქტიკა, 844 00:50:40,630 --> 00:50:43,020 შეგიძლიათ პრაქტიკულად განსაზღვრავს ამ თარგები, 845 00:50:43,020 --> 00:50:46,660 და შემდეგ თქვენი კონტროლერი ამბობენ, "Okay, მე გამოყენებით ამ თარგის." 846 00:50:46,660 --> 00:50:50,130 "ყველა ჩემი views გამოიყენოთ ეს თარგი." 847 00:50:50,130 --> 00:50:52,470 და ერთი ბოლო რამ მინდა იმის დემონსტრირება, რომ თქვენ ასევე 848 00:50:52,470 --> 00:50:57,800 რომ ჩვენ არ გვაქვს დრო არის cross-site სკრიპტირების, 849 00:50:57,800 --> 00:51:01,430 და ძირითადად მე ვფიქრობ, თქვენ ბიჭები ალბათ ჩანს CS50 - 850 00:51:01,430 --> 00:51:03,770 მე ვფიქრობ, რომ დავით Malan ალბათ ისაუბრა, თუ როგორ შეგიძლიათ ჩვეულებრივ მიეცეს 851 00:51:03,770 --> 00:51:08,040 JavaScript კოდი შევიდა - თქვენ ამის შესახებ? 852 00:51:08,040 --> 00:51:10,220 იქნებ? იქნებ არა? 853 00:51:10,220 --> 00:51:12,670 >> მაგრამ ბევრი ჯერ თქვენ შეიძლება მიეცეს მუქარის JavaScript კოდი 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 მაშინ იგი შეიძლება აწარმოებს გარკვეული შემთხვევითი JavaScript კოდი არ გსურთ რომ მოხდეს, 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 [Brandon Liu] Oh, oops. 866 00:52:01,030 --> 00:52:06,420 >> Okay, რომ ყველა მე უნდა გაგიზიაროთ დღეს. 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 Explorer. 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 მაგრამ თუ გსურთ წავიდეთ ერთად web ფარგლებში 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 სასაცილო რამ, თუმცა, თუ ჩვენ გამოყენებით Ruby ლიანდაგზე, 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 არ არის ხუმრობა, მაგრამ სწავლის Ruby ლიანდაგზე იღებს ბევრი აღარ 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 უბრალოდ დაამატოთ შესაბამისი კლასები და whatnot, 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 მართლაც dumb. 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 რომელიც შეგიძლიათ აკრიფოთ წაკითხვა / new 918 00:54:45,400 --> 00:54:49,550 და ვთქვათ, "Post new blog". 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 domain სხვა. 922 00:54:58,720 --> 00:55:01,390 და თუ უბრალოდ დაწერა out მისამართები თავს, 923 00:55:01,390 --> 00:55:04,350 მაშინ თქვენ უნდა შეცვალოთ ყველა მისამართები. 924 00:55:04,350 --> 00:55:06,850 ან იქნებ გადაიტანეს 1 subfolder სხვა subfolder. 925 00:55:06,850 --> 00:55:08,790 თქვენ უნდა შეცვალოს ყველა ის მისამართები თავს, 926 00:55:08,790 --> 00:55:12,180 და რომ არ fun. 927 00:55:12,180 --> 00:55:14,510 თქვენ შეგიძლიათ გამოიყენოთ ეს წამყვანმა სწორედ აქ, 928 00:55:14,510 --> 00:55:18,950 და თქვენ შეგიძლიათ შეცვალოთ domain ან subfolder პრეფიქსი 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 დიდი მაგალითია არ გაიმეოროს თავს, საშრობი თქვენი კოდი out. 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 ახლა, როდესაც მე დაწკაპეთ "გაგზავნა Post" 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 გაივლის ჩემთვის პოსტი array რომ მე წარმოდგენილი გასული მოთხოვნით, 951 00:56:36,570 --> 00:56:38,420 და რომ ასე შეგვიძლია მნიშვნელობები გამოვიყენოთ, ჩემი ბოლო წარდგენა 952 00:56:38,420 --> 00:56:44,540 to repopulate სფეროებში. 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 და დააჭირეთ "გაგზავნა Post", მაშინ იგი რჩება იქ. 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 ეს null. ის არ არსებობს. 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 [Inaudible სტუდენტი კითხვა] 989 00:58:56,150 --> 00:58:58,050 [Brandon Liu] იქნებ ეს არის სუპერ ძირითადი თარგი მინდა გამოიყენოს. 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 ახლა ნაცვლად ამბობდა, "ვრცელდება Controller" 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 და მე ვფიქრობ, - შემიძლია დააყენა თანაბარი ნიშანი? 997 00:59:27,690 --> 00:59:32,710 მე დაგვავიწყდეს. ჰო, მე ვფიქრობდი ასე. 998 00:59:32,710 --> 00:59:37,710 და ახლა მე მითითებული, რომ content ცვლადი ტოლი ხედი. 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]