1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP ვებ უზრუნველყოფა] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [ეს არის CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> ამ ვიდეო, ჩვენ გაეცნონ გამოყენებით PHP ვებ განვითარებას. 5 00:00:11,000 --> 00:00:14,000 PHP არის სკრიფტინგის ენა, რომელიც შეიძლება გამოყენებულ განხორციელება 6 00:00:14,000 --> 00:00:17,000 ვებ სერვერზე. 7 00:00:17,000 --> 00:00:21,000 სერვერზე არსებითად მანქანა ეძღვნება უზრუნველყოფს შინაარსი 8 00:00:21,000 --> 00:00:24,000 რომ შესაძლებელია ინტერნეტით. 9 00:00:24,000 --> 00:00:30,000 როდესაც თქვენ ნავიგაცია ვებ გვერდზე როგორიცაა Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 კოდი ამ ფაილის მოუწოდა home.php რომელიც ცხოვრობს Facebook სერვერზე სადღაც 11 00:00:35,000 --> 00:00:38,000 შესრულდება რომ სერვერზე. 12 00:00:38,000 --> 00:00:41,000 ეს კოდი სავარაუდოდ გენერირება რამდენიმე output 13 00:00:41,000 --> 00:00:43,000 რაც თავის მხრივ უნდა გაიგზავნოს სერვერზე 14 00:00:43,000 --> 00:00:45,000 თქვენს ბრაუზერში. 15 00:00:45,000 --> 00:00:49,000 ჩვენ უნდა გამოყენებით CS50 ელექტრო მოწყობილობების, როგორც სერვერზე. 16 00:00:49,000 --> 00:00:51,000 თქვენი მანქანა ალბათ არ იქნება თითქმის როგორც ძლიერი, როგორც მანქანები 17 00:00:51,000 --> 00:00:57,000 წელს Facebook მონაცემების ცენტრი, მაგრამ თქვენ არ გაქვთ პრობლემა გამოყენებით, ვებ განვითარება. 18 00:00:57,000 --> 00:01:05,000 >> როდესაც ჩვენ ნავიგაცია URL როგორიცაა http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 ჩვენ კონფიგურაციის მოწყობილობების მეშვეობით განაცხადის მოუწოდა Apache HTTP სერვერის 20 00:01:10,000 --> 00:01:19,000 ვეძებოთ ფაილი სახელად hello.php შიგნით მთავარი / jharvard / vhosts / localhosts / html იყოს. 21 00:01:19,000 --> 00:01:23,000 თუ ეს ფაილი არსებობს, მაშინ Apache გამოიყენებს PHP ინტერპრეტატორი 22 00:01:23,000 --> 00:01:27,000 შეასრულოს PHP კოდის hello.php. 23 00:01:27,000 --> 00:01:31,000 თუ ეს ფაილი არ არსებობს, მაშინ Apache გადაყარეთ არ არის ნაპოვნი შეცდომა 24 00:01:31,000 --> 00:01:36,000 ან 404 error, რომელიც თქვენ ალბათ გინახავთ ხოლო ათვალიერებს ვებ. 25 00:01:36,000 --> 00:01:40,000 >> მოდით შევხედოთ hello.php. 26 00:01:40,000 --> 00:01:45,000 ჩვენ ვხედავთ, რომ hello.php გენერირებას სიგნალი ხაზი გამომუშავება. 27 00:01:45,000 --> 00:01:51,000 როდესაც ჩვენ გაიქცა hello.php ბრძანებათა ზოლს მეშვეობით php hello.php 28 00:01:51,000 --> 00:01:54,000 რომ გამომავალი დაიბეჭდა ტერმინალში. 29 00:01:54,000 --> 00:01:58,000 ახლა, როდესაც ჩვენ ამ ფაილის მეშვეობით URL ბრაუზერში 30 00:01:58,000 --> 00:02:01,000 მისი გამომუშავება გაიგზავნება ბრაუზერში, 31 00:02:01,000 --> 00:02:09,000 ასე რომ სასაქონლო URL, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 ჩვენ ვხედავთ გამომავალი ჩვენს ბრაუზერში. 33 00:02:12,000 --> 00:02:17,000 >> მოდით ცდილობენ კიდევ ერთი printf ჩვენს Hello World პროგრამა. 34 00:02:17,000 --> 00:02:23,000 Okay, მოდით უხელმძღვანელებს უკან ბრაუზერში და ვნახოთ, რა გვაქვს. 35 00:02:23,000 --> 00:02:25,000 საინტერესო. 36 00:02:25,000 --> 00:02:28,000 ვიდრე ბეჭდვის მეორე ხაზი საკუთარი ხაზი, როგორც თქვენ არ ჩანს 37 00:02:28,000 --> 00:02:32,000 ტერმინალში, როგორც ჩანს მას smushed გადატანა იგივე ხაზი 38 00:02:32,000 --> 00:02:36,000 როგორც სხვა printf, იქნებ ახალ ხაზებს არ მუშაობს PHP. 39 00:02:36,000 --> 00:02:38,000 არა საკმაოდ. 40 00:02:38,000 --> 00:02:41,000 გახსოვდეთ, რომ HTML, როგორც წესი, გამოიყენება შექმნა ვებ გვერდები 41 00:02:41,000 --> 00:02:44,000 , რომელიც შეიძლება ნაჩვენები ბრაუზერების. 42 00:02:44,000 --> 00:02:49,000 არა მხოლოდ არის string მიესალმები ეხლა php არ მოქმედებს HTML, 43 00:02:49,000 --> 00:02:53,000 მაგრამ გავიხსენოთ, რომ ჩვენ არ შეგვიძლია გამოვიყენოთ \ n ხასიათი HTML 44 00:02:53,000 --> 00:02:55,000 შექმნათ ხაზი შესვენება. 45 00:02:55,000 --> 00:03:01,000 იმის ნაცვლად, რომ უბრალოდ outputting სიმებიანი მოდით გამომავალი ძალაშია HTML. 46 00:03:01,000 --> 00:03:04,000 გამოყენებით პუნქტის tags თითოეული ჩვენი printf ზარები 47 00:03:04,000 --> 00:03:07,000 იქნება ნაჩვენები საკუთარი ხაზი, 48 00:03:07,000 --> 00:03:11,000 ასე რომ, ახლა, როდესაც ჩვენ ეწვევა URL მიუთითებს valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 ჩვენ ვხედავთ გამომავალი, რომ ჩვენ ვეძებთ. 51 00:03:19,000 --> 00:03:22,000 >> ახლა, თუ ჩვენ ნახოთ ამ გვერდის საწყისი 52 00:03:22,000 --> 00:03:25,000 ჩვენ ვხედავთ, რომ ჩვენ ახლა ეძებს ძალაშია HTML, 53 00:03:25,000 --> 00:03:28,000 რომელიც ჩვენ შექმნილი PHP. 54 00:03:28,000 --> 00:03:31,000 აყენებს ყველა ჩვენი HTML შიგნით printf ზარები 55 00:03:31,000 --> 00:03:34,000 რა თქმა უნდა, აპირებს მიიღოს მართლაც შემაშფოთებელი. 56 00:03:34,000 --> 00:03:38,000 საბედნიეროდ ჩვენ შეგვიძლია ადვილად აურიეთ HTML და PHP 57 00:03:38,000 --> 00:03:41,000 იმავე. php ფაილი. 58 00:03:41,000 --> 00:03:47,000 გახსოვდეთ, ყველა ჩვენი PHP კოდი უნდა დაერთოს შიგნით 00:03:49,000 და?>. 60 00:03:49,000 --> 00:03:52,000 არაფერი რომ არ ერთვის ფარგლებში ამ delimiters 61 00:03:52,000 --> 00:03:55,000 უბრალოდ უნდა გაიგზავნოს როგორც გამომავალი ბრაუზერის 62 00:03:55,000 --> 00:03:57,000 ვიდრე ხორციელდება. 63 00:03:57,000 --> 00:04:01,000 ეს ნიშნავს, რომ ჩვენ შეგვიძლია გავაკეთოთ რაღაც მოსწონს ეს. 64 00:04:01,000 --> 00:04:05,000 ჩვენ შეგვიძლია უბრალოდ წერენ HTML შიგნით ჩვენი. Php ფაილი 65 00:04:05,000 --> 00:04:11,000 და შემდეგ ჩადეთ PHP ბლოკად, სადაც ჩვენ გვინდა რაღაც php კოდი შესრულდება. 66 00:04:11,000 --> 00:04:15,000 აქ ჩვენ განვსაზღვროთ რამდენიმე ცვლადები ზედა ფაილი, 67 00:04:15,000 --> 00:04:19,000 და შემდეგ ჩვენ ამობეჭდოთ ისინი განდევნეს შიგნით ჩვენი HTML. 68 00:04:19,000 --> 00:04:27,000 ახლა თუ ჩვენ ეს URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 ჩვენ ვხედავთ ჩვენი შეაფასა PHP შიგნით ჩვენი HTML. 70 00:04:33,000 --> 00:04:36,000 >> ახლა მოდით შევხედოთ, თუ როგორ შეგვიძლია გაივლის მონაცემები 71 00:04:36,000 --> 00:04:39,000 მათ შორის, ჩვენი სხვადასხვა PHP გვერდებზე. 72 00:04:39,000 --> 00:04:51,000 ვიდრე ამბობდა 73 00:04:51,000 --> 00:04:58,000 ჩვენ შეგვიძლია უბრალოდ ვთქვათ, 00:05:01,000 და?>. 75 00:05:01,000 --> 00:05:03,000 მოდით ახლა შევხედოთ როგორ შეგვიძლია გაივლის მონაცემები 76 00:05:03,000 --> 00:05:06,000 მათ შორის, ჩვენი სხვადასხვა PHP გვერდებზე. 77 00:05:06,000 --> 00:05:11,000 ერთი გზა, ჩვენ შეგვიძლია გავაკეთოთ, რომ არის encode ინფორმაციის URL of გვერდზე. 78 00:05:11,000 --> 00:05:14,000 როდესაც ათვალიერებს ინტერნეტში, თქვენ შეიძლება არ შეამჩნია, რომ ზოგიერთი მისამართები 79 00:05:14,000 --> 00:05:20,000 შეიცავდეს? მოჰყვა string შემცველი ampersands და თანაბარი ნიშნები. 80 00:05:20,000 --> 00:05:23,000 ამ ნაწილში URL ცნობილია, როგორც მოთხოვნის სტრიქონი, 81 00:05:23,000 --> 00:05:29,000 და ეს საშუალებას გაძლევთ ეფექტურად გაიაროს არგუმენტები თქვენი PHP სკრიპტი. 82 00:05:29,000 --> 00:05:34,000 შეკითხვის სიმებიანი შედგება გასაღები ღირებულება წყვილი, ისევე, როგორც hash მაგიდასთან. 83 00:05:34,000 --> 00:05:38,000 თანაბარი ნიშანი ჰყოფს გასაღები და მისი შესაბამისი ღირებულება 84 00:05:38,000 --> 00:05:41,000 ხოლო ampersands ცალკე წყვილი. 85 00:05:41,000 --> 00:06:05,000 URL რომ ჰგავს http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 აქვს 2 გასაღები ღირებულება წყვილი შეკითხვის სიმებიანი. 87 00:06:09,000 --> 00:06:12,000 გასაღები foo რუკები ღირებულება ბარი, 88 00:06:12,000 --> 00:06:16,000 და გასაღები baz რუკები ღირებულება qux. 89 00:06:16,000 --> 00:06:23,000 ჩვენ შეგვიძლია ადვილად შედიხართ ამ საკვანძო მნიშვნელობის წყვილის გამოყენებით სპეციალური ცვლადი PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET არის ასოციაციურ მასივში 92 00:06:32,000 --> 00:06:36,000 რომელიც ავტომატურად დასახლებულ შეკითხვაზე string მონაცემები. 93 00:06:36,000 --> 00:06:46,000 ეს ნიშნავს, რომ, ამ URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 ტოლი იქნება სიმებიანი ბარი. 95 00:06:49,000 --> 00:06:56,000 >> მოდით შევხედოთ get.php ვხედავ $ _GET მოქმედებაში. 96 00:06:56,000 --> 00:07:00,000 აქ ჩვენ გამოყენებით ფუნქცია მოუწოდა var_dump, 97 00:07:00,000 --> 00:07:03,000 რომელიც, როდესაც მოცემული მასივი ან სხვა ცვლადი 98 00:07:03,000 --> 00:07:05,000 იქნება ამობეჭდოთ ჩვენთვის. 99 00:07:05,000 --> 00:07:12,000 ახლა თუ ჩვენ უბრალოდ შედიხართ http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 მაშინ ჩვენ დავინახავთ ცარიელი მასივი რადგან ჩვენ არ უზრუნველყო შეკითხვაზე string. 101 00:07:17,000 --> 00:07:29,000 თუ ჩვენ გავაკეთებთ უზრუნველყოფს შეკითხვაზე string მეშვეობით http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 მაშინ ჩვენ ვხედავთ, რომ $ _GET ცვლადი შეიცავს 103 00:07:34,000 --> 00:07:37,000 შეკითხვის სიმებიანი გასაღები ღირებულება წყვილი. 104 00:07:37,000 --> 00:07:42,000 მაგრამ რა, თუ ჩვენ არ გვინდა, რომ ჩვენი მონაცემები შიგნით URL of გვერდი? 105 00:07:42,000 --> 00:07:46,000 დიდი რაოდენობით მონაცემები, ეს შეიძლება გამოიწვიოს ზოგიერთი საკმაოდ მახინჯი მისამართები 106 00:07:46,000 --> 00:07:49,000 რომ ვაპირებთ ჩვენი გამოუყენებელი ნახვა სახე ნელი. 107 00:07:49,000 --> 00:07:52,000 ჩვენ შეგვიძლია ნაცვლად დააყენა შეკითხვაზე string შევიდა ორგანოს 108 00:07:52,000 --> 00:07:57,000 საქართველოს HTTP მოითხოვს, ვიდრე მოთხოვნის URL. 109 00:07:57,000 --> 00:08:02,000 მაშინ ჩვენ შეგვიძლია გამოვიყენოთ PHP ს $ _POST ცვლადი 110 00:08:02,000 --> 00:08:05,000 წვდომის გასაღები ღირებულება წყვილი. 111 00:08:05,000 --> 00:08:10,000 ერთი გზა ამის მეშვეობით HTML ფორმით. 112 00:08:10,000 --> 00:08:13,000 აქ ჩვენ გვაქვს მარტივი HTML ფორმით. 113 00:08:13,000 --> 00:08:17,000 ყურადღება მიაქციეთ, რომ აქ მეთოდი ატრიბუტი ამ ფორმით პოსტი. 114 00:08:17,000 --> 00:08:21,000 ეს ეუბნება ბრაუზერის დააყენა ფორმის გასაღები ღირებულება წყვილი 115 00:08:21,000 --> 00:08:25,000 შევიდა ორგანოს მოთხოვნით, ვიდრე URL. 116 00:08:25,000 --> 00:08:28,000 >> თუ ჩვენ უნდა გამოვიყენოთ ღირებულება მიიღოთ ამ ატრიბუტის 117 00:08:28,000 --> 00:08:32,000 მაშინ ფორმის გასაღები ღირებულება წყვილი იქნებოდა ნაცვლად წასვლას შეკითხვაზე string, 118 00:08:32,000 --> 00:08:36,000 ასე რომ, ჩვენ ვერ შედიხართ მათი მეშვეობით $ _GET ერთხელ. 119 00:08:36,000 --> 00:08:42,000 აქცია ატრიბუტი სახით ეუბნება ბრაუზერის სად გაგზავნის მონაცემები. 120 00:08:42,000 --> 00:08:46,000 აქ ჩვენი 2 input ელემენტები აქვს სახელი ატრიბუტები. 121 00:08:46,000 --> 00:08:51,000 ღირებულება სახელით ატრიბუტები იქნება, როგორც გასაღებები და ჩვენი მონაცემებით, 122 00:08:51,000 --> 00:08:56,000 და ღირებულებები ტექსტის საშუალებებით გახდება ღირებულებები იმ გასაღებები. 123 00:08:56,000 --> 00:08:59,000 ახლა მოდით შევხედოთ post.php, 124 00:08:59,000 --> 00:09:03,000 ფაილი, რომელიც ამ ფორმით წარუდგინოს. 125 00:09:03,000 --> 00:09:10,000 ისევე, როგორც ჩვენ გავაკეთეთ ადრე, ჩვენ უბრალოდ ჩვენებისას შინაარსი $ _POST ცვლადი. 126 00:09:10,000 --> 00:09:18,000 >> მოდით ნავიგაცია ფორმა http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 ახლა, როდესაც ჩვენ წარმოადგინონ ფორმა ვხედავთ, რომ მონაცემების form.php 128 00:09:23,000 --> 00:09:30,000 გადაეცემა post.php გარეშე appending შეკითხვაზე string to URL. 129 00:09:30,000 --> 00:09:35,000 ახლა ჩვენ ვხედავთ 2 სხვადასხვა გზები გავლით მონაცემები PHP გვერდებზე, 130 00:09:35,000 --> 00:09:37,000 მიიღოთ და პოსტი. 131 00:09:37,000 --> 00:09:41,000 ჩვენს მაგალითები, ჩვენ 2 სხვადასხვა სახის HTTP მოთხოვნებს. 132 00:09:41,000 --> 00:09:45,000 როგორც თქვენ შეიძლება ველოდოთ, მიიღოს თხოვნა გამოიყენება, როდესაც ჩვენ დასახლებული 133 00:09:45,000 --> 00:09:51,000 $ _GET საწყისი URL და პოსტ მოთხოვნა იყო გამოყენებული 134 00:09:51,000 --> 00:09:55,000 როდესაც ჩვენ დასახლებულ $ _POST. 135 00:09:55,000 --> 00:09:59,000 დიზაინი თქვენი ვებ apps ეს კარგი წესი thumb გამოყენება მისაღებად ითხოვს 136 00:09:59,000 --> 00:10:03,000 როდესაც თქვენი app იქნება მხოლოდ წაკითხვის მონაცემები და ჩანაწერები ითხოვს 137 00:10:03,000 --> 00:10:05,000 როდესაც თქვენი app დაწერს მონაცემები. 138 00:10:05,000 --> 00:10:09,000 მაგალითად, ძებნის შეკითხვის წაიკითხავს მონაცემებს თქვენი app, 139 00:10:09,000 --> 00:10:12,000 ასე მისაღებად მოთხოვნა აზრი. 140 00:10:12,000 --> 00:10:17,000 მეორეს მხრივ, თქვენი app დაწერს მონაცემების მეშვეობით რაღაც სარეგისტრაციო ფორმა, 141 00:10:17,000 --> 00:10:22,000 ასე რომ პოსტ მოთხოვნა გახდის უფრო გრძნობა, და ეს მიმოხილვა ზოგიერთი ტექნიკის 142 00:10:22,000 --> 00:10:26,000 ჩვენ უნდა გამოყენებით CS50 შექმნას საიტებზე გამოყენებით PHP. 143 00:10:26,000 --> 00:10:30,000 >> ჩემი სახელი არის ტომი, და ეს არის CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]