1 00:00:00,000 --> 00:00:03,920 >> [MUSIC پخش] 2 00:00:03,920 --> 00:00:11,760 3 00:00:11,760 --> 00:00:13,800 >> DAVID J. مالان: خوب. 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 و هنگامی که شما چیز دیگری در رابطه با this-- 12 00:00:33,350 --> 00:00:35,670 یا شما به زودی خواهد شد، اگر شما در حال حاضر نیست. 13 00:00:35,670 --> 00:00:38,530 ما در حال رفتن به استفاده از آبشاری شیوه نامه ها، و یا 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 >> به عبارت دیگر، اگر شما می خواهید برای تولید محتوای dynamically-- مانند فیس بوک 26 00:01:14,760 --> 00:01:19,480 اخبار سایت، که دائما در حال تغییر، و یا پیام های فوری که پاپ تا از زمان 27 00:01:19,480 --> 00:01:21,872 به 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 >> دانشجو: کد. 31 00:01:28,685 --> 00:01:29,560 DAVID J. مالان: کد. 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 >> دانشجو: آره. 39 00:01:41,895 --> 00:01:42,677 متغیرها، شاید؟ 40 00:01:42,677 --> 00:01:43,760 DAVID J. مالان: متغیر. 41 00:01:43,760 --> 00:01:44,160 OK، اطمینان حاصل کنید. 42 00:01:44,160 --> 00:01:45,740 متغیرهای مطمئنا می تواند به ما کمک کند. 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 زمانی که ما در واقع گفت: "سلام جهان." 46 00:01:55,686 --> 00:01:56,570 >> دانشجو: چاپ. 47 00:01:56,570 --> 00:01:57,778 >> DAVID J. مالان: چاپ، درست است؟ 48 00:01:57,778 --> 00:02:01,050 چاپ، و یا printf را در جهان از C. بنابراین تمام این مدت، 49 00:02:01,050 --> 00:02:03,362 ما در حال ما دفع language-- C، 50 00:02:03,362 --> 00:02:05,570 در particular-- و حتی ابتدا برای آن موضوع است که 51 00:02:05,570 --> 00:02:07,400 می توانید رشته از متن تولید کند. 52 00:02:07,400 --> 00:02:11,090 >> خوب، اگر HTML، همانطور که ما در هفته گذشته را دیدم، است فقط یک دسته کامل از رشته های متن 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 شروع تولید صفحات وب یا دستی با تایپ کردن آنها را در جیادیت 56 00:02:20,440 --> 00:02:23,870 و یا در مایکروسافت ورد، برای آن 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 و در نهایت حتی با زبان جاوا اسکریپت به نام، 61 00:02:34,900 --> 00:02:37,910 است استفاده از یک زبان به زبان دیگر تولید. 62 00:02:37,910 --> 00:02:40,720 و در واقع، این همان چیزی است که فیس بوک و بسیاری، بسیاری از سایت های دیگر 63 00:02:40,720 --> 00:02:44,530 انجام به واقع به صورت پویا نمایش اطلاعات جدید برای شما. 64 00:02:44,530 --> 00:02:47,117 >> پس بیایید با شروع this-- مرموز به دنبال خط، اما یک 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 >> DAVID J. مالان: OK. 72 00:03:03,060 --> 00:03:04,530 این نیاز به مونتاژ را به کد ماشین. 73 00:03:04,530 --> 00:03:07,340 بنابراین شما را به کد منبع خود را، که مرتب سازی بر زبان انگلیسی مانند است. 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، مانند آنهایی که ساخته شده توسط اینتل، 77 00:03:14,830 --> 00:03:16,110 در واقع درک. 78 00:03:16,110 --> 00:03:19,690 >> در حال حاضر، PHP و Python و Ruby و جاوا اسکریپت و مجموعه ای از دیگر 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 برای درک آنچه هر و هر نماد در پایتون یا PHP 85 00:03:38,280 --> 00:03:42,650 و یا یاقوت یا هر تعداد از زبان های دیگر به این معنی است. 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 رفتن به پیش بروید و باز یک فایل به نام، می گویند، خوش آمدید. 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 من قصد دارم به جلو بروید و شروع به این فایل را با این ترکیب نحوی مرموز. 93 00:04:02,450 --> 00:04:06,310 پس "کاربر، بن، پاکت، برای محیط زیست، پی اچ پی. " 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 demarcating آغاز 101 00:04:29,200 --> 00:04:32,220 از شما code-- <؟ PHP. 102 00:04:32,220 --> 00:04:37,430 >> اما زیر در اینجا، من در حال حاضر می توانید انجام کاری کاملا ساده است، مانند printf را با کاما از هم سلام 103 00:04:37,430 --> 00:04:40,922 جهان بک اسلش N نزدیک نقل قول، پرانتز بسته. 104 00:04:40,922 --> 00:04:42,630 و پس از آن فقط برای خوب اندازه گیری، من قصد دارم 105 00:04:42,630 --> 00:04:45,380 به جلو بروید و نزدیک تگ پی اچ پی من اینجا 106 00:04:45,380 --> 00:04:47,390 به طوری که همه چیز به نظر می رسد سادگی بسیار چاپ شده است. 107 00:04:47,390 --> 00:04:50,780 >> و به زودی به عنوان من روی Save کلیک کنید، جیادیت در واقع هوشمند است به اندازه کافی 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 >> این برنامه بود به نام "سلام" من می خواهم به انجام این کار علامت نقطه خوش آمدید، 114 00:05:06,860 --> 00:05:07,990 اما اجازه را تکذیب کرد. 115 00:05:07,990 --> 00:05:08,490 و پارتی. 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 >> دانشجو: سطح دسترسی. 123 00:05:24,159 --> 00:05:26,700 DAVID J. مالان: آره، سطح دسترسی، برای تغییر حالت از یک فایل. 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 و من قصد دارم به او واگذار که به فایل خوش آمدید. 130 00:05:40,360 --> 00:05:45,150 >> اگر من در حال حاضر انجام اسلش دات سلام را وارد کنید، شما ببینید، در واقع، برنامه، سلام جهان. 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 >> و شما در اینجا خواهید دید، برای اولین بار و قبل از هر چیز، یک دسته کامل از نظرات. 139 00:06:12,450 --> 00:06:15,240 اما این است که در واقع ایجاد مجدد در PHP 140 00:06:15,240 --> 00:06:18,960 برنامه ما در هفته انجام داد یک شرایط به نام 1.c 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 >> یکی از مشخصه چه در اینجا است که شاید بیرون می پرد 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 >> DAVID J. مالان: آره. 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 دیده می شود، حداقل این املایی. آره؟ 160 00:07:00,876 --> 00:07:01,630 >> دانشجو: Readline. 161 00:07:01,630 --> 00:07:02,671 >> DAVID J. مالان: Readline. 162 00:07:02,671 --> 00:07:06,550 Readline ما را نمی بیند، به خودی خود، در 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 و من به جلو و انجام اسلش نقطه conditions-- whoops-- نقطه اسلش 167 00:07:22,730 --> 00:07:26,710 شرایط 1، خواهید دید، دوباره، اجازه issue-- همان را تکذیب کرد. 168 00:07:26,710 --> 00:07:33,610 >> بنابراین، اجازه دهید زوم در داخل و انجام سطح دسترسی به علاوه X در شرایط، شرایط علامت نقطه. 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 به نام سلام، 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 این برنامه به نام پی اچ پی، و کد من زیر خط یک است که به آن منتقل می شود. 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 >> بنابراین در ابتدا در خط 16، آن را رفتن به می گویند X در حال حاضر 2، احتمالا. 187 00:08:28,250 --> 00:08:30,920 ٪ د همان من $ برای printf است. 188 00:08:30,920 --> 00:08:33,460 پس از آن cubing، نقطه، نقطه، نقطه، در خط 17. 189 00:08:33,460 --> 00:08:36,299 و سپس خط 18 به نظر می رسد به تماس یک تابع، نبات. 190 00:08:36,299 --> 00:08:37,600 و در جایی که تعریف شده، نبات؟ 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 >> دانشجو: [نامفهوم]. 198 00:08:57,900 --> 00:09:00,070 >> DAVID J. مالان: وجود دارد هیچ نمونه تا بالا. 199 00:09:00,070 --> 00:09:03,210 رک و پوست کنده پس PHP-- و، بسیاری از languages-- مدرن 200 00:09:03,210 --> 00:09:06,920 هستند بسیاری دقیق و مفید از کامپایلرهای C در آن شما 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 >> دانشجو: [نامفهوم]. 208 00:09:25,084 --> 00:09:27,750 DAVID J. مالان: ما لازم نیست اعلام نوع متغیر، 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 >> DAVID J. مالان: هیچ کتابخانه وجود دارد. 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 >> دانشجو: اشاره گر. 221 00:09:47,960 --> 00:09:49,270 >> DAVID J. مالان: بدون اشاره گر. 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 پس از اشاره گرها وجود ندارد در 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 >> دانشجو: اصلی. 228 00:10:00,185 --> 00:10:01,060 DAVID J. مالان: اصلی. 229 00:10:01,060 --> 00:10:02,768 بنابراین این مسئله مهمی بود من فکر شد. 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 ما ممکن است بخواهید که یک دسته از آدرس ها، یک دسته از فایل های مختلف 237 00:10:19,980 --> 00:10:22,930 تمام گرفتن در ورودی کاربر و تولید خروجی. 238 00:10:22,930 --> 00:10:27,130 >> اما در اینجا این است که بسیار مأیوس کننده به عنوان مثال که من وعده داده شده زمان گذشته، 239 00:10:27,130 --> 00:10:30,130 یعنی در این پوشه در اینجا، غلط املائی. 240 00:10:30,130 --> 00:10:33,680 بنابراین در این فایل کتاب املاء، که ما زمان زیادی را صرف نه در وجود است، 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 است نسخه کتاب املاء از 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 کشیدن آنها را هر دو تا سمت های سمت و دیدن آنچه که در همان 247 00:10:54,229 --> 00:10:55,230 و آنچه متفاوت است. 248 00:10:55,230 --> 00:10:57,510 اما آنها زیبا رفو مشابه هستند. 249 00:10:57,510 --> 00:11:00,110 اگر شما به یاد داشته باشید چه کتاب املاء حتی مانند نگاه، 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 >> پس این است که تنها به می گویند که آن را بسیار ساده برای تبدیل کتاب املاء 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 .c تماس بگیرید. 258 00:11:24,010 --> 00:11:26,980 از آنجا که این یک فایل PHP است، من do-- کمی annoyingly-- دارند 259 00:11:26,980 --> 00:11:30,132 برای شروع فایل را با برچسب پی اچ پی است که می خواهم. 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 بار بود 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 در واقع، اگر من می خواهم یک جدول هش، من فقط رفتن به مانند که به 275 00:12:17,377 --> 00:12:18,460 و جدول هش من وجود دارد. 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-- در 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 اما من می توانید پیش بروید و تکرار بیش از هر یک از این کلمات با استفاده از 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 >> اما در حال حاضر من یک حلقه تکرار بیش از هر کلمه در فرهنگ لغت. 302 00:13:32,070 --> 00:13:36,100 و در هر تکرار، به یاد من تماس کلمه فعلی "کلمه است." 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 بک اسلش N در پایان از کلمات که من احتمالا باید خلاص شدن از شر، 309 00:13:52,920 --> 00:13:56,380 اما این یک مشکل نیست، زیرا PHP است یک تابع به نام ریز ریز کردن که به معنای واقعی کلمه 310 00:13:56,380 --> 00:13:58,480 لغو احکام صادره ی کردن یک کاراکتر در پایان. 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 و در حال حاضر من احتمالا باید پیگیری از اندازه، پس اجازه دهید حداقل this-- انجام 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 >> DAVID J. مالان: 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 پس از آن پیش بروید و بازگشت درست است. دیگری، بازگشت نادرست است. 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 چیزی اگزیستانسیالیسم مشابه در 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 ممکن است انجام داده اند به چه متعارف و استاندارد شما در فرهنگ لغت خود قرار گرفت. 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 بازگشت است درست یا غلط، من می توانم به سادگی واقعا این را جذاب 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 یا بازتخصیص، شما باید خودتان را. 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 >> اما مطمئنا، باید وجود داشته است برخی از گرفتن، درست است؟ 364 00:16:16,190 --> 00:16:19,400 در غیر این صورت، ما نوع هدر رفته یک دسته کامل از هفته. 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 >> دانشجو: [نامفهوم] حافظه است. 373 00:16:36,064 --> 00:16:36,980 DAVID J. مالان: سرعت. 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 تا هر دو راه حل را امتحان کنید من، یک 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 ضربه را وارد کنید. 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 اینجا جایی که من برای اولین بار جیادیت باز، اجازه مرا به code-- امروز به آن، دوباره، 389 00:17:14,569 --> 00:17:19,650 در این دایرکتوری here-- و اجازه دهید من به جلو و اجرای کتاب املاء. 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 >> بنابراین اگر من کتاب املاء از ریشه یابی لغات CS50 PSET 5 متون، شاه جیمز، وارد کنید. 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 و یک دسته کامل از ورودی تست شده، این قطعا اضافه کردن. 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 >> DAVID J. مالان: میزان مصرف 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 درباره فشردن عملکرد به همان اندازه مراقبت از برنامه های من و یا از وب سایت من 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 برنامه های واقعی که خدمت content-- وب 416 00:18:38,980 --> 00:18:41,810 در PHP نوشته شده است و یا در پایتون یا روبی. 417 00:18:41,810 --> 00:18:44,630 آنها نوشته شده است، مانند اکنون شما با PSEt 6 انجام دهید، 418 00:18:44,630 --> 00:18:48,120 در C به طوری که شما می توانید فشار هر بیت از عملکرد خارج از آن 419 00:18:48,120 --> 00:18:50,780 و واقعا ورزش کنترل ریز دانه بیش از آنچه 420 00:18:50,780 --> 00:18:52,980 در رفتن از زیر هود و نه فقط آن را 421 00:18:52,980 --> 00:18:54,890 برای برخی اعطا بالاتر ساختار داده ها در سطح. 422 00:18:54,890 --> 00:18:58,071 >> در نظر بگیرید، بعد از همه، هر کس در PHP اجرا 423 00:18:58,071 --> 00:19:00,070 که مفهوم یک رشته هش table-- آن را در واقع بیشتر 424 00:19:00,070 --> 00:19:04,260 array-- انجمنی به درستی نام او می کند و یا او هر گونه ایده چه نوع 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 این یک ابزار عمومی است در جعبه ابزار که 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 است تا شما را به فکر کردن در مورد، خب، چه باید شما را بکشد فعال 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 >> بنابراین اجازه انتقال در حال حاضر به شاید یک زمینه بیشتر آشنا 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 در .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 پیش من هم اتاقی و من کمک می کردند 452 00:20:21,350 --> 00:20:24,320 برای اجرای داخل دانشجوی سال اول برنامه های ورزشی، که، در آن زمان، 453 00:20:24,320 --> 00:20:28,610 بود دانشجوی سال اول ثبت نام های مختلف ورزش با پر کردن یک تکه کاغذ، 454 00:20:28,610 --> 00:20:31,800 آن را به عنوان نامیده می شد، راه رفتن در سراسر حیاط به Wigglesworth، 455 00:20:31,800 --> 00:20:34,030 و رها کردن آن در برخی قطره درب ناظر است. 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 این روزها، شما ممکن است به نوبه خود تنها فرم گوگل است، اما در روز، 460 00:20:44,040 --> 00:20:46,914 ما تا به حال در واقع این for-- رسیدن حتی که طولانی ago-- نمی رسد 461 00:20:46,914 --> 00:20:49,410 برای برنامه نویسی زبان بود که پی اچ پی نیست. 462 00:20:49,410 --> 00:20:51,200 در آن زمان، آن بود چیزی به نام پرل، 463 00:20:51,200 --> 00:20:52,890 است که از رواج رفته از. 464 00:20:52,890 --> 00:20:54,160 اما این ایده همان است. 465 00:20:54,160 --> 00:20:58,940 >> و من اساسا نشست را امتحان کنید به پورت می رود نسخه های پرل به 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 من به ورودی کاربر به مرورگر. 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 بنابراین گوگل، درست است؟ 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 و رفتار من قصد دارم برای دیدن در اینجا در ابتدا بسیار بی اهمیت است. 480 00:21:39,420 --> 00:21:42,980 دیوید، من چک کردن جنس در اینجا، می گویند مرتبه در اینجا. 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-- که فقط چاپ 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 و شما را دیدم من آنها را تایپ کنید. 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 که ما زمان گذشته با گوگل را ببینید. 498 00:22:32,861 --> 00:22:33,360 آره؟ 499 00:22:33,360 --> 00:22:34,380 >> دانشجو: هیچ رشته پرس و جو 500 00:22:34,380 --> 00:22:35,220 >> DAVID J. مالان: هیچ رشته پرس و جو وجود دارد. 501 00:22:35,220 --> 00:22:37,270 هیچ چیزی علامت سوال وجود دارد. 502 00:22:37,270 --> 00:22:40,050 هیچ علامت سوال پرسش وجود دارد برابر با گربه، به عنوان ما به زمان گذشته. 503 00:22:40,050 --> 00:22:42,170 و قطعا وجود ندارد نام علامت سوال برابر 504 00:22:42,170 --> 00:22:46,310 دیوید و یا خوابگاه برابر ماتیوز، پس کجاست که همه رفتن؟ 505 00:22:46,310 --> 00:22:51,290 >> خوب، اجازه دهید به اینجا بروید جیادیت و باز کردن اولین از این فایل 506 00:22:51,290 --> 00:22:57,020 در vhost من، میزبان محلی، عمومی دایرکتوری اینجا و رفتن به 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 و 8 PSET. 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 می توانید آن را قرار می دهد در URL. 518 00:23:25,980 --> 00:23:27,950 ارسال این نهاد آن را در جای دیگر. 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 دانشجو: [نامفهوم] امن. 525 00:23:46,350 --> 00:23:47,790 DAVID J. مالان: اگر می خواهید چیزی است که به امن. 526 00:23:47,790 --> 00:23:50,360 بنابراین شما ممکن است یک رمز عبور تایپ به یک وب سایت، کارت اعتباری 527 00:23:50,360 --> 00:23:53,030 به یک وب سایت را نوع از این کمتر از حد مطلوب 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 آزمایشگاه ها، و غیره کسی دیگری و یا حتی یک هم اتاقی 533 00:24:05,310 --> 00:24:08,220 به راحتی می تواند راه رفتن و دیدن که اطلاعات خصوصی. 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، و آن را به یک URL. 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 این چاپ در داخل برخی از HTML زیر پرچم. 544 00:24:35,910 --> 00:24:38,640 من یک تگ PHP کردم اینجا تو در تو در داخل یک تگ از قبل. 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 ما ماتیوز را خواهم کرد. 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 HM and-- بروید. 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 برچسب و همچنین برخی از نظرات. 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 که این فعال است اعتبار تسلیم. 572 00:25:49,280 --> 00:25:51,690 >> خب، معلوم است که متغیرهای مانند علامت دلار 573 00:25:51,690 --> 00:25:53,739 تاکید پست نام global دربرمیگیرد فوق العاده. 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 >> بنابراین شما می توانید از علامت دلار فکر می کنم تاکید ارسال عنوان مرتب سازی بر یک جدول هش 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 پس این است که کمی مرموز، اما این فقط به معنی به معنای واقعی کلمه 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 ولی این یک کمی نا زیبا در که من به سختی آن کد شده است. 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 >> شما می توانید به داخل و خارج قطره از حالت 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، سرور 601 00:27:16,810 --> 00:27:19,407 فقط رفتن به تف هر آنچه شما می شود وجود دارد. 602 00:27:19,407 --> 00:27:21,740 و در واقع، این بخش از بود طرح اصلی از پی اچ پی، 603 00:27:21,740 --> 00:27:25,280 برای بدتر بهتر، این بود درآمیختن کد و نشانه گذاری 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 بیایید باز کردن نسخه دو دانشجوی سال اول دانشکده 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 من قصد دارم برای رفتن به دانشجوی سال اول دانشکده انجمن ریاضی 2. 613 00:27:50,780 --> 00:27:53,050 اما در دانشجوی سال اول دانشکده انجمن ریاضی 2، بیایید ببینید که چه اتفاقی می افتد. 614 00:27:53,050 --> 00:27:58,110 >> دیوید، کلیک بر روی دکمه های رادیویی، به عنوان آن را به نام. ماتیوز، هیچ کاپیتان. 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 آه صبر کنید، ما فقط که به عنوان مثال، آیا ما نمی کند؟ 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 واضح است چیزی در مورد با جیمیل اتفاق می افتد. 622 00:28:08,560 --> 00:28:09,600 ما وجود دارد را دریافت کنید. 623 00:28:09,600 --> 00:28:11,900 >> بنابراین دانشجوی سال اول دانشکده انجمن ریاضی 3 به نظر می رسد مثل این. 624 00:28:11,900 --> 00:28:13,050 هیچ تفاوتی ندارد. 625 00:28:13,050 --> 00:28:19,850 اما وقتی که من انجام دیوید، مرد، ماتیوز، و ثبت نام، این نسخه سوم و نهایی 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 من در حال حاضر دوباره دقیقا همان چیزی است من هم اتاقی و من برای انجمن ریاضی دانشجوی سال اول دانشکده ساخته شده است 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 هیچ پایگاه داده وجود دارد، هیچ صفحه گسترده اکسل. 633 00:28:34,330 --> 00:28:36,450 اما مهمتر از آن، هیچ مقاله وجود دارد 634 00:28:36,450 --> 00:28:42,520 زیرا آنچه که ما با این برنامه انجام داد بود که در واقع متولی ایمیل، که 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 جان Harvard-- با زیر text-- "این فرد فقط ثبت شده است." 639 00:28:55,960 --> 00:29:00,560 نام دیوید است، کاپیتان خالی است. جنسیت، مرد. و خوابگاه، مرتبه. 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. 646 00:29:20,920 --> 00:29:23,155 در اینجا، معلوم وجود دارد کتابخانه ها در PHP می باشد. 647 00:29:23,155 --> 00:29:26,410 شما فقط لازم نیست شامل فایل های هدر به اندازه. 648 00:29:26,410 --> 00:29:28,900 شما دریافت می کنید بیشتر با سینک آشپزخانه، پس به صحبت می کنند. 649 00:29:28,900 --> 00:29:31,820 >> اما این بار در خط 4، من می خواهم به کتابخانه خاص به نام 650 00:29:31,820 --> 00:29:36,087 پی اچ پی میلر، چیزی است که شما که می توانید به صورت رایگان در بسیاری از سیستم های نصب کنید. 651 00:29:36,087 --> 00:29:37,920 در اینجا من اعتبار ارسال مقاله فقط 652 00:29:37,920 --> 00:29:40,540 با چک کردن را به کاربر می دهد من یک نام، جنس، و خوابگاه. 653 00:29:40,540 --> 00:29:44,130 و اگر چنین است، پیش بروید و یک نمونه از یک میلر. 654 00:29:44,130 --> 00:29:47,020 >> شما می توانید از این به عنوان یک فکر خط از کد که فقط اختصاص داده است. 655 00:29:47,020 --> 00:29:48,950 آن را مانند malloc است، اما آن را کمی جذاب 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 >> و اگر شما در برنامه ریزی کرده ام جاوا یا 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 قرار می دهد به ایمیل علامت دلار یک ساختار خاص به نام 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 و من این رو که توسط گوگل کردن و یا با درخواست میز کمک. 672 00:30:31,650 --> 00:30:34,640 و پس از آن به دلیل استفاده از برخی از دانشگاه هاروارد سیستم های امنیتی در server-- ایمیل 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 به یک نماد فوق العاده مفید، مانند برخی از زبان ها، عملگر نقطه، 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 و در واقع، چون من الحاق در همه این چیزها با این نقاط، 686 00:31:15,220 --> 00:31:18,330 که چرا ایمیل من است فرستاده شده نگاه کرد که این کار را کرد. 687 00:31:18,330 --> 00:31:20,610 >> و سپس در نهایت در اینجا، من از ارسال پست الکترونیکی. 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 اما از آن است که، در واقع، فراخوانی تابع ارسال. 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 این است که چگونه پیام های مردم به شما ارسال که آنها را به یک فیس بوک جدید 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 اند به خوبی از است داوین و یا هر کس دیگری. 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 اما به عنوان شما ممکن است را دیده اند و یا خواندن در زرشکی، 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 و برخی هم از من بپرسید، شاید در ناهار CS50، چگونه من برای اولین بار 711 00:32:23,790 --> 00:32:27,080 بسیار نزدیک آشنا شدم تقریبا به سال بسیاری از هیئت مدیره ED 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 >> بنابراین در هر صورت وجود دارد، تمام دسته کلیدی global فوق العاده، 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 و یک دسته کامل از دیگران وجود دارد، جلسه too-- و سرور و کوکی. 719 00:32:54,051 --> 00:32:55,800 ما را به می آیند کوکی برخی از زمان های دیگر، 720 00:32:55,800 --> 00:33:01,340 اما جلسه نوع سرد است چون سمت راست now-- تا now-- 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 اینترنت اکسپلورر یا آیکون فایرفاکس در حال چرخش را متوقف می کند 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 هیچ ارتباطی بیشتر، بر خلاف اسکایپ، بر خلاف 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 مانند چت فیس بوک و 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 عنوان خواهیم دید، که در حال حاضر فکر می کند من سایت زمان صفر سفر کرده بود. 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 >> و یک جلسه از این پس فقط برای رفتن به یک سطل، مانند خرید 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 کوکی ها خود را، همانطور که ما در نهایت خواهید دید. 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-- این هش جدول، اگر شما will-- به نام جلسه، 755 00:34:49,210 --> 00:34:53,350 پس از آن پیش بروید و گرفتن ارزش از فکر می کنم session-- 756 00:34:53,350 --> 00:34:55,250 از این به عنوان یک خرید cart-- و ذخیره آن 757 00:34:55,250 --> 00:34:57,680 در یک متغیر به نام ضد. 758 00:34:57,680 --> 00:35:02,240 >> در غیر این صورت، در صورتی که ضد ارزش بود در اصطلاح سبد خرید را تنظیم کنید، 759 00:35:02,240 --> 00:35:04,430 فقط آن را مقداردهی اولیه به 0. 760 00:35:04,430 --> 00:35:09,830 در نهایت، در اینجا، بروید و به عقب به چرخ دستی های خرید و یا جلسه 761 00:35:09,830 --> 00:35:13,000 ارزش مبارزه با +1. 762 00:35:13,000 --> 00:35:16,730 پس معلوم است که این here-- ظرف مخصوص 763 00:35:16,730 --> 00:35:20,355 که دوباره، یکی از این ارتباط است، آرایه ها، آرایه ای است که شما می توانید صفحه اول 764 00:35:20,355 --> 00:35:25,010 به کلمات به جای numbers-- حتی پس از آن ادامه یابد کاربر از بین می رود. 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 اوه، و به عنوان یک به کنار، برای کسانی که آشنا و یا ناآشنا، 782 00:36:12,250 --> 00:36:14,230 به این دلیل که دانشجوی سال اول دانشکده انجمن ریاضی مثال رفت 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 و یا برای جاوا اسکریپت 789 00:36:37,140 --> 00:36:39,190 و یا HTML و یا هر تعداد از زبان. 790 00:36:39,190 --> 00:36:42,160 >> و این دوستان here-- نوشته اصلی بیرون آمد 791 00:36:42,160 --> 00:36:44,730 از Twitter-- فقط باید یک دسته کامل از سبک های. 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 و فلان چیز به طوری که من می توانم نوع نحو خود را قرض 795 00:36:53,740 --> 00:36:56,157 و نه به شکل چگونه برای ذخیره کردن فرم من. 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 به طوری که فقط چرا سبک وجود دارد تغییر کرده است. 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 است که ما زمان آخرین استفاده می شود. 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 زیر هود، 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 همه من انجام داده ام لینک با است لنگر برچسب برای این 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 شما فقط می توانید فشار با نوک انگشت اطراف آرام تر بعد. 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 شاخص نقطه چیزی به طور کلی به طور پیش فرض. 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 این فقط می دانستم که به نحوی جادویی برای فایل 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 که شما می توانید 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 >> و این نوع غذای آماده کلیدی است. 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 که در آن من در زمان یک file-- احتمالا در هفته zero-- آن کپی 846 00:39:13,420 --> 00:39:16,320 زمانی که یک هفته آمد در اطراف، و بهینه سازی چند ارزش. 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 فقط آن را از. 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 >> دانشجو: [نامفهوم]. 858 00:39:46,110 --> 00:39:47,660 >> DAVID J. مالان: 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 DAVID J. مالان: آره. 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 این example-- MVC خواهیم توضیح معنای MVC در moment-- 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 و خط 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 و به این ترتیب نیاز است نوع مانند پوند شامل در نسخه 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 این هدر است. 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 و footer. 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 >> ظاهرا، یک تابع وجود دارد در جایی به نام رندر هدر، 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 که، دوباره، مثل جداول هش. 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 شما باید به یاد داشته باشید آنچه را که سفارش X is--، 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 بنابراین ما پارامتر ام این تابع به گونه ای 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 طول می کشد انجمنی آرایه به عنوان آرگومان. 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 >> در فایل 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 کلمه در این فایل هدر. 955 00:44:34,890 --> 00:44:39,310 من این قرار داده ام مسلما طرز فجیعی نام تابع، کاراکتر های ویژه 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 I HTML باز کردم. 959 00:44:44,240 --> 00:44:47,420 من پس از آن که سر باز و عنوان باز. 960 00:44:47,420 --> 00:44:52,380 >> و پس از آن در داخل از عنوان باز و برچسب ها نزدیک، من یک بیت از کد PHP. 961 00:44:52,380 --> 00:44:56,670 و این خوب است اما نحو، فقط بدان معناست که اکو است. 962 00:44:56,670 --> 00:44:59,840 این به معنای واقعی کلمه به معنی this-- اکو following-- 963 00:44:59,840 --> 00:45:01,910 اما این جذاب به ارسال است. 964 00:45:01,910 --> 00:45:05,000 اکو از عنوان که در گذشت. 965 00:45:05,000 --> 00:45:07,560 >> اما شما چه فکر میکنید HTML کاراکتر خاص است همه چیز در مورد، 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 این براکت باز هشدار اسکریپت است سلام جهان، نزدیک نقل قول تنها، 976 00:45:44,930 --> 00:45:49,740 پرانتز بسته، نقطه و ویرگول، براکت باز، اسکریپت بریده بریده. 977 00:45:49,740 --> 00:45:51,897 >> اسکریپت، به عنوان ما به شما سرانجام، یک برچسب است 978 00:45:51,897 --> 00:45:54,480 که شما می توانید استفاده کنید برای استفاده از یکی دیگر از زبان برنامه نویسی نامیده می شود 979 00:45:54,480 --> 00:45:56,330 جاوا اسکریپت در داخل یک صفحه وب است. 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- یا نه، هدر صفحه، 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 به شما در نمایشگاه 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 >> چرا که اگر من به سادگی تف از عنوان اینجا و عنوان 995 00:46:39,000 --> 00:46:44,330 there-- خوب، اگر عنوان به معنای واقعی کلمه به نظر می رسد مثل این و PHP 996 00:46:44,330 --> 00:46:47,660 به عنوان یک زبان است که می تواند تف از دیگر متن زبان، 997 00:46:47,660 --> 00:46:50,650 این به معنای واقعی کلمه است رفتن به جای این تگ با، 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 در حال حاضر من در اینجا سلام جهان. 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 نقطه عکاس هنگام عکسبرداری می شود، نقل قول، نقل قول را تمام کردن، 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 پس این است که تنها به می گویند که حتی اگر ما در حال معرفی فوق العاده در برخی از اوایل 1012 00:47:32,680 --> 00:47:36,800 از این ساختار پیچیده تر، این همه به سوی پایان مطمئن شوید 1013 00:47:36,800 --> 00:47:39,320 که کد شما است بهره برداری نیست. 1014 00:47:39,320 --> 00:47:40,960 >> بنابراین در حال حاضر نسخه سوم در اینجا. 1015 00:47:40,960 --> 00:47:42,470 این گرفتن یک خیال باف کم است. 1016 00:47:42,470 --> 00:47:44,875 من واقعا نمی like-- سمت مقعد من 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 پس آن را به من رخ داده است، چرا نمی من پارامترها در این توابع 1020 00:47:55,400 --> 00:47:59,180 را تنها در یک نام ارائه، اند آن را آرگومان دوم 1021 00:47:59,180 --> 00:48:04,420 مانند نام قالب، نهایی به render-- یا header و footer؟ 1022 00:48:04,420 --> 00:48:07,160 و پس از آن به صورت اختیاری، اگر من می خواهم به تصویب در برخی از جفت ارزش کلیدی 1023 00:48:07,160 --> 00:48:10,580 مثل من برای عنوان برای انجام هدر اما نه برای بالا و پایین صفحه، 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 که من انجام کاری نوع و حتی بیشتر از مرموز. 1031 00:48:31,320 --> 00:48:33,230 و من می دانم این است که تا حد زیادی به جذب در یک بار، 1032 00:48:33,230 --> 00:48:35,080 اما ما فقط مهربان هستید از تمیز کردن کارها. 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 >> اما اگر من نگاه کن در جیادیت، توجه کنید که من از شر بدست 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 که در آن شما فقط بهم مخلوط کردن PHP، و HTML خود را، و CSS خود را، 1043 00:49:07,655 --> 00:49:09,780 و شما فقط آن را تف و شما در مورد راه خود را بروید. 1044 00:49:09,780 --> 00:49:11,404 این نمی شود بسیار قابل نگهداری. 1045 00:49:11,404 --> 00:49:14,481 درست مانند C، ما شروع به استفاده از چندین فایل و توابع چندگانه 1046 00:49:14,481 --> 00:49:15,730 و چیزهایی که از مقاطعه. 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 شما حتی می توانید با استفاده از نقطه نقطه، که، دوباره، فقط دایرکتوری است. 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 >> و به همین دلیل من ساختار ام آن this-- و بسیاری از وب دوست 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 به عنوان ساده به عنوان تنها جداگانه files-- نام قالب، اغلب. 1073 00:50:32,480 --> 00:50:34,410 آنها فقط باید زیبایی شناسی از صفحه من 1074 00:50:34,410 --> 00:50:37,020 چه من می خواهم صفحه به نگاه like-- رنگ و طرح 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 مدل، که رفتن به تنها باشد کلمه ما در فن آوری های دیگر با کف دست زدن 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 شما نه تنها با ارسال یک ایمیل به نظارت خود و یا به خودتان، 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 >> [MUSIC پخش] 1085 00:51:06,940 --> 00:54:24,555