1 00:00:00,000 --> 00:00:03,920 >> [მუსიკალური სათამაშო] 2 00:00:03,920 --> 00:00:11,760 3 00:00:11,760 --> 00:00:13,800 >> დევიდ ჯ Malan ყველა უფლება. 4 00:00:13,800 --> 00:00:15,640 ეს არის CS50. 5 00:00:15,640 --> 00:00:17,620 ეს არის დაწყების კვირაში რვა. 6 00:00:17,620 --> 00:00:22,440 თქვენ შეიძლება გავიხსენოთ, რომ ჩვენ შეჩერდით ბოლო დროს ეძებს ახალ ენაზე 7 00:00:22,440 --> 00:00:23,240 საერთოდ. 8 00:00:23,240 --> 00:00:25,905 ფაქტობრივად, ერთი, რომ საკმაოდ მსუბუქი და ის კი არ არის 9 00:00:25,905 --> 00:00:26,940 პროგრამირების ენა. 10 00:00:26,940 --> 00:00:31,100 ეს მარკირებას ენა, რომელიც საშუალებას გვაძლევს რეალურად სტრუქტურა და ვებ გვერდები. 11 00:00:31,100 --> 00:00:33,350 და როდესაც თქვენ რაღაც ერთად ამას 12 00:00:33,350 --> 00:00:35,670 ან თქვენ მალე, თუ თქვენ არ უკვე. 13 00:00:35,670 --> 00:00:38,530 ჩვენ ვაპირებთ გამოვიყენოთ კასკადური Style Sheets, ან CSS, რომელიც 14 00:00:38,530 --> 00:00:40,971 სხვა ტიპის ენის ერთად თვისებები და ღირებულებები 15 00:00:40,971 --> 00:00:43,220 რომ აპირებს მოდით რამ მოსწონს შეცვალოს ფერი 16 00:00:43,220 --> 00:00:46,010 და შეცვალოს პოზიცია და ამ სახის შესწორებები. 17 00:00:46,010 --> 00:00:49,940 მაგრამ დღეს და შემდგომი, ჩვენ ვიწყებთ ფოკუსირება უფრო ძლიერი ენებზე, 18 00:00:49,940 --> 00:00:52,810 ფაქტობრივი პროგრამირების ენებს, როგორიცაა PHP. 19 00:00:52,810 --> 00:00:54,880 >> ასე PHP უკვე გარშემო გარკვეული დროის განმავლობაში. 20 00:00:54,880 --> 00:00:56,810 და როგორც დაინახავთ, ეს შეიქმნა, პირველ რიგში, 21 00:00:56,810 --> 00:01:00,280 დასაწყისში ფაქტობრივი გამოყენება ვებ განვითარების 22 00:01:00,280 --> 00:01:02,360 და რეალურად გამოიმუშავებს ვებ გვერდებზე. 23 00:01:02,360 --> 00:01:04,849 ასე რომ, რა სახის ფუნქციები აქვს ენის 24 00:01:04,849 --> 00:01:10,040 საჭირო იმისათვის, რათა ვებ გვერდები დინამიურად ეს? 25 00:01:10,040 --> 00:01:14,760 >> სხვა სიტყვებით, თუ გსურთ გამოიმუშავებენ content dynamically--, როგორიცაა Facebook- ის 26 00:01:14,760 --> 00:01:19,480 Newsfeed, რომელიც მუდმივად იცვლება, ან მყისიერი შეტყობინებები, რომ პოპ up დრო 27 00:01:19,480 --> 00:01:21,872 to time-- მოსწონს რა ძირითადი ნაწილი ფუნქციონირებისთვის 28 00:01:21,872 --> 00:01:24,580 თქვენ უნდა პროგრამირების ენა რომელიც მოგცემთ დინამიურად 29 00:01:24,580 --> 00:01:28,070 ბეჭდვა ახალი ინფორმაციის ეკრანზე? 30 00:01:28,070 --> 00:01:28,685 >> სტუდენტი: Code. 31 00:01:28,685 --> 00:01:29,560 დევიდ ჯ Malan: Code. 32 00:01:29,560 --> 00:01:30,440 OK. 33 00:01:30,440 --> 00:01:31,995 ჩვენ მიიღოს, რომ. 34 00:01:31,995 --> 00:01:35,310 უფრო ზუსტი. 35 00:01:35,310 --> 00:01:37,639 მე ვგულისხმობ, ჩვენ შეგვიძლია ამის გაკეთება ეს C, გულწრფელად. 36 00:01:37,639 --> 00:01:38,930 ეს იქნება ტკივილი კისრის. 37 00:01:38,930 --> 00:01:41,045 But-- ეს ვალდებულება? 38 00:01:41,045 --> 00:01:41,895 >> სტუდენტი: Yeah. 39 00:01:41,895 --> 00:01:42,677 ცვლადები, იქნებ? 40 00:01:42,677 --> 00:01:43,760 დევიდ ჯ Malan: ცვლადები. 41 00:01:43,760 --> 00:01:44,160 OK, დარწმუნებული ვარ. 42 00:01:44,160 --> 00:01:45,740 ცვლადი შეიძლება, რა თქმა უნდა დაგვეხმაროს out. 43 00:01:45,740 --> 00:01:47,020 და კიდევ რაღაც მარტივი. 44 00:01:47,020 --> 00:01:50,640 ჩვენ მას პირველივე პროგრამის პირველივე დღეს 45 00:01:50,640 --> 00:01:55,686 როდესაც ჩვენ რეალურად განაცხადა: "Hello World". 46 00:01:55,686 --> 00:01:56,570 >> სტუდენტი: ბეჭდვა. 47 00:01:56,570 --> 00:01:57,778 >> დევიდ ჯ Malan: Print, არა? 48 00:01:57,778 --> 00:02:01,050 ბეჭდვითი, ან printf წელს მსოფლიო C. ასე რომ, ამ დროს, 49 00:02:01,050 --> 00:02:03,362 ჩვენ გვქონდა ჩვენი განკარგულებაშია ენა C, 50 00:02:03,362 --> 00:02:05,570 in particular-- და კიდევ Scratch, რომ ამ საკითხზე, რომ 51 00:02:05,570 --> 00:02:07,400 შეგიძლიათ გენერირება სტრიქონები. 52 00:02:07,400 --> 00:02:11,090 >> ისე, თუ HTML, როგორც ჩვენ ვნახეთ გასულ კვირას, არის უბრალოდ მთელი bunch of სტრიქონები 53 00:02:11,090 --> 00:02:14,692 თუმცა ღია ფრჩხილებში და დახურული ფრჩხილებში და გარკვეული რითმის 54 00:02:14,692 --> 00:02:16,650 და ამის მიზეზი, ასე რომ, ჩვენ შეიძლება მართლაც 55 00:02:16,650 --> 00:02:20,440 დაიწყოს მომტანი ვებ გვერდები ან ხელით აკრეფით მათ გარეთ gedit 56 00:02:20,440 --> 00:02:23,870 ან Microsoft Word, რომ matter-- ჩვენ უბრალოდ უნდა ტექსტური რედაქტორი. 57 00:02:23,870 --> 00:02:26,830 >> ან ჩვენ შეგვიძლია დავწეროთ კოდი, თქვენი წინადადება 58 00:02:26,830 --> 00:02:30,435 ადრე, რომ მოდით დინამიურად წარმოქმნის HTML, 59 00:02:30,435 --> 00:02:32,560 და რომ ის, რასაც ჩვენ ვაპირებთ დაიწყოს აკეთებს PHP 60 00:02:32,560 --> 00:02:34,900 და საბოლოოდ კი ენის მოუწოდა JavaScript, 61 00:02:34,900 --> 00:02:37,910 არის გამოიყენოს ერთი ენიდან გენერირება სხვა. 62 00:02:37,910 --> 00:02:40,720 და მართლაც, ეს არის ის, რაც Facebook და ბევრი, ბევრი სხვა საიტები 63 00:02:40,720 --> 00:02:44,530 ამის გაკეთება რეალურად დინამიურად არაა ახალი ინფორმაციის თქვენთვის. 64 00:02:44,530 --> 00:02:47,117 >> მოდით დავიწყოთ გაკეთება cryptic ეძებს ხაზი, მაგრამ ერთი 65 00:02:47,117 --> 00:02:48,450 რომ სინამდვილეში საკმაოდ ძლიერი. 66 00:02:48,450 --> 00:02:51,210 ჯერჯერობით, ჩვენ უკვე გამოყენებით C, რომელიც შედგენილი ენაზე. 67 00:02:51,210 --> 00:02:55,050 და მხოლოდ სწრაფი recap-- შედგენილი ენა აქვს, რაც დამახასიათებელი? 68 00:02:55,050 --> 00:02:59,050 თქვენ აშკარად უნდა შეადგინონ , მაგრამ რას ნიშნავს ეს? 69 00:02:59,050 --> 00:03:00,505 ჰო? 70 00:03:00,505 --> 00:03:02,940 >> სტუდენტი: ეს უნდა იყოს აწყობილი მანქანა კოდი. 71 00:03:02,940 --> 00:03:03,060 >> დევიდ ჯ Malan: OK. 72 00:03:03,060 --> 00:03:04,530 ეს უნდა იყოს აწყობილი შევიდა მანქანა კოდი. 73 00:03:04,530 --> 00:03:07,340 ასე რომ თქვენ მიიღოს თქვენს კოდებს, რომელიც არის ერთგვარი English მსგავსი. 74 00:03:07,340 --> 00:03:09,270 თქვენ გარდაქმნას, რომ რაღაც დაბალი დონის 75 00:03:09,270 --> 00:03:11,590 რაც საბოლოოდ მოუწოდა ობიექტის code-- 0 და 1 ს. 76 00:03:11,590 --> 00:03:14,830 და ეს იმ 0 და 1 ს, რომელიც CPU, როგორიცაა იმ მიერ Intel, 77 00:03:14,830 --> 00:03:16,110 რეალურად ესმის. 78 00:03:16,110 --> 00:03:19,690 >> ახლა, PHP და Python და Ruby და JavaScript და bunches სხვა 79 00:03:19,690 --> 00:03:23,190 ახალი ენებზე არ არის შედგენილი ენებზე, მაგრამ ინტერპრეტირებული ენებზე, 80 00:03:23,190 --> 00:03:26,630 რაც იმას ნიშნავს, თქვენ უნდა აკრიფოთ მათ და შემდეგ თქვენ არ აქციოს ისინი 0 და 1 ს. 81 00:03:26,630 --> 00:03:30,790 თქვენ ნაცვლად მხოლოდ გთავაზობთ შემდეგ, როგორც შეყვანის სხვისი პროგრამა, 82 00:03:30,790 --> 00:03:32,080 მოუწოდა თარჯიმანი. 83 00:03:32,080 --> 00:03:34,460 და რომ პირის პროგრამა შემუშავებულია 84 00:03:34,460 --> 00:03:38,280 გვესმოდეს რა თითოეული და ყველა სიმბოლო Python ან PHP 85 00:03:38,280 --> 00:03:42,650 ან Ruby ან ნებისმიერი რაოდენობის სხვა ენებზე ნიშნავს. 86 00:03:42,650 --> 00:03:44,760 >> ასე რომ, ყველა ჩვენ გვჭირდება რაღაც მსგავსი. 87 00:03:44,760 --> 00:03:46,350 ასე რომ, ფაქტობრივად, მე ვაპირებ წასვლა მეტი ელექტრო 88 00:03:46,350 --> 00:03:48,100 აქ, ისევე, ნებისმიერ ძველი ფანჯრის, და ჩვენ 89 00:03:48,100 --> 00:03:52,580 ვაპირებ წავიდეთ წინ და გახსნა ფაილი სახელად, ვთქვათ, hello. 90 00:03:52,580 --> 00:03:55,780 ახლა ადრე, მე შეიძლება გადაარჩინა ეს თუნდაც ფაილის გაფართოება, 91 00:03:55,780 --> 00:03:57,910 მაგრამ მე ვაპირებ ამის გაკეთებას რაღაც უფრო მარტივი აქ. 92 00:03:57,910 --> 00:04:02,450 მე ვაპირებ წავიდეთ წინ და დავიწყოთ ეს ფაილი ამ cryptic სინტაქსი. 93 00:04:02,450 --> 00:04:06,310 ასე რომ, "შესახებ, ბინ, env, გარემოს, php. " 94 00:04:06,310 --> 00:04:10,670 >> ეს უბრალოდ ერთი ხაზი კოდი, რომ ვაპირებ გითხრათ, ჩემი ოპერაციული სისტემა, 95 00:04:10,670 --> 00:04:13,730 გადასვლა თქვენს ადგილობრივ გარემოს რასაც არ არის, 96 00:04:13,730 --> 00:04:18,149 იქ, სადაც PHP is-- interpreter-- და წავიდეთ წინ და გამოიყენოს, რომ თარჯიმანი 97 00:04:18,149 --> 00:04:20,589 ინტერპრეტაცია შემდეგი კოდი. 98 00:04:20,589 --> 00:04:22,760 ახლა, ეს არის ერთგვარი მახინჯი თვისება PHP. 99 00:04:22,760 --> 00:04:24,980 მაგრამ ამ ენაზე, ნებისმიერი დროს წერთ PHP კოდი, 100 00:04:24,980 --> 00:04:29,200 თქვენ უნდა ერთი ამ მახინჯი PHP tags დემარკაციას დასაწყისში 101 00:04:29,200 --> 00:04:32,220 თქვენი code-- 00:04:37,430 >> მაგრამ ქვემოთ აქ, მე შემიძლია ახლა რაღაც საკმაოდ მარტივია, ისევე printf hello მძიმით 103 00:04:37,430 --> 00:04:40,922 მსოფლიოს წარმატებული ნ ახლოს გაცემა, დახუროს ფრჩხილებში. 104 00:04:40,922 --> 00:04:42,630 და შემდეგ უბრალოდ კარგი ღონისძიება, მე ვაპირებ 105 00:04:42,630 --> 00:04:45,380 წავიდეთ წინ და ახლოს ჩემი php tag მეტი აქ 106 00:04:45,380 --> 00:04:47,390 ასე რომ ყველაფერი გამოიყურება ლამაზად საკმაოდ დაბეჭდილი. 107 00:04:47,390 --> 00:04:50,780 >> და როგორც კი დააჭირეთ Save gedit არის რეალურად ჭკვიანი საკმარისი 108 00:04:50,780 --> 00:04:54,620 შევხედოთ, რომ პირველივე ხაზი და ხვდები, რა, თქვენ წერილობით PHP კოდი. 109 00:04:54,620 --> 00:04:56,710 მიადევნე თვალი სინტაქსის შედეგი ეს ფერები 110 00:04:56,710 --> 00:04:58,690 აქ ისე, რომ იგი დგას ცოტა მეტი. 111 00:04:58,690 --> 00:05:01,300 მაგრამ ახლა მე ვაპირებ წავიდეთ ქვემოთ ჩემი ტერმინალის ფანჯარაში. 112 00:05:01,300 --> 00:05:02,340 მე მიუახლოვდით. 113 00:05:02,340 --> 00:05:06,860 >> ამ პროგრამას ერქვა "Hello" ასე რომ, მე ვაპირებ, რომ dot slash hello, 114 00:05:06,860 --> 00:05:07,990 მაგრამ ნებართვა მიეცა. 115 00:05:07,990 --> 00:05:08,490 და bash. 116 00:05:08,490 --> 00:05:10,610 ჩვენ რეალურად მოვისმინეთ, რომ რაც რამდენიმე კვირის წინ 117 00:05:10,610 --> 00:05:13,140 კონტექსტში Shellshock, ერთ-ერთი იმ შეცდომებს. 118 00:05:13,140 --> 00:05:16,240 >> მაგრამ ნებართვა უარყო ჩვენ ვნახეთ ადრე, ალბათ, სხვადასხვა კონტექსტში. 119 00:05:16,240 --> 00:05:19,060 ვინმეს გავიხსენოთ, როგორ თქვენ დაფიქსირება რაღაც 120 00:05:19,060 --> 00:05:22,100 სადაც ნებართვა უარყო მსგავსი? 121 00:05:22,100 --> 00:05:23,490 რა არის ბრძანება, მინიმუმ? 122 00:05:23,490 --> 00:05:24,159 >> სტუდენტი: Chmod. 123 00:05:24,159 --> 00:05:26,700 დევიდ ჯ Malan: ჰო, chmod, შეცვლის რეჟიმში ფაილი. 124 00:05:26,700 --> 00:05:30,171 და თქვენ მიიღებთ ყველა უფრო გამოიყენება ამ მომავალ კვირას მომდევნო პრობლემა 125 00:05:30,171 --> 00:05:30,670 მითითებული. 126 00:05:30,670 --> 00:05:33,211 მაგრამ ახლა, მე ვაპირებ შეცვლას რეჟიმი არ იყოს იკითხება, 127 00:05:33,211 --> 00:05:36,650 მაგრამ, ყველას executeability პრივილეგიები, უნარი 128 00:05:36,650 --> 00:05:37,710 გასაშვებად ამ ფაილის. 129 00:05:37,710 --> 00:05:40,360 და მე ვაპირებ დაავალოს რომ ფაილი hello. 130 00:05:40,360 --> 00:05:45,150 >> თუ მე ახლა dot slash მიესალმები მიუთითოთ, თქვენ ვხედავ, ფაქტობრივად, ჩემი პროგრამა, hello მსოფლიოში. 131 00:05:45,150 --> 00:05:48,760 და რა ნაბიჯი არ მინდა ნათლად გაფართოებული საერთოდ? 132 00:05:48,760 --> 00:05:49,520 შედგენა. 133 00:05:49,520 --> 00:05:51,680 ასე რომ მე უბრალოდ გაიქცა ეს პროგრამა საკმაოდ უბრალოდ. 134 00:05:51,680 --> 00:05:55,690 >> და აღმოჩნდება, თქვენ შეგიძლიათ ამის გაკეთება ბევრი სინტაქსი თქვენში C. 135 00:05:55,690 --> 00:06:03,400 ნება მომეცით წავიდეს დღევანდელი კოდი, რომელიც მე დააყენა ჩემი vhost დირექტორია 136 00:06:03,400 --> 00:06:05,250 აქ, რეალური მიზეზები ჩვენ დავბრუნდებით. 137 00:06:05,250 --> 00:06:09,350 და მე ვაპირებ წასვლას, ვთქვათ, პირობები 1. 138 00:06:09,350 --> 00:06:12,450 >> და ნახავ აქ, პირველი და პირველ რიგში, მთელი bunch of კომენტარები. 139 00:06:12,450 --> 00:06:15,240 მაგრამ ეს არის რეალურად ხელახლა შექმნა PHP 140 00:06:15,240 --> 00:06:18,960 პროგრამა გავაკეთეთ კვირის ერთი ე.წ. პირობები 1.გ 141 00:06:18,960 --> 00:06:20,690 სადაც მიზანი ცხოვრების ამ პროგრამის 142 00:06:20,690 --> 00:06:22,950 როგორც ჩანს, ვთხოვო მომხმარებლის რიცხვი 143 00:06:22,950 --> 00:06:25,270 და შემდეგ დაკავდით ფუმფულა ანალიზი ეს, რომლის დროსაც 144 00:06:25,270 --> 00:06:29,510 იტყვით, თუ ეს დადებითი ან უარყოფითი ან ნულის ტოლია. 145 00:06:29,510 --> 00:06:34,220 და მე, რათა ეს მხოლოდ იმიტომ, გარდა იქნებ ერთი პატარა დეტალი, 146 00:06:34,220 --> 00:06:37,150 ეს არაფრით ისე შორს C. 147 00:06:37,150 --> 00:06:39,930 >> რა არის დამახასიათებელი აქ რომ იქნებ jumps გარეთ 148 00:06:39,930 --> 00:06:41,410 თქვენ, როგორც ცოტა განსხვავებული? 149 00:06:41,410 --> 00:06:42,160 შესაძლოა, ორი რამ. 150 00:06:42,160 --> 00:06:42,660 ჰო? 151 00:06:42,660 --> 00:06:44,070 >> სტუდენტი: დოლარის ნიშანი n? 152 00:06:44,070 --> 00:06:44,944 >> დევიდ ჯ Malan: ჰო. 153 00:06:44,944 --> 00:06:46,210 ასე დოლარის ნიშანი n იმყოფება. 154 00:06:46,210 --> 00:06:48,120 და დოლარის ნიშნები, როგორც ჩვენ დავინახავთ, ვაპირებთ 155 00:06:48,120 --> 00:06:51,460 იყოს სარემონტო დასაწყისში ნებისმიერი ცვლადი PHP- ში. 156 00:06:51,460 --> 00:06:54,250 ეს ორივე კარგი და bad-- კარგი რომ ეს არის ერთგვარი აშკარა რა 157 00:06:54,250 --> 00:06:56,797 ცვლადი, ცუდი, რომ ეს კიდევ ერთი რამ უნდა აკრიფოთ. 158 00:06:56,797 --> 00:06:58,630 და კიდევ ერთი სხვა რაც ჩვენ არ საკმაოდ 159 00:06:58,630 --> 00:07:00,876 ჩანს, მინიმუმ ამ მართლწერა. yeah? 160 00:07:00,876 --> 00:07:01,630 >> სტუდენტი: readline. 161 00:07:01,630 --> 00:07:02,671 >> დევიდ ჯ Malan: readline. 162 00:07:02,671 --> 00:07:06,550 Readline ჩვენ არ, თავისთავად, in C, მიუხედავად იმისა, რომ არსებობს რაღაც 163 00:07:06,550 --> 00:07:09,530 მსგავსი, მაგრამ ჩვენ გამოიყენება getstring, და ეს არის მისი კოლეგა. 164 00:07:09,530 --> 00:07:12,950 ასე რომ, თუ მე წასვლას ამ დირექტორია, რომელიც ხდება უნდა იყოს, 165 00:07:12,950 --> 00:07:18,030 როგორც მე ახსნას ცოტა ჩემი vhost დირექტორია და ჩემი წყარო მომსახურება, 166 00:07:18,030 --> 00:07:22,730 და მე წავიდეთ წინ და ამის გაკეთება dot slash conditions-- whoops-- dot slash 167 00:07:22,730 --> 00:07:26,710 პირობები 1, დაინახავთ, კიდევ ერთხელ, იგივე issue-- ნებართვა მიეცა. 168 00:07:26,710 --> 00:07:33,610 >> ნება მომეცით, zoom in და ამის chmod პლუს x პირობების შესახებ, dot slash პირობები. 169 00:07:33,610 --> 00:07:35,222 მინდა მთელი გთხოვთ, 50. 170 00:07:35,222 --> 00:07:36,930 და ჩვენ შეიძლება ითამაშოს ამ თამაში მთელი დღის განმავლობაში. 171 00:07:36,930 --> 00:07:39,140 ის აპირებს მოიქცეს ისე, როგორც ეს კვირაში ერთი. 172 00:07:39,140 --> 00:07:42,860 >> OK, ასე არ არის, რომ სხვადასხვა, გარდა არა მხოლოდ, რომ უმნიშვნელო ცოტა სინტაქსი, 173 00:07:42,860 --> 00:07:45,490 მაგრამ ზედა, მე კიდევ ერთხელ მქონდა ეს ხაზი, რომელიც 174 00:07:45,490 --> 00:07:49,760 საშუალება მომცა ის, რაც ჰგავს C პროგრამა მოუწოდა hello, 175 00:07:49,760 --> 00:07:51,150 მოუწოდა პირობები 1. 176 00:07:51,150 --> 00:07:54,520 მაგრამ ეს არ არის 0 და პირობა მე შესრულებაში პირდაპირ. 177 00:07:54,520 --> 00:07:57,620 ის ნაცვლად გაშვებული ეს თარჯიმანი, რომლის სახელიც 178 00:07:57,620 --> 00:07:59,440 ხდება, რომ იყოს იდენტური ენაზე. 179 00:07:59,440 --> 00:08:04,970 პროგრამა ეწოდება PHP, და ჩემი კოდი ქვემოთ ხაზის ერთი მიმდინარეობს შევიდა იგი. 180 00:08:04,970 --> 00:08:07,740 >> ჩვენ შეგვიძლია გავაკეთოთ კიდევ ერთი საკმაოდ მარტივი მაგალითად თქვენში რაღაც 181 00:08:07,740 --> 00:08:09,240 ჩვენ გავაკეთეთ კვირის წინ. 182 00:08:09,240 --> 00:08:12,020 კიდევ ერთხელ, ეს არის ერთგვარი თვითნებური ბლოკი კოდი 183 00:08:12,020 --> 00:08:14,000 რომ როგორც ჩანს, არ რა, როდესაც თქვენ გაუშვით? 184 00:08:14,000 --> 00:08:15,625 რა არის ეს აპირებს ბეჭდვა, სავარაუდოდ? 185 00:08:15,625 --> 00:08:23,540 186 00:08:23,540 --> 00:08:28,250 >> ასე რომ თავდაპირველად on line 16, ეს ვაპირებ ვთქვა x არის 2, ალბათ. 187 00:08:28,250 --> 00:08:30,920 % D არის იგივე როგორც $ i for printf. 188 00:08:30,920 --> 00:08:33,460 ასე შემდეგ ის cubing, dot, dot, dot, ხაზი 17. 189 00:08:33,460 --> 00:08:36,299 და შემდეგ ხაზი 18 როგორც ჩანს, მოვუწოდებთ ფუნქცია Cubed. 190 00:08:36,299 --> 00:08:37,600 და სად არის Cubed განსაზღვრული? 191 00:08:37,600 --> 00:08:40,319 >> ასევე, როგორც ჩანს, ხაზი 25, ასე რომ ეს არ არის ყველა, რომ სხვადასხვა. 192 00:08:40,319 --> 00:08:42,610 მაქვს რამდენიმე ზემოთ მოყვანილი კომენტარები , მაგრამ იმ ნაწილს, 193 00:08:42,610 --> 00:08:45,370 ეს არის საკმაოდ მარტივია პორტირების ან კონვერტაციის 194 00:08:45,370 --> 00:08:48,470 საწყისი C პროგრამა PHP ვერსია. 195 00:08:48,470 --> 00:08:52,670 მაგრამ არსებობს რამდენიმე განსხვავებები, რომ იქნებ უნდა გადმოხტა. 196 00:08:52,670 --> 00:08:56,100 რა არის განსხვავებული, თუ როგორ შეიძლება დაწეროს იგივე პროგრამის C? 197 00:08:56,100 --> 00:08:57,900 >> სტუდენტი: [INAUDIBLE]. 198 00:08:57,900 --> 00:09:00,070 >> დევიდ ჯ Malan: არსებობს არ პროტოტიპი up დაბრუნება. 199 00:09:00,070 --> 00:09:03,210 ასე PHP-- და გულწრფელად, ბევრი თანამედროვე languages-- 200 00:09:03,210 --> 00:09:06,920 არის ბევრი ჭკვიანია და უფრო სასარგებლო ვიდრე C compilers, რომ თქვენ 201 00:09:06,920 --> 00:09:09,740 შეგიძლიათ განათავსოთ ფუნქცია აქ, თქვენ შეგიძლიათ განათავსოთ ფუნქცია აქ, 202 00:09:09,740 --> 00:09:12,740 და თარჯიმანი აპირებს ამის გაკეთება თქვენ სასარგებლოდ მოსმენით 203 00:09:12,740 --> 00:09:16,010 მთელი ფაილი, სანამ იგი გადაწყვეტს რომ ზოგიერთი ფუნქცია არ არსებობს. 204 00:09:16,010 --> 00:09:17,970 ასე ლამაზი გაუმჯობესების წლის შემდეგ. 205 00:09:17,970 --> 00:09:22,126 მაგრამ არსებობს ასევე რაღაც სხვა განსხვავებული ან არყოფნის აქ. 206 00:09:22,126 --> 00:09:22,626 ჰო? 207 00:09:22,626 --> 00:09:25,084 >> სტუდენტი: [INAUDIBLE]. 208 00:09:25,084 --> 00:09:27,750 დევიდ ჯ Malan: ჩვენ არ უნდა განაცხადოს ტიპის ცვლადი, 209 00:09:27,750 --> 00:09:31,780 ასე რომ, ჩვენ ვხედავთ, სანამ ხანგრძლივი, რომ არსებობს სხვადასხვა ტიპის PHP, 210 00:09:31,780 --> 00:09:34,970 მაგრამ თქვენ არ უნდა მიუთითოთ მათ, რომელიც ასევე არის ორივე კარგი და ცუდი. 211 00:09:34,970 --> 00:09:36,623 და კიდევ ერთი სხვა რამ დაკარგული. 212 00:09:36,623 --> 00:09:37,430 >> სტუდენტი: არ არსებობს ბიბლიოთეკები. 213 00:09:37,430 --> 00:09:38,630 >> დევიდ ჯ Malan: არ არსებობს ბიბლიოთეკები. 214 00:09:38,630 --> 00:09:39,350 OK, ასე რომ ლამაზი. 215 00:09:39,350 --> 00:09:40,540 ჩვენ კიდევ უფრო გარეთ ყუთში. 216 00:09:40,540 --> 00:09:43,373 ასე რომ რეალურად გაცილებით მეტი რამ, ვიდრე ვფიქრობდი, იყო განსხვავებული. 217 00:09:43,373 --> 00:09:44,350 როგორ შესახებ გზა უკან? 218 00:09:44,350 --> 00:09:46,032 რა არის ეს? 219 00:09:46,032 --> 00:09:46,740 ამბობენ, რომ ეს კიდევ ერთხელ? 220 00:09:46,740 --> 00:09:47,960 >> სტუდენტი: Pointer. 221 00:09:47,960 --> 00:09:49,270 >> დევიდ ჯ Malan: არ მითითებას. 222 00:09:49,270 --> 00:09:51,280 OK, მინიმუმ ამ მაგალითად, არ. 223 00:09:51,280 --> 00:09:52,070 რომ სამართლიანი. 224 00:09:52,070 --> 00:09:55,090 ასე არ არის პოინტერები in PHP რეალურად კულტურას. 225 00:09:55,090 --> 00:09:58,730 არსებობს რაღაც მოუწოდა ცნობას, მაგრამ ჩვენ არ დახარჯოს დიდი დრო არ არსებობს. 226 00:09:58,730 --> 00:09:59,520 და რა? 227 00:09:59,520 --> 00:10:00,185 >> სტუდენტი: Main. 228 00:10:00,185 --> 00:10:01,060 დევიდ ჯ Malan: Main. 229 00:10:01,060 --> 00:10:02,768 ასე რომ, ეს იყო biggie მე ვფიქრობ. 230 00:10:02,768 --> 00:10:04,660 ყურადღება მიაქციეთ, რომ არ არსებობს მთავარი შესვლის წერტილი. 231 00:10:04,660 --> 00:10:06,525 თქვენ უბრალოდ დაიწყება წერილობით თქვენი კოდი. 232 00:10:06,525 --> 00:10:08,400 და ეს არის ფაქტიურად იქნება მომგებიანი 233 00:10:08,400 --> 00:10:10,560 როდესაც ჩვენ გადასვლას მომენტალურად რეალურად გამოყენებით 234 00:10:10,560 --> 00:10:13,980 ამავე ენის ვებ- პროგრამირების, რისთვისაც 235 00:10:13,980 --> 00:10:16,580 არ მინდა, რომ მხოლოდ ერთი შესვლის წერტილი. 236 00:10:16,580 --> 00:10:19,980 ჩვენ დაგვჭირდება აქვს bunch მისამართები, bunch სხვადასხვა ფაილები 237 00:10:19,980 --> 00:10:22,930 ყველა აღების შესახებ input და წარმოების გამომავალი. 238 00:10:22,930 --> 00:10:27,130 >> მაგრამ აქ არის ძალიან საშინელება მაგალითად, მე პირობა დადო, ბოლო დროს, 239 00:10:27,130 --> 00:10:30,130 კერძოდ, ამ საქაღალდეში აქ, misspellings. 240 00:10:30,130 --> 00:10:33,680 ასე რომ ამ ფაილის speller, რომელიც ჩვენ არ დახარჯოს დიდი დრო, არ არის 241 00:10:33,680 --> 00:10:37,870 არსებითად porting-- P-O-R-T. უბრალოდ მიცემულ სიტყვას, როდესაც, ვთქვათ, 242 00:10:37,870 --> 00:10:40,800 თქვენ კონვერტირება ერთი ენიდან სხვა ხელით, როგორც წესი. 243 00:10:40,800 --> 00:10:45,680 >> ეს არის პორტირება PC ვერსია speller საწყისი pset 5. 244 00:10:45,680 --> 00:10:48,856 და მე არსებითად შეეცადა კონვერტირება ეს ხაზს, როგორც მჭიდროდ როგორც შემიძლია. 245 00:10:48,856 --> 00:10:51,730 ასე რომ, თუ გსურთ ამ სახის რამ, ეს რეალურად ღირს რაღაც მომენტში 246 00:10:51,730 --> 00:10:54,229 უბიძგებენ მათ ორივე up მხარეს მხარეს და ხედავს, თუ რა არის იგივე 247 00:10:54,229 --> 00:10:55,230 და რა განსხვავებული. 248 00:10:55,230 --> 00:10:57,510 მაგრამ ისინი საკმაოდ darn მსგავსი. 249 00:10:57,510 --> 00:11:00,110 თუ გახსოვთ რა speller კი ჩანდა, 250 00:11:00,110 --> 00:11:02,110 მიუხედავად იმისა, რომ თქვენ არ უნდა შეიცვალოს ეს ფაილი, 251 00:11:02,110 --> 00:11:04,860 ეს საკმაოდ მსგავსი სტრუქტურულად მხოლოდ რამდენიმე 252 00:11:04,860 --> 00:11:06,200 ცვლილებების აქ და იქ. 253 00:11:06,200 --> 00:11:10,140 >> ასე რომ, ეს მხოლოდ იმის თქმა, რომ ეს საკმაოდ პირდაპირი გარდაქმნას speller 254 00:11:10,140 --> 00:11:12,000 C- დან PHP. 255 00:11:12,000 --> 00:11:15,390 მაგრამ ლექსიკონის, არსებობს რაღაც კიდევ უფრო მყარი. 256 00:11:15,390 --> 00:11:19,270 ნება მომეცით წავიდეთ წინ და ქმნის ჩემი dictionary.php ფაილი. 257 00:11:19,270 --> 00:11:24,010 ისე ოდნავ განსხვავებული, რომ ჩვენ მოვუწოდებთ მას .php ნაცვლად გ. 258 00:11:24,010 --> 00:11:26,980 იმიტომ, რომ ეს არის PHP ფაილი, I გავაკეთოთ ოდნავ annoyingly-- აქვს 259 00:11:26,980 --> 00:11:30,132 დაიწყოს ფაილი PHP აქვს, რომ. 260 00:11:30,132 --> 00:11:32,340 და მე ვაპირებ წავიდეთ წინ და განსაზღვრავს რამდენიმე ფუნქციები. 261 00:11:32,340 --> 00:11:35,770 ფუნქცია მოუწოდა შემოწმება, რომელიც არის აპირებთ სიტყვა, როგორც ადრე. 262 00:11:35,770 --> 00:11:37,520 მაგრამ ეს არგუმენტი ის გვექნება დოლარი 263 00:11:37,520 --> 00:11:39,840 ხელი მოაწეროს, რადგან ჩვენ, კიდევ ერთხელ, გამოყენებით PHP. 264 00:11:39,840 --> 00:11:42,350 სხვა ფუნქცია dictionary.c იყო load 265 00:11:42,350 --> 00:11:47,120 და მიიღო სახელი ლექსიკონი, ასე რომ მიიღოს, რომ ფუნქცია მზად ვართ წავიდეთ. 266 00:11:47,120 --> 00:11:50,920 >> კიდევ ერთი dictionary.c რა? 267 00:11:50,920 --> 00:11:54,580 ზომა ერთი ძვირფასი პირობა, ყოველ შემთხვევაში, თუ ინახება რამდენიმე ცვლადი გარშემო. 268 00:11:54,580 --> 00:11:57,830 ასე ზომა აქვს დაბრუნდეს ცვლადი. 269 00:11:57,830 --> 00:11:59,090 და შემდეგ იყო განიტვირთოს. 270 00:11:59,090 --> 00:12:02,830 >> ასე იყო ეს ოთხი ფუნქციების პრობლემა მითითებული 5 271 00:12:02,830 --> 00:12:06,770 რომ თქვენ საჭირო განახორციელოს მონაცემები სტრუქტურა და სტრუქტურებში. 272 00:12:06,770 --> 00:12:10,170 ასე რომ, მე პირობა დადო, რომ PHP, ჩვენ შეგვიძლია განვაცხადოთ, 273 00:12:10,170 --> 00:12:14,490 hash მაგიდა, მაგალითად, ყველა, რომ უფრო ადვილად. 274 00:12:14,490 --> 00:12:17,377 ფაქტობრივად, თუ მინდა hash მაგიდა, მე უბრალოდ აპირებს მოსწონს, რომ 275 00:12:17,377 --> 00:12:18,460 და იქ ჩემი hash მაგიდასთან. 276 00:12:18,460 --> 00:12:21,555 და ეს შენიშვნა, საშინელება, ჩვენ შეჩერდით ბოლო დროს. 277 00:12:21,555 --> 00:12:23,930 და თქვენ იცით, თუ რა მინდოდა ცვლადი ზომა, ასევე, 278 00:12:23,930 --> 00:12:25,867 ეს ერთი არ არის ყველა რომ განსხვავდება C, 279 00:12:25,867 --> 00:12:27,450 მაგრამ მე ვაპირებ წავიდეთ წინ და ამის გაკეთება. 280 00:12:27,450 --> 00:12:28,630 და შეამჩნია არსებობს მონაცემები ტიპის. 281 00:12:28,630 --> 00:12:31,180 და მე დაბრუნდეს შემდეგ და რეალურად დაამატოთ ზოგიერთი კომენტარი. 282 00:12:31,180 --> 00:12:32,480 მაგრამ რაც შეეხება დატვირთვა? 283 00:12:32,480 --> 00:12:35,780 >> თუ დოლარის ნიშანი ლექსიკონი არის სახელი ჩემი ფაილი 284 00:12:35,780 --> 00:12:39,600 და მე რეალურად გვინდა ჩატვირთვა სიტყვა ამ მაგიდასთან არის, 285 00:12:39,600 --> 00:12:42,360 შემიძლია რეალურად გააკეთებს რაღაც საკმაოდ მარტივია. 286 00:12:42,360 --> 00:12:44,880 One-- და ეს არის minorly annoying-- in PHP, 287 00:12:44,880 --> 00:12:47,710 თქვენ უნდა მიუთითოთ შიგნით ფუნქცია თუ 288 00:12:47,710 --> 00:12:51,060 გინდათ გლობალური ცვლადი რომ საზღვრებს მიღმა. 289 00:12:51,060 --> 00:12:53,530 >> მაგრამ ეს არ არის განსაკუთრებით საინტერესო ახლა. 290 00:12:53,530 --> 00:12:57,920 რა არის უფრო საინტერესო ის არის, ეს თითოეულ მშენებლობა რომ ვთქვი ბოლო დროს. 291 00:12:57,920 --> 00:13:01,880 და აღმოჩნდება, რომ PHP ფუნქცია აქვს მოუწოდა ფაილი, რომლის მიზანი ცხოვრებაში 292 00:13:01,880 --> 00:13:05,550 არის გახსნას ფაილი და იკითხება ყველა მისი ხაზები მასივი 293 00:13:05,550 --> 00:13:06,840 და გადასცემს მათ უკან. 294 00:13:06,840 --> 00:13:12,170 >> რაც უნდა ითქვას, მე შემიძლია ამის გაკეთება ლექსიკონი ასე რომ ახლა ეფექტურად, როდესაც მე მოვუწოდებ ფაილი, 295 00:13:12,170 --> 00:13:15,472 ეს აპირებს გადასცემს ჩემს უკან მასივი სიტყვა ფაილი. 296 00:13:15,472 --> 00:13:16,430 ეს არ არის ყველა, რომ კარგი. 297 00:13:16,430 --> 00:13:20,130 ის კვლავ იქნება ონლაინ სიტყვა, რაღაც წრფივი. 298 00:13:20,130 --> 00:13:23,880 მაგრამ მე წავიდეთ წინ და iterate მეტი თითოეული სიტყვა გამოყენებით 299 00:13:23,880 --> 00:13:25,710 რომ სინტაქსი ჩვენ ვნახეთ მოკლედ ბოლო დროს. 300 00:13:25,710 --> 00:13:27,940 და დაინახავთ, რომ ეს უფრო მომავალ PSET. 301 00:13:27,940 --> 00:13:32,070 >> მაგრამ ახლა მაქვს მარყუჟის iterating მეტი ყოველ სიტყვას ლექსიკონი. 302 00:13:32,070 --> 00:13:36,100 და თითოეულ iteration, გავიხსენოთ, მე ვარ მოუწოდებდა არსებული სიტყვა "სიტყვა". 303 00:13:36,100 --> 00:13:39,790 და ყველა ის აპირებს დააყენა სიტყვა შევიდა ლექსიკონი არის 304 00:13:39,790 --> 00:13:43,530 იქნება სიტყვა ვხვდები "ჭეშმარიტი". 305 00:13:43,530 --> 00:13:44,740 ეს არის ჩემი ჩანართით ფუნქცია. 306 00:13:44,740 --> 00:13:46,661 ეს არის ჩემი დატვირთვის ფუნქცია ჩემი ლექსიკონი. 307 00:13:46,661 --> 00:13:49,410 ახლა ეს ცოტა მოტყუებას, რადგან, იცით, რა, რომ რეალურად 308 00:13:49,410 --> 00:13:52,920 წარმატებული ო ს დასასრულს სიტყვა რომ მე, ალბათ, თავი დაეღწია, 309 00:13:52,920 --> 00:13:56,380 მაგრამ ეს არ არის პრობლემა, რადგან PHP აქვს ფუნქცია მოუწოდა chop რომელიც სიტყვასიტყვით 310 00:13:56,380 --> 00:13:58,480 chops off ერთი ხასიათი ბოლომდე. 311 00:13:58,480 --> 00:13:59,400 ასე რომ პრობლემა არ არსებობს. 312 00:13:59,400 --> 00:14:02,199 ჩვენ წავიდა წინ და პრაქტიკულად შემცირდა, რომ მხოლოდ ამ. 313 00:14:02,199 --> 00:14:05,240 და ახლა მე უნდა ალბათ შენარჩუნება სიმღერა ზომა, მოდით მინიმუმ ამის გაკეთება 314 00:14:05,240 --> 00:14:05,835 ზომა ++. 315 00:14:05,835 --> 00:14:07,339 შემიძლია, რომ, როგორც ადრე. 316 00:14:07,339 --> 00:14:10,380 და მაშინ ეს ალბათ აპირებს იმუშავებს მხოლოდ ჯარიმა, ისე, რომ ის დაბრუნდება ნამდვილი. 317 00:14:10,380 --> 00:14:10,930 გაკეთდეს. 318 00:14:10,930 --> 00:14:11,797 PSET 5. 319 00:14:11,797 --> 00:14:13,545 >> [სიცილის] 320 00:14:13,545 --> 00:14:14,420 >> დევიდ ჯ Malan: OK. 321 00:14:14,420 --> 00:14:16,628 ჩვენ ვაპირებთ, რომ კიდევ ერთხელ მომდევნო PSET, ძალიან. 322 00:14:16,628 --> 00:14:18,730 ასე რომ, რა ზომით? 323 00:14:18,730 --> 00:14:22,080 ისე, ეს ერთ-ერთი იმედია არის როგორც თქვენ მოელოდა, ბოლო დროს, 324 00:14:22,080 --> 00:14:24,460 მიუხედავად იმისა, რომ მე უნდა გავაკეთოთ ამ სულელური გლობალური რამ. 325 00:14:24,460 --> 00:14:26,610 უბრალოდ ექსპონატი ენის დიზაინი. 326 00:14:26,610 --> 00:14:28,450 >> მაგრამ ჩეკი არის ცოტა უფრო საინტერესო. 327 00:14:28,450 --> 00:14:31,420 ასე რომ, თუ მე მიიღო დოლარი მოაწეროს სიტყვა, მე პირველი 328 00:14:31,420 --> 00:14:34,060 გვინდა ხელი მიუწვდება რომ გლობალური ცვლადი მაგიდა. 329 00:14:34,060 --> 00:14:36,700 და ახლა, თუ მინდა შეამოწმეთ თუ სიტყვა არ არის, 330 00:14:36,700 --> 00:14:44,350 შემიძლია უბრალოდ ვთქვა, თუ ეს მართალია, რომ შემდეგ არის მითითებული მაგიდა, 331 00:14:44,350 --> 00:14:49,957 მაშინ წავიდეთ წინ და დაბრუნების true; სხვაგან, დაბრუნების ცრუ. 332 00:14:49,957 --> 00:14:51,180 გაკეთდეს. 333 00:14:51,180 --> 00:14:52,440 მეორე ნახევარში PSET 5. 334 00:14:52,440 --> 00:14:54,540 >> ყველა უფლება, ასე რომ კიდევ ერთხელ, მე ჭრის რამდენიმე კუთხეების. 335 00:14:54,540 --> 00:14:56,831 სამართლიანობა, მე უნდა ალბათ გაატარონ რამდენიმე წამში 336 00:14:56,831 --> 00:14:58,300 ამ განხორციელება. 337 00:14:58,300 --> 00:15:01,860 და ალბათ არ ეყო ყველა საათი დააყენა PSET იმდენად. 338 00:15:01,860 --> 00:15:04,045 ასე strtolower ფუნქცია. 339 00:15:04,045 --> 00:15:06,670 რაღაც მსგავსი existentialist in C, მაინც გმირები, 340 00:15:06,670 --> 00:15:08,560 მაგრამ PHP მიიღო მთელი სიმებიანი ვერსია. 341 00:15:08,560 --> 00:15:11,226 >> რომ აპირებს აიძულოს ყველაფერი ამას, რაც ზოგიერთი თქვენ 342 00:15:11,226 --> 00:15:14,944 შეიძლება არ გაკეთდეს canonicalize რა თქვენ აყენებს თქვენი ლექსიკონი. 343 00:15:14,944 --> 00:15:16,360 და ახლა თქვენ შეგიძლიათ ამის გაკეთება C, ძალიან. 344 00:15:16,360 --> 00:15:17,780 ეს არაფერ შუაშია PHP. 345 00:15:17,780 --> 00:15:20,260 >> მაგრამ ნებისმიერ დროს თქვენ უნდა ლოგიკური მდგომარეობაში, 346 00:15:20,260 --> 00:15:22,680 ისევე, როგორც რაღაც ხაზი 10 არსებობს, რომელიც მხოლოდ 347 00:15:22,680 --> 00:15:27,145 აპირებს შეაფასოს ჭეშმარიტი ან ცრუ და თქვენი თუ სხვაგან ნათლად 348 00:15:27,145 --> 00:15:33,620 ბრუნდება ნამდვილი ან ყალბი, მე ვერ უბრალოდ ნამდვილად რომ ეს sexier 349 00:15:33,620 --> 00:15:38,360 და მხოლოდ ამის მსგავსი რამ. 350 00:15:38,360 --> 00:15:40,500 ისე, რომ ჩემი გამშვები ფუნქცია. 351 00:15:40,500 --> 00:15:42,560 უფლება, თუ ლოგიკური ბრუნდება ნამდვილი ან ყალბი, 352 00:15:42,560 --> 00:15:44,630 მოდით უბრალოდ დააბრუნოს ეს სწორი მოშორებით. 353 00:15:44,630 --> 00:15:47,340 >> და კიდევ რამდენიმე სხვა შესწორებები მე ვერ აქ და იქ. 354 00:15:47,340 --> 00:15:51,380 Load-- განიტვირთოს, სხვათა შორის, რომ კეთდება. 355 00:15:51,380 --> 00:15:52,850 არაფერი ესაქმებათ. 356 00:15:52,850 --> 00:15:55,840 მას შემდეგ, რაც ყველა მეხსიერება PHP და მრავალი სხვა ენებზე 357 00:15:55,840 --> 00:15:57,570 ფაქტობრივად მართავს თქვენთვის. 358 00:15:57,570 --> 00:16:00,330 ასე რომ, მაშინ C, გავიგე მტკივნეულად, 359 00:16:00,330 --> 00:16:04,700 არაფერი თქვენ malloc ან calloc ან realloc, თქვენ გასათავისუფლებლად თავს. 360 00:16:04,700 --> 00:16:08,770 არაფერი თქვენ fopen, თქვენ უნდა fclose, ასე რომ რესურსი საბოლოოდ გათავისუფლდა 361 00:16:08,770 --> 00:16:11,690 და იარაღები, როგორიცაა Valgrind არ შეამჩნია და არ უჩივიან, 362 00:16:11,690 --> 00:16:13,570 რაც კარგი რამ აწარმოებს მათ. 363 00:16:13,570 --> 00:16:16,190 >> მაგრამ აუცილებლად უნდა არსებობდეს იყოს რამდენიმე catch, არა? 364 00:16:16,190 --> 00:16:19,400 წინააღმდეგ შემთხვევაში, ჩვენ სახის შეეწირა მთელი bunch of კვირა. 365 00:16:19,400 --> 00:16:23,270 ასე რომ იქ ნებისმიერი რიგი მიზეზების გამო ამიტომ, ჩვენ სახის მიიღოს ამ ტრაექტორია, 366 00:16:23,270 --> 00:16:24,440 მაგრამ არის ვაჭრობის საგანი. 367 00:16:24,440 --> 00:16:25,820 უფლება, ეს უკვე თემატური. 368 00:16:25,820 --> 00:16:29,690 >> რა შეიძლება ვაჭრობის საგანი აქ მოძრაობს, C- დან PHP? 369 00:16:29,690 --> 00:16:33,250 იგრძნობა ყველა გაიმარჯვებს, ჯერჯერობით, გარდა ცოტა უშნო აქ ან იქ. 370 00:16:33,250 --> 00:16:34,040 ჰო. 371 00:16:34,040 --> 00:16:34,700 რა არის ეს? 372 00:16:34,700 --> 00:16:36,064 >> სტუდენტი: [INAUDIBLE] მეხსიერება. 373 00:16:36,064 --> 00:16:36,980 დევიდ ჯ Malan: Speed. 374 00:16:36,980 --> 00:16:37,479 OK. 375 00:16:37,479 --> 00:16:40,720 ისე, ჩემი სიჩქარე საკმაოდ სწრაფად. 376 00:16:40,720 --> 00:16:42,020 არა? 377 00:16:42,020 --> 00:16:44,320 მაგრამ სიჩქარე აღსრულების პროგრამა? 378 00:16:44,320 --> 00:16:45,580 OK, ასე რომ სამართლიანი წერტილი. 379 00:16:45,580 --> 00:16:50,930 >> ისე, როგორც ეს მოხდებოდა, მე წინასწარ cued up როგორც ჩემი ლელო გადაწყვეტილებას, რომელიც 380 00:16:50,930 --> 00:16:53,510 მე მქონდა დიდი საბჭო იყო ლელო გადაწყვეტა, 381 00:16:53,510 --> 00:16:55,510 და მაქვს, რომ ამ დირექტორიაში აქ. 382 00:16:55,510 --> 00:16:58,510 ასე რომ, მე ამ მომენტში, შემიძლია წავიდეთ წინ და აწარმოებს ამ თემაზე მეფე ჯეიმს ბიბლია, 383 00:16:58,510 --> 00:16:59,657 hitting შეიყვანეთ. 384 00:16:59,657 --> 00:17:01,990 და ეს იმედია სწორი განხორციელების მიზნით, 385 00:17:01,990 --> 00:17:05,109 მაძლევს, სულ 0.38 წამი, რომ 386 00:17:05,109 --> 00:17:07,270 გარკვეულწილად თვითნებური მაგალითად. 387 00:17:07,270 --> 00:17:09,270 >> და თუ ახლა წასვლას ამ მეორე ტერმინალის ფანჯარაში 388 00:17:09,270 --> 00:17:14,569 აქ, სადაც მე პირველად გაიხსნა gedit, ნება მომეცით წასვლას დღევანდელი code-- რომელიც, კიდევ ერთხელ, 389 00:17:14,569 --> 00:17:19,650 ამ დირექტორია აქ და ნება მომეცით წავიდეთ წინ და აწარმოებს speller. 390 00:17:19,650 --> 00:17:23,470 ასე რომ, უბრალოდ უნდა იყოს მკაფიო, ეს არის PHP ვერსია. 391 00:17:23,470 --> 00:17:25,170 მე უბრალოდ გვიჩვენებს ზედა აქ. 392 00:17:25,170 --> 00:17:32,020 >> ასე რომ, თუ speller of tilde CS50 Pset 5 ტექსტები, King James, შევა. 393 00:17:32,020 --> 00:17:39,700 394 00:17:39,700 --> 00:17:43,050 ეს ჯერ კიდევ უფრო სწრაფად, ვიდრე წერა ის C, მაგრამ საერთო დრო 395 00:17:43,050 --> 00:17:47,650 არის, შეტყობინება, 0.93, ხოლო ჩემი C დაფუძნებული განხორციელება იყო 0.38. 396 00:17:47,650 --> 00:17:49,110 ასე რომ, ეს ტრივიალური განსხვავება. 397 00:17:49,110 --> 00:17:51,100 >> და ეს არის მხოლოდ ერთი ფაილი. 398 00:17:51,100 --> 00:17:53,480 თუ თქვენ უნდა აწარმოებს ორი პროგრამები წინააღმდეგ დიდი საბჭო 399 00:17:53,480 --> 00:17:56,510 და მთელი bunch of საშუალებებით ტესტირება, ეს, რა თქმა უნდა დაამატოთ მდე. 400 00:17:56,510 --> 00:18:00,310 და თუ გვქონდა, უფრო დიდი მონაცემები კომპლექტი, ეს, ძალიან, რომ დაამატოთ მდე ყველა სხვა. 401 00:18:00,310 --> 00:18:04,820 ასე რომ დიახ, გადამხდელი ზოგიერთი ფასი სიჩქარე მართლაც შემთხვევაში. 402 00:18:04,820 --> 00:18:05,470 რა? 403 00:18:05,470 --> 00:18:08,000 404 00:18:08,000 --> 00:18:08,860 ჰო? 405 00:18:08,860 --> 00:18:10,340 >> სტუდენტი: თანხა RAM გამოყენება. 406 00:18:10,340 --> 00:18:11,756 >> დევიდ ჯ Malan: თანხა RAM გამოყენება. 407 00:18:11,756 --> 00:18:15,380 ასე რომ, მე არ მისცეს ერთი მეორე ვფიქრობდი, როდესაც წერა ამ PHP 408 00:18:15,380 --> 00:18:17,300 ვერსია, თუ რამდენად მეხსიერება ვიყავი გამოყენებით. 409 00:18:17,300 --> 00:18:22,080 მე მთლიანად ვუტოვებთ, რომ PHP თავად და ვინც დაწერა, რომ პროგრამა. 410 00:18:22,080 --> 00:18:24,500 და რომ შეიძლება იყოს OK, მაგრამ თუ მე რეალურად 411 00:18:24,500 --> 00:18:28,420 აინტერესებს squeezing იმდენი სპექტაკლი გარეთ ჩემი პროგრამა და გარეთ ჩემი საიტი 412 00:18:28,420 --> 00:18:31,150 ან გარეთ რასაც ინსტრუმენტი მე მშენებლობის, შესაძლოა, 413 00:18:31,150 --> 00:18:33,310 PHP, რა თქმა უნდა, არ არის სწორი ენაზე. 414 00:18:33,310 --> 00:18:36,330 >> და ის ფაქტი, რომ სწორედ ამიტომ, მაგალითად, ბევრი ვებ servers-- 415 00:18:36,330 --> 00:18:38,980 ფაქტობრივი პროგრამები, ემსახურება up ვებ content-- 416 00:18:38,980 --> 00:18:41,810 არ არის დაწერილი PHP ან Python ან Ruby. 417 00:18:41,810 --> 00:18:44,630 ისინი დაწერილი, როგორიცაა თქვენ ახლა არ pset 6 418 00:18:44,630 --> 00:18:48,120 in C, ასე რომ შეგიძლიათ შესუსტებას ყველა ცოტა შესრულება გარეთ 419 00:18:48,120 --> 00:18:50,780 და რეალურად განახორციელოს ჯარიმა მარცვლეულის კონტროლი რა არის 420 00:18:50,780 --> 00:18:52,980 ქვეშ hood და არა მხოლოდ მას 421 00:18:52,980 --> 00:18:54,890 თავისთავად უფრო მაღალი დონე მონაცემთა სტრუქტურას. 422 00:18:54,890 --> 00:18:58,071 >> განვიხილოთ მას შემდეგ, რაც ყველა, ვინც არ in PHP განხორციელდა 423 00:18:58,071 --> 00:19:00,070 რომ ცნება hash table-- ეს რეალურად უფრო 424 00:19:00,070 --> 00:19:04,260 სწორად მოუწოდა ასოციაციურ მასივი ჯერ მას აქვს რაიმე იდეა, თუ რა სახის 425 00:19:04,260 --> 00:19:07,090 საშუალებებით თქვენ აპირებთ უნდა იყოს აყენებს სტრუქტურა? 426 00:19:07,090 --> 00:19:08,260 ასე რომ, ცხადია, არა? 427 00:19:08,260 --> 00:19:10,340 ეს generic ინსტრუმენტი ინსტრუმენტარიუმის არის ის, 428 00:19:10,340 --> 00:19:13,430 იმ პირობით, რომ ვისაც სურს გამოიყენოს იგი, და აუცილებლად 429 00:19:13,430 --> 00:19:17,680 არ შეიძლება ოპტიმიზირებულია საბოლოოდ ზუსტად რა გსურთ. 430 00:19:17,680 --> 00:19:21,180 >> ასე სავაჭრო-offs-- განვითარების დროს შეიძლება განსხვავდება, შესრულება შეიძლება განსხვავდება, 431 00:19:21,180 --> 00:19:23,120 სირთულის ან მეხსიერების გამოყენება შეიძლება განსხვავდება. 432 00:19:23,120 --> 00:19:24,820 და მერე რა, თქვენ იპოვით უფრო ის არის, რომ იქ 433 00:19:24,820 --> 00:19:26,570 იქნება სხვადასხვა ინსტრუმენტები სავაჭრო. 434 00:19:26,570 --> 00:19:31,160 და რეალურად სუპერ უმრავლესობა ხალხის საბოლოო პროექტების ამ კლასში, 435 00:19:31,160 --> 00:19:34,360 მჯერა, რომ ეს თუ არა, C არ აპირებს იყოს მარჯვენა ენის გამოყენება. 436 00:19:34,360 --> 00:19:37,880 >> და ფაქტობრივად, ერთი takeaways საბოლოო ჯამში, ნებისმიერი კლასის მოსწონს ეს 437 00:19:37,880 --> 00:19:40,510 არის ის, რომ თქვენ ფიქრი, ასევე, რა უნდა გაიყვანოს off 438 00:19:40,510 --> 00:19:42,710 თაროზე, როდესაც გსურთ გადაწყვიტოს ზოგიერთი პრობლემა. 439 00:19:42,710 --> 00:19:46,720 და მართლაც, ჩვენ გადაკვეთა ხიდი კიდევ უფრო როგორც შევხედავთ უფრო ენები 440 00:19:46,720 --> 00:19:47,920 თუნდაც მის ფარგლებს გარეთ დღეს. 441 00:19:47,920 --> 00:19:50,530 >> მოდით ახლა გარდამავალი to ალბათ უფრო ნაცნობი კონტექსტში 442 00:19:50,530 --> 00:19:52,480 გამოყენების ენა მოსწონს PHP. 443 00:19:52,480 --> 00:19:56,720 ეს გარკვეულწილად გავრცელებული გამოყენება ბრძანების, სცენარების წერა 444 00:19:56,720 --> 00:19:59,050 ისევე როგორც მე, მაგრამ ეს ბევრად, ბევრად უფრო საერთო. 445 00:19:59,050 --> 00:20:02,350 და ეს იყო განკუთვნილი უნდა იყოს გამოყენებული ფორმა ფაილი, რომელიც, როგორც წესი, დასრულდება 446 00:20:02,350 --> 00:20:05,060 in .php-- მაგრამ ეს არ prerequisite-- 447 00:20:05,060 --> 00:20:07,990 რომ თავად გამოიმუშავებენ ვებ გვერდი. 448 00:20:07,990 --> 00:20:11,310 >> ნება მომეცით წავიდეთ წინ და გახსნა რამდენიმე მაგალითები მე მომზადებული წინასწარ. 449 00:20:11,310 --> 00:20:15,100 და ეს არის რეალურად ერთგვარი ნამდვილი ისტორიები, რომ ერთ-ერთი პირველი რამ, 450 00:20:15,100 --> 00:20:18,200 მე ოდესმე გააკეთა თავს დასრულების შემდეგ CS50 და შესაძლოა, ვფიქრობ, 451 00:20:18,200 --> 00:20:21,350 CS51 წლის წინ ჩემი roommate მე და ეხმარება 452 00:20:21,350 --> 00:20:24,320 აწარმოებს freshman intramural სპორტული პროგრამა, რომელიც, იმ დროს, 453 00:20:24,320 --> 00:20:28,610 იყო freshman რეგისტრაციისას სხვადასხვა სპორტული შევსების ნაჭერი ქაღალდი, 454 00:20:28,610 --> 00:20:31,800 როგორც ერქვა, ფეხით მთელს ეზოში Wigglesworth, 455 00:20:31,800 --> 00:20:34,030 და მითუმეტეს, რომ ზოგიერთი proctor კარი drop. 456 00:20:34,030 --> 00:20:37,210 და შემდეგ იგი გადის მათ და მაშინ რეალურად მოგვწერეთ ხელით 457 00:20:37,210 --> 00:20:39,140 რომ ჩვენ რეგისტრირებული რამდენიმე სპორტული. 458 00:20:39,140 --> 00:20:41,166 >> ასე ნათლად, შესაძლებლობა გაუმჯობესება. 459 00:20:41,166 --> 00:20:44,040 ამ დღეებში, თქვენ შეიძლება მივმართოთ მხოლოდ Google ფორმები, მაგრამ უკან დღეს, 460 00:20:44,040 --> 00:20:46,914 ჩვენ უნდა რეალურად მიღწევა for-- ეს კი არ არის, რომ ხანგრძლივი ago-- მიღწევა 461 00:20:46,914 --> 00:20:49,410 პროგრამირების ენა, რომელიც არ PHP. 462 00:20:49,410 --> 00:20:51,200 ამავე დროს, ეს იყო რაღაც მოუწოდა Perl, 463 00:20:51,200 --> 00:20:52,890 რომელიც წავიდა vogue შემდეგ. 464 00:20:52,890 --> 00:20:54,160 მაგრამ იდეა იგივეა. 465 00:20:54,160 --> 00:20:58,940 >> და მე არსებითად დაჯდა ცდილობენ პორტი მიდის Perl ვერსიები PHP, 466 00:20:58,940 --> 00:21:03,710 მაგრამ სრული პასუხისმგებლობის შეზღუდვის, არ მისცეს ნებისმიერი აზრის ესთეტიკას უბრალოდ არ არის. 467 00:21:03,710 --> 00:21:04,960 ასე რომ აქ არის ვებ-გვერდზე. 468 00:21:04,960 --> 00:21:05,670 ეს ფაილი. 469 00:21:05,670 --> 00:21:09,470 თუ მე მიუახლოვდით, მისი, როგორც ჩანს, მოუწოდა froshim0.php 470 00:21:09,470 --> 00:21:12,060 მხოლოდ იმიტომ, რომ ჩვენი პირველი მაგალითად ამ სერიას. 471 00:21:12,060 --> 00:21:15,970 და შენიშნავს, რომ მას აქვს რა, როგორც ჩანს, უნდა იყოს ძალიან მახინჯი HTML ფორმა, 472 00:21:15,970 --> 00:21:18,680 მაგრამ ფორმა საინტერესოა რადგან იგი საშუალებას იძლევა 473 00:21:18,680 --> 00:21:21,910 me უზრუნველყოს მომხმარებლის შეყვანის ბრაუზერში. 474 00:21:21,910 --> 00:21:27,730 >> ახლა, ბოლო დროს, როდესაც ჩვენ გვქონდა ფორმით, ვის ჩვენ წარმოადგინოს ჩვენი მოთხოვნას პარამეტრი, 475 00:21:27,730 --> 00:21:30,450 მდგომ პარამეტრი როგორც ერქვა? 476 00:21:30,450 --> 00:21:31,330 ასე რომ, Google, არა? 477 00:21:31,330 --> 00:21:34,090 ჩვენ მთლიანად punted იდეა აკეთებს არაფერი, რომ შეყვანის. 478 00:21:34,090 --> 00:21:36,160 >> მაგრამ დღეს, ჩვენ წარმოების გამომავალი. 479 00:21:36,160 --> 00:21:39,420 და ქცევის I ვაპირებ აქ თავდაპირველად საკმაოდ ტრივიალური. 480 00:21:39,420 --> 00:21:42,980 დავით, მე შეამოწმოთ off ეძებთ აქ, ამბობენ Matthews აქ. 481 00:21:42,980 --> 00:21:43,800 მე არ იქნება კაპიტანი. 482 00:21:43,800 --> 00:21:45,410 მე ვაპირებ დააწკაპუნეთ რეგისტრაცია. 483 00:21:45,410 --> 00:21:50,720 და შენიშნავს, რომ URL აქვს შეიცვალა დარეგისტრირდეთ-0.php, 484 00:21:50,720 --> 00:21:52,310 და შემდეგ იქ ამ მახინჯი ტექსტი აქ. 485 00:21:52,310 --> 00:21:54,460 მე მისცა არ აზრის გაფორმებით ამ. 486 00:21:54,460 --> 00:21:59,900 >> მაგრამ რა არის საინტერესო ის არის, რომ სამი ღირებულებები, როგორც ჩანს გავიდა. 487 00:21:59,900 --> 00:22:02,960 ეს არის PHP- ის ერთგვარი ექვივალენტი printf-- 488 00:22:02,960 --> 00:22:06,330 ჩვენ დავინახავთ, რა ეს ნამდვილად მოუწოდა ამ bit-- რომ უბრალოდ ბეჭდავს out 489 00:22:06,330 --> 00:22:08,300 რაც თქვენ შევიდა იგი. 490 00:22:08,300 --> 00:22:11,414 ასე რომ, ეს მეტყველებს იმაზე, რომ რომ ფორმა ჰქონდა მინიმუმ სამი მიმართულებით მას, 491 00:22:11,414 --> 00:22:12,580 და დაინახა me აკრიფოთ. 492 00:22:12,580 --> 00:22:15,739 ერთი იყო ჩემი სახელით, ერთი იყო გენდერული, ერთი საერთო საცხოვრებელში. 493 00:22:15,739 --> 00:22:18,780 კაპიტანი კი არ მიიღოთ გაიგზავნა სერვერზე იმიტომ, რომ არ შეამოწმოს იგი. 494 00:22:18,780 --> 00:22:22,150 >> ასე რომ, ეს არის იმის თქმა, როგორც ჩანს, როდესაც თქვენ წარმოადგინოს რამ ინტერნეტში, 495 00:22:22,150 --> 00:22:26,830 არა მარტო URL ზოგჯერ change-- ზოგჯერ არა. 496 00:22:26,830 --> 00:22:30,330 ფაქტობრივად, ფაილის სახელი შეიცვალა, მაგრამ რა არის არსებობს URL 497 00:22:30,330 --> 00:22:32,861 რომ ჩვენ არ ვხედავთ, რომ ბოლო დროს Google. 498 00:22:32,861 --> 00:22:33,360 ჰო? 499 00:22:33,360 --> 00:22:34,380 >> სტუდენტი: არა შეკითხვაზე string 500 00:22:34,380 --> 00:22:35,220 >> დევიდ ჯ Malan: არ არსებობს შეკითხვაზე string. 501 00:22:35,220 --> 00:22:37,270 არ არსებობს კითხვის ნიშნის რაღაც. 502 00:22:37,270 --> 00:22:40,050 არ არსებობს კითხვის ნიშნის q უდრის კატა, როგორც ჩვენ გავაკეთეთ ბოლო დროს. 503 00:22:40,050 --> 00:22:42,170 და იქ ნამდვილად არ კითხვის ნიშნის სახელი შეადგენს 504 00:22:42,170 --> 00:22:46,310 David ან კარი შეადგენს Matthews, ასე რომ, სადაც ის არის, რომ ყველა აპირებს? 505 00:22:46,310 --> 00:22:51,290 >> ასევე, ნება მომეცით დაბრუნდეს gedit აქ და გახსენით პირველი იმ ფაილებს 506 00:22:51,290 --> 00:22:57,020 ჩემი vhost, ადგილობრივი მასპინძელი, public დირექტორია აქ და წასვლას froshim0. 507 00:22:57,020 --> 00:23:02,060 გამოდის, რომ თითქმის ყველა ამ გვერდზე არის მხოლოდ HTML. 508 00:23:02,060 --> 00:23:05,410 და ეს შეიძლება იყოს უცნობ, მაგრამ ეს მალე იქნება ასე PSET 6 509 00:23:05,410 --> 00:23:07,370 და pset 7 და PSET 8. 510 00:23:07,370 --> 00:23:09,160 მაგრამ ეს არის მხოლოდ HTML გვერდი. 511 00:23:09,160 --> 00:23:12,400 >> და საინტერესო ნივთები როგორც ჩანს, მეტი აქ. 512 00:23:12,400 --> 00:23:16,290 ფორმა აქვს, რომლის სამოქმედო ატრიბუტი აქვს მნიშვნელობა რეესტრის 0. 513 00:23:16,290 --> 00:23:18,890 ამიტომ, როდესაც მე წარმოადგინოს ეს, ის მიდის, რომ ფაილი. 514 00:23:18,890 --> 00:23:20,620 მაგრამ მეთოდი, სხვადასხვა today-- პოსტი. 515 00:23:20,620 --> 00:23:23,120 გამოდის, რომ ის მინიმუმ ორი მეთოდი ინტერნეტში გამოიყენება 516 00:23:23,120 --> 00:23:24,911 გააგზავნოს ინფორმაცია ბრაუზერზე სერვერზე. 517 00:23:24,911 --> 00:23:25,980 Get აყენებს მას URL. 518 00:23:25,980 --> 00:23:27,950 Post აყენებს მის ფარგლებს გარეთ. 519 00:23:27,950 --> 00:23:30,570 და როდის და რატომ შეიძლება თქვენ რეალურად მინდა ნახვა 520 00:23:30,570 --> 00:23:34,110 გამოიყენოთ პოსტი, მაშინ ნაცვლად მისაღებად, უბრალოდ ინტუიციურად? 521 00:23:34,110 --> 00:23:37,080 ნებისმიერი ნახვა. 522 00:23:37,080 --> 00:23:42,010 რა სახის მონაცემები უნდა გადაეცეს მხოლოდ დასკვნის ახლა ფოსტით განსხვავებით 523 00:23:42,010 --> 00:23:45,184 მისაღებად, თუ ჩვენ ვნახეთ ორი განსხვავებები? 524 00:23:45,184 --> 00:23:46,350 სტუდენტი: [INAUDIBLE] უზრუნველსაყოფად. 525 00:23:46,350 --> 00:23:47,790 დევიდ ჯ Malan: თუ გსურთ რაღაც უნდა იყოს უსაფრთხო. 526 00:23:47,790 --> 00:23:50,360 ასე რომ თქვენ შეიძლება აკრიფეთ პაროლი შევიდა ნახვა, საკრედიტო ბარათი 527 00:23:50,360 --> 00:23:53,030 შევიდა ნახვა გვინდა სახის ამ suboptimal 528 00:23:53,030 --> 00:23:56,220 თუ ბრაუზერი დააყენა, რომ არც შიგნით URL. 529 00:23:56,220 --> 00:23:57,680 რატომ? 530 00:23:57,680 --> 00:24:00,059 ხედავთ, რომელიც არ როგორც ჩანს, ასეთი დიდი გარიგება, 531 00:24:00,059 --> 00:24:03,350 მაგრამ შანსი თქვენ საკმაოდ ხშირად ფეხით დაშორებული თქვენს კომპიუტერში ან გამოყენება კომპიუტერული 532 00:24:03,350 --> 00:24:05,310 ლაბორატორიები, და ასე ვინმე სხვაგან, ან თუნდაც roommate 533 00:24:05,310 --> 00:24:08,220 ადვილად ფეხით up და ვნახავთ რომ პირადი ინფორმაცია. 534 00:24:08,220 --> 00:24:10,220 როდესაც თქვენ ელ-ფოსტის გაგზავნა ინტერნეტით, ალბათ, 535 00:24:10,220 --> 00:24:12,350 არ მინდა, რომ მონაცემები დასასრული მდე URL ასევე. 536 00:24:12,350 --> 00:24:15,266 და ა.შ. არსებობს ნებისმიერი რიგი მიზეზების გამო ამიტომ ჩვენ დაგვჭირდება იმისათვის, რომ ეს აქ. 537 00:24:15,266 --> 00:24:18,610 და photos-- უფლება, მე კი არ საკმაოდ წარმოიდგინეთ, თუ როგორ უნდა მიიღოს გრაფიკული, 538 00:24:18,610 --> 00:24:21,480 როგორიცაა JPEG, და მისი მისამართი. 539 00:24:21,480 --> 00:24:22,330 შეიძლება ამის გაკეთება. 540 00:24:22,330 --> 00:24:25,840 არსებობს გზები, კოდირების, მაგრამ ეს უბრალოდ არ არის პირდაპირი, როგორიცაა, რომ. 541 00:24:25,840 --> 00:24:29,030 >> ასე რეგისტრაციაში 0 ფაქტიურად ძალიან underwhelming. 542 00:24:29,030 --> 00:24:31,610 ყველა ის ამბობს სიტყვასიტყვით ეს. 543 00:24:31,610 --> 00:24:35,910 იგი ბეჭდავს out შიგნით ზოგიერთი HTML ტეგები შემდეგ. 544 00:24:35,910 --> 00:24:38,640 მაქვს PHP tag აქ წყობილი შიგნით წინასწარ აქვს. 545 00:24:38,640 --> 00:24:42,300 "წინასაარჩევნო" მხოლოდ იმას ნიშნავს, წინასწარ ტექსტი მონო დაშორებული, როგორც საბეჭდი მანქანა. 546 00:24:42,300 --> 00:24:44,836 >> Printr ბეჭდვითი რეკურსიული ფუნქცია. 547 00:24:44,836 --> 00:24:46,710 და მაშინ არსებობს ამ საინტერესო რამ აქ. 548 00:24:46,710 --> 00:24:48,835 და ჩვენ დავბრუნდებით ამ იმიტომ, რომ იქ სხვა, 549 00:24:48,835 --> 00:24:51,140 მაგრამ დოლარის ნიშანი ხაზგასმა პოსტი, როგორც ჩანს, 550 00:24:51,140 --> 00:24:56,110 ცვლადი PHP, სადაც რამე თქვენ გაგზავნას ბრაუზერზე სერვერზე 551 00:24:56,110 --> 00:24:58,040 იღებს ინახება თქვენთვის. 552 00:24:58,040 --> 00:25:00,930 და ვნახავთ, თუ როგორ უნდა რომ ინფორმაცია ადრე ხანგრძლივი. 553 00:25:00,930 --> 00:25:04,000 >> მაგრამ პირველი, მოდით დავუბრუნდეთ ოდნავ განსხვავებული მაგალითი. 554 00:25:04,000 --> 00:25:09,050 შესვლის register-- ან უფრო სწორად, froshims1.php, 555 00:25:09,050 --> 00:25:10,470 რომელიც გამოიყურება ცოტა განსხვავებული. 556 00:25:10,470 --> 00:25:12,670 მე მივიღე ცოტა მეტი ძალისხმევა გაფორმებით, 557 00:25:12,670 --> 00:25:14,370 მიუხედავად იმისა, რომ ჯერ კიდევ საკმაოდ მახინჯი. 558 00:25:14,370 --> 00:25:16,990 მაგრამ მე ვაპირებ წავიდეთ წინ და ტიპის "დავითი" არის. 559 00:25:16,990 --> 00:25:17,850 კაცი. 560 00:25:17,850 --> 00:25:19,360 ჩვენ შეამოწმოს "კაპიტანი" ამ დროს. 561 00:25:19,360 --> 00:25:20,660 ჩვენ ყველაფერს გავაკეთებთ, Matthews. 562 00:25:20,660 --> 00:25:22,430 და რეგისტრაცია. 563 00:25:22,430 --> 00:25:24,110 >> და ამ დროს, მისი თქმით, hm, ნამდვილად არ. 564 00:25:24,110 --> 00:25:26,180 ყველა უფლება, ასე რეესტრიდან 1? 565 00:25:26,180 --> 00:25:30,509 ნება მომეცით წასვლას ღია რეესტრში 1 and-- hm. 566 00:25:30,509 --> 00:25:32,300 ყველა უფლება, ასე რომ ეს არის საინტერესო და ამ 567 00:25:32,300 --> 00:25:34,880 არის სტეპინგზე ქვის ახლა მიმართ უფრო საინტერესო პროგრამები. 568 00:25:34,880 --> 00:25:38,970 >> შეამჩნია ზედა ამ ფაილი აქვს PHP tag, ისევე როგორც ზოგიერთი კომენტარი. 569 00:25:38,970 --> 00:25:42,590 და ეს, ახლა, განადგურების მოდით უბრალოდ, თავი დაეღწია იმ კომენტარი 570 00:25:42,590 --> 00:25:47,070 ისევე, როგორც ისინი C. და მე ვამტკიცებ, ეს ბლოკი კოდი კომენტარის 571 00:25:47,070 --> 00:25:49,280 რომ ეს კოდი არის Validating წარდგენის. 572 00:25:49,280 --> 00:25:51,690 >> ისე, გამოდის, რომ ცვლადები, როგორიცაა დოლარის ნიშანი 573 00:25:51,690 --> 00:25:53,739 ხაზს უსვამს, პოსტი არიან მოუწოდა სუპერ globals. 574 00:25:53,739 --> 00:25:55,530 ისინი მოსწონს ეს სპეციალური გლობალური ცვლადი 575 00:25:55,530 --> 00:25:58,840 , რომ მხოლოდ omni-ამჟამად ხელმისაწვდომია თქვენი პროგრამა. 576 00:25:58,840 --> 00:26:03,870 და თქვენ შეგიძლიათ გამოიყენოთ კვადრატული ფრჩხილი ნოტაცია ინდექსი შევიდა მათ არ იყენებთ ნომრები 577 00:26:03,870 --> 00:26:07,460 როგორც 0, 1, 2, 3, მაგრამ ეს სიტყვები. 578 00:26:07,460 --> 00:26:12,100 >> ასე, რომ თქვენ შეიძლება ვიფიქროთ, დოლარის ნიშანი ხაზს უსვამს, პოსტი, როგორც ერთგვარი hash მაგიდა 579 00:26:12,100 --> 00:26:15,920 რომ თქვენ ვერ გაივლის გასაღების, ძიება სიტყვა შორის კვადრატულ ფრჩხილებში, 580 00:26:15,920 --> 00:26:19,370 და ის აპირებს მოგცემთ უკან ღირებულება, რომელიც მომხმარებლის ფაქტობრივად უზრუნველყოფილი. 581 00:26:19,370 --> 00:26:21,210 PHP ფუნქცია აქვს მოუწოდა ცარიელი, რომ მხოლოდ 582 00:26:21,210 --> 00:26:23,720 ამბობს არა, ეს ცვლადი არის ცარიელი, ან არ. 583 00:26:23,720 --> 00:26:27,250 ჩვენ გვაქვს ეს ორმაგი ბარები, რომელიც მხოლოდ იმას ნიშნავს, ან, როგორც C. 584 00:26:27,250 --> 00:26:31,740 >> ასე რომ, ფაქტობრივად, ამ ხაზის 4 არის მხოლოდ განაცხადა, რომ, თუ მომხმარებელი არ მისცეს სახელი 585 00:26:31,740 --> 00:26:36,540 ან არ მისცეს გენდერული ან არ მისცეს სტუდქალაქის, წავიდეთ წინ და გადამისამართება მას 586 00:26:36,540 --> 00:26:38,184 ან მისი მეშვეობით ხაზი აქ. 587 00:26:38,184 --> 00:26:40,600 ასე რომ, ეს არის პატარა cryptic, მაგრამ ეს მხოლოდ იმას ნიშნავს სიტყვასიტყვით 588 00:26:40,600 --> 00:26:43,330 დაბრუნდეს ამ ადგილას, ასე რომ punts შესახებ 589 00:26:43,330 --> 00:26:45,420 უკან, სადაც იგი მოვიდა. 590 00:26:45,420 --> 00:26:47,880 მაგრამ ეს პატარა inelegant რომ მე მძიმე კოდირებული. 591 00:26:47,880 --> 00:26:52,150 >> მაგრამ თუ ეს თუ მდგომარეობა არ შეაფასოს ჭეშმარიტი? 592 00:26:52,150 --> 00:26:55,790 რა შემთხვევაში შესახებ არ მომეცი მისი ან მისი სახელი და სტუდქალაქიდან და გენდერული? 593 00:26:55,790 --> 00:26:58,540 რომ, თუ მდგომარეობა არ არის აპირებს შეაფასოს ჭეშმარიტი, 594 00:26:58,540 --> 00:27:00,650 ასე რომ არ მოხვდა გასასვლელი 7 ხაზი. 595 00:27:00,650 --> 00:27:01,680 ასე რომ, რა ხდება? 596 00:27:01,680 --> 00:27:03,880 და ეს არის ის, რაც საინტერესო PHP. 597 00:27:03,880 --> 00:27:07,470 >> თქვენ შეგიძლიათ ჩამოშალოს და გარეთ of PHP რეჟიმში, ასე ვთქვათ. 598 00:27:07,470 --> 00:27:10,985 თუ გსურთ ზოგიერთი კოდი შეასრულოს, თქვენ შეგიძლიათ გახსნათ და დახუროთ PHP აქვს 599 00:27:10,985 --> 00:27:13,010 და კოდი იქ, როგორც მე ვაკეთებ აქ. 600 00:27:13,010 --> 00:27:16,810 როგორც კი თქვენ დახურვა PHP tag, სერვერზე 601 00:27:16,810 --> 00:27:19,407 უბრალოდ აპირებს Spit out რასაც თქვენ დააყენა იქ. 602 00:27:19,407 --> 00:27:21,740 და მართლაც, ეს ნაწილი იყო ორიგინალური დიზაინის PHP, 603 00:27:21,740 --> 00:27:25,280 უკეთესი უარესი, იყო ეს commingling კოდი და markup 604 00:27:25,280 --> 00:27:25,920 ენაზე. 605 00:27:25,920 --> 00:27:28,670 და ჩვენ ვხედავთ, რომ ეს ძალიან სწრაფად devolves შევიდა სასადილო. 606 00:27:28,670 --> 00:27:31,280 და ამიტომ ჩვენ ყველაფერს გავაკეთებთ უკეთესია, ვიდრე საბოლოოდ, მაგრამ მხოლოდ 607 00:27:31,280 --> 00:27:35,620 შეამჩნია მარტივია, რომელთანაც მე რეალურად შეუძლია შეასრულოს გარკვეული ლოგიკა. 608 00:27:35,620 --> 00:27:37,440 >> მაგრამ მაინც ცოტა underwhelming. 609 00:27:37,440 --> 00:27:41,210 მოდით გახსენით ვერსია ორი Frosh IMS, რომელიც 610 00:27:41,210 --> 00:27:44,270 როგორც ჩანს წარუდგენს register2.php. 611 00:27:44,270 --> 00:27:47,600 ასე რომ, ეს ფაილი რეალურად ხდება გამოიყურება თითქმის იგივე. 612 00:27:47,600 --> 00:27:50,780 მე ვაპირებ წასვლა Frosh მესიჯები 2. 613 00:27:50,780 --> 00:27:53,050 მაგრამ Frosh მესიჯები 2, ვნახოთ, რა მოხდება. 614 00:27:53,050 --> 00:27:58,110 >> David, დააჭირეთ რადიო ღილაკს, ეს ე.წ.; Matthews, არ კაპიტანი. 615 00:27:58,110 --> 00:27:59,230 რეგისტრაცია. 616 00:27:59,230 --> 00:28:00,130 თქვენ დარეგისტრირებული. 617 00:28:00,130 --> 00:28:00,700 ნამდვილად არ. 618 00:28:00,700 --> 00:28:02,574 Oh დაველოდოთ, ჩვენ გავაკეთეთ რომ, მაგალითად, არ გვაქვს? 619 00:28:02,574 --> 00:28:04,520 ყველა უფლება დგას. 620 00:28:04,520 --> 00:28:06,602 ჩვენ ყველაფერს გავაკეთებთ, სამი. 621 00:28:06,602 --> 00:28:08,560 აშკარად რაღაც დაახლოებით უნდა მოხდეს Gmail. 622 00:28:08,560 --> 00:28:09,600 ჩვენ იქ. 623 00:28:09,600 --> 00:28:11,900 >> ასე Frosh მესიჯები 3 ასე გამოიყურება. 624 00:28:11,900 --> 00:28:13,050 არ არის სხვადასხვა. 625 00:28:13,050 --> 00:28:19,850 მაგრამ როცა ვაკეთებ, დავით, კაცი, Matthews, და რეგისტრაცია, ამ მესამე და საბოლოო ვერსია 626 00:28:19,850 --> 00:28:22,230 პრეტენზიები, უბრალოდ, თქვენ რეგისტრირებული არიან ნამდვილად. 627 00:28:22,230 --> 00:28:23,560 ეს ერთგვარი არსებითი. 628 00:28:23,560 --> 00:28:25,600 მაგრამ აცხადებენ, ამ მესამე და საბოლოო ვერსია 629 00:28:25,600 --> 00:28:30,610 მე ახლა თავიდან ზუსტად ის, რაც ჩემი roommate და მე აშენდა Frosh მესიჯები 630 00:28:30,610 --> 00:28:31,731 პროგრამა წლის წინ. 631 00:28:31,731 --> 00:28:32,480 და ეს იყო მარტივი. 632 00:28:32,480 --> 00:28:34,330 არ არსებობს მონაცემთა ბაზაში, არ Excel-. 633 00:28:34,330 --> 00:28:36,450 რაც მთავარია, არ არსებობს უფრო ქაღალდი 634 00:28:36,450 --> 00:28:42,520 რადგან ის, რაც ჩვენ გავაკეთეთ ამ პროგრამით ეს იყო რეალურად ელ proctor, რომელიც 635 00:28:42,520 --> 00:28:44,530 ადრე მიღების ეს ყველაფერი მეშვეობით ფორმები. 636 00:28:44,530 --> 00:28:48,890 >> და როგორც ჩანს, ჩვენ დაპროგრამებული ეს ისე, რომ, როცა ვინმე რეგისტრაციას, 637 00:28:48,890 --> 00:28:52,470 ჯონ ჰარვარდის ანგარიშის ელ proctor-- ან თავად ამ შემთხვევაში, 638 00:28:52,470 --> 00:28:55,960 John Harvard-- შემდეგი ტექსტი "ეს ადამიანი უბრალოდ არ არის რეგისტრირებული." 639 00:28:55,960 --> 00:29:00,560 სახელი დავით კაპიტანი ცარიელი; სქესი, მამრობითი; და dorm, Matthews. 640 00:29:00,560 --> 00:29:01,560 >> ასე რომ, რა მოხდა იქ? 641 00:29:01,560 --> 00:29:05,360 ასევე, ფაილის საკითხი აქ როგორც ჩანს, register3.php. 642 00:29:05,360 --> 00:29:09,080 და თუ გავხსნა ეს, დაინახავთ ორივე ძალა კოდი მოსწონს ეს 643 00:29:09,080 --> 00:29:12,380 და ასევე, გულწრფელად, დაუცველობა სისტემის, როგორიცაა ელ. 644 00:29:12,380 --> 00:29:16,290 მე ახლახან ეფექტურად პრეტენზია ჯონ ჰარვარდის შემდეგ გზა. 645 00:29:16,290 --> 00:29:20,920 >> მაქვს ღია php tag up დაბრუნება, რომელიც უბრალოდ ამბობს, აქ მოდის ზოგიერთი PHP კოდი. 646 00:29:20,920 --> 00:29:23,155 აქ, თურმე არსებობს ბიბლიოთეკები PHP. 647 00:29:23,155 --> 00:29:26,410 თქვენ უბრალოდ არ უნდა მოიცავს header ფაილი, როგორც დიდი. 648 00:29:26,410 --> 00:29:28,900 თქვენ გაქვთ მეტი სამზარეულო ჩაძირვაში, ასე ვთქვათ. 649 00:29:28,900 --> 00:29:31,820 >> მაგრამ ამ დროს line 4, მე გვინდა სპეციალური ბიბლიოთეკა, ე.წ. 650 00:29:31,820 --> 00:29:36,087 PHP გამგზავნის, რასაც თქვენ შეგიძლიათ დააყენოთ უფასოდ ბევრ სისტემები. 651 00:29:36,087 --> 00:29:37,920 Down აქ მე წევრები წარდგენის მხოლოდ 652 00:29:37,920 --> 00:29:40,540 შემოწმების საერთოდ მომხმარებლის მისცეს მე სახელი და გვარი, სქესი, და dorm. 653 00:29:40,540 --> 00:29:44,130 და თუ ასეა, წავიდეთ წინ და instantiate გამგზავნის. 654 00:29:44,130 --> 00:29:47,020 >> შეგიძლიათ წარმოიდგინოთ, რომ ეს, როგორც ხაზი კოდი, რომ უბრალოდ გამოყოფს. 655 00:29:47,020 --> 00:29:48,950 ეს იგივეა, malloc, მაგრამ ეს პატარა sexier 656 00:29:48,950 --> 00:29:51,790 რომ აღარაფერი ვთქვათ, არა მხოლოდ malloc და ზოგიერთი ზოგადი ნომერი. 657 00:29:51,790 --> 00:29:55,030 თქვენ ამბობთ, მომეცი ერთი, მომეცი ახალი ამ. 658 00:29:55,030 --> 00:29:57,950 >> და თუ თქვენ პროგრამირდება Java და C ++ ან სხვა ენებზე, 659 00:29:57,950 --> 00:29:59,130 თქვენ შეიძლება არ მინახავს ეს. 660 00:29:59,130 --> 00:30:01,840 მაგრამ მოკლე ის, თუ უცნობ, ეს ონლაინ 661 00:30:01,840 --> 00:30:05,410 აყენებს დოლარის ნიშანი mail სპეციალური struct მოუწოდა 662 00:30:05,410 --> 00:30:08,731 ობიექტი, რომელიც აქვს ჩაშენებული ელ ფუნქცია. 663 00:30:08,731 --> 00:30:10,355 და ფაქტობრივად, შეამჩნია და მსგავსი სინტაქსი. 664 00:30:10,355 --> 00:30:11,900 >> ეს არ არის მაჩვენებელი, თავისთავად. 665 00:30:11,900 --> 00:30:13,990 PHP უბრალოდ იყენებს იგივე სინტაქსი. 666 00:30:13,990 --> 00:30:17,660 ამ ხაზის ამბობდა გამოყენება SMTP-- უბრალო ფოსტის გადაცემის 667 00:30:17,660 --> 00:30:20,900 ოქმი, რომელიც მხოლოდ ოქმი გამოიყენება გასაგზავნად. 668 00:30:20,900 --> 00:30:24,240 ეს არის დაზუსტების გამოყენება ჰარვარდის SMTP სერვერი, რომელიც 669 00:30:24,240 --> 00:30:25,830 სადღაც აქ კამპუსში. 670 00:30:25,830 --> 00:30:28,480 >> ეს ამბობს, რა TCP პორტის ნომერი გაიგო, 671 00:30:28,480 --> 00:30:31,650 და მე figured, რომ მიერ googling ან ითხოვს დახმარება. 672 00:30:31,650 --> 00:30:34,640 და მერე იმიტომ, რომ ჰარვარდის იყენებს ზოგიერთი სისტემის უსაფრთხოების გვერდის სერვერზე 673 00:30:34,640 --> 00:30:37,060 მინიმუმ დაშიფვრა მიმოსვლის, და ეს, 674 00:30:37,060 --> 00:30:41,380 მიუხედავად იმისა, რომ ყველას შეუძლია გაუგზავნე it-- მე ვაპირებ ჩართოთ TLS პროტოკოლის 675 00:30:41,380 --> 00:30:42,710 შენახვა ამ უსაფრთხო. 676 00:30:42,710 --> 00:30:44,730 >> მაგრამ ეს არის სადაც რამ კიდევ ცოტა საშინელი. 677 00:30:44,730 --> 00:30:47,970 შემიძლია უბრალოდ თვითნებურად ვთქვა, რომ მე jharvard, 678 00:30:47,970 --> 00:30:51,930 და მე არ შემიძლია უბრალოდ თვითნებურად ელ თავს აქ. 679 00:30:51,930 --> 00:30:55,650 და მერე შეგიძლიათ მიუთითოთ სათაური ეს ხაზი აქ. 680 00:30:55,650 --> 00:30:58,460 >> და ეს უბრალოდ გამოიყურება მახინჯი, მაგრამ ეს უბრალოდ რამოდენიმე გაერთიანების. 681 00:30:58,460 --> 00:31:04,480 თურმე PHP აქვს სუპერ სასარგებლო სიმბოლო, როგორც ზოგიერთი ენებზე, dot ოპერატორი, 682 00:31:04,480 --> 00:31:07,340 რომელიც უბრალოდ სიტყვასიტყვით concatenates სიმებიანი შემდეგ სიმებიანი შემდეგ სიმებიანი, 683 00:31:07,340 --> 00:31:09,810 და თქვენ არ უნდა malloc ან ფიგურა გარეთ საერთო სიგრძეზე სიმებიანი. 684 00:31:09,810 --> 00:31:10,820 უბრალოდ ამას. 685 00:31:10,820 --> 00:31:15,220 და მართლაც, იმიტომ, რომ მე concatenating ყველა ამ საკითხზე ამ წერტილების, 686 00:31:15,220 --> 00:31:18,330 სწორედ ამიტომ, ელ I გაგზავნილი ჩანდა, როგორც ეს გააკეთა. 687 00:31:18,330 --> 00:31:20,610 >> და მერე ბოლოს, აქ, მე გაგზავნის mail. 688 00:31:20,610 --> 00:31:22,580 ასე რომ, თუ ეს ყალბი, მე უბრალოდ აპირებს იღუპება, 689 00:31:22,580 --> 00:31:25,680 რომელიც არის ფუნქცია, რომ მხოლოდ ნამუშევარი ეკრანზე გარკვეული შეცდომა. 690 00:31:25,680 --> 00:31:29,170 მაგრამ ეს არის, ფაქტობრივად, მოუწოდებდა send ფუნქცია. 691 00:31:29,170 --> 00:31:31,780 წინააღმდეგ შემთხვევაში, თუ ეს ყველაფერი ვერ, იგი გადამისამართებების ჩემს უკან აქ. 692 00:31:31,780 --> 00:31:34,050 >> და რატომ, რომ მე რეგისტრირებული ნამდვილად? 693 00:31:34,050 --> 00:31:36,110 ისე, ეს მოხდა სწორედ აქ. 694 00:31:36,110 --> 00:31:38,170 ასე რომ, მე მოუტანს ეს ყველაფერი რამდენიმე მიზეზის გამო. 695 00:31:38,170 --> 00:31:41,542 >> ერთი, ეს არის ზუსტად ის, თუ როგორ, თუ თქვენ აშენება ზოგიერთი ნახვა საბოლოო პროექტი 696 00:31:41,542 --> 00:31:44,000 ან რეალურ ცხოვრებაში, ეს არის როგორ თქვენ გააგზავნით ელ შეგახსენებთ 697 00:31:44,000 --> 00:31:45,924 თქვენს მომხმარებელს ან აბონენტებს. 698 00:31:45,924 --> 00:31:47,590 ეს არის, თუ როგორ გაუგზავნე დაგავიწყდათ შეგახსენებთ. 699 00:31:47,590 --> 00:31:50,760 ეს არის, თუ როგორ გაგზავნოს ადამიანი შეტყობინებები რომ მათ აქვთ ახალი Facebook 700 00:31:50,760 --> 00:31:52,990 გაგზავნა შექმნილა ან რამე მაგდაგვარს. 701 00:31:52,990 --> 00:31:55,010 >> მაგრამ ის ასევე საუბრობს იმისა, რომ ეს შეიძლება 702 00:31:55,010 --> 00:31:58,160 უკვე ძალიან კარგად Davin ან ვინმე სხვას. 703 00:31:58,160 --> 00:32:00,567 და მე ვიტყვი, ამ სახის ღიმილით, რადგან მე ვარ 704 00:32:00,567 --> 00:32:03,400 სრულიად დარწმუნებულია რა გადის რამდენიმე თქვენი გონება ამ ეტაპზე. 705 00:32:03,400 --> 00:32:11,910 მაგრამ ეს არის ერთ-ერთი იმ გააკეთებს, როგორც მე ამბობენ, არ როგორც მე სახის რამ, 706 00:32:11,910 --> 00:32:14,480 იმიტომ, რომ ეს არის ტრივიალური გაყალბებას ელ მოსწონს ეს. 707 00:32:14,480 --> 00:32:16,480 მაგრამ, როგორც თქვენ შეიძლება არ მინახავს ან წაიკითხონ Crimson, 708 00:32:16,480 --> 00:32:18,271 გვიან ასევე, საკმაოდ ტრივიალური ადამიანი 709 00:32:18,271 --> 00:32:20,050 კვალი მათ უკან გარკვეული წარმოშობის. 710 00:32:20,050 --> 00:32:23,790 და მკითხავთ, გარკვეული დროის, ალბათ, at CS50 ლანჩი, როგორ მე პირველი 711 00:32:23,790 --> 00:32:27,080 გაეცნო ძალიან მჭიდროდ თითქმის ed board მრავალი წლის განმავლობაში 712 00:32:27,080 --> 00:32:30,890 წინ, როდესაც აღმოვაჩინე, როგორ ინტერნეტით მუშაობდა. 713 00:32:30,890 --> 00:32:36,940 ასე რომ, ნებისმიერ case-- ოდნავ მას შემდეგ, რაც ed ფორუმში გააკეთა. 714 00:32:36,940 --> 00:32:42,300 >> ასე რომ, ნებისმიერ შემთხვევაში, არ არის მთელი bunch of super globals, 715 00:32:42,300 --> 00:32:45,960 როგორც ისინი უწოდებენ აქ, რომელთაგან ერთ-ერთი ჩვენ saw-- დოლარის ნიშანი ხაზს პოსტი. 716 00:32:45,960 --> 00:32:49,530 არსებობს კოლეგას მოუწოდა მიიღოს, რომ არის, სადაც პერსონალის URL 717 00:32:49,530 --> 00:32:50,690 მთავრდება აპირებს. 718 00:32:50,690 --> 00:32:54,051 და არსებობს მთელი bunch of სხვები, too-- სხდომაზე და სერვერზე და cookie. 719 00:32:54,051 --> 00:32:55,800 ჩვენ დავბრუნდებით ბმულების სხვა დროს, 720 00:32:55,800 --> 00:33:01,340 მაგრამ სხდომაზე სახის cool რადგან სწორედ ახლა, სანამ ახლა 721 00:33:01,340 --> 00:33:06,350 ყველაფერი გავაკეთეთ ბრაუზერში სახის მოქალაქეობის არმქონე, ასე ვთქვათ. 722 00:33:06,350 --> 00:33:10,060 მე შეგიძლიათ დააჭიროთ გარშემო, მისასვლელი ფაილი სერვერზე, რაღაც 723 00:33:10,060 --> 00:33:13,500 ხდება ეკრანზე, მაგრამ მაშინ კავშირი იხურება. 724 00:33:13,500 --> 00:33:17,450 Internet Explorer ან Firefox ხატი აჩერებს დაწნული 725 00:33:17,450 --> 00:33:20,340 და უბრალოდ ნახეთ რა რომ ვებ-გვერდი შეიცავს. 726 00:33:20,340 --> 00:33:23,530 >> ასე HTTP არის მოქალაქეობის არმქონე, რომ ერთხელ იგი იღებს დაკავშირებით, 727 00:33:23,530 --> 00:33:25,050 იღებს გარკვეული მონაცემები, რომ ეს. 728 00:33:25,050 --> 00:33:29,940 აღარ დაკავშირებით, განსხვავებით Skype, განსხვავებით Facetime, განსხვავებით GChat, რომელიც 729 00:33:29,940 --> 00:33:32,180 ინარჩუნებს მუდმივი კავშირი სერვერზე. 730 00:33:32,180 --> 00:33:34,650 ვებ ძირეულად გათიშული, თუმცა ჩვენ 731 00:33:34,650 --> 00:33:36,630 ვხედავთ, სანამ ხანგრძლივი, როგორ შეგვიძლია სიმულაცია რამ 732 00:33:36,630 --> 00:33:39,300 როგორიცაა Facebook სტატისტიკა და GChat, რომელიც შენარჩუნება illusion-- 733 00:33:39,300 --> 00:33:41,680 ან რეალურად ამის შენარჩუნება მუდმივი კავშირის გამოყენებით 734 00:33:41,680 --> 00:33:43,270 უფრო თანამედროვე ტექნიკა. 735 00:33:43,270 --> 00:33:49,000 >> მაგრამ თუ მე, ვთქვათ, counter.php, ეს არის კიდევ ერთი მარტივი მაგალითი, 736 00:33:49,000 --> 00:33:52,700 როგორც ვნახავთ, რომ ამჟამად ფიქრობს I ადგილზე იმყოფებოდნენ ნულოვანი დრო. 737 00:33:52,700 --> 00:33:56,790 მაგრამ თუ უბრალოდ განაახლეთ გვერდი ის რაღაცნაირად იცის, რომ მე ვიყავი აქ ადრე. 738 00:33:56,790 --> 00:33:58,840 თუ განაახლეთ კიდევ ერთხელ, ეს იცის, რომ მე ვიყავი აქ ადრე. 739 00:33:58,840 --> 00:34:01,100 და ისევ და ისევ და ისევ და ისევ. 740 00:34:01,100 --> 00:34:03,610 >> ამიტომ არსებობს გარკვეული პლუს plussing მიმდინარეობს, მაგრამ ცნობა 741 00:34:03,610 --> 00:34:07,090 ცოტა რამ ტრიალებს ოდესმე ასე მოკლედ ზევით და შემდეგ ირთვება, 742 00:34:07,090 --> 00:34:11,179 ასე რომ, ეს იმას არ ნიშნავს, რომ მე მაქვს მუდმივი კავშირი ჩემი ელექტრო მოწყობილობების. 743 00:34:11,179 --> 00:34:16,929 ისე, თუ მე წასვლას counter.php, შეამჩნევთ, თუ როგორ მარტივი ეს არის. 744 00:34:16,929 --> 00:34:19,080 მე პირველად დარეკეთ ამ სპეციალური ფუნქცია, რომ ჩვენ მალე 745 00:34:19,080 --> 00:34:21,513 დაიწყოს აღების მიანიჭა მოუწოდა სხდომა დასაწყისია. 746 00:34:21,513 --> 00:34:22,179 დავიწყოთ სესია. 747 00:34:22,179 --> 00:34:25,095 >> და სხდომაზე ამიერიდან არის მხოლოდ იქნება bucket, როგორიცაა სავაჭრო 748 00:34:25,095 --> 00:34:28,120 კალათა, რომელიც შეგიძლიათ დააყენა ღირებულებები და სახის ენდობა, როგორც პროგრამისტი 749 00:34:28,120 --> 00:34:31,590 რომ ისინი აპირებენ იყოს აქ, როდესაც რომ შესახებ მოდის back-- მეორე 750 00:34:31,590 --> 00:34:35,670 შემდეგ, ერთი საათის შემდეგ კი, ერთი წლის შემდეგ, ასე რომ, სანამ იგი ჯერ არ არის ნათელი, 751 00:34:35,670 --> 00:34:37,602 მათი cookies, როგორც ჩვენ საბოლოოდ ვხედავთ. 752 00:34:37,602 --> 00:34:39,310 და ახლა მე უნდა თუ მდგომარეობა აქ. 753 00:34:39,310 --> 00:34:44,679 ასე რომ, თუ შემდეგ გასაღები, მოუწოდა მრიცხველი, არის შიგნით 754 00:34:44,679 --> 00:34:49,210 ამ სუპერ global-- ამ hash მაგიდა, თუ will-- მოუწოდა სხდომა, 755 00:34:49,210 --> 00:34:53,350 მაშინ წავიდეთ წინ და დაიბრუნოს ღირებულების session-- think 756 00:34:53,350 --> 00:34:55,250 ამ, სავაჭრო cart-- და შეინახოს 757 00:34:55,250 --> 00:34:57,680 დროებითი ცვლადში counter. 758 00:34:57,680 --> 00:35:02,240 >> წინააღმდეგ შემთხვევაში, თუ ეს არც counter იყო არ არის მითითებული ე.წ. კალათა, 759 00:35:02,240 --> 00:35:04,430 მხოლოდ ინიციალიზაცია მას 0. 760 00:35:04,430 --> 00:35:09,830 და ბოლოს, ქვემოთ აქ, და ამით უკან შევიდა სავაჭრო carts ან სხდომაზე 761 00:35:09,830 --> 00:35:13,000 ღირებულება counter +1. 762 00:35:13,000 --> 00:35:16,730 გამოდის, რომ ეს სპეციალური კონტეინერი აქ 763 00:35:16,730 --> 00:35:20,355 რომელიც, კიდევ ერთხელ, ერთ-ერთი ასეთი უკავშირდება კოლექტორები მასივი, რომ თქვენ ინდექსი 764 00:35:20,355 --> 00:35:25,010 სიტყვა ნაცვლად ნომრები გრძელდება შემდეგაც კი მომხმარებელს მიდის. 765 00:35:25,010 --> 00:35:26,510 კიდევ ერთხელ, მე დაბრუნდეს გვერდი არის. 766 00:35:26,510 --> 00:35:28,400 ეს იყო წუთი ან ასე. 767 00:35:28,400 --> 00:35:31,300 მაგრამ მას ახსოვს, რომ მე აქ 19-ჯერ. 768 00:35:31,300 --> 00:35:32,740 ეს არის ჩემი 20 ვიზიტი. 769 00:35:32,740 --> 00:35:36,560 >> ასე რომ, ეს იქნება გასაღები ახორციელებს ნებისმიერ საიტზე რომ ახსოვს 770 00:35:36,560 --> 00:35:40,640 რომ თქვენ ხართ, რომ თქვენ დააყენა რაღაც გაგებით თქვენი კალათა 771 00:35:40,640 --> 00:35:43,902 ყიდვა ან რომ თქვენ გაქვთ ზოგიერთი რაოდენობა შეტყობინებები არ შექმნილა. 772 00:35:43,902 --> 00:35:45,610 ნებისმიერ დროს გსურთ გვახსოვდეს ინფორმაცია, 773 00:35:45,610 --> 00:35:48,130 ჩვენ ვხედავთ, რომ PHP, როგორიცაა რამდენიმე სხვა ენებზე, 774 00:35:48,130 --> 00:35:53,640 გვაძლევს ეს ილუზია სახელმწიფო მიუხედავად იმისა, რომ, როგორც თქვენ ხედავთ PSET 6 775 00:35:53,640 --> 00:35:57,642 როგორც თქვენ მიღების HTTP მოთხოვნა საწყისი კლიენტიდან სერვერზე, რომ არის ის. 776 00:35:57,642 --> 00:35:59,850 მას შემდეგ, რაც თქვენ გაქვთ, რომ საპასუხოდ, არაფერია უფრო 777 00:35:59,850 --> 00:36:01,790 ბრუნდება სერვერზე იყოს. 778 00:36:01,790 --> 00:36:03,820 მაგრამ ჩვენ ვხედავთ, თუ როგორ უნდა იმუშაოს გარშემო რომ. 779 00:36:03,820 --> 00:36:07,430 >> ასევე ახლა, მოდით ცდილობენ სუფთა ეს ყველაფერი ცოტა. 780 00:36:07,430 --> 00:36:09,470 ჩვენ ვნახეთ რამდენიმე სხვადასხვა მაგალითები არსებობს. 781 00:36:09,470 --> 00:36:12,250 Oh, და როგორც განზე, იმ ნაცნობ ან უცნობ, 782 00:36:12,250 --> 00:36:14,230 იმ მიზეზით, რომ Frosh მესიჯები მაგალითად წავიდა 783 00:36:14,230 --> 00:36:18,060 საწყისი ეძებს მართლაც მახინჯი slightly-- კარგად, 784 00:36:18,060 --> 00:36:23,160 ჯერ ugly-- ოდნავ ნაკლებად მახინჯი თუმცა მახინჯი 785 00:36:23,160 --> 00:36:25,230 იმიტომ, რომ თუ გადავხედავთ კოდის აქ 786 00:36:25,230 --> 00:36:28,240 გამოდის, რომ მე მაქვს ეს ძალიან ზევით ფაილი. 787 00:36:28,240 --> 00:36:32,570 >> გამოდის, რომ ჩატვირთვის ერთერთი ბევრი თავისუფლად ხელმისაწვდომი ბიბლიოთეკების არსებობს 788 00:36:32,570 --> 00:36:37,140 რომ არსებობს არა პროგრამირების ენები ყოველთვის, მაგრამ CSS ან JavaScript 789 00:36:37,140 --> 00:36:39,190 ან HTML ან ნებისმიერი რაოდენობის ენებზე. 790 00:36:39,190 --> 00:36:42,160 >> და ეგ აქ თავდაპირველად გამოვიდა 791 00:36:42,160 --> 00:36:44,730 საქართველოს Twitter-- მხოლოდ მთელი bunch of სტილის. 792 00:36:44,730 --> 00:36:47,360 ეს მასიური ფაილი აქ რომ ვიღაცამ დაწერა, 793 00:36:47,360 --> 00:36:51,020 ან ვინმეს დაწერა, დროთა განმავლობაში, განსაზღვრავს ფერები და გაფორმებით 794 00:36:51,020 --> 00:36:53,740 და whatnot ასე რომ მე არ შემიძლია სახის სესხის მათი სინტაქსი 795 00:36:53,740 --> 00:36:56,157 და არ უნდა გაერკვნენ როგორ ქმნის out ჩემი სახით. 796 00:36:56,157 --> 00:36:57,990 ეს ასევე minified ასე რომ კომპიუტერის გამოყენებით შეგიძლიათ 797 00:36:57,990 --> 00:37:00,560 მესმის, მაგრამ არა აუცილებლად ადამიანის. 798 00:37:00,560 --> 00:37:03,050 ასე რომ, ეს უბრალოდ რატომ stylization არ შეცვლილა. 799 00:37:03,050 --> 00:37:05,450 >> მაგრამ მოდით ახლა გავაკეთოთ უკეთესი თვალსაზრისით დიზაინი, 800 00:37:05,450 --> 00:37:07,490 რადგან თუ ჩვენ დარჩება ქვემოთ ეს გზა ძალიან გრძელი, 801 00:37:07,490 --> 00:37:11,290 ჩვენი კოდი აპირებს ბინძურ ქაოტურია. 802 00:37:11,290 --> 00:37:13,040 მოდით ფოკუსირება ეს მაგალითები აქ. 803 00:37:13,040 --> 00:37:15,090 ბოლო დღეს. 804 00:37:15,090 --> 00:37:18,720 >> ასე რომ, აქ არის სუპერ მარტივი ვერსია 1.0 CS50 ნახვა. 805 00:37:18,720 --> 00:37:21,250 ეს მხოლოდ დაბლა ლექციები და სილაბუსი, 806 00:37:21,250 --> 00:37:25,490 და ის გამოყენებით რომ უწესრიგო სია tag-- UL tag, რომ ჩვენ ბოლო დროს. 807 00:37:25,490 --> 00:37:28,800 და თუ რეალურად, თუ მე გახსენით გვერდის წყაროს ნახვა, 808 00:37:28,800 --> 00:37:31,710 თქვენ ნახავთ, რომ ეს არის ნამდვილად, ნამდვილად მარტივი HTML. 809 00:37:31,710 --> 00:37:35,460 და ფაქტობრივად, მიუხედავად იმისა, რომ ეს არის PHP ფაილი ქვევმოთ hood, 810 00:37:35,460 --> 00:37:38,620 ის ჯერ კიდევ მხოლოდ ფურთხი მხოლოდ HTML ახლა. 811 00:37:38,620 --> 00:37:41,312 >> ასე რომ, თუ მე დააჭირეთ ლექციები, ჩვენ ვხედავთ, რომ ეს მოხდეს. 812 00:37:41,312 --> 00:37:43,020 და თუ მე დააჭირეთ კვირაში ნულოვანი, ჩვენ ვხედავთ ამ. 813 00:37:43,020 --> 00:37:44,920 და თუ მე დააჭირეთ ოთხშაბათს, ჩვენ ამ. 814 00:37:44,920 --> 00:37:47,900 და როგორც ჩანს, ეს იყო PDF სლაიდები, რომ დღეს. 815 00:37:47,900 --> 00:37:52,020 ყველა მე ვაკეთებ კავშირი წამყვანმა tag ამ URL აქ. 816 00:37:52,020 --> 00:37:55,400 >> ასე რომ, ეს მხოლოდ იმის თქმა, რომ ეს არის საკმაოდ მარტივი ვერსია CS50 ნახვა. 817 00:37:55,400 --> 00:37:56,790 ვნახოთ, როგორ ეს განხორციელდება. 818 00:37:56,790 --> 00:38:01,240 თუ მე წასვლას mvc0 დირექტორია, ჩვენ დავინახავთ, რამდენიმე ფაილი. 819 00:38:01,240 --> 00:38:03,250 ერთი README ასე რომ, თუ ზოგიერთი ეს ძალიან სწრაფად, 820 00:38:03,250 --> 00:38:05,166 შეგიძლიათ უბრალოდ poke გარშემო უფრო leisurely შემდეგ. 821 00:38:05,166 --> 00:38:07,930 და ცნობა, აქ არის index.php ფაილი. 822 00:38:07,930 --> 00:38:09,960 გამოდის, რომ თუ თქვენ თავს, ადამიანური, 823 00:38:09,960 --> 00:38:14,460 არ დააკონკრეტა, საბოლოო სახელი URL, სერვერზე, როგორც წესი, 824 00:38:14,460 --> 00:38:17,010 ასკვნის, ზოგიერთი რა სახელით თქვენთვის. 825 00:38:17,010 --> 00:38:20,060 ინდექსი dot რაღაც ზოგადად იყოს. 826 00:38:20,060 --> 00:38:23,010 >> ასე რომ, რატომ მომენტში წინ როდესაც მე ვიყავი ამ URL აქ, 827 00:38:23,010 --> 00:38:26,750 არ ფაილის სახელი, ფაილი გაფართოება, არ პერიოდი URL. 828 00:38:26,750 --> 00:38:29,710 ეს უბრალოდ იცოდა, რატომღაც magically უნდა ვეძებოთ index.php. 829 00:38:29,710 --> 00:38:30,870 ეს მხოლოდ კონვენციას. 830 00:38:30,870 --> 00:38:32,360 შეიძლება მოუწოდა არაფერი. 831 00:38:32,360 --> 00:38:35,110 >> ასე რომ, თუ მე ახლა წასვლას index.php, დაინახავთ 832 00:38:35,110 --> 00:38:37,100 რომ indeed-- მოდით დავაღწიოთ კომენტარები 833 00:38:37,100 --> 00:38:39,500 აქ იმიტომ არსებობს ნამდვილად არაფერი საინტერესო it-- 834 00:38:39,500 --> 00:38:41,579 ეს უბრალოდ მძიმე კოდირებული HTML. 835 00:38:41,579 --> 00:38:43,370 ასე რომ, ეს არის თანმიმდევრული, თუმცა, ჩემი პრეტენზია 836 00:38:43,370 --> 00:38:45,230 რომ თქვენ შეგიძლიათ commingle HTML და PHP. 837 00:38:45,230 --> 00:38:48,060 იქ არ არის ფაქტობრივი პროგრამირების ლოგიკა აქ. 838 00:38:48,060 --> 00:38:51,030 >> და სხვა ფაილი არის საკმაოდ ბევრად ისევე, როგორც უინტერესო. 839 00:38:51,030 --> 00:38:56,240 უბრალოდ მძიმე კოდირებული კვირაში აქ კვირაში ერთი მ და კვირაში ერთი w, 840 00:38:56,240 --> 00:38:57,510 ორშაბათს და ოთხშაბათს. 841 00:38:57,510 --> 00:39:01,890 და თუ მე გახსენით კვირის ნულოვანი, შეამჩნია, რომ ეს თითქმის იდენტურია. 842 00:39:01,890 --> 00:39:03,320 >> და ეს ერთგვარი გასაღები takeaway. 843 00:39:03,320 --> 00:39:06,180 შეამჩნევს, თუ რამდენად ზედმეტი არის. 844 00:39:06,180 --> 00:39:10,710 ეს ფაილი ძლივს შეიცვლება, მაგრამ მე გამოყვანილია ერთი ასეთი ასლი / პასტა სამუშაო 845 00:39:10,710 --> 00:39:13,420 სადაც მე ერთი ფაილი, სავარაუდოდ, კვირაში ნულოვანი გადაწერა 846 00:39:13,420 --> 00:39:16,320 როდესაც კვირაში ერთი მოვიდა გარშემო, და tweaked რამდენიმე ღირებულებებს. 847 00:39:16,320 --> 00:39:18,590 ჩვენ ალბათ შევძლებთ როგორ გააკეთოს ეს უკეთესად, ვიდრე ეს. 848 00:39:18,590 --> 00:39:21,800 >> მოდით დავუბრუნდეთ მდე MVC და წასვლას ერთი ვერსია. 849 00:39:21,800 --> 00:39:24,810 და შენიშნავს, მე მივიღე რამდენიმე ფაილი, იმიტომ, რომ რა 850 00:39:24,810 --> 00:39:29,870 იყო საერთო ყველა იმ ფაილებს მხოლოდ მომენტი ago-- თუ მე დაბრუნდეს ვერსია 0, 851 00:39:29,870 --> 00:39:32,600 მოდით დავუბრუნდეთ ინდექსი, და მხოლოდ postulate-- 852 00:39:32,600 --> 00:39:36,090 ერთხელ დავაღწიოთ comments-- რა ნაწილი ამ გვერდზე 853 00:39:36,090 --> 00:39:40,072 სავარაუდოდ ყველა ერთი ჩემი ფაილი? 854 00:39:40,072 --> 00:39:40,780 მხოლოდ მას out. 855 00:39:40,780 --> 00:39:44,620 რომელიც ხაზს დუბლირებული ალბათ მთელი ამ გვერდებზე? 856 00:39:44,620 --> 00:39:45,120 ჰო? 857 00:39:45,120 --> 00:39:46,110 >> სტუდენტი: [INAUDIBLE]. 858 00:39:46,110 --> 00:39:47,660 >> დევიდ ჯ Malan: 1 მეშვეობით 9. 859 00:39:47,660 --> 00:39:48,720 ჰო, აბსოლუტურად. 860 00:39:48,720 --> 00:39:52,080 1 მეშვეობით 9, გარდა იქნებ 8 ცვლის ცოტა, რადგან CS50 861 00:39:52,080 --> 00:39:54,650 ხდება ლექციების ან კვირის ნულოვანი ან რამე. 862 00:39:54,650 --> 00:39:55,970 მაგრამ თითქმის იდენტურია. 863 00:39:55,970 --> 00:39:58,657 ასე რომ, ყველა ამ პერსონალის მხოლოდ სახის გადაწერა და გაკრული. 864 00:39:58,657 --> 00:40:00,490 და არსებობს რამდენიმე სხვა ხაზების მე ვფიქრობ 865 00:40:00,490 --> 00:40:05,000 რომ, ალბათ, ერთნაირი მთელი ფაილი. 866 00:40:05,000 --> 00:40:06,315 >> სტუდენტი: 12 და 13. 867 00:40:06,315 --> 00:40:07,190 დევიდ ჯ Malan: ჰო. 868 00:40:07,190 --> 00:40:11,220 რა თქმა უნდა, 12, 13, 14, ალბათ, მხოლოდ იმიტომ, რომ საინტერესო პერსონალი 869 00:40:11,220 --> 00:40:15,460 ხდება ხაზები 11 10, ასე რომ, როგორც ჩანს. 870 00:40:15,460 --> 00:40:18,350 მოდით შევხედოთ ვერსია 1, რომელიც ცდილობს გააუმჯობესოს ამ. 871 00:40:18,350 --> 00:40:24,020 ვერსია 1 ამ MVC მაგალითად ჩვენ გამოგიგზავნით აგიხსნით, თუ რა MVC საშუალებების მომენტში 872 00:40:24,020 --> 00:40:27,420 თუ მე წასვლას ინდექსი, ეს ერთგვარი გამოიყურება ცოტა დამაბნეველი ახლა. 873 00:40:27,420 --> 00:40:28,880 ეს არ არის საკმაოდ მარტივია, როგორც ადრე. 874 00:40:28,880 --> 00:40:30,906 >> მაგრამ ერთხელ თქვენ დაიწყება ყურადღებით წაიკითხა, ის 875 00:40:30,906 --> 00:40:32,530 საკმაოდ მარტივია, რასაც ის აკეთებს. 876 00:40:32,530 --> 00:40:34,397 როგორც ჩანს, ხაზი 1 და line 8 შეცვალა 877 00:40:34,397 --> 00:40:37,230 ყველა პერსონალის უბრალოდ identified-- თუმცა მხოლოდ კარგი ღონისძიება, 878 00:40:37,230 --> 00:40:41,900 დავტოვე ULs იქ მხოლოდ იმ შემთხვევაში, ზოგიერთი დღის არ აქვს სიაში რამ. 879 00:40:41,900 --> 00:40:47,860 და მოითხოვს სახის როგორც pound მოიცავს C. ეს ასლები და პასტები 880 00:40:47,860 --> 00:40:50,470 შინაარსი ეფექტურად სწორედ აქ ამ ფაილის. 881 00:40:50,470 --> 00:40:53,650 >> ასე რომ, header.php, როგორც თქვენ შეიძლება ითქვას, მისი სახელი, 882 00:40:53,650 --> 00:40:55,330 იქნება სათაურის გვერდზე. 883 00:40:55,330 --> 00:40:57,110 ეს არის სახის ობოლი აქ. 884 00:40:57,110 --> 00:41:01,820 ეს მხოლოდ დაბრუნება, მაგრამ არ არსებობს უფრო მეტი შინაარსი ქვემოთ. 885 00:41:01,820 --> 00:41:05,070 >> და თუ გავითვალისწინებთ ძირი კი, რომელიც სხვა ფაილი mentioned-- 886 00:41:05,070 --> 00:41:08,830 ეს ერთი კი ნაკლებად საინტერესო, თუმცა ისევ და ისევ, ეს საერთო ყველაფერი. 887 00:41:08,830 --> 00:41:10,250 ასე რომ, ეს ძირი. 888 00:41:10,250 --> 00:41:11,300 ეს არის header. 889 00:41:11,300 --> 00:41:13,950 ეს არის ფაილი, რომელიც არის იცვლება, რატომ არ 890 00:41:13,950 --> 00:41:18,140 ცდილობენ ფაქტორი საერთო ამ ორ ხაზს აქ? 891 00:41:18,140 --> 00:41:20,090 >> მაგრამ ჩვენ შეგვიძლია გაწმენდა ამ ცოტა შემდგომი. 892 00:41:20,090 --> 00:41:23,260 მე ვაპირებ წავიდეთ წინ და გახსენით ორი ვერსია, სადაც 893 00:41:23,260 --> 00:41:27,106 ჩვენ ვხედავთ, რომ იქ ახალი ფაილი, helpers.php. 894 00:41:27,106 --> 00:41:28,610 ჩვენ დავინახავთ, რა არის, რომ ამ მომენტში. 895 00:41:28,610 --> 00:41:30,930 მოდით წავიდეთ მაჩვენებელი, შესვლის წერტილი, როგორც ადრე. 896 00:41:30,930 --> 00:41:35,230 >> და ახლა შეამჩნია მე მოითხოვს helpers.php, არ header და ძირი. 897 00:41:35,230 --> 00:41:41,720 მაგრამ დამხმარე სახის მოსწონს helpers.c და helpers.h საწყისი pset 2 898 00:41:41,720 --> 00:41:46,150 ან PSET 3 ხნის წინ, როდესაც თქვენ, ფაქტობრივად, არ ვეძებოთ, რომ pset, 899 00:41:46,150 --> 00:41:50,950 და თქვენ უნდა ყველა თქვენი კოდი დახარისხება და ეძებს ცალკე ფაილი. 900 00:41:50,950 --> 00:41:52,510 რომ ის, რაც ხდება აქ. 901 00:41:52,510 --> 00:41:54,390 >> და ახლა ხაზი 3 გამოიყურება ცოტა განსხვავებული. 902 00:41:54,390 --> 00:41:55,920 და ეს მხოლოდ ერთი ხაზი. 903 00:41:55,920 --> 00:41:57,950 იმისათვის, რომ ეს კიდევ უფრო ნათელია, შემეძლო მხოლოდ 904 00:41:57,950 --> 00:42:01,820 ამისათვის უნდა იყოს სტილისტურად შეესაბამება ყველაფერი ჩვენ გავაკეთეთ. 905 00:42:01,820 --> 00:42:04,130 მაგრამ ეს არ არის ნამდვილად შეცვლის ფუნქცია. 906 00:42:04,130 --> 00:42:05,880 ეს მხოლოდ ერთი ხაზი ნამდვილი კოდი. 907 00:42:05,880 --> 00:42:09,010 >> როგორც ჩანს, არსებობს ფუნქცია სადღაც მოუწოდა გაწევა header, 908 00:42:09,010 --> 00:42:11,420 და ეს არის სადაც რამ კიდევ საკმაოდ ძლიერი. 909 00:42:11,420 --> 00:42:17,040 გაითვალისწინეთ, რომ შიგნით მისი ფრჩხილებში არის ის, რაც სხვა ნაჭერი სინტაქსი? 910 00:42:17,040 --> 00:42:19,780 911 00:42:19,780 --> 00:42:23,350 ეს, ალბათ, ცოტა ძნელი სათქმელია, მაგრამ შეამჩნია there's-- მე დააყენა ზოგიერთი თეთრი 912 00:42:23,350 --> 00:42:24,300 სივრცეში. 913 00:42:24,300 --> 00:42:25,530 იქ კვადრატულ ფრჩხილებში. 914 00:42:25,530 --> 00:42:29,700 >> და კვადრატულ ფრჩხილებში ჩვენ ვნახეთ, ცოტა წინ კონტექსტში ასოციაციური მასივები, 915 00:42:29,700 --> 00:42:31,580 რომელიც, კიდევ ერთხელ, ისევე როგორც hash მაგიდები. 916 00:42:31,580 --> 00:42:36,230 და თუ ფიქრობთ, ახლა C, ბრძანებით არგუმენტები შევიდა ფუნქცია 917 00:42:36,230 --> 00:42:37,570 აქვს, რომ ყოველთვის იქნება იგივე. 918 00:42:37,570 --> 00:42:41,146 თქვენ უნდა გვახსოვდეს, რა შეკვეთა is-- x, y, z და z, y, რომ X 919 00:42:41,146 --> 00:42:44,020 და თქვენ უნდა ყოველთვის მათ იმავე მიზნით, და გამოიყურება მათ 920 00:42:44,020 --> 00:42:45,100 თუ თქვენ დავიწყებული. 921 00:42:45,100 --> 00:42:51,140 >> მაგრამ ეს, როგორც ჩანს, ჭკვიანი გზა გავლის თვითნებური გასაღები ღირებულება 922 00:42:51,140 --> 00:42:55,840 წყვილი, რომლის დროსაც სათაური არის სახელი არგუმენტი ამ შემთხვევაში 923 00:42:55,840 --> 00:42:58,334 და CS50 არის მისი ღირებულება. 924 00:42:58,334 --> 00:43:00,250 და ის ფაქტი, რომ მე მაქვს ამ კვადრატულ ფრჩხილებში 925 00:43:00,250 --> 00:43:02,560 აქ იმას ნიშნავს, რომ მე ასევე გაივლის რაღაც 926 00:43:02,560 --> 00:43:07,550 როგორიცაა კვირაში 1 ან 0 ან 2 ან 3. 927 00:43:07,550 --> 00:43:10,550 ასე რომ, ჩვენ parameterized ეს ფუნქცია ისე, 928 00:43:10,550 --> 00:43:15,180 რომ მას შეუძლია მიიღოს მრავალჯერადი საშუალებებით, მაგრამ ახლა ეს მხოლოდ ერთი. 929 00:43:15,180 --> 00:43:20,060 >> თუ მე ახლა წასვლას helpers.php, ვნახოთ, რას აკეთებს. 930 00:43:20,060 --> 00:43:22,030 ეს არის ცოტა ახალ ფუნქციებს, 931 00:43:22,030 --> 00:43:24,190 მაგრამ ახლა მხოლოდ მიიღოს რწმენა, რომ ეს არის 932 00:43:24,190 --> 00:43:26,570 სინტაქსი, რომელიც თქვენ განსაზღვრავს ფუნქცია PHP. 933 00:43:26,570 --> 00:43:27,840 თქვენ სიტყვასიტყვით ამბობენ ფუნქცია. 934 00:43:27,840 --> 00:43:30,090 თქვენ არ დააკონკრეტა დაბრუნება ჩაწერეთ, და ეს შეესაბამება 935 00:43:30,090 --> 00:43:33,880 ერთად ცვლადი დეტალურად ადრე სადაც თქვენ ნამდვილად არ მკაცრად ტიპის. 936 00:43:33,880 --> 00:43:35,650 >> ეს მხოლოდ განსაზღვრავს რომ, ჩვეულებრივ, ამ 937 00:43:35,650 --> 00:43:37,460 იღებს ასოციაციურ array როგორც არგუმენტი. 938 00:43:37,460 --> 00:43:38,210 და იცით რა? 939 00:43:38,210 --> 00:43:41,450 თუ მომხმარებელი არ გაივლის ერთი ამ, ვივარაუდოთ, საწყისი მნიშვნელობა. 940 00:43:41,450 --> 00:43:44,680 >> ეს არის თვისება, რომელიც C არ აქვს ჩვენთვის, რომელიც არის ლამაზი, რადგან ახლა 941 00:43:44,680 --> 00:43:46,430 მონაცემები, მაშინაც კი, თუ თქვენ არ მისცეს მას არაფერი, 942 00:43:46,430 --> 00:43:49,300 იქნება მასივი, მაგრამ ცარიელი ერთი. 943 00:43:49,300 --> 00:43:51,860 და როგორც განზე, ამონაწერი უბრალოდ არ რაიმე ხმაურიანი 944 00:43:51,860 --> 00:43:56,380 სადაც იგი იღებს ყველა გასაღები ეს ასოციაციურ მასივში, ყველა რამ, 945 00:43:56,380 --> 00:43:59,950 თქვენ ვერ დააყენა კვადრატულ ფრჩხილებში და ქმნის ცვლადები აქედან 946 00:43:59,950 --> 00:44:06,270 ასე, რომ ჩვენ საბოლოოდ აქვს დაშვება მათ footet.php და header.php. 947 00:44:06,270 --> 00:44:08,950 რომ ცოტა აბსტრაქტული, ნება მომეცით აღვნიშნო ამ გარეთ. 948 00:44:08,950 --> 00:44:12,990 >> In index.php შეამჩნევთ, რომ მე ვარ გავლის გასაღები ღირებულება წყვილი სათაური 949 00:44:12,990 --> 00:44:14,850 ღირებულების CS50. 950 00:44:14,850 --> 00:44:18,660 თუ მე ახლა შევხედოთ helpers.php, შეამჩნია, რომ RenderHeader 951 00:44:18,660 --> 00:44:23,870 არის მოპოვების იმ მონაცემებს, რომელიც მე გავლით , და შემდეგ მოითხოვს header.php. 952 00:44:23,870 --> 00:44:27,970 რა გავაკეთეთ ერთგვარი ღარიბი ადამიანის განხორციელების ახლა შემდეგ. 953 00:44:27,970 --> 00:44:31,720 >> თუ გახსნა header.php, გაითვალისწინეთ, რომ მე აღარ მძიმე 954 00:44:31,720 --> 00:44:34,890 კოდირებული სიტყვა CS50 ამ header ფაილი. 955 00:44:34,890 --> 00:44:39,310 მე დააყენა ამ მართლაც atrociously დაასახელა ფუნქცია, HTML სპეციალური სიმბოლო, 956 00:44:39,310 --> 00:44:40,170 იქ. 957 00:44:40,170 --> 00:44:41,640 მაგრამ შეამჩნია რა მე ვაკეთებ. 958 00:44:41,640 --> 00:44:44,240 მაქვს ღია HTML. 959 00:44:44,240 --> 00:44:47,420 მე მაშინ აქვს ღია ხელმძღვანელი და ღია ტიტული. 960 00:44:47,420 --> 00:44:52,380 >> და შემდეგ შიგნით სათაური ღია და ახლო tags, მე ცოტა PHP კოდი. 961 00:44:52,380 --> 00:44:56,670 და ეს არის ლამაზი, მაგრამ სინტაქსი, რომელიც მხოლოდ იმას ნიშნავს echo გარეთ. 962 00:44:56,670 --> 00:44:59,840 ეს ფაქტიურად ნიშნავს ამას echo ასეთია 963 00:44:59,840 --> 00:45:01,910 მაგრამ ეს არის sexier დაწერა. 964 00:45:01,910 --> 00:45:05,000 Echo გარეთ სათაური რომ უკვე გავიდა. 965 00:45:05,000 --> 00:45:07,560 >> მაგრამ რას ფიქრობთ HTML სპეციალური char არის ყველაფერი, 966 00:45:07,560 --> 00:45:10,590 განსაკუთრებით თუ თქვენ გაქვთ ზოგიერთი წინასწარი HTML გამოცდილება? 967 00:45:10,590 --> 00:45:14,050 რა სიმბოლოები შეიძლება იყოს საშიში კორიდორი გვერდი 968 00:45:14,050 --> 00:45:17,980 სადაც თქვენ დინამიურად მომტანი ვებ-გვერდზე კოდის მოსწონს ეს? 969 00:45:17,980 --> 00:45:21,370 970 00:45:21,370 --> 00:45:24,650 ნება მომეცით წასვლა ფაილის ვერსია ორი და, თუ შეიძლება არ გამოიწვიოს ეს. 971 00:45:24,650 --> 00:45:26,210 >> ორი ვერსია, ეს არის. 972 00:45:26,210 --> 00:45:28,510 და შენიშნავს, რომ ყველაფერი კარგად არის, კარგად მუშაობს. 973 00:45:28,510 --> 00:45:35,280 მაგრამ დავუშვათ, მე წასვლას index.php და მე მითითებული, რომ ტიტული ჩემი გვერდი 974 00:45:35,280 --> 00:45:36,630 არ არის CS50. 975 00:45:36,630 --> 00:45:44,930 ეს არის ღია bracket script alert მშვენიერია, ახლოს ერთი გაცემა, 976 00:45:44,930 --> 00:45:49,740 დახუროს ფრჩხილებში, მძიმით, ღია bracket, slash სცენარი. 977 00:45:49,740 --> 00:45:51,897 >> Script, როგორც ჩვენ საბოლოოდ ვხედავთ, tag 978 00:45:51,897 --> 00:45:54,480 რომელიც შეგიძლიათ გამოიყენოთ, რათა გამოიყენონ სხვა პროგრამირების ენის მოუწოდა 979 00:45:54,480 --> 00:45:56,330 JavaScript შიგნით ვებ გვერდზე. 980 00:45:56,330 --> 00:45:57,960 და ახლა შეამჩნია ლოგიკა აქ. 981 00:45:57,960 --> 00:45:59,840 აქ არის გასაღები მოუწოდა სათაური. 982 00:45:59,840 --> 00:46:02,690 აქ არის ის გიჟები ხანგრძლივი არც ახლა. 983 00:46:02,690 --> 00:46:07,840 >> მაგრამ თუ მე დამხმარე page- უფრო სწორად, header გვერდი, 984 00:46:07,840 --> 00:46:11,310 მე მოუწოდებდა ამ ფუნქციის რომ ტიტული პირველი. 985 00:46:11,310 --> 00:46:15,250 ასე რომ, თუ მე ახლა განაახლეთ ეს გვერდი, მე ეს, რომელიც გამოიყურება სასაცილოა, 986 00:46:15,250 --> 00:46:16,110 მაგრამ ეს საფრთხე არ ემუქრება. 987 00:46:16,110 --> 00:46:17,310 ეს უბრალოდ გამოიყურება სულელური. 988 00:46:17,310 --> 00:46:20,320 >> მაგრამ ვარაუდობენ, ნაცვლად მე მქონდა დავიწყებული ეს. 989 00:46:20,320 --> 00:46:24,660 და მარკ ჩემი სიტყვები, არანულოვანი ნომერი თქვენ ნახავთ დაგვავიწყდეს, რომ ეს 990 00:46:24,660 --> 00:46:27,790 და თქვენ მიიღებთ ზოგიერთი შრომისმოყვარე სტუდენტი ან მეგობარს ახლოვდება 991 00:46:27,790 --> 00:46:31,540 თქვენ at CS50 სამართლიანი ან ანონიმურად ღამით გააღიზიანოს გარშემო თქვენი საიტი 992 00:46:31,540 --> 00:46:35,300 და არსებითად ინექციური კოდი არ ვიცი, თუ თქვენი საიტი 993 00:46:35,300 --> 00:46:35,800 რატომღაც. 994 00:46:35,800 --> 00:46:39,000 >> იმიტომ, რომ თუ მე უბრალოდ შამფურზე out სათაური აქ და სათაური 995 00:46:39,000 --> 00:46:44,330 იქ ასევე, თუ სათაური სიტყვასიტყვით ასე გამოიყურება და PHP 996 00:46:44,330 --> 00:46:47,660 როგორც ენა, რომელსაც შეუძლია შამფურზე სხვა ენებზე ტექსტი 997 00:46:47,660 --> 00:46:50,650 ეს სიტყვასიტყვით აპირებს შეცვლის ამ tag ერთად, 998 00:46:50,650 --> 00:46:53,010 რა თქმა უნდა, ის, რაც მე ზუსტად სხვაგან. 999 00:46:53,010 --> 00:46:57,640 >> ასე რომ, თუ მე ახლა აქ და განაახლეთ შემდეგ გაუქმება იმ უსაფრთხოების მექანიზმები, 1000 00:46:57,640 --> 00:46:59,982 ახლა მაქვს Hello world აქ. 1001 00:46:59,982 --> 00:47:02,690 ახლა, რომ ეს არ არის ყველა, რომ დიდი საქმე, მაგრამ შეიძლება რაღაც 1002 00:47:02,690 --> 00:47:05,119 ცოტა მეტი მუქარის აქ, როგორც იქ 1003 00:47:05,119 --> 00:47:08,410 სხვა tags-- როგორც ვნახავთ ერთხელ ვხარჯავთ მეტი დრო JavaScript--, როგორიცაა ადგილმდებარეობა 1004 00:47:08,410 --> 00:47:14,910 dot href იღებს, გაცემა, unquote, HTTP business.com, მაგრამ საპირისპირო რომ 1005 00:47:14,910 --> 00:47:15,950 მეორე დღეს. 1006 00:47:15,950 --> 00:47:20,120 და ახლა თქვენ შეიძლება გამოიწვიოს ვებ გვერდი რეალურად დაუყოვნებლივ 1007 00:47:20,120 --> 00:47:21,190 ამ ვებ გვერდზე აქ. 1008 00:47:21,190 --> 00:47:23,000 >> და რეალურად, მე არ მინდა, კი წასვლა business.com 1009 00:47:23,000 --> 00:47:24,749 იმიტომ, რომ მე არ მინდა, ვიცოდეთ, რომ არის. 1010 00:47:24,749 --> 00:47:28,710 მაგრამ ეს, ძალიან, გამოიწვევს კოდი უნდა გაუკეთეს შევიდა ამ გვერდზე. 1011 00:47:28,710 --> 00:47:32,680 ასე რომ, ეს მხოლოდ იმის თქმა, რომ მიუხედავად იმისა, ჩვენ შემოღების super დასაწყისში ზოგიერთი 1012 00:47:32,680 --> 00:47:36,800 ამ უფრო რთული სტრუქტურები, ეს ყველაფერი მიმართ ბოლომდე მიღების დარწმუნებული ვარ, 1013 00:47:36,800 --> 00:47:39,320 რომ თქვენი კოდი არ exploitable. 1014 00:47:39,320 --> 00:47:40,960 >> ასე რომ, ახლა მესამე ვერსია აქ. 1015 00:47:40,960 --> 00:47:42,470 ის მიღების ცოტა fancier. 1016 00:47:42,470 --> 00:47:44,875 მე ნამდვილად არ მოსწონს ანალური მხარეს ჩემთვის 1017 00:47:44,875 --> 00:47:47,750 მიღების პატარა გააღიზიანა ფაქტი, რომ მე ფუნქცია მოუწოდა 1018 00:47:47,750 --> 00:47:51,940 RenderHeader და RenderFooter რომ თითქმის იდენტური იყო. 1019 00:47:51,940 --> 00:47:55,400 ასე რომ, ეს მოხდა ჩემთან, რატომ არ მე parameterize ამ ფუნქციების 1020 00:47:55,400 --> 00:47:59,180 მხოლოდ ერთი მოუწოდა გაწევა, არ დასჭირდება მეორე არგუმენტი 1021 00:47:59,180 --> 00:48:04,420 როგორიცაა სახელი, template, საბოლოო to render-- ან სათაური, ან ძირი? 1022 00:48:04,420 --> 00:48:07,160 და მერე სურვილისამებრ, თუ მინდა გავლა ზოგიერთი გასაღები ღირებულება წყვილი 1023 00:48:07,160 --> 00:48:10,580 ისევე, როგორც მე, რომ სათაური header მაგრამ არა ძირი, 1024 00:48:10,580 --> 00:48:11,800 მე ვერ გავაკეთოთ, რომ. 1025 00:48:11,800 --> 00:48:16,510 >> და ახლა თუ მე წასვლას helpers.php, ეს ცოტა უფრო რთული. 1026 00:48:16,510 --> 00:48:19,670 და მე ტალღის ხელები დეტალები, მაგრამ ეს მხოლოდ ერთი ფუნქცია. 1027 00:48:19,670 --> 00:48:21,890 ასე რომ, ეს ნაბიჯი უკეთესი დიზაინი. 1028 00:48:21,890 --> 00:48:23,360 >> ჩვენ შეგვიძლია ეს ერთი ნაბიჯი შემდგომი. 1029 00:48:23,360 --> 00:48:28,890 თუ მე წასვლას ჩემი მეოთხე ვერსია ამ შეამჩნევთ 1030 00:48:28,890 --> 00:48:31,320 რომ მე ვაკეთებ რაღაც კიდევ უფრო სახის cryptic. 1031 00:48:31,320 --> 00:48:33,230 და მე ვიცი, რომ ეს არის ბევრი აღიქვას, ამავე დროს, 1032 00:48:33,230 --> 00:48:35,080 მაგრამ ჩვენ უბრალოდ სახის დასუფთავების რამ up. 1033 00:48:35,080 --> 00:48:38,550 ახლა მე აყენებს ჩემი დამხმარე ფაილი საქაღალდეში მოუწოდა 1034 00:48:38,550 --> 00:48:41,190 includes-- მხოლოდ თვითნებური სახელი, სადაც მინდა დააყენა პერსონალი 1035 00:48:41,190 --> 00:48:44,300 რომ მინდა include-- და შემდეგ დანარჩენი ეს არის იგივე. 1036 00:48:44,300 --> 00:48:47,140 >> მაგრამ, თუ გავითვალისწინებთ ახლა gedit, შეამჩნია, რომ მე მიღებული rid 1037 00:48:47,140 --> 00:48:51,940 ყველა იმ სხვა ფაილი და მე გადავიდა, მაგალითად, შევიდა აქ. 1038 00:48:51,940 --> 00:48:55,110 და შემდეგ თარგები, მე ამ აქაც. 1039 00:48:55,110 --> 00:48:59,292 და ეს არის ყველა ახლა მიმართ გადადგმული ნაბიჯია გამოყენების ბევრად უკეთესი დიზაინი ნიმუში. 1040 00:48:59,292 --> 00:49:01,000 და ჩვენ ძალიან სწრაფად აპირებს გადავიდეს დაშორებით 1041 00:49:01,000 --> 00:49:03,870 PHP- ს ძირითადად ფუნქციონირება, რომელიც ჩვენ დავიწყეთ აქ, 1042 00:49:03,870 --> 00:49:07,655 სადაც თქვენ უბრალოდ commingle PHP, და თქვენი HTML, და თქვენი CSS, 1043 00:49:07,655 --> 00:49:09,780 და თქვენ უბრალოდ შამფურზე ის და წავიდეთ თქვენი გზა. 1044 00:49:09,780 --> 00:49:11,404 ის არ აპირებს იყოს ძალიან maintainable. 1045 00:49:11,404 --> 00:49:14,481 ისევე, როგორც C, დავიწყეთ გამოყენებით რამოდენიმე ფაილი და მრავალი ფუნქციები 1046 00:49:14,481 --> 00:49:15,730 და ფაქტორინგი რამ out. 1047 00:49:15,730 --> 00:49:16,688 ჩვენ ყველაფერს გავაკეთებთ, იგივე აქ. 1048 00:49:16,688 --> 00:49:19,970 და ფაქტობრივად, მეხუთე და საბოლოო ვერსია აქ, მე კიდევ ერთი რამ. 1049 00:49:19,970 --> 00:49:23,710 თქვენ შეგიძლიათ კიდევ გამოიყენოთ dot dot, რომელიც, კიდევ ერთხელ, მხოლოდ მშობლის დირექტორია. 1050 00:49:23,710 --> 00:49:28,260 კიდევ უფრო უსაფრთხოების შეგნებული, იმიტომ, რომ, თუ გავითვალისწინებთ, რომ მოსმენის 1051 00:49:28,260 --> 00:49:32,450 აქ მეხუთე და საბოლოო ვერსია, ცნობა რომ მე მაქვს ერთი დირექტორია მოუწოდა 1052 00:49:32,450 --> 00:49:35,180 საჯარო და შემდეგ იმავე დონეზე, ასე ვთქვათ, 1053 00:49:35,180 --> 00:49:38,490 მაქვს მოიცავს და შაბლონები და შემდეგ რომ ტექსტური ფაილი readme. 1054 00:49:38,490 --> 00:49:41,130 >> და მიზეზი მე სტრუქტურა ეს მსგავსი რამ და ამდენი ვებ 1055 00:49:41,130 --> 00:49:44,330 მასპინძლებს, განსაკუთრებით იმ $ 5 თვის პირობა ან 10 $ თვეში პირობა, 1056 00:49:44,330 --> 00:49:47,170 თუ თქვენ ოდესმე ერთი ასეთი services-- რა ამდენი მათგანი ვერ 1057 00:49:47,170 --> 00:49:50,690 არის, რომ ისინი მხოლოდ ველით, რომ თქვენ ნაგავსაყრელი ყველა თქვენი ფაილი ერთ დირექტორიაში, 1058 00:49:50,690 --> 00:49:53,640 როგორც ჩვენ უკვე ეს პირველი მაგალითი. 1059 00:49:53,640 --> 00:49:56,740 >> მაგრამ, როგორც კი თქვენ დაიწყოს მშენებლობის მეტი დახვეწილი საიტები, რომ უბრალოდ შეინახოს 1060 00:49:56,740 --> 00:50:00,480 მონაცემები აინტერესებს და ფაილები აინტერესებს, რეალურად ორგანიზება რამ 1061 00:50:00,480 --> 00:50:05,060 სწორად და მეტი უსაფრთხოების ცნობიერების გონება 1062 00:50:05,060 --> 00:50:07,927 ჩვენ ვიწყებთ, რათა დაიცვას წინააღმდეგ ყველა მეგობარი 1063 00:50:07,927 --> 00:50:10,135 რომ თქვენ გაქვთ შეგიძლიათ ან გარეთ ამ კლასის, რომელიც, 1064 00:50:10,135 --> 00:50:12,510 როგორც კი თქვენ დაიწყოს მიღების პროგრამები თავს ინტერნეტში, 1065 00:50:12,510 --> 00:50:15,140 დაიწყება კრეფა თქვენ და მათ. 1066 00:50:15,140 --> 00:50:17,420 >> და ამიტომ ჩვენ შევისწავლით საბოლოოდ ამ დიზაინის. 1067 00:50:17,420 --> 00:50:20,010 ეს არის მხოლოდ სურათი რომელიც ასახავს შემდეგ. 1068 00:50:20,010 --> 00:50:22,897 ჩვენ ვაპირებთ, რომ ყველა ჩვენი პროგრამირების ლოგიკა ერთი ან მეტი ფაილი, 1069 00:50:22,897 --> 00:50:25,230 და ჩვენ ვაპირებთ დავიწყო მოუწოდებდა იმ კონტროლერები. 1070 00:50:25,230 --> 00:50:28,022 ეს არის ის, სადაც ტვინი ჩვენი საიტები რეალურად არიან. 1071 00:50:28,022 --> 00:50:29,730 მაშინ ჩვენ ვაპირებთ აქვს ხედები და რაოდენობა 1072 00:50:29,730 --> 00:50:32,480 როგორც მარტივი, როგორც მხოლოდ ცალკე ფაილები მოუწოდა თარგები, ხშირად. 1073 00:50:32,480 --> 00:50:34,410 ისინი მხოლოდ ესთეტიკის ჩემი გვერდი, 1074 00:50:34,410 --> 00:50:37,020 რა მინდა გვერდზე გამოიყურება მოსწონს ფერები და განლაგება 1075 00:50:37,020 --> 00:50:38,870 და პოზიციები ყველა ცვლადები. 1076 00:50:38,870 --> 00:50:41,120 >> და შემდეგ უფრო საინტერესო რომ ჩვენ საბოლოოდ მისაღებად 1077 00:50:41,120 --> 00:50:45,420 არის მოდელი, რომელიც იქნება მხოლოდ სიტყვა ჩვენ slap სხვა ტექნოლოგიები 1078 00:50:45,420 --> 00:50:47,771 ჩვენ მოუტანს სურათი, როგორც ფაქტობრივი მონაცემთა ბაზა, 1079 00:50:47,771 --> 00:50:49,520 ასე რომ, როდესაც თქვენ გჭირდებათ გადარჩენა ინფორმაცია, 1080 00:50:49,520 --> 00:50:52,140 თქვენ არ უბრალოდ გამოგვიგზავნეთ ელექტრონული შეტყობინება თქვენი proctor ან საკუთარ თავს, 1081 00:50:52,140 --> 00:50:57,350 თქვენ რეალურად შესანახად იგი ბაზაში გამოყენების სხვა ენაზე ცნობილია, როგორც SQL. 1082 00:50:57,350 --> 00:51:00,450 ასე რომ, ჩვენ დავტოვებთ დღეს აქ გააშუქა ამ ოთხშაბათს 1083 00:51:00,450 --> 00:51:02,990 და დანერგვა მონაცემთა ბაზის შემდეგ. 1084 00:51:02,990 --> 00:51:06,940 >> [მუსიკალური სათამაშო] 1085 00:51:06,940 --> 00:54:24,555