1 00:00:00,000 --> 00:00:04,410 >> [Jouer de la musique] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> ENCEINTE 1: Ceci est CS50 et ceci est la fin de la septième semaine. 4 00:00:15,770 --> 00:00:20,240 Aujourd'hui est peut-être où nous vraiment vous enseigner les langues. 5 00:00:20,240 --> 00:00:24,100 Nous avons introduit dans les deux dernières semaines HTML et CSS, qui ne 6 00:00:24,100 --> 00:00:25,240 sont les langages de programmation. 7 00:00:25,240 --> 00:00:28,600 Et en effet, même si nous ne l'avons pas regarder presque tous les balises 8 00:00:28,600 --> 00:00:33,410 que le HTML est livré avec et presque tous des propriétés CSS est livré avec, 9 00:00:33,410 --> 00:00:35,007 que ce genre de pour HTML et CSS. 10 00:00:35,007 --> 00:00:36,840 Nous allons juste généralement commencer en supposant que vous 11 00:00:36,840 --> 00:00:39,545 comprendre les idées générales de balises et les attributs, 12 00:00:39,545 --> 00:00:41,850 et les pages étant envoyés du client au serveur. 13 00:00:41,850 --> 00:00:45,280 >> Parce que nous commençons aujourd'hui à regarder un autre langage de programmation, PHP. 14 00:00:45,280 --> 00:00:47,110 Nous allons faire ce super rapide. 15 00:00:47,110 --> 00:00:50,910 On ne va pas vous apprendre PHP en soi, tout comme nous ne l'avons pas aspirons à vous enseigner 16 00:00:50,910 --> 00:00:52,670 C, en soi, mais plutôt la programmation. 17 00:00:52,670 --> 00:00:55,088 Et en effet, l'un des objectifs de ce cours 18 00:00:55,088 --> 00:00:57,820 est de ne pas vous apprendre C, ou HTML, ou CSS ou PHP, 19 00:00:57,820 --> 00:01:00,370 ou un nombre quelconque d'autres mots à la mode ou des acronymes, 20 00:01:00,370 --> 00:01:03,097 mais plutôt l'informatique et comment programmer fondamentalement. 21 00:01:03,097 --> 00:01:05,930 Et en effet, aujourd'hui, nous commençons à prendre ces roues de formation hors tout 22 00:01:05,930 --> 00:01:10,600 plus loin en volant à travers un appelé langage PHP, comme suit. 23 00:01:10,600 --> 00:01:13,640 >> Voici ce que cette langue ressemble. 24 00:01:13,640 --> 00:01:17,790 Il apparaît qu'il n'y a pas besoin de une fonction principale dans un programme écrit 25 00:01:17,790 --> 00:01:19,470 dans un langage appelé PHP. 26 00:01:19,470 --> 00:01:22,585 Alors que cela semble déjà un peu plus simple que C, avec lesquels nous sommes familiers. 27 00:01:22,585 --> 00:01:25,370 Il se trouve que si vous vouloir déclarer une variable, 28 00:01:25,370 --> 00:01:29,470 vous le faites presque identique à C. Mais il ya clairement une différence ici 29 00:01:29,470 --> 00:01:31,850 quand je déclare une chaîne, ou peut-être deux différences. 30 00:01:31,850 --> 00:01:32,725 Qu'est-ce que l'air différent? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> AUDIENCE: Le signe du dollar. 33 00:01:37,160 --> 00:01:39,951 >> ENCEINTE 1: Oui, il ya dollar signons, que nous avons jamais vu auparavant. 34 00:01:39,951 --> 00:01:41,451 Et qu'est-ce qui manque? 35 00:01:41,451 --> 00:01:41,950 Ouais? 36 00:01:41,950 --> 00:01:42,820 >> AUDIENCE: [inaudible] 37 00:01:42,820 --> 00:01:44,403 >> ENCEINTE 1: Ouais, il n'y a aucun type de données. 38 00:01:44,403 --> 00:01:48,410 Donc, il se trouve que PHP est ce que nous appeler un langage faiblement typé, où 39 00:01:48,410 --> 00:01:49,959 C est fortement typé. 40 00:01:49,959 --> 00:01:52,500 Faiblement typé signifie simplement que il existe différents types de données, 41 00:01:52,500 --> 00:01:54,470 il ya des cordes, et ints, et des flotteurs. 42 00:01:54,470 --> 00:01:56,330 Mais les chiffres informatiques cela. 43 00:01:56,330 --> 00:01:58,664 Vous le programmeur humaine ne pas avoir à le comprendre. 44 00:01:58,664 --> 00:02:00,580 Donc, tout ce que vous avez à faire pour déclarer une variable est 45 00:02:00,580 --> 00:02:03,220 signe de dollar, le nom de votre variable, puis, par exemple, 46 00:02:03,220 --> 00:02:04,760 entre guillemets, bonjour monde. 47 00:02:04,760 --> 00:02:07,662 >> Eh bien voici ce que un état ressemble en PHP. 48 00:02:07,662 --> 00:02:08,328 Des différences? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 Non. 51 00:02:11,150 --> 00:02:12,540 Donc, il se trouve ils sont identiques. 52 00:02:12,540 --> 00:02:14,665 Et vous pourriez avoir moins branches ou plusieurs branches, 53 00:02:14,665 --> 00:02:16,557 mais les tours de syntaxe exactement la même chose. 54 00:02:16,557 --> 00:02:18,390 Expressions booléennes peuvent être commandé en même temps. 55 00:02:18,390 --> 00:02:20,400 Expressions booléennes peut être anded ensemble. 56 00:02:20,400 --> 00:02:21,430 Vous avez encore des commutateurs. 57 00:02:21,430 --> 00:02:23,790 Même si vous ne l'avez pas utilisé ceux-ci, ceux-ci existent dans C 58 00:02:23,790 --> 00:02:26,020 et ils sont fonctionnellement équivalent en PHP. 59 00:02:26,020 --> 00:02:28,260 >> Et en fait, ils sont en PHP un peu plus puissant. 60 00:02:28,260 --> 00:02:32,540 En C, vous ne pouvez comparer certaine types de données comme ints et chars, 61 00:02:32,540 --> 00:02:36,320 alors que dans PHP, vous pouvez réellement comparer chaînes de plein envol sans avoir 62 00:02:36,320 --> 00:02:38,460 à vous soucier de pointeurs et autres. 63 00:02:38,460 --> 00:02:39,430 Alors, voici une boucle for. 64 00:02:39,430 --> 00:02:41,270 Ceci est juste pseudo code, si vous voulez. 65 00:02:41,270 --> 00:02:43,400 Mais il est structurellement identique à C. 66 00:02:43,400 --> 00:02:47,520 >> Voici boucle while, un pseudo- therefore-- identique à C. 67 00:02:47,520 --> 00:02:49,390 Voici un Do While loop-- identiques. 68 00:02:49,390 --> 00:02:51,390 Et donc il est le genre de ce modèle ici lequel 69 00:02:51,390 --> 00:02:54,400 il ya quelques autres syntaxique caractéristiques Nous sommes en effet aller voir. 70 00:02:54,400 --> 00:02:57,340 En fait, voici une belle manière PHP lequel, 71 00:02:57,340 --> 00:02:59,350 si vous voulez parcourir sur un tableau, et vous 72 00:02:59,350 --> 00:03:02,309 ne veulent pas sauter à travers la cerceaux mentales et syntaxiques d'avoir 73 00:03:02,309 --> 00:03:05,178 int i est égal à 0, i moins que n, i plus plus-- qui 74 00:03:05,178 --> 00:03:07,040 est juste beaucoup de syntaxe ennuyeux. 75 00:03:07,040 --> 00:03:10,654 Vous pouvez dire un peu plus de manière fluidique à chacun des nombres 76 00:03:10,654 --> 00:03:13,320 que le nombre, où dans ce cas numéros de signe de dollar, je suppose, 77 00:03:13,320 --> 00:03:15,400 est comme un numéro de tableau appelé. 78 00:03:15,400 --> 00:03:18,810 Et puis je suis en supposant que le nombre, singulier, va être une variable. 79 00:03:18,810 --> 00:03:22,940 >> Et ce que PHP va faire pour moi comme je itérer au cours de cette boucle est, à chaque itération, 80 00:03:22,940 --> 00:03:28,450 il va mettre à jour le nombre variable le ième élément en nombre, au pluriel. 81 00:03:28,450 --> 00:03:30,060 Donc, il gère à peu tout cela pour moi. 82 00:03:30,060 --> 00:03:32,750 Pas de crochets, pas signe de dollar, aucun des points-virgules. 83 00:03:32,750 --> 00:03:34,117 Il est juste un peu plus simple. 84 00:03:34,117 --> 00:03:35,950 Eh bien, si vous voulez un tableau, il se trouve que vous 85 00:03:35,950 --> 00:03:38,908 peut faire quelque chose assez similaire à C. La syntaxe est un peu différent. 86 00:03:38,908 --> 00:03:41,000 Mais voici un tableau appelé dollar des nombres signés. 87 00:03:41,000 --> 00:03:44,261 Et je l'utilise, en PHP, carré crochets, il se trouve. 88 00:03:44,261 --> 00:03:47,260 Et nous allons voir ces nouveau dans JavaScript-- encore une autre langue. 89 00:03:47,260 --> 00:03:49,968 Je viens d'utiliser la notation crochet d'avoir une liste séparée par des virgules 90 00:03:49,968 --> 00:03:51,530 d'entiers, dans ce cas. 91 00:03:51,530 --> 00:03:53,010 Mais cela me donne un tableau. 92 00:03:53,010 --> 00:03:56,270 >> Mais encore plus puissant en PHP, nous avons aussi ce sont généralement 93 00:03:56,270 --> 00:03:57,640 appelé tableaux associatifs. 94 00:03:57,640 --> 00:03:59,540 Et beaucoup de langues avoir ces ainsi. 95 00:03:59,540 --> 00:04:03,810 La chose à propos des tableaux C est que les indices 96 00:04:03,810 --> 00:04:06,940 pour un tableau, la chose que vous utiliser entre crochets par lequel 97 00:04:06,940 --> 00:04:08,600 vous accédez éléments, doit être quoi? 98 00:04:08,600 --> 00:04:10,620 >> AUDIENCE: [inaudible] 99 00:04:10,620 --> 00:04:14,220 >> ENCEINTE 1: Ils doivent être des nombres ou entiers, en particulier à partir de zéro sur place. 100 00:04:14,220 --> 00:04:17,140 Eh bien, en PHP, et, il se dehors, dans d'autres langues, 101 00:04:17,140 --> 00:04:20,820 vous pouvez commencer à avoir indices qui ne sont pas numérique. 102 00:04:20,820 --> 00:04:23,880 Mais ils sont en fait des mots ou phrases, de sorte que, plutôt que 103 00:04:23,880 --> 00:04:27,070 essayez de vous rappeler où quelque chose est, ou stockées dans une variable i, 104 00:04:27,070 --> 00:04:31,720 vous pouvez réellement utiliser un mot et dire that-- vous pouvez dire un mot de ce genre. 105 00:04:31,720 --> 00:04:34,730 >> Donc signe du dollar est la citation nom d'une variable ici. 106 00:04:34,730 --> 00:04:39,360 Cette syntaxe est un peu froussard qui est l'association de deux valeur de clé 107 00:04:39,360 --> 00:04:41,250 paires pour cette variable. 108 00:04:41,250 --> 00:04:45,490 Concrètement, cela me donne un tableau qui est de longueur 2. 109 00:04:45,490 --> 00:04:47,660 Mais les index ne sont pas 0 et 1. 110 00:04:47,660 --> 00:04:51,250 Les indices sont entre guillemets symbole et devis prix unquote. 111 00:04:51,250 --> 00:04:55,990 Et les valeurs de ces indices, respectivement, est FB pour Facebook 112 00:04:55,990 --> 00:05:00,360 et 79,53 $, lors de ma dernière vérifié un prix pour cela. 113 00:05:00,360 --> 00:05:01,210 >> Qu'est-ce que cela veut dire? 114 00:05:01,210 --> 00:05:04,136 Eh bien, cela signifie que au lieu d'écrire du code 115 00:05:04,136 --> 00:05:09,612 comme ça, où je l'habitude de faire quelque chose comme sign-- dollar ou plutôt, dans C 116 00:05:09,612 --> 00:05:11,070 Je voudrais même pas un signe de dollar. 117 00:05:11,070 --> 00:05:13,490 Je voudrais faire quelque chose comme citations et puis 118 00:05:13,490 --> 00:05:18,410 Je ferais support i à obtenir à un certain arbitrairement indexé numériquement valeur. 119 00:05:18,410 --> 00:05:21,430 A partir d'aujourd'hui en PHP, si vous vouloir obtenir à une certaine valeur, 120 00:05:21,430 --> 00:05:24,742 nous sorte de avons plus expressivité sémantique. 121 00:05:24,742 --> 00:05:27,450 Juste une façon élégante de dire que nous pouvons il suffit d'appeler les choses ce qu'elles sont. 122 00:05:27,450 --> 00:05:29,800 >> Et si vous voulez obtenir au symbole de quelque chose, 123 00:05:29,800 --> 00:05:32,180 maintenant vous faites littéralement citer symbole unquote 124 00:05:32,180 --> 00:05:34,910 entre crochets au lieu d'un simple numéro. 125 00:05:34,910 --> 00:05:36,450 Donc, il est bien pratique. 126 00:05:36,450 --> 00:05:38,140 Et cela est une sorte de tout pour l'instant. 127 00:05:38,140 --> 00:05:40,240 Il ya des bouquets de d'autres fonctionnalités en PHP. 128 00:05:40,240 --> 00:05:43,180 Et en effet, PHP est livré avec l'évier de cuisine proverbiale. 129 00:05:43,180 --> 00:05:48,640 Des dizaines, des centaines de fonctions viennent avec PHP-- donc beaucoup plus que venu avec C. 130 00:05:48,640 --> 00:05:51,360 >> Et cela ne vise pas à submerger mais plutôt aider 131 00:05:51,360 --> 00:05:53,900 vous vous rendez compte que nous ne avoir plus de temps à écrire du code 132 00:05:53,900 --> 00:05:55,590 qui est en quelque sorte ici conceptuellement. 133 00:05:55,590 --> 00:05:58,465 Maintenant, nous ne pouvons tout simplement commencer à prendre avantage de beaucoup de fonctions plus avancées 134 00:05:58,465 --> 00:05:59,920 que les langues telles que PHP ont. 135 00:05:59,920 --> 00:06:02,630 Donc, nous ne devons pas nous inquiéter à propos déplacer des choses dans la mémoire. 136 00:06:02,630 --> 00:06:05,338 Nous ne devons pas nous inquiéter à propos de malloc et tous ces éléments niveau inférieur, 137 00:06:05,338 --> 00:06:09,390 détails puissants que vous luttez avec, si pas lutter avec, pset5, 138 00:06:09,390 --> 00:06:13,380 mais vous pouvez commencer à bientôt prendre pour acquis. 139 00:06:13,380 --> 00:06:17,770 >> En fait, nous allons rédiger un super- programme simple en PHP, comme suit. 140 00:06:17,770 --> 00:06:21,550 Je vais aller la tête dans CS50 IDE ici, et ce que je vais faire 141 00:06:21,550 --> 00:06:29,370 est de créer un nouveau fichier, ce très simplement va être appelé bonjour dot PHP. 142 00:06:29,370 --> 00:06:31,860 Donc au lieu de point c, il est va être appelé dot PHP. 143 00:06:31,860 --> 00:06:34,260 Et puis, dans ce fichier, Je peux commencer à taper. 144 00:06:34,260 --> 00:06:36,960 Mais il se trouve que la une chose que je dois savoir 145 00:06:36,960 --> 00:06:41,470 est que tout fichier PHP en général, a besoin de commencer avec une syntaxe particulière. 146 00:06:41,470 --> 00:06:44,570 Esprit similaire à HTML, mais encore une fois, PHP est un langage de programmation, non 147 00:06:44,570 --> 00:06:45,590 un langage de balisage. 148 00:06:45,590 --> 00:06:48,700 >> Ainsi, chaque fichier, et il est en quelque sorte la recherche de stupide, je l'admets. 149 00:06:48,700 --> 00:06:50,480 Ouvrir le support, d'interrogation, PHP. 150 00:06:50,480 --> 00:06:53,060 Et cela est juste la la façon de dire de la langue, 151 00:06:53,060 --> 00:06:58,400 hey, ordinateur voici un peu de code écrite dans un langage appelé PHP. 152 00:06:58,400 --> 00:07:01,900 Et puis à la fin de votre fichier, vous sorte de sorte de le contraire. 153 00:07:01,900 --> 00:07:04,860 Vous ne pas écrire à nouveau PHP, vous venez faire d'interrogation, équerre. 154 00:07:04,860 --> 00:07:08,500 Et puis tout ce que vous mettez à l'intérieur de ces deux balises, pour ainsi dire, 155 00:07:08,500 --> 00:07:11,490 sera, ou devrait être, du code PHP. 156 00:07:11,490 --> 00:07:13,180 >> Alors, faisons quelque chose de super simple. 157 00:07:13,180 --> 00:07:19,370 Je vais aller de l'avant et de faire impression def, Bonjour tout le monde, barre oblique inverse n, sauver. 158 00:07:19,370 --> 00:07:27,310 Et maintenant, mon invite, je vais fais, fais hello-- non, je vais faire, 159 00:07:27,310 --> 00:07:28,726 dot slash bonjour. 160 00:07:28,726 --> 00:07:31,250 Non, slash dot, hm. 161 00:07:31,250 --> 00:07:32,990 Donc, quelque chose est différent. 162 00:07:32,990 --> 00:07:36,920 Et en effet, ceci est une différence essentielle entre PHP et langues comme C C 163 00:07:36,920 --> 00:07:38,730 est ce qu'on appelle un langage compilé. 164 00:07:38,730 --> 00:07:40,929 Qu'est-ce que cela signifie pour C à être compilé? 165 00:07:40,929 --> 00:07:41,970 Quelle a été l'implication? 166 00:07:41,970 --> 00:07:42,898 Ouais. 167 00:07:42,898 --> 00:07:45,220 >> AUDIENCE: il a écrit en code machine de sorte qu'il peut être exécuté par l'ordinateur. 168 00:07:45,220 --> 00:07:46,011 >> ENCEINTE 1: Exactement. 169 00:07:46,011 --> 00:07:49,075 Nous devons d'abord convertir en soi-disant code machine, zéros et de uns, 170 00:07:49,075 --> 00:07:51,950 avant qu'il sera effectivement exécutable et compris par l'ordinateur. 171 00:07:51,950 --> 00:07:52,840 Par Intel à l'intérieur. 172 00:07:52,840 --> 00:07:54,530 Par la CPU à l'intérieur de l'ordinateur. 173 00:07:54,530 --> 00:07:58,170 PHP, en revanche, est ce qu'on appelle un langage interprété, qui 174 00:07:58,170 --> 00:08:02,230 signifie que vous ne compilez en zéros et de uns, code machine, 175 00:08:02,230 --> 00:08:04,360 vous quittez la place comme le code source. 176 00:08:04,360 --> 00:08:08,130 Et vous passez à la place comme entrée pour un programme, un interprète 177 00:08:08,130 --> 00:08:11,960 quelqu'un d'autre a écrit que Il ya des années que le comprend 178 00:08:11,960 --> 00:08:14,310 ligne par ligne, caractère pour caractère. 179 00:08:14,310 --> 00:08:16,120 En d'autres termes, il écrit sur les humains 180 00:08:16,120 --> 00:08:19,670 un programme qui se penchera à votre code ligne par ligne, 181 00:08:19,670 --> 00:08:21,680 et de comprendre ce l'ordinateur doit faire, 182 00:08:21,680 --> 00:08:25,960 sans conversion directement à zéros et de uns. 183 00:08:25,960 --> 00:08:28,370 >> Donc, si il voit une boucle, cette soi-disant interprète 184 00:08:28,370 --> 00:08:30,630 va être comme, tout droit, je devrais faire quelque chose encore et encore et encore. 185 00:08:30,630 --> 00:08:31,150 Que dois-je faire? 186 00:08:31,150 --> 00:08:32,159 Permettez-moi de regarder la ligne suivante. 187 00:08:32,159 --> 00:08:33,367 Permettez-moi de regarder la ligne suivante. 188 00:08:33,367 --> 00:08:35,350 Et il interprète véritablement ligne par ligne. 189 00:08:35,350 --> 00:08:37,220 Donc, pour l'exécuter, je ne l'utilise maquillage. 190 00:08:37,220 --> 00:08:39,409 Je ne l'utilise dot slash dans ce cas. 191 00:08:39,409 --> 00:08:43,530 Je fais la place PHP, qui est le nom d'un programme, alias 192 00:08:43,530 --> 00:08:46,562 Un interprète, qui est pré-installé dans CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 et maintenant je dois passer un commande argument de ligne, qui 194 00:08:48,770 --> 00:08:52,290 est tout simplement le nom du fichier qui je veux interpréter. 195 00:08:52,290 --> 00:08:54,740 Ou de façon plus décontractée, que je veux courir. 196 00:08:54,740 --> 00:08:57,000 Et si je appuyez sur Entrée, il nous l'avons. 197 00:08:57,000 --> 00:08:57,825 Bonjour le monde. 198 00:08:57,825 --> 00:08:59,950 Maintenant, il se trouve que je d'impression usagées def délibérément 199 00:08:59,950 --> 00:09:01,600 pour nous combler de C à PHP. 200 00:09:01,600 --> 00:09:05,150 La plupart des programmeurs PHP, comme vous le verrez, ne même pas la peine d'impression utilisant def. 201 00:09:05,150 --> 00:09:08,290 Ils utilisent simplement une fonction appelée impression, ce qui n'a pas eu C. 202 00:09:08,290 --> 00:09:11,390 Et si je ReRun maintenant, il fait se comporte fonctionnellement les mêmes. 203 00:09:11,390 --> 00:09:13,730 Je ne peux pas utiliser le pour cent s et i pour cent et ainsi de suite, 204 00:09:13,730 --> 00:09:16,250 mais il ya d'autres façons en PHP de le faire. 205 00:09:16,250 --> 00:09:18,100 Mais cela ne doit dire que syntaxiquement, 206 00:09:18,100 --> 00:09:21,850 autre que des choses étranges en hausse dessus, et quelques personnages étranges bas 207 00:09:21,850 --> 00:09:25,960 en bas, les concepts de l'entreprise la programmation dans cette autre langue 208 00:09:25,960 --> 00:09:27,860 vont être exactement la même. 209 00:09:27,860 --> 00:09:30,120 >> En fait, nous allons faire un autre exemple. 210 00:09:30,120 --> 00:09:32,520 Donc, je vais aller de l'avant et clore ce dossier. 211 00:09:32,520 --> 00:09:37,740 Permettez-moi de créer un autre qui Je vais appeler 1 point conditions PHP. 212 00:09:37,740 --> 00:09:40,770 Donc pas de zéro, parce que ce que je faisais étais-je regardé en arrière il ya quelques semaines, 213 00:09:40,770 --> 00:09:43,490 nous avions un fichier appelé conditions 1 point C. Et ce 214 00:09:43,490 --> 00:09:47,590 Je ne suis converti dans mon tête, et ici sur le papier, 215 00:09:47,590 --> 00:09:51,290 et bientôt sur le cours de site web, ligne par ligne en PHP. 216 00:09:51,290 --> 00:09:55,520 >> Ainsi, dans la version C, nous avons fait quelque chose comme chaîne s obtient obtenir chaîne. 217 00:09:55,520 --> 00:09:58,200 Donc, il est un peu différent de le faire en PHP. 218 00:09:58,200 --> 00:10:01,390 Au lieu de cela, je vais juste à faire, ou plutôt, je 219 00:10:01,390 --> 00:10:05,870 aurait fait int n obtient obtenir int, en l'exemple précédent. 220 00:10:05,870 --> 00:10:12,600 Ainsi, au lieu de cela, je vais faire n Récupère la ligne lire, je voudrais un nombre entier, 221 00:10:12,600 --> 00:10:13,670 S'il vous plaît. 222 00:10:13,670 --> 00:10:15,110 Donc, cela est juste mon invite. 223 00:10:15,110 --> 00:10:17,260 Et il se trouve, et Je voudrais seulement savoir ce 224 00:10:17,260 --> 00:10:20,480 d'avoir lu ou vu la fonction avant, lire les lignes de la fonction en PHP 225 00:10:20,480 --> 00:10:23,810 prend un argument qui est une invite pour l'homme, et son but dans la vie 226 00:10:23,810 --> 00:10:26,220 est de lire une ligne de texte qu'il ou elle en types. 227 00:10:26,220 --> 00:10:29,160 Et puis il stocke que texte dans la variable n. 228 00:10:29,160 --> 00:10:32,200 >> Et maintenant, je pourrais avoir besoin de faire quelque chose comme je le faisais il ya quelques semaines, en semaine comme 229 00:10:32,200 --> 00:10:33,290 une de la classe. 230 00:10:33,290 --> 00:10:36,600 Si n est supérieur à zéro, alors, je vais 231 00:10:36,600 --> 00:10:42,930 à emprunter cette syntaxe nous venons de voir, Imprimer def, vous avez choisi un nombre positif, 232 00:10:42,930 --> 00:10:44,360 n barre oblique inverse. 233 00:10:44,360 --> 00:10:49,990 Sinon, si n est égal à égal à zéro, je suis aller de l'avant et de dire, imprimer def, 234 00:10:49,990 --> 00:10:54,090 vous avez choisi de zéro barre oblique inverse n. 235 00:10:54,090 --> 00:10:56,830 Sinon, le cas ici devrait bien sûr, l'impression def, 236 00:10:56,830 --> 00:10:58,620 vous avez choisi un nombre négatif. 237 00:10:58,620 --> 00:11:00,970 >> Et nous pouvons certainement mettre en œuvre la logique de cette chose 238 00:11:00,970 --> 00:11:03,390 dans un tas de différents façons, mais le point ici 239 00:11:03,390 --> 00:11:07,210 qui est syntaxiquement, peine tout est nouveau. 240 00:11:07,210 --> 00:11:09,830 Il est juste le signe de dollar et une nouvelle fonction et ligne de lecture. 241 00:11:09,830 --> 00:11:12,090 Mais fondamentalement, ce qui est nouveau est maintenant je interpréter cela. 242 00:11:12,090 --> 00:11:13,910 Je suis de passage comme entrée à un autre programme. 243 00:11:13,910 --> 00:11:16,620 Donc, si je veux courir cela, si Je ne fais pas d'erreurs, 244 00:11:16,620 --> 00:11:20,140 Je vais exécuter PHP, de 1 point conditions PHP, entrer, 245 00:11:20,140 --> 00:11:23,440 Je vais taper le numéro 50, et supposons que pour l'instant cela fonctionne. 246 00:11:23,440 --> 00:11:25,940 Parce que la logique est la même étoffe que la première semaine. 247 00:11:25,940 --> 00:11:28,020 >> Très bien, alors qui est assez décevante, non? 248 00:11:28,020 --> 00:11:30,240 Nous pourrions le faire en tout nombre de langues. 249 00:11:30,240 --> 00:11:33,200 Faisons quelque chose de manière plus puissante. 250 00:11:33,200 --> 00:11:35,610 Le problème d'arrivée de laisser reposer cinq. 251 00:11:35,610 --> 00:11:37,370 Donc, je vais aller de l'avant et de le faire. 252 00:11:37,370 --> 00:11:42,920 Je vais créer un fichier appelé dictionnaire dot PHP, 253 00:11:42,920 --> 00:11:45,424 et inclinée que vous seriez peut-être pour brouiller bas beaucoup de notes, 254 00:11:45,424 --> 00:11:47,340 les notes seront seulement aider vous si vous êtes autorisé 255 00:11:47,340 --> 00:11:48,923 de mettre en œuvre les problèmes mis cinq en PHP. 256 00:11:48,923 --> 00:11:52,706 Mais nous allons voir comment rapidement maintenant nous peut mettre en œuvre ce même jeu de problème. 257 00:11:52,706 --> 00:11:56,830 >> Donc dans le dictionnaire dot PHP, je vais à supposer qu'il existe déjà 258 00:11:56,830 --> 00:11:58,514 un fichier dans le monde appelé Speller. 259 00:11:58,514 --> 00:12:01,430 Et en effet, je l'ai fait à l'avance, et nous ne serons pas marcher à travers cette ligne 260 00:12:01,430 --> 00:12:03,596 par ligne, mais si vous êtes curieux veulent plus tard et vraiment 261 00:12:03,596 --> 00:12:06,250 pour envelopper votre esprit autour de la différences entre C et PHP, 262 00:12:06,250 --> 00:12:09,030 comparer littéralement ce fichier, Speller, à partir du code source d'aujourd'hui 263 00:12:09,030 --> 00:12:11,190 que nous posterons plus tard aujourd'hui, contre p ensemble 264 00:12:11,190 --> 00:12:15,309 cinq Speller point c que nous vous donnons, et il est presque la même ligne par ligne. 265 00:12:15,309 --> 00:12:16,600 Il ya quelques signes plus en dollars. 266 00:12:16,600 --> 00:12:18,330 A couple fonctionne sont un peu différent. 267 00:12:18,330 --> 00:12:20,038 Mais il est une belle façon de sorte de voir comment 268 00:12:20,038 --> 00:12:22,740 vous traduisez une langue à l'autre. 269 00:12:22,740 --> 00:12:24,812 Et il est en ligne presque identique pour la ligne. 270 00:12:24,812 --> 00:12:27,770 Mais je vais supposer que ce existe, et ce que je vais faire ici 271 00:12:27,770 --> 00:12:31,310 est d'essayer de faire sauter votre l'esprit par réimplémentant 272 00:12:31,310 --> 00:12:36,210 l'intégralité du problème posé cinq manière plus rapide que vous avez fait jusqu'à présent. 273 00:12:36,210 --> 00:12:39,330 Ainsi, par exemple, je vais d'abord déclarer une variable globale appelée taille, 274 00:12:39,330 --> 00:12:40,444 et mettez-le égal à zéro. 275 00:12:40,444 --> 00:12:41,610 Maintenant que ya pas beaucoup d'économies. 276 00:12:41,610 --> 00:12:44,170 Les chances sont que vous mis en œuvre taille à peu près la même, 277 00:12:44,170 --> 00:12:48,440 ou hint hint, sera ce soir ou demain, simplement en utilisant une variable globale appelée 278 00:12:48,440 --> 00:12:49,900 la taille et le mettre égal à zéro. 279 00:12:49,900 --> 00:12:52,660 Cela ne veut pas un particulier spoiler incroyable. 280 00:12:52,660 --> 00:12:57,180 >> Donc, quelles étaient vos structures de données de choix, ceux d'entre vous qui ont plongé 281 00:12:57,180 --> 00:13:02,170 et lire la spec, quelles structures de données ont plupart d'entre vous ont eu recours? 282 00:13:02,170 --> 00:13:06,840 Une table de hachage ou d'essayer, peut-être quelques variantes. 283 00:13:06,840 --> 00:13:10,490 Donc, la mise en œuvre d'une table de hachage au moins, est une sorte de beaucoup de lignes de code, 284 00:13:10,490 --> 00:13:10,990 droit? 285 00:13:10,990 --> 00:13:13,700 Et pas tous d'entre eux pourraient être fonctionnelle à ce point dans la semaine, 286 00:13:13,700 --> 00:13:14,366 mais cela est très bien. 287 00:13:14,366 --> 00:13:19,300 Parce que dans PHP, si je voulez une table de hachage, fait. 288 00:13:19,300 --> 00:13:20,260 Droit? 289 00:13:20,260 --> 00:13:22,610 Donc, cette variable que je l'ai vient de déclarer est évidemment 290 00:13:22,610 --> 00:13:26,180 appelé dollar signe table, par l'introduction avant. 291 00:13:26,180 --> 00:13:28,902 >> Mais je veux vraiment juste, au la fin de la journée, d'un tableau. 292 00:13:28,902 --> 00:13:31,610 Mais pas un index numérique tableau, parce que ce que deux semaines 293 00:13:31,610 --> 00:13:33,440 choses, lorsque nous avons parlé des tableaux. 294 00:13:33,440 --> 00:13:34,850 Je veux une table de hachage. 295 00:13:34,850 --> 00:13:38,070 Mais une table de hachage est vraiment juste une façon concrète de dire, 296 00:13:38,070 --> 00:13:40,190 vous voulez un tableau associatif. 297 00:13:40,190 --> 00:13:43,270 Vous voulez être en mesure de clés associés avec des valeurs. 298 00:13:43,270 --> 00:13:44,200 Clés avec des valeurs. 299 00:13:44,200 --> 00:13:45,640 Qu'est-ce qu'un dictionnaire, vraiment? 300 00:13:45,640 --> 00:13:47,080 Eh bien, il ya tout un tas de touches. 301 00:13:47,080 --> 00:13:50,320 Des mots comme la pomme, la poire, la banane et, et tous ces mots anglais 302 00:13:50,320 --> 00:13:51,490 que nous vous remettons. 303 00:13:51,490 --> 00:13:54,820 >> Et les valeurs que vous êtes effectivement insérer dans votre dictionnaire 304 00:13:54,820 --> 00:13:57,790 sont soit vrai, ou l'absence, de faux. 305 00:13:57,790 --> 00:14:00,540 En d'autres termes vous insérez tout un tas de paires clé-valeur, 306 00:14:00,540 --> 00:14:03,720 pomme, vrai, la poire, la vraie, la banane, le vrai. 307 00:14:03,720 --> 00:14:07,446 De sorte que lorsque vous récupérez ou regardez jusqu'à ce que les données dans votre table de hachage 308 00:14:07,446 --> 00:14:10,070 avec votre fonction de contrôle, vous êtes soit revenir une réponse, 309 00:14:10,070 --> 00:14:13,260 Oui, je l'ai trouvé dans mon complexe la table de hachage, ou pas, il n'y est pas, 310 00:14:13,260 --> 00:14:14,540 si vous revenez faux. 311 00:14:14,540 --> 00:14:19,440 >> Donc, pour ce faire, tout ce que je besoin est les données structure comme je proposé avant. 312 00:14:19,440 --> 00:14:22,050 Je dois juste être en mesure à associer des mots 313 00:14:22,050 --> 00:14:25,570 comme, entre guillemets, symbole, avec une valeur comme, vrai. 314 00:14:25,570 --> 00:14:27,090 Donc, il ya ma table de hachage. 315 00:14:27,090 --> 00:14:28,180 Disons utiliser effectivement. 316 00:14:28,180 --> 00:14:30,310 Donc, il ya quelques fonctions Je dois mettre en application. 317 00:14:30,310 --> 00:14:33,300 Je vais aller de l'avant et de mordre hors une taille de fonction appelée. 318 00:14:33,300 --> 00:14:34,390 Il ne prend aucun argument. 319 00:14:34,390 --> 00:14:36,660 Je ne dois pas embêter avec le mot, nulle en PHP. 320 00:14:36,660 --> 00:14:38,770 Je vais simplement revenir taille. 321 00:14:38,770 --> 00:14:41,287 >> Et en passant, PHP a ce détail minorly ennuyeux, 322 00:14:41,287 --> 00:14:44,620 où si quelque chose est mondiale, vous devez dire la fonction dans laquelle vous utilisez 323 00:14:44,620 --> 00:14:46,220 il, hé, ceci est une variable globale. 324 00:14:46,220 --> 00:14:49,330 Donc, la bêtise mineur, mais vous avoir à le faire quand même. 325 00:14:49,330 --> 00:14:50,920 >> Alors que sur la charge? 326 00:14:50,920 --> 00:14:52,990 Je vais mettre en œuvre une charge de fonction appelée 327 00:14:52,990 --> 00:14:56,790 qui prend au nom de dictionnaire, tout comme dans problème posé cinq. 328 00:14:56,790 --> 00:14:59,554 Et avant que je procède, remarquerez que je ne ai pas 329 00:14:59,554 --> 00:15:00,970 tapant été tout à fait les mêmes choses. 330 00:15:00,970 --> 00:15:06,060 Ce qui est évidemment différente en PHP propos comment vous déclarez une fonction par rapport à C? 331 00:15:06,060 --> 00:15:06,616 Ouais. 332 00:15:06,616 --> 00:15:07,490 AUDIENCE: [inaudible] 333 00:15:07,490 --> 00:15:08,573 ENCEINTE 1: Aucun type de retour. 334 00:15:08,573 --> 00:15:12,350 Et en effet, que ce soit le cas, PHP dans la mesure où il est faiblement typé, 335 00:15:12,350 --> 00:15:14,190 est aussi un peu bâclé dans ce sens. 336 00:15:14,190 --> 00:15:17,680 Vous ne spécifiez pas que le programmeur ce que cette fonction retourne. 337 00:15:17,680 --> 00:15:20,490 Vous auriez à effectivement regarder le code pour comprendre cela. 338 00:15:20,490 --> 00:15:22,670 Ou lire les commentaires ou la documentation. 339 00:15:22,670 --> 00:15:24,870 Donc avantages et les inconvénients de ces types de décisions. 340 00:15:24,870 --> 00:15:26,750 Mais je dois dire le mot-clé, la fonction. 341 00:15:26,750 --> 00:15:28,360 Et quand nous apprenons JavaScript dans quelques semaines 342 00:15:28,360 --> 00:15:31,026 nous allons voir la même chose à nouveau, mais il est la même idée. 343 00:15:31,026 --> 00:15:34,220 Le nom de la fonction, son argument ou arguments ou leur absence, et l'entreprise 344 00:15:34,220 --> 00:15:35,630 ici est la mise en œuvre. 345 00:15:35,630 --> 00:15:38,860 >> Donc, je vais couper quelques coins tout d'être dramatique pour un instant. 346 00:15:38,860 --> 00:15:40,485 Mais je vais aller de l'avant et de dire cela. 347 00:15:40,485 --> 00:15:44,890 Voilà comment je peux charger un fichier dans un tableau. 348 00:15:44,890 --> 00:15:47,580 Il ya une fonction en PHP appelé fichier. 349 00:15:47,580 --> 00:15:49,300 Vous lui donnez le nom d'un fichier. 350 00:15:49,300 --> 00:15:53,950 Il vous remet un tableau arrière, à l'intérieur qui est chaque ligne du fichier. 351 00:15:53,950 --> 00:15:56,480 De zéro, un, sur place à n moins 1 lignes. 352 00:15:56,480 --> 00:15:57,210 Ça y est, non? 353 00:15:57,210 --> 00:15:57,990 Il n'y a pas f lecture. 354 00:15:57,990 --> 00:15:58,826 Il n'y a pas F s. 355 00:15:58,826 --> 00:15:59,700 Il n'y a pas de pour cent. 356 00:15:59,700 --> 00:16:00,420 Il n'y a pas de maux de tête. 357 00:16:00,420 --> 00:16:01,220 Il n'y a pas feof. 358 00:16:01,220 --> 00:16:03,950 Tous ces trucs avec lesquels vous avez peut-être été aux prises, 359 00:16:03,950 --> 00:16:06,550 avec p fixé quatre et cinq, disparaît. 360 00:16:06,550 --> 00:16:09,450 >> Donc, je viens de lire ces lignes dans le fichier, et puis vous savez quoi? 361 00:16:09,450 --> 00:16:15,510 Si je veux itérer sur ces mots, Je peux le faire, pour chaque ligne que la ligne. 362 00:16:15,510 --> 00:16:19,992 Rappelez-vous que ce était une sorte de intelligent façon de itération sur un tableau, l'indice 363 00:16:19,992 --> 00:16:25,090 par index, et à chaque itération d'appel la ligne actuelle, le dollar ligne de signe. 364 00:16:25,090 --> 00:16:31,560 Et ici, je vais aller dire table, console, en ligne, devient vrai. 365 00:16:31,560 --> 00:16:35,880 >> En d'autres termes, voilà comment je insérer dans ma table de hachage en PHP. 366 00:16:35,880 --> 00:16:38,740 Je dis dollar signe table, qui est mon tableau associatif qui était 367 00:16:38,740 --> 00:16:40,690 vide par la ligne de code au-dessus. 368 00:16:40,690 --> 00:16:42,790 Je indice alors en elle pas, en utilisant un nombre, 369 00:16:42,790 --> 00:16:45,300 mais en utilisant la lettre mot-clé que je me soucie. 370 00:16:45,300 --> 00:16:47,730 Peut-être qu'il est pomme ou une poire ou de la banane ou autre, 371 00:16:47,730 --> 00:16:51,645 mais spécifiquement Je indexation en elle comme je proposais plus tôt. 372 00:16:51,645 --> 00:16:53,770 Je prends le nom de mon tableau associatif, et puis je 373 00:16:53,770 --> 00:16:56,450 utiliser entre guillemets dans le crochets avec une chaîne, 374 00:16:56,450 --> 00:16:58,490 au lieu d'un nombre réel. 375 00:16:58,490 --> 00:17:00,250 >> Et donc voilà. 376 00:17:00,250 --> 00:17:01,720 La fonction de charge est effectuée. 377 00:17:01,720 --> 00:17:05,119 Une fois que itération de la boucle, je l'ai mis le tout dans la table de hachage. 378 00:17:05,119 --> 00:17:07,810 Maintenant petit avertissement, il ya une quelques choses que je ne dois corriger. 379 00:17:07,810 --> 00:17:10,030 Et la version je posterai en ligne aura toutes les nuances, 380 00:17:10,030 --> 00:17:12,670 mais il est surtout juste va être un peu contrôle d'erreur et quelques modifications mineures. 381 00:17:12,670 --> 00:17:14,044 Mais cela est en effet l'essentiel de celui-ci. 382 00:17:14,044 --> 00:17:16,750 Si je veux maintenant mettre en œuvre la fonction appelée 383 00:17:16,750 --> 00:17:19,869 vérifier, qui attend un mot comme argument, 384 00:17:19,869 --> 00:17:22,099 Comment pourrais-je m'y prendre? 385 00:17:22,099 --> 00:17:30,020 Eh bien, je vais simplement dire que, si à l'intérieur de ma table, à l'emplacement mot, 386 00:17:30,020 --> 00:17:30,652 si est réglé. 387 00:17:30,652 --> 00:17:32,360 Donc, si il est-- en fait, vous savez quoi? 388 00:17:32,360 --> 00:17:34,830 Je vais le faire en un peu de pseudo-code. 389 00:17:34,830 --> 00:17:36,020 Mais l'idée est la même. 390 00:17:36,020 --> 00:17:41,640 Si cela équivaut vrai, retourne vrai. 391 00:17:41,640 --> 00:17:43,890 Bien. 392 00:17:43,890 --> 00:17:46,851 Else-- vous pouvez sorte de voir où cela est going-- retourner faux. 393 00:17:46,851 --> 00:17:47,350 Terminé. 394 00:17:47,350 --> 00:17:49,640 Vérification est effectuée. 395 00:17:49,640 --> 00:17:50,940 >> Pretty nice, non? 396 00:17:50,940 --> 00:17:52,560 Et alors est-ce vraiment en venir? 397 00:17:52,560 --> 00:17:53,680 Et cela aussi, je coupe quelques coins. 398 00:17:53,680 --> 00:17:56,020 Regardez la version en ligne pour toutes les nuances légères. 399 00:17:56,020 --> 00:17:57,103 Mais voilà l'essentiel. 400 00:17:57,103 --> 00:17:59,080 Indice dans votre tableau associatif, alias 401 00:17:59,080 --> 00:18:02,910 Table de hachage, voir si il ya une valeur là, si elle est définie sur true, et si oui, 402 00:18:02,910 --> 00:18:03,930 return true. 403 00:18:03,930 --> 00:18:05,819 Nous avons donc amenuisé la totalité de la complexité. 404 00:18:05,819 --> 00:18:07,110 Alors sorte de l'esprit souffle, non? 405 00:18:07,110 --> 00:18:09,680 Je ne vais pas finir avec ce déchargement, parce que dans fact-- oh, vous savez quoi? 406 00:18:09,680 --> 00:18:11,620 Ouais, finissons avec déchargement. 407 00:18:11,620 --> 00:18:18,940 >> Décharger dans une table de hachage pourrait ressembler comme la fonction déchargement, revenir. 408 00:18:18,940 --> 00:18:19,930 OK alors que ce déchargement. 409 00:18:19,930 --> 00:18:21,350 Parce qu'il n'y a rien pour décharger, non? 410 00:18:21,350 --> 00:18:22,170 Il n'y a pas malloc. 411 00:18:22,170 --> 00:18:24,280 Je ne demandais pas explicitement le système d'exploitation pour rien. 412 00:18:24,280 --> 00:18:25,571 Je viens de commencer l'utilisation de variables. 413 00:18:25,571 --> 00:18:30,510 Et cela aussi est une manifestation de caractéristiques des langages de plus haut niveau. 414 00:18:30,510 --> 00:18:32,940 Encore une fois, la plupart de ce terme nous avons affaire ici 415 00:18:32,940 --> 00:18:34,280 avec C. niveau super bas. 416 00:18:34,280 --> 00:18:35,980 Vous pouvez voir la mémoire de l'ordinateur. 417 00:18:35,980 --> 00:18:38,440 Vous pouvez toucher tout ce que vous voudrez dans la RAM de votre ordinateur, 418 00:18:38,440 --> 00:18:39,440 pour le meilleur ou pour le pire. 419 00:18:39,440 --> 00:18:41,760 >> Jusqu'à ici, nous allons à renoncer à ce pouvoir. 420 00:18:41,760 --> 00:18:44,730 Mais mon dieu, regardez comment beaucoup moins de code je l'ai écrit. 421 00:18:44,730 --> 00:18:47,660 En fait si je ne parle pas et de parler sur ma frappe, 422 00:18:47,660 --> 00:18:50,190 nous aurions été fait avec cet exemple il ya cinq minutes. 423 00:18:50,190 --> 00:18:52,150 Alors quel est le prix à payer? 424 00:18:52,150 --> 00:18:54,100 Eh bien, nous allons jeter un coup d'oeil. 425 00:18:54,100 --> 00:18:55,340 Nous allons jeter un coup d'oeil. 426 00:18:55,340 --> 00:18:59,340 Je vais aller de l'avant et exécuter CS50. 427 00:18:59,340 --> 00:19:02,160 Permettez-moi d'aller d'abord en Les exemples d'aujourd'hui où 428 00:19:02,160 --> 00:19:03,970 Je dois le répertoire des textes comme avant. 429 00:19:03,970 --> 00:19:08,520 Je vais courir la solution qui il est livré avec problème posé cinq appelé 430 00:19:08,520 --> 00:19:11,190 Speller, qui est dans le compte du CS50. 431 00:19:11,190 --> 00:19:14,040 >> Et je vais courir sur quelque chose grande comme la Bible King James, 432 00:19:14,040 --> 00:19:16,547 juste pour que nous avons vraiment mis le des solutions de personnel à l'épreuve. 433 00:19:16,547 --> 00:19:19,130 Or parfois Internet est un peu plus lent, un peu plus vite, 434 00:19:19,130 --> 00:19:20,338 pourrait prendre un certain temps pour faire défiler. 435 00:19:20,338 --> 00:19:23,730 Mais il a fallu un total de .56 secondes de vérifier l'orthographe de la King James 436 00:19:23,730 --> 00:19:25,150 Bible en utilisant la solution du personnel. 437 00:19:25,150 --> 00:19:25,620 Donc assez bonne. 438 00:19:25,620 --> 00:19:27,786 Les vôtres peuvent être beaucoup plus lent, et voilà tout à fait bien. 439 00:19:27,786 --> 00:19:30,090 Mais il est exact ici. 440 00:19:30,090 --> 00:19:32,440 Voilà donc la solution du personnel. 441 00:19:32,440 --> 00:19:34,785 Si je vais dans et nettoyer la version de PHP. 442 00:19:34,785 --> 00:19:36,990 Et je vais faire un peu de comme la cuisson spectacle chose. 443 00:19:36,990 --> 00:19:39,720 Nous allons prendre le code je l'ai écrit plus tôt, il est donc tout à fait correct. 444 00:19:39,720 --> 00:19:42,678 Parce que le code écrit, je ne va pas pour être parfaitement correcte en ce moment. 445 00:19:42,678 --> 00:19:47,310 Mais si je lance la version de PHP, que dois-je renoncer à aujourd'hui? 446 00:19:47,310 --> 00:19:49,980 Il m'a fallu cinq minutes pour mettre en œuvre p mis cinq ans, je prétends. 447 00:19:49,980 --> 00:19:51,770 Quel prix suis-je payé? 448 00:19:51,770 --> 00:19:52,270 Ouais. 449 00:19:52,270 --> 00:19:52,937 >> AUDIENCE: Vitesse. 450 00:19:52,937 --> 00:19:53,645 ENCEINTE 1: Speed. 451 00:19:53,645 --> 00:19:54,380 Que voulez-vous dire? 452 00:19:54,380 --> 00:19:55,230 >> Public: Ça va prendre plus de temps. 453 00:19:55,230 --> 00:19:55,660 >> ENCEINTE 1: Très bien. 454 00:19:55,660 --> 00:19:56,160 Voyons. 455 00:19:56,160 --> 00:19:59,590 Ça va prendre plus de temps, de ne pas écrire, mais pour l'exécuter. 456 00:19:59,590 --> 00:20:00,090 Ouais. 457 00:20:00,090 --> 00:20:00,960 Essayons donc de cela. 458 00:20:00,960 --> 00:20:05,720 Donc ici, je vais aller de l'avant et à faire PHP Speller, et parce que le fichier de 459 00:20:05,720 --> 00:20:06,360 appelé Speller. 460 00:20:06,360 --> 00:20:07,580 Donc, je ne vais pas courir le dictionnaire, rappel, 461 00:20:07,580 --> 00:20:09,204 Je l'exécution du programme appelé Speller. 462 00:20:09,204 --> 00:20:12,450 Je vais passer de la même fichier, King James de la cinquième. 463 00:20:12,450 --> 00:20:14,377 Il vole par. 464 00:20:14,377 --> 00:20:17,210 Ce pourrait être simplement la vitesse d'Internet, alors ne lisez pas trop dans cela. 465 00:20:17,210 --> 00:20:21,680 Mais il ne se sent plus sûr. 466 00:20:21,680 --> 00:20:23,280 1,26 secondes. 467 00:20:23,280 --> 00:20:25,150 >> Voilà qui est encore assez sacrément rapide, non? 468 00:20:25,150 --> 00:20:28,140 Et la seule raison qui ressemblait plus comme trois, ou quatre, ou cinq 469 00:20:28,140 --> 00:20:30,515 secondes, qui est juste parce que Internet a été étant lente. 470 00:20:30,515 --> 00:20:33,980 Le temps d'ordinateur passé était de 1,26 secondes, contre je pense que 0,56. 471 00:20:33,980 --> 00:20:35,880 Donc, plus de deux fois plus lent. 472 00:20:35,880 --> 00:20:39,170 Voilà qui est encore sacrément rapide, mais il est une manifestation 473 00:20:39,170 --> 00:20:40,860 de, en effet, que le prix exact. 474 00:20:40,860 --> 00:20:43,460 >> Parce que nous sommes l'interprétation dans le code ligne par ligne, 475 00:20:43,460 --> 00:20:46,740 et que ce programme PHP est en train de lire mon Code de haut en bas, de gauche à droite, 476 00:20:46,740 --> 00:20:47,940 il a à faire plus de réflexion. 477 00:20:47,940 --> 00:20:50,430 Il doit genre de convertir à l'intérieur de lui-même 478 00:20:50,430 --> 00:20:53,464 correspondant à la machine Code à la volée, pour ainsi dire, 479 00:20:53,464 --> 00:20:55,380 même si la mécanique sont un peu différentes. 480 00:20:55,380 --> 00:20:59,430 Au lieu de simplement l'alimentation de la CPU Intel les zéros et de uns premières 481 00:20:59,430 --> 00:21:00,930 qu'il comprend nativement. 482 00:21:00,930 --> 00:21:04,110 >> Donc, absolument, haut la main, nous avons payé un prix. 483 00:21:04,110 --> 00:21:09,120 Et le code écrit dans une langue comme PHP a tendance à être plus lent. 484 00:21:09,120 --> 00:21:10,050 Mais mon dieu. 485 00:21:10,050 --> 00:21:12,740 Alors maintenant, quand je vérifier l'orthographe de mon fichier, je passe un supplément de 0,7 486 00:21:12,740 --> 00:21:17,280 ou alors secondes contre 20 heures pour mettre en œuvre un vérificateur rapide sort, non? 487 00:21:17,280 --> 00:21:18,397 Il est une sorte de compromis. 488 00:21:18,397 --> 00:21:20,980 Et si vous êtes débutant p mettre cinq, peut-être pas 20 heures. 489 00:21:20,980 --> 00:21:22,188 Pourrait être beaucoup moins que cela. 490 00:21:22,188 --> 00:21:23,600 Mais il est un compromis, pour de vrai. 491 00:21:23,600 --> 00:21:27,820 Et si vous êtes à l'exécution de code sur les très gros des ensembles de données, ou sur du matériel encore plus ancienne, 492 00:21:27,820 --> 00:21:32,650 ces types de différences peut certainement ajouter. 493 00:21:32,650 --> 00:21:34,880 >> Vous avez des questions à ce jour? 494 00:21:34,880 --> 00:21:35,617 Ouais. 495 00:21:35,617 --> 00:21:36,492 >> AUDIENCE: [inaudible] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 ENCEINTE 1: Désolé, peut vous dites une fois de plus? 498 00:21:39,978 --> 00:21:40,853 AUDIENCE: [inaudible] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 ENCEINTE 1: vous donnez le temps. 501 00:21:44,700 --> 00:21:45,283 Eh bien, alors oui. 502 00:21:45,283 --> 00:21:47,322 Vous économisez du temps en ne pas avoir à compiler, 503 00:21:47,322 --> 00:21:48,530 si cela est ce que vous demandez. 504 00:21:48,530 --> 00:21:50,710 Et en effet, dans CS50, la plupart des programmes, 505 00:21:50,710 --> 00:21:53,668 même si elles pourraient prendre un certain temps à écrire, ils sont relativement courte. 506 00:21:53,668 --> 00:21:56,860 Quelques dizaines, quelques centaines de lignes de code, et donc ils compilent assez rapidement. 507 00:21:56,860 --> 00:21:58,470 Mais quand vous commencez écrire des programmes plus gros, 508 00:21:58,470 --> 00:22:01,511 comme si vous êtes Microsoft ou que vous soyez Google et l'écriture de gros programmes 509 00:22:01,511 --> 00:22:05,360 en C, ou C ++, ou similaire compilé langues, pourraient prendre plusieurs secondes, 510 00:22:05,360 --> 00:22:08,577 ou même quelques minutes ou plus pour compiler des millions de lignes de code. 511 00:22:08,577 --> 00:22:10,660 Et là aussi, que différence va ajouter jusqu'à. 512 00:22:10,660 --> 00:22:12,840 >> Et en fait, une fois que nous transition aujourd'hui, même jour 513 00:22:12,840 --> 00:22:15,910 aujourd'hui, pour la programmation web en utilisant PHP, vous êtes 514 00:22:15,910 --> 00:22:18,460 allez trouver ce juste tellement plus agréable d'écrire du code 515 00:22:18,460 --> 00:22:21,501 lorsque vous ne disposez pas de faire ces stupides des mesures comme le changement à votre terminal 516 00:22:21,501 --> 00:22:24,202 fenêtre, tapez make bonjour, re exécuter, rechargez la fenêtre. 517 00:22:24,202 --> 00:22:25,910 Juste tellement stupide mesures mécaniques 518 00:22:25,910 --> 00:22:28,480 juste obtenir dans la façon de faire l'intéressant, le travail amusant. 519 00:22:28,480 --> 00:22:31,450 Et en effet, nous jetons que loin avec PHP. 520 00:22:31,450 --> 00:22:34,960 Et nous pouvons interagir avec plus rapidement. 521 00:22:34,960 --> 00:22:35,495 Ouais. 522 00:22:35,495 --> 00:22:36,370 AUDIENCE: [inaudible] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 ENCEINTE 1: Bien sûr. 525 00:22:40,960 --> 00:22:42,876 Puis-je préciser ce qu'il signifie être interprété? 526 00:22:42,876 --> 00:22:45,870 Lorsque vous compilez une langue comme le C, il descend 527 00:22:45,870 --> 00:22:48,140 comme nous le disions à la machine code, zéros et de uns. 528 00:22:48,140 --> 00:22:51,860 Et Intel a décidé il ya des années que certains modes de zéros et de uns 529 00:22:51,860 --> 00:22:56,220 représenter plus, ou la soustraction, ou imprimer, ou d'autres opérations de base. 530 00:22:56,220 --> 00:23:00,250 Dans le monde d'un langage interprété comme PHP ou JavaScript ou Python, 531 00:23:00,250 --> 00:23:03,120 ou rubis, ou des grappes de les autres, à la place quelqu'un 532 00:23:03,120 --> 00:23:05,120 a écrit un interpreter-- dans ce cas, 533 00:23:05,120 --> 00:23:09,770 il est aussi appelé PHP, identique à la le nom de la substance qui language-- 534 00:23:09,770 --> 00:23:13,840 a une grande boucle en elle qui itère sur l'ensemble des lignes du code 535 00:23:13,840 --> 00:23:18,170 que je nourris comme entrée, comme bonjour dot PHP, ou un dictionnaire dot PHP. 536 00:23:18,170 --> 00:23:21,760 >> Et puis vous pouvez penser de leur grande boucle comme ayant un grand nombre de conditions. 537 00:23:21,760 --> 00:23:26,340 Et ces conditions disent, si le humaine a écrit le mot-clé pour, 538 00:23:26,340 --> 00:23:28,470 commencer à faire son Code encore et encore. 539 00:23:28,470 --> 00:23:31,360 Ou si l'humain a écrit la ligne de code, 540 00:23:31,360 --> 00:23:34,880 si seulement exécuter leur prochaine ligne conditionnellement. 541 00:23:34,880 --> 00:23:37,740 Donc, il est vraiment comme l'interprétation dans un sens humain, ligne 542 00:23:37,740 --> 00:23:39,660 par ligne, et qui prend juste du temps. 543 00:23:39,660 --> 00:23:41,340 Il faut au-dessus. 544 00:23:41,340 --> 00:23:44,189 Et donc ce est un price-- bonne question-- nous payons. 545 00:23:44,189 --> 00:23:46,480 Alors, faisons une autre démo qui est un peu plus dramatique. 546 00:23:46,480 --> 00:23:51,160 Il est, je dirais, un stade de baseball à cette une probabilité de ne pas horriblement de 90%, 547 00:23:51,160 --> 00:23:53,869 mais vous serez surpris avec 10% de probabilité. 548 00:23:53,869 --> 00:23:55,660 Ainsi, chaque année, nous essayons pour ce faire, par lequel nous 549 00:23:55,660 --> 00:23:59,061 essayer d'écrire un programme qui passe par problème réglé à zéro, pour lequel vous avez 550 00:23:59,061 --> 00:24:02,060 soumis vos numéros de téléphone et un beaucoup d'autres informations démographiques, 551 00:24:02,060 --> 00:24:06,030 et on programme vous envoyer un message texte. 552 00:24:06,030 --> 00:24:08,540 Et puis tout le monde de téléphone émet des bips ou vibre, 553 00:24:08,540 --> 00:24:11,460 et il est tout simplement incroyable, parce Eh bien, regardez ce que les ordinateurs peuvent faire. 554 00:24:11,460 --> 00:24:13,840 >> Cela fonctionne rarement correctement il semble, en grande partie 555 00:24:13,840 --> 00:24:16,800 parce que je reçois généralement sur la liste noire par Gmail ou un autre service 556 00:24:16,800 --> 00:24:19,630 pour effectivement essayer de le faire à l'échelle. 557 00:24:19,630 --> 00:24:24,940 Mais chose drôle est aussi, puisque nous ne pas avoir tout le monde ici aujourd'hui, 558 00:24:24,940 --> 00:24:27,690 fait amusant de la dernière de nous de temps essayé il ya deux ans, 559 00:24:27,690 --> 00:24:30,870 Je pense que je l'ai écrit un programme qui était assis dans une itération de la boucle 560 00:24:30,870 --> 00:24:34,040 sur tous les élèves de la classe, et chacun d'eux un message de texte, 561 00:24:34,040 --> 00:24:37,534 et il a dit quelque chose comme: pourquoi n'êtes-vous pas en lecture? 562 00:24:37,534 --> 00:24:39,170 Amour, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> Vous avez aucune idée de combien de apologétique et e-mails sorte de douloureuses 564 00:24:42,580 --> 00:24:46,970 Je l'ai reçu en réponse à partir de la n moins 100 personnes qui ne sont pas ici 565 00:24:46,970 --> 00:24:47,960 Ce jour là. 566 00:24:47,960 --> 00:24:52,116 Et encore plus drôle story--, plus honteux vous le savez, nous allons le mettre là-bas. 567 00:24:52,116 --> 00:24:53,740 Il est déjà sur la vidéo il ya quelques années. 568 00:24:53,740 --> 00:24:56,810 Donc, vous me verrez bientôt écrire une boucle for, lequel 569 00:24:56,810 --> 00:25:00,640 il est très facile d'écrire un bug dans ce de boucle, de telle sorte que la première fois, 570 00:25:00,640 --> 00:25:02,800 dans la boucle, vous envoyer un message texte. 571 00:25:02,800 --> 00:25:06,190 >> Le deuxième passage dans la boucle I aurait envoyé un autre message texte, 572 00:25:06,190 --> 00:25:08,250 et puis un texte plus message, et un de plus. 573 00:25:08,250 --> 00:25:11,490 Mais il se trouve si vous faites une faute de frappe lors de la programmation, parfois vous 574 00:25:11,490 --> 00:25:14,460 peut écrire des programmes qui envoient un message texte, puis deux messages texte, 575 00:25:14,460 --> 00:25:18,742 puis trois messages texte à tous qui a déjà reçu un message texte. 576 00:25:18,742 --> 00:25:21,450 Et comme vous le savez, de faire quelque chose, plus quelque chose, plus quelque chose, 577 00:25:21,450 --> 00:25:25,910 plus quelque chose, est grand O d'un lot de messages textuels, ou n au carré, 578 00:25:25,910 --> 00:25:29,830 ou à 0,10 $ un message texte, 20 000 $. 579 00:25:29,830 --> 00:25:33,700 >> Heureusement je frappe Control-C avant cette est arrivé, mais je ne dois au moins un 580 00:25:33,700 --> 00:25:37,550 de vos prédécesseurs $ 20 pour le 200 des messages texte bizarres qui, 581 00:25:37,550 --> 00:25:40,450 non seulement allé à son téléphone, mais aussi il était comme un rabat du téléphone plus ancien 582 00:25:40,450 --> 00:25:43,520 il aime poussé hors de son mémoire tout autre texte personnelle 583 00:25:43,520 --> 00:25:45,930 message qu'il avait effectivement obtenu. 584 00:25:45,930 --> 00:25:49,250 Donc, nous avons un objectif aujourd'hui, ne pas le faire. 585 00:25:49,250 --> 00:25:50,620 Peut-être activer le mode avion. 586 00:25:50,620 --> 00:25:51,120 Bien. 587 00:25:51,120 --> 00:25:56,590 Allons donc dans un programme ici callled-- 588 00:25:56,590 --> 00:25:59,060 que je vais appeler texte dot PHP. 589 00:25:59,060 --> 00:26:01,074 Et à l'avance, je dois deux fichiers ici. 590 00:26:01,074 --> 00:26:06,030 Je fis un fichier pour tout le personnel, qui a obtenu toutes les infos sur la personnel, tous les noms 591 00:26:06,030 --> 00:26:07,260 le site Web de la formation. 592 00:26:07,260 --> 00:26:09,756 Et puis, pour l'instant je viens de mettre certains faux numéros 555-1212. 593 00:26:09,756 --> 00:26:11,380 Donc, elles ne seraient pas effectivement aller nulle part. 594 00:26:11,380 --> 00:26:15,140 Mais remarquez l'intérieur de ce fichier CSV, dont nous avons parlé brièvement avant 595 00:26:15,140 --> 00:26:16,540 dans le contexte de fichier IO. 596 00:26:16,540 --> 00:26:18,730 >> Qu'est-ce qu'un fichier CSV? 597 00:26:18,730 --> 00:26:19,970 Comma variables séparées. 598 00:26:19,970 --> 00:26:24,400 Et cela est un peu comme une très base de données légère, si vous voulez. 599 00:26:24,400 --> 00:26:28,650 Il est le genre de type de quatre colonnes dans ce dossier, et il y en dents de scie, 600 00:26:28,650 --> 00:26:32,400 mais les virgules essentiellement représenter les colonnes du fichier. 601 00:26:32,400 --> 00:26:35,400 La première colonne est le TF ou le nom de CA. 602 00:26:35,400 --> 00:26:37,800 La deuxième colonne est leur nom de famille. 603 00:26:37,800 --> 00:26:39,820 Troisième colonne est leur numéro de téléphone. 604 00:26:39,820 --> 00:26:44,760 Et quatrième colonne est-- apparemment quatrième colonne est apparemment quoi? 605 00:26:44,760 --> 00:26:45,870 OK, il est donc leur transporteur. 606 00:26:45,870 --> 00:26:47,180 Donc, Verizon, Sprint ou, ou ce pas. 607 00:26:47,180 --> 00:26:48,620 Et si je me suis mal exprimé plus tôt, CSV. 608 00:26:48,620 --> 00:26:51,800 Comma Separated Values ​​est CSV ici. 609 00:26:51,800 --> 00:26:54,260 >> Alors qu'est-ce que je peux faire avec ça? 610 00:26:54,260 --> 00:26:56,940 Eh bien cela est juste un gros fichier texte, et il est une sorte de longue, non? 611 00:26:56,940 --> 00:26:58,690 Comme cela va être assez ennuyeux. 612 00:26:58,690 --> 00:27:03,510 Et il se trouve, cependant, que si je vouloir envoyer un message texte à, disons 613 00:27:03,510 --> 00:27:05,180 Alex dire ici. 614 00:27:05,180 --> 00:27:09,690 Laissez-moi aller dans mon navigateur et quitter le mode plein écran 615 00:27:09,690 --> 00:27:11,660 pour que je puisse basculer. 616 00:27:11,660 --> 00:27:20,280 Il se trouve, voyons, si je vais dans ici, et vous connecter à Gmail, tout droit. 617 00:27:20,280 --> 00:27:22,950 Ne regardez pas cette partie. 618 00:27:22,950 --> 00:27:23,880 Juste que je peux voir. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 bien sûr le livestream peuvent vois encore ce que je fais. 621 00:27:28,800 --> 00:27:29,360 Bien. 622 00:27:29,360 --> 00:27:31,850 >> Donc ici est juste avec Gmail Le compte de John Harvard. 623 00:27:31,850 --> 00:27:34,000 Donc, si je veux envoyer un texte message à Alex, 624 00:27:34,000 --> 00:27:35,530 Je ne peux bien sûr composer un message. 625 00:27:35,530 --> 00:27:38,410 Et il se trouve, et je l'ai testé avec Alex avant ici, 626 00:27:38,410 --> 00:27:42,260 de sorte que vous pouvez ajouter un certain domaine nommer aux numéros de téléphone de personnes, 627 00:27:42,260 --> 00:27:45,850 car il existe dans le monde les choses ont appelé SMS à des passerelles de messagerie. 628 00:27:45,850 --> 00:27:50,000 Ce qui est une façon élégante de dire tout d'entre nous qui ont des téléphones mobiles 629 00:27:50,000 --> 00:27:53,200 avoir des numéros de téléphone, bien sûr, il est probablement pour votre support, 630 00:27:53,200 --> 00:27:56,840 un certain suffixe comme à Vtext.com pour Verizon message texte 631 00:27:56,840 --> 00:28:00,320 dot com, que vous pouvez ajouter à votre propre numéro de téléphone personnel, et ensuite 632 00:28:00,320 --> 00:28:03,540 vous ou vos amis, ou vos parents peuvent texte vous à cette adresse particulière. 633 00:28:03,540 --> 00:28:07,380 >> Et Verizon dispose d'un serveur, un e-mail serveur, que lors de la réception de ce courriel, 634 00:28:07,380 --> 00:28:11,180 regarde la partie numérique et ensuite utilise quelque magie particulière de l'industrie 635 00:28:11,180 --> 00:28:14,540 ils ont réellement l'envoyer sur les ondes de votre cellule particulière 636 00:28:14,540 --> 00:28:15,040 téléphone. 637 00:28:15,040 --> 00:28:18,030 Maintenant que ce soit agréable parce que je ne vraiment savoir comment envoyer un message texte 638 00:28:18,030 --> 00:28:20,460 ou encore d'écrire du code pour mon téléphone mobile, 639 00:28:20,460 --> 00:28:23,580 et vous pourriez faire exactement cela pour un projet final, mais pour l'instant tout 640 00:28:23,580 --> 00:28:24,770 Je dois mon ordinateur portable est ici. 641 00:28:24,770 --> 00:28:29,830 Je tiens donc à itérer dessus CSV fichier, ligne, par ligne, par ligne, par ligne, 642 00:28:29,830 --> 00:28:35,160 saisir chacun des numéros de téléphone du personnel, et de leur support et programatically, 643 00:28:35,160 --> 00:28:39,770 concaténer, qui est, connecter le téléphone nombre avec le nom de domaine approprié 644 00:28:39,770 --> 00:28:40,820 et ensuite envoyer un email. 645 00:28:40,820 --> 00:28:41,940 >> Donc, ça fait beaucoup d'étapes. 646 00:28:41,940 --> 00:28:45,530 Et bonne chance le faire en C. Il est un cauchemar d'une situation 647 00:28:45,530 --> 00:28:48,350 pour ouvrir un fichier, de le lire ligne, par ligne, par ligne, comme vous 648 00:28:48,350 --> 00:28:51,100 voient, ou peut-être bientôt voir avec problème posé cinq, sinon 649 00:28:51,100 --> 00:28:53,560 problème réglé quatre, puis pour concaténer dynamiquement 650 00:28:53,560 --> 00:28:57,020 deux cordes ensemble, car en C, de prendre deux chaînes et de les combiner, 651 00:28:57,020 --> 00:29:00,900 ce que vous faites minimalement besoin de faire le plus probable? 652 00:29:00,900 --> 00:29:03,020 Vous devez déclarer plus de mémoire, non? 653 00:29:03,020 --> 00:29:04,710 Et demander, malloc, je peux avoir plus de mémoire? 654 00:29:04,710 --> 00:29:07,060 Donc, je peux mettre la moitié de cette ici, la moitié de cette ici. 655 00:29:07,060 --> 00:29:08,150 Il est tellement nombreuses étapes. 656 00:29:08,150 --> 00:29:10,310 Et en ce moment, vous avez perdu intérêt dans la petite démo stupide 657 00:29:10,310 --> 00:29:11,851 où vous faites téléphone le bip de tout le monde. 658 00:29:11,851 --> 00:29:14,590 Faisons ce genre de PHP de style, de sorte que nous venons 659 00:29:14,590 --> 00:29:16,210 commencer à utiliser plus de cette évier de cuisine. 660 00:29:16,210 --> 00:29:18,050 >> Et les idées sont fondamentalement les mêmes, 661 00:29:18,050 --> 00:29:20,710 mais nous ne devons pas nous inquiéter trop beaucoup sur ce niveau inférieur. 662 00:29:20,710 --> 00:29:22,950 Donc, nous allons voir comment je pourrais s'y prendre. 663 00:29:22,950 --> 00:29:26,664 Et juste pour que je ne fais pas répéter les erreurs du passé, 664 00:29:26,664 --> 00:29:28,330 Je l'ai écrit quelques notes pour moi ici. 665 00:29:28,330 --> 00:29:31,070 Et nous allons voir si je peux marcher nous à travers certaines des étapes fondamentales, 666 00:29:31,070 --> 00:29:33,861 puis pour l'amour de temps nous allons peut-être couper quelques coins à la fin. 667 00:29:33,861 --> 00:29:38,007 Je vais aller de l'avant et faire ouverte support de PHP pour lancer ce fichier. 668 00:29:38,007 --> 00:29:39,590 Et je vais aller de l'avant et le faire. 669 00:29:39,590 --> 00:29:41,490 Poignée de fichiers, comme vous allez bientôt, en fait 670 00:29:41,490 --> 00:29:44,790 appelle une fonction appelée f ouverte. 671 00:29:44,790 --> 00:29:46,280 Et rappelez-vous ceci ouvre un fichier. 672 00:29:46,280 --> 00:29:48,800 Et le entre guillemets, r signifie quoi, encore? 673 00:29:48,800 --> 00:29:49,800 Il suffit d'ouvrir pour lecture. 674 00:29:49,800 --> 00:29:51,210 Maintenant, dans le jeu de p pour, vous l'avez fait. 675 00:29:51,210 --> 00:29:54,500 Et gérer pourrait être quelque chose, fu, bar, bas, un nom de variable. 676 00:29:54,500 --> 00:29:57,470 Mais généralement, un ordinateur scientifique serait appeler un fichier ouvert, 677 00:29:57,470 --> 00:30:00,962 vous donnant un descripteur de fichier, quelque chose à retenir pour ainsi dire. 678 00:30:00,962 --> 00:30:02,670 Je vais juste faire la vérification d'erreur. 679 00:30:02,670 --> 00:30:07,260 Donc, si la poignée est faux, comme Just en C, je vais faire quelque chose comme, 680 00:30:07,260 --> 00:30:09,545 ne pouvait pas ouvrir le fichier, barre oblique inverse n. 681 00:30:09,545 --> 00:30:11,420 Et puis, je vais juste aller de l'avant et de sortie. 682 00:30:11,420 --> 00:30:14,340 Et il se trouve, en PHP, Je ne suis pas dans une fonction. 683 00:30:14,340 --> 00:30:16,160 Il n'y a pas la fonction principale ici. 684 00:30:16,160 --> 00:30:17,450 Donc, je ne reviens pas, en soi. 685 00:30:17,450 --> 00:30:18,120 Je sors. 686 00:30:18,120 --> 00:30:19,619 Qui est essentiellement la même chose. 687 00:30:19,619 --> 00:30:22,510 Et je suis sortie avec un Y probablement. 688 00:30:22,510 --> 00:30:24,220 Une signifie simplement une erreur de quelque sorte. 689 00:30:24,220 --> 00:30:25,580 Il est non-nulle, il est donc une erreur. 690 00:30:25,580 --> 00:30:30,220 >> Très bien, si je suis ici aujourd'hui dans mon programme, je l'ai ouvert le fichier. 691 00:30:30,220 --> 00:30:34,250 Je vais aller de l'avant et de déclarer un tableau appelé adresses, 692 00:30:34,250 --> 00:30:38,610 et C Je dois connaître la taille du tableau à l'avance, non? 693 00:30:38,610 --> 00:30:41,910 Ou je devrais déclarer est un pointeur, puis utiliser malloc. 694 00:30:41,910 --> 00:30:44,720 Et puis, chaque fois que je lis par une autre ligne dans le fichier, 695 00:30:44,720 --> 00:30:46,620 Je vais avoir besoin de malloc plus de mémoire, plus de mémoire malloc. 696 00:30:46,620 --> 00:30:47,703 Voilà une douleur dans le cou. 697 00:30:47,703 --> 00:30:50,950 Et heureusement, PHP et Ruby, et Python et JavaScript, ils 698 00:30:50,950 --> 00:30:53,880 augmentera vos tableaux pour vous automatiquement. 699 00:30:53,880 --> 00:30:54,830 Pas plus malloc. 700 00:30:54,830 --> 00:30:56,227 Pas plus la gestion de la mémoire. 701 00:30:56,227 --> 00:30:57,560 L'ordinateur prend soin de cela. 702 00:30:57,560 --> 00:31:00,330 Mais le prix que vous payez. 703 00:31:00,330 --> 00:31:01,350 Il est un peu plus lent. 704 00:31:01,350 --> 00:31:03,190 Et pour un programme comme celui- on ne va pas à remarquer. 705 00:31:03,190 --> 00:31:04,720 Nous allons envoyer 100 messages texte. 706 00:31:04,720 --> 00:31:06,136 Par exemple ne vais pas le sentir. 707 00:31:06,136 --> 00:31:08,430 IT ne commence vraiment à importance langue de votre choix 708 00:31:08,430 --> 00:31:11,490 lorsque vos données ou vos programmes obtenir vraiment, vraiment importante, 709 00:31:11,490 --> 00:31:14,120 comme ce sera le cas, d'autant plus avec nos affaires sur le web. 710 00:31:14,120 --> 00:31:15,450 >> Mais pour l'instant, nous allons foncer. 711 00:31:15,450 --> 00:31:20,120 Alors il se trouve qu'il ya une fonction en C appelé F CSV. 712 00:31:20,120 --> 00:31:24,570 Fichier obtenir CSV, qui prend une déposer poignée comme argument, 713 00:31:24,570 --> 00:31:28,810 et il procède alors, rangée, par ligne, ligne par ligne, à lire dans une rangée. 714 00:31:28,810 --> 00:31:30,964 Alors il lit juste une ligne du texte à partir du fichier. 715 00:31:30,964 --> 00:31:34,130 Mais ce qui est bien avec cette fonction, il n'a tout simplement pas la main-moi une ligne de texte. 716 00:31:34,130 --> 00:31:37,320 Il semble pour les virgules, et analyse la ligne. 717 00:31:37,320 --> 00:31:41,740 Et pour analyser la ligne signifie pour diviser sur certaines valeurs dans ce contexte. 718 00:31:41,740 --> 00:31:45,510 >> En d'autres termes, le signe dollar ligne est une variable qui est 719 00:31:45,510 --> 00:31:47,010 va me donner un tas d'indices. 720 00:31:47,010 --> 00:31:49,635 Cela va être le première colonne dans mon CSV. 721 00:31:49,635 --> 00:31:52,510 Ce sera la deuxième colonne, cela va être la troisième, 722 00:31:52,510 --> 00:31:53,968 et cela va être le quatrième. 723 00:31:53,968 --> 00:31:57,440 Parce que le rappel, et Excel le pas coopérer la dernière fois que nous avons fait cela, 724 00:31:57,440 --> 00:32:03,350 mais si je télécharge personnel parsèment CSV. 725 00:32:03,350 --> 00:32:04,940 Oups, renommez pas. 726 00:32:04,940 --> 00:32:09,120 Si je télécharge personnel dot CSV, et essayez de l'ouvrir, 727 00:32:09,120 --> 00:32:12,510 Je l'ai déjà registered-- oh je ne pas mettre à jour Excel depuis la dernière fois. 728 00:32:12,510 --> 00:32:15,880 Vous verrez que dans le personnel dot CSV, je possède quatre colonnes. 729 00:32:15,880 --> 00:32:18,720 Alors, quand je lis dans la première rangée pour Abby ici, 730 00:32:18,720 --> 00:32:23,582 signe dollar rangée 0 est Abby, dollar signe la première rangée est de Lyon, 731 00:32:23,582 --> 00:32:27,740 dollar signe la deuxième ligne est son numéro, puis le support de son téléphone. 732 00:32:27,740 --> 00:32:28,410 >> Donc, voilà tout. 733 00:32:28,410 --> 00:32:30,740 Et cela est bien, parce que je ne pas avoir à comprendre maintenant hors 734 00:32:30,740 --> 00:32:32,800 où tous ces virgules sont en réalité. 735 00:32:32,800 --> 00:32:35,300 Donc, je vais aller de l'avant et le faire, compte tenu de cette définition, 736 00:32:35,300 --> 00:32:38,960 Je vais dire que son nom est dans la rangée support zéro, comme promis. 737 00:32:38,960 --> 00:32:41,150 Et je vais grab-- et en fait, vous savez quoi? 738 00:32:41,150 --> 00:32:42,780 Je ne vais pas à vous soucier de son nom, dans ce cas. 739 00:32:42,780 --> 00:32:43,988 Je vais le garder simple. 740 00:32:43,988 --> 00:32:48,610 Je vais faire son numéro est dans la rangée étrier deux, je pense. 741 00:32:48,610 --> 00:32:50,510 Et sa carrière était en où? 742 00:32:50,510 --> 00:32:53,405 Ligne trois, un sur. 743 00:32:53,405 --> 00:32:54,280 Donc rien de nouveau. 744 00:32:54,280 --> 00:32:56,770 Il est juste de zéro indexation dans un tableau. 745 00:32:56,770 --> 00:32:58,760 >> Et maintenant, je vais faire ce qui suit. 746 00:32:58,760 --> 00:33:03,930 Si le transporteur est égal à égal à AT & T-- Je vais avoir un loop-- 747 00:33:03,930 --> 00:33:06,790 Je veux créer un e-mail adresse qui ressemble à ceci. 748 00:33:06,790 --> 00:33:12,320 Il va y avoir 617-555-1212 à, quel est-il, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 est ce que je veux faire. 750 00:33:13,490 --> 00:33:15,260 Alors, comment dois-je faire cela? 751 00:33:15,260 --> 00:33:16,730 Je vais faire ce qui suit. 752 00:33:16,730 --> 00:33:22,460 Son adresse va être son numéro, et maintenant, laissez-moi aller de l'avant et le faire. 753 00:33:22,460 --> 00:33:23,760 Ceci est une syntaxe funky. 754 00:33:23,760 --> 00:33:27,250 Je pouvais faire l'affaire pour cent s, mais je ne peux en fait juste le faire. 755 00:33:27,250 --> 00:33:29,900 >> Donc, cela est une chose de PHP, mais nous allons examiner ce que je fais. 756 00:33:29,900 --> 00:33:31,630 Dollars signent adresse sur la gauche, juste une variable. 757 00:33:31,630 --> 00:33:32,300 Donnez-moi une variable. 758 00:33:32,300 --> 00:33:33,390 Je ne dois spécifier le type. 759 00:33:33,390 --> 00:33:34,570 PHP va comprendre. 760 00:33:34,570 --> 00:33:36,580 Sur le côté droit, quel est le type de données 761 00:33:36,580 --> 00:33:38,399 de ce tout sur le côté droit de la main? 762 00:33:38,399 --> 00:33:40,190 On dirait une chaîne, car il est le double 763 00:33:40,190 --> 00:33:42,280 Citations sur l'extrême gauche et l'extrême droite. 764 00:33:42,280 --> 00:33:44,210 Maintenant, il ya une nouvelle syntaxe génial ici. 765 00:33:44,210 --> 00:33:47,550 Il ya des accolades, et le nombre de signe dollar. 766 00:33:47,550 --> 00:33:52,860 Mais prendre une proposition quelle est cette syntaxe dire probablement PHP de le faire pour moi? 767 00:33:52,860 --> 00:33:53,360 Ouais. 768 00:33:53,360 --> 00:33:54,630 Il suffit d'insérer la valeur il. 769 00:33:54,630 --> 00:33:55,530 Donc, pas de pour cent s. 770 00:33:55,530 --> 00:33:58,160 Nous pourrions utiliser print f ou s Imprimer f ou quelque chose comme ça, 771 00:33:58,160 --> 00:34:00,070 mais PHP et beaucoup de langages de plus haut niveau, 772 00:34:00,070 --> 00:34:03,070 vous allez voir que vous pourriez faire la même chose fonctionnellement, peut-être 773 00:34:03,070 --> 00:34:04,019 six façons différentes. 774 00:34:04,019 --> 00:34:06,310 Et il commence à devenir une question de conception ou de style. 775 00:34:06,310 --> 00:34:09,902 Donc, cela est juste une façon aspect crypté de dire, donnez-moi une adresse électronique, 776 00:34:09,902 --> 00:34:12,110 mais plug-in dans le nombre entre ces accolades. 777 00:34:12,110 --> 00:34:15,440 Et les accolades ne sera pas finir dans l'adresse finale. 778 00:34:15,440 --> 00:34:18,010 >> Maintenant, nous pouvons sauter certains de ces lignes pour des raisons de temps. 779 00:34:18,010 --> 00:34:21,210 Donc, si un transporteur est égal à égaux verHorizon-- whoops, 780 00:34:21,210 --> 00:34:24,989 Verizon-- je veux faire quelque chose très similaire, où l'adresse obtient, 781 00:34:24,989 --> 00:34:27,569 entre guillemets, au nombre text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 Et puis, je peux faire le même genre de chose pour le reste des transporteurs. 784 00:34:35,050 --> 00:34:37,090 Mais je vais juste faire dot, dot, dot pour le moment. 785 00:34:37,090 --> 00:34:43,050 Et maintenant, supposons que Je veux ajouter tableau, pousser. 786 00:34:43,050 --> 00:34:45,969 Je tiens à ajouter à la tableau, appelé adresses. 787 00:34:45,969 --> 00:34:50,409 >> Cette adresse, voici comment vous ajouter quelque chose à un tableau en PHP. 788 00:34:50,409 --> 00:34:51,610 Vous ne devez faire malloc. 789 00:34:51,610 --> 00:34:53,068 Vous ne devez pas redimensionner le tableau. 790 00:34:53,068 --> 00:34:54,259 Vous venez de dire ensemble, pousser. 791 00:34:54,259 --> 00:34:57,300 Que voulez-vous à ce tableau push-- voulez-vous pousser quelque chose sur? 792 00:34:57,300 --> 00:34:58,000 Adresses. 793 00:34:58,000 --> 00:34:59,550 Qu'est-ce que vous voulez pousser sur les adresses? 794 00:34:59,550 --> 00:35:00,350 Adresse. 795 00:35:00,350 --> 00:35:02,430 Et en fait, si vous vraiment envie d'être intelligent, 796 00:35:02,430 --> 00:35:05,610 un peu de sucre syntaxique pour cela, pour ainsi dire, 797 00:35:05,610 --> 00:35:10,230 ce qui signifie simplement comment pouvez-vous faire cela dans la manière jolie, serait de le faire. 798 00:35:10,230 --> 00:35:14,060 Qui a trop l'effet de la croissance Les adresses tableau en taille un, 799 00:35:14,060 --> 00:35:17,130 puis que plop supplémentaires adresse e-mail en elle. 800 00:35:17,130 --> 00:35:17,630 Ouais. 801 00:35:17,630 --> 00:35:19,730 >> AUDIENCE: [inaudible] 802 00:35:19,730 --> 00:35:22,520 >> ENCEINTE 1: Une faute de frappe sur le d'autre si-- oh, transporteur. 803 00:35:22,520 --> 00:35:23,070 C'est bon. 804 00:35:23,070 --> 00:35:26,971 Il sera également ne pas aimer mon échec à mettre en œuvre le cadre de ce programme 805 00:35:26,971 --> 00:35:27,470 plus tard. 806 00:35:27,470 --> 00:35:28,810 Mais je vous remercie pour la capture. 807 00:35:28,810 --> 00:35:30,671 Un bug plus. 808 00:35:30,671 --> 00:35:31,170 Merci. 809 00:35:31,170 --> 00:35:33,746 Nous voulons que ce soit Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Oui. 811 00:35:34,340 --> 00:35:34,839 Bien. 812 00:35:34,839 --> 00:35:36,330 Alors, où en sommes-nous? 813 00:35:36,330 --> 00:35:38,224 Nous avons écrit le code pour ouvrir le fichier. 814 00:35:38,224 --> 00:35:40,390 Nous avons une boucle pour itérer sur les lignes dans le fichier. 815 00:35:40,390 --> 00:35:43,650 Nous avons un code qui ajoute à mon matrice, un à la fois, le correctement 816 00:35:43,650 --> 00:35:44,790 adresse e-mail formaté. 817 00:35:44,790 --> 00:35:48,480 Donc, tout ce qui reste vraiment est d'envoyer un e-mail à chacune de ces personnes. 818 00:35:48,480 --> 00:35:52,830 >> Donc, je suis allé de l'avant et me préparait comme suit. 819 00:35:52,830 --> 00:35:59,580 Qu'est-ce que je vais faire ici est-- et nous allons aller de l'avant et passer à un peu de code réelle, 820 00:35:59,580 --> 00:36:00,620 qui ressemble à ceci. 821 00:36:00,620 --> 00:36:02,950 Voici donc la pré-cuit version que je l'ai déjà écrit. 822 00:36:02,950 --> 00:36:04,700 Et notez que je fini mise en œuvre de Sprint. 823 00:36:04,700 --> 00:36:06,130 Je finis la mise en œuvre de T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Je finis la mise en œuvre de Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 Et je vais présenter des excuses à l'avance. 826 00:36:09,622 --> 00:36:12,080 Il ya quelques transporteurs qui certains élèves de la classe ont 827 00:36:12,080 --> 00:36:14,640 que je ne dérange pas l'énumération dans la condition if ici. 828 00:36:14,640 --> 00:36:16,015 Donc pas tous les textes vont sortir. 829 00:36:16,015 --> 00:36:17,556 Mais nous allons voir ce que je dois faire. 830 00:36:17,556 --> 00:36:19,660 Je ferme le fichier, juste comme dans p fixé quatre. 831 00:36:19,660 --> 00:36:20,835 >> Et cela est une nouvelle syntaxe. 832 00:36:20,835 --> 00:36:22,710 Et nous verrons un peu peu de ce temps, 833 00:36:22,710 --> 00:36:24,450 surtout avec p mis sept et huit. 834 00:36:24,450 --> 00:36:28,140 Mais cela est une syntaxe pour la création un type spécial de la structure. 835 00:36:28,140 --> 00:36:31,490 Il se trouve qu'il ya une bibliothèque qui est livré avec PHP, appelé mailer PHP. 836 00:36:31,490 --> 00:36:33,840 Son but dans la vie est de envoyer des e-mails par programmation. 837 00:36:33,840 --> 00:36:36,840 Il est le code de quelqu'un d'autre a écrit que il est plus facile pour nous d'envoyer des e-mails, 838 00:36:36,840 --> 00:36:39,131 de sorte que nous ne devons pas garder des allers-retours à Gmail, 839 00:36:39,131 --> 00:36:41,151 et de le coller dans les adresses e-mail des gens. 840 00:36:41,151 --> 00:36:44,150 Il ya tout un tas de lignes ici que honnêtement, je viens de sorte de copié 841 00:36:44,150 --> 00:36:45,660 et collé à partir de la documentation. 842 00:36:45,660 --> 00:36:47,409 Et en fait, si vous êtes curieux, je suis parti tout 843 00:36:47,409 --> 00:36:50,550 des URL de la documentation dans le code que nous posterons plus tard. 844 00:36:50,550 --> 00:36:52,360 Et remarquez que parmi les choses que je fais 845 00:36:52,360 --> 00:36:55,710 est, je dis cette bibliothèque, utiliser le serveur de Gmail, non? 846 00:36:55,710 --> 00:36:59,360 SMTP Nous avons parlé brièvement lorsque nous étaient à Yale d'être simple mail 847 00:36:59,360 --> 00:37:00,110 protocole de transfert. 848 00:37:00,110 --> 00:37:02,920 Il est le protocole que serveurs utilisés pour envoyer des courriels, 849 00:37:02,920 --> 00:37:05,150 et that's-- Gmail a un de ceux. 850 00:37:05,150 --> 00:37:07,290 Un port, ceci est le numéro de port TCP. 851 00:37:07,290 --> 00:37:09,630 Il est très bien si vous ont pas vu 587 auparavant. 852 00:37:09,630 --> 00:37:11,420 Il suffit de savoir que de la documentation. 853 00:37:11,420 --> 00:37:12,250 Voici mon nom d'utilisateur. 854 00:37:12,250 --> 00:37:13,670 Je vais utiliser le bot de CF50. 855 00:37:13,670 --> 00:37:16,690 Et dans un moment, je vais juste tapez le mot de passe réel du bot. 856 00:37:16,690 --> 00:37:18,690 Et puis ici, notez ce qui reste. 857 00:37:18,690 --> 00:37:22,840 >> Je mis mon partir de l'adresse être au bot CS50.net. 858 00:37:22,840 --> 00:37:26,240 Je pense que je ne regretterez pas l'envoi d'un message texte à 800 personnes qui 859 00:37:26,240 --> 00:37:30,590 dit, vous manquez, bot amour CS50, peut-être pour ceux qui ne pouvaient pas le faire aujourd'hui. 860 00:37:30,590 --> 00:37:33,160 Et puis dans la ligne 76, je fais quoi? 861 00:37:33,160 --> 00:37:39,010 Ce genre de regards comme C. Donc, pour i est égal à 0, n equals-- compter maintenant est nouveau. 862 00:37:39,010 --> 00:37:42,077 Il se trouve que si vous voulez obtenir le nombre de choses dans un tableau, 863 00:37:42,077 --> 00:37:43,660 vous ne devez pas vous rappeler plus. 864 00:37:43,660 --> 00:37:45,370 Vous pouvez poser une fonction appelée comptage, 865 00:37:45,370 --> 00:37:48,320 et il vous dira combien de adresses sont dans ce tableau. 866 00:37:48,320 --> 00:37:53,210 >> Et puis, je vais ajouter l'adresse à l'email. 867 00:37:53,210 --> 00:37:55,090 Et je sais par en utilisant la documentation. 868 00:37:55,090 --> 00:37:56,900 Il ya une fonction de l'adresse d'ajout. 869 00:37:56,900 --> 00:37:58,980 Et maintenant il remarquer est une pièce de la syntaxe. 870 00:37:58,980 --> 00:38:01,470 Nous avons vu cela avant en C. similaires dans l'esprit. 871 00:38:01,470 --> 00:38:04,100 Vous pouvez penser signe dollar courriel comme une variable, qui il est. 872 00:38:04,100 --> 00:38:08,100 Mais il est une structure au sein de qui ne sont pas seulement des biens, 873 00:38:08,100 --> 00:38:09,400 les variables si vous voulez. 874 00:38:09,400 --> 00:38:13,480 Mais il se trouve que dans PHP, qui est une programmation orientée objet 875 00:38:13,480 --> 00:38:16,520 la langue, comme Java si vous avez pris APCS. 876 00:38:16,520 --> 00:38:21,420 >> Dollar signe courrier, si vous voulez to-- il possède également des fonctions de celui-ci à l'intérieur, 877 00:38:21,420 --> 00:38:22,380 ou méthodes. 878 00:38:22,380 --> 00:38:24,720 Donc cela est de dire que mailer PHP spéciale 879 00:38:24,720 --> 00:38:29,280 bibliothèque, si je dois une variable de celui-ci, si je veux appeler une fonction qui 880 00:38:29,280 --> 00:38:31,559 est livré avec cette bibliothèque, pour les besoins d'aujourd'hui, 881 00:38:31,559 --> 00:38:33,100 savez que vous utilisez la notation de flèche. 882 00:38:33,100 --> 00:38:34,150 Il n'y a pas notation par points. 883 00:38:34,150 --> 00:38:35,220 Il est juste sur la flèche. 884 00:38:35,220 --> 00:38:36,380 Mais ce est pas un pointeur. 885 00:38:36,380 --> 00:38:38,680 Il est juste emprunté à la syntaxe de C. 886 00:38:38,680 --> 00:38:43,620 Alors, appelez ajouter adresse à l'intérieur de l'objet ou une variable de cette bibliothèque. 887 00:38:43,620 --> 00:38:44,440 >> Bien. 888 00:38:44,440 --> 00:38:45,570 Telle est la ligne magique. 889 00:38:45,570 --> 00:38:46,740 Voilà comment je envoyer un email. 890 00:38:46,740 --> 00:38:50,040 Cela est l'équivalent de l'ouverture Gmail, tapant sur, et en appuyant sur envoyer. 891 00:38:50,040 --> 00:38:54,870 Mais il va envoyer à la place d'un e-mail à cette adresse, avec ce corps, 892 00:38:54,870 --> 00:38:57,120 du bot CS50. 893 00:38:57,120 --> 00:38:58,710 Et maintenant la ligne clé. 894 00:38:58,710 --> 00:39:03,130 Cette ligne a été absent dans comme 2011 quand je pense que je essayé cette dernière. 895 00:39:03,130 --> 00:39:05,640 Cette ligne là, bien sûr, efface les adresses. 896 00:39:05,640 --> 00:39:07,920 Donc, logiquement, si je ne désactivez pas l'adresse 897 00:39:07,920 --> 00:39:11,740 après chaque itération, la première courriel ou message texte va à Alice, 898 00:39:11,740 --> 00:39:14,320 la seconde passe à Alice et Bob, le troisième 899 00:39:14,320 --> 00:39:17,870 va à Alice et Bob et Charlie, donc l'erreur très coûteuse 900 00:39:17,870 --> 00:39:18,760 Je fis cette année. 901 00:39:18,760 --> 00:39:21,080 >> Voyons donc. 902 00:39:21,080 --> 00:39:24,200 Est-ce qu'il y a des questions avant de vous envoyer tout un texte 903 00:39:24,200 --> 00:39:28,210 message avec 10 pour cent de probabilité? 904 00:39:28,210 --> 00:39:28,940 Des questions? 905 00:39:28,940 --> 00:39:30,330 Bien. 906 00:39:30,330 --> 00:39:36,100 Disons-moi aller ici et le changement le mot de passe de ce qui devrait travailler, 907 00:39:36,100 --> 00:39:37,780 obtiendrez probablement sur la liste noire par Gmail. 908 00:39:37,780 --> 00:39:39,821 Donc, ils pourraient ne pas tous y aller dehors, car ils probablement 909 00:39:39,821 --> 00:39:42,960 ne nous aiment envoyer 800 e-mails dans une boucle à un seul coup. 910 00:39:42,960 --> 00:39:45,140 Depuis ce ne est pas comportement particulièrement humaine. 911 00:39:45,140 --> 00:39:47,460 >> Oh, je vais changer une autre chose. 912 00:39:47,460 --> 00:39:50,850 Au sommet, je vais sent-- modifier le fichier aux étudiants parsèment CSV. 913 00:39:50,850 --> 00:39:55,420 Et je ne vais pas ouvrir, mais ceci est un fichier CSV identique à pas 100 membres du personnel, 914 00:39:55,420 --> 00:39:58,970 mais 800 étudiants, simplement de Harvard, Yale, car 915 00:39:58,970 --> 00:40:00,207 a évidement Octobre de cette semaine. 916 00:40:00,207 --> 00:40:03,290 Et il semble être une sorte de chose jerk à faire au texte toutes les raisons pour lesquelles 917 00:40:03,290 --> 00:40:04,750 ils ne sont pas en classe en vacances. 918 00:40:04,750 --> 00:40:05,250 C'est bon. 919 00:40:05,250 --> 00:40:08,310 Seulement les étudiants de Harvard aujourd'hui à l'intérieur de ce fichier. 920 00:40:08,310 --> 00:40:12,320 Et maintenant, revenons à ma fenêtre de terminal. 921 00:40:12,320 --> 00:40:13,710 Je suis un peu nerveux. 922 00:40:13,710 --> 00:40:22,000 >> OK alors maintenant je vais aller dans le répertoire, et le texte de PHP dot PHP. 923 00:40:22,000 --> 00:40:24,950 Que diriez-vous un bénévole courageux? 924 00:40:24,950 --> 00:40:26,690 Donc, je ne veux pas de moi. 925 00:40:26,690 --> 00:40:28,410 OK, venez sur place. 926 00:40:28,410 --> 00:40:29,162 Comment t'appelles tu? 927 00:40:29,162 --> 00:40:29,662 MAYA: Maya. 928 00:40:29,662 --> 00:40:30,328 ENCEINTE 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Allez jusqu'à, Maya. 930 00:40:31,610 --> 00:40:34,120 Bien. 931 00:40:34,120 --> 00:40:35,389 Voyons voir si cela fonctionne. 932 00:40:35,389 --> 00:40:38,430 Je mets ma propre adresse e-mail dans le file-- mon propre numéro de téléphone dans le fichier, 933 00:40:38,430 --> 00:40:40,110 de sorte que je espère que je vais en avoir un aussi. 934 00:40:40,110 --> 00:40:40,819 Enchanté de faire votre connaissance. 935 00:40:40,819 --> 00:40:41,443 MAYA: même. 936 00:40:41,443 --> 00:40:44,510 ENCEINTE 1: Donc, tout ce que vous avez à faire est appuyez sur Entrée pour envoyer 800 messages texte, 937 00:40:44,510 --> 00:40:45,466 si je ne l'ai pas bousiller. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Agréable. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Pourrait prendre un certain temps, statistiquement, jusqu'à ce que nous arrivons à un email address-- 942 00:40:58,430 --> 00:41:00,573 un message de texte qui est dans la salle en ce moment. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Disons attarder et voir. 945 00:41:05,390 --> 00:41:06,940 >> AUDIENCE: [SIFFLEMENT] 946 00:41:06,940 --> 00:41:08,270 >> ENCEINTE 1: Oh, oui. 947 00:41:08,270 --> 00:41:09,230 >> AUDIENCE: Oh, Gotcha. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> ENCEINTE 1: Pour les boucles soient: ce ne tarde pas à cause de PHP. 950 00:41:19,180 --> 00:41:21,810 Ceci est lent car Gmail est de nous étrangler et non 951 00:41:21,810 --> 00:41:25,170 nous laisser envoyer plus comme un e-mail par seconde. 952 00:41:25,170 --> 00:41:26,300 N'importe quoi? 953 00:41:26,300 --> 00:41:29,990 Ce fut une chose difficile pour moi de tester au maison avec juste moi et mon seul téléphone, donc. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Est-ce que je l'espère du bot? 956 00:41:41,111 --> 00:41:41,610 Oui? 957 00:41:41,610 --> 00:41:42,110 Non? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Dis oui. 960 00:41:46,620 --> 00:41:47,479 Non? 961 00:41:47,479 --> 00:41:49,374 Il est d'un ami? 962 00:41:49,374 --> 00:41:49,874 Gênant. 963 00:41:49,874 --> 00:41:50,374 D'ACCORD. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Jolie assurer qu'il fonctionne bien. 966 00:42:00,090 --> 00:42:00,910 Uh oh. 967 00:42:00,910 --> 00:42:03,190 Ils black-- Oh, attendez une minute. 968 00:42:03,190 --> 00:42:04,280 Oh, vous savez quoi? 969 00:42:04,280 --> 00:42:06,100 Un instant s'il vous plaît. 970 00:42:06,100 --> 00:42:07,802 Seulement Maya et I-- Mia, était-ce? 971 00:42:07,802 --> 00:42:08,301 MAYA: Maya. 972 00:42:08,301 --> 00:42:12,110 ENCEINTE 1: Maya, vont sais ce que je fait de mal ici. 973 00:42:12,110 --> 00:42:14,890 Oh, attendez une minute. 974 00:42:14,890 --> 00:42:23,320 Je pense que je viens d'envoyer 100 des messages texte à 555-1212. 975 00:42:23,320 --> 00:42:24,346 Etre prêt. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Je ne peux pas gagner une année. 978 00:42:29,270 --> 00:42:30,180 D'ACCORD. 979 00:42:30,180 --> 00:42:30,680 Maya? 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 Corriger cela dans la post-production. 982 00:42:36,219 --> 00:42:36,718 Merde! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Suite de l'adresse. 985 00:42:40,390 --> 00:42:41,301 OK, rester en attente. 986 00:42:41,301 --> 00:42:41,800 Pardon. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Il est douloureux chaque année. 989 00:42:47,080 --> 00:42:48,640 OK, un moment. 990 00:42:48,640 --> 00:42:50,530 C'est bon. 991 00:42:50,530 --> 00:42:54,010 Je vais à la place de le faire. 992 00:42:54,010 --> 00:42:55,470 Adresses d'impression. 993 00:42:55,470 --> 00:42:56,030 OK, rester en attente. 994 00:42:56,030 --> 00:43:01,340 Adresses d'impression, le support i. 995 00:43:01,340 --> 00:43:02,710 Ouais, je aime ça. 996 00:43:02,710 --> 00:43:10,220 Dollar sign-- OK Je vais vous expliquer ce que je suis faire dans un moment, après que je suis à court de cette. 997 00:43:10,220 --> 00:43:11,670 Chaque année. 998 00:43:11,670 --> 00:43:13,125 OK, on ​​y va. 999 00:43:13,125 --> 00:43:15,750 Je dois just-- et je ne veux pas pour montrer le numéro de téléphone de tout le monde, 1000 00:43:15,750 --> 00:43:17,740 Maya mais peut confirmer avec un hochement de la tête, 1001 00:43:17,740 --> 00:43:20,800 qu'elle voit tout le monde est numéro de téléphone dans la classe 1002 00:43:20,800 --> 00:43:26,750 que je vais copier dans un programme appelé Gmail. 1003 00:43:26,750 --> 00:43:30,860 Et si dans Gmail, que voulons-nous dire? 1004 00:43:30,860 --> 00:43:32,137 Tu me manques. 1005 00:43:32,137 --> 00:43:33,220 Love-- ce ne est pas de moi. 1006 00:43:33,220 --> 00:43:35,230 Je l'ai même pas touché envoyer encore. 1007 00:43:35,230 --> 00:43:39,450 Allons donc de l'avant et faire cela, si je peut zoomer. 1008 00:43:39,450 --> 00:43:40,300 D'ACCORD. 1009 00:43:40,300 --> 00:43:42,480 Donc, je suis en utilisant un programme appelé Gmail maintenant. 1010 00:43:42,480 --> 00:43:44,490 Si Maya, vous souhaitez cliquez sur le bouton Envoyer, 1011 00:43:44,490 --> 00:43:46,970 nous allons simuler ce que Code aurait dû le faire. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> N'importe quoi? 1014 00:43:55,254 --> 00:43:56,062 >> [BIP] 1015 00:43:56,062 --> 00:43:56,870 >> AUDIENCE: Yep. 1016 00:43:56,870 --> 00:43:58,030 >> ENCEINTE 1: Oui? 1017 00:43:58,030 --> 00:43:59,210 Salut? 1018 00:43:59,210 --> 00:44:00,427 >> AUDIENCE: Yep. 1019 00:44:00,427 --> 00:44:01,260 ENCEINTE 1: Mlle vous. 1020 00:44:01,260 --> 00:44:02,718 Et je vais envoyer le reste. 1021 00:44:02,718 --> 00:44:06,060 Je ai envoyé la moitié parce que je ne pense pas Gmail serait que ceux passer. 1022 00:44:06,060 --> 00:44:12,410 Alors rappelez-vous juste, aujourd'hui est le jour que vous avez appris que je peux utiliser Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Ce fut horrible. 1025 00:44:15,810 --> 00:44:17,140 Un grand bravo à Maya. 1026 00:44:17,140 --> 00:44:18,980 Merci. 1027 00:44:18,980 --> 00:44:21,280 Très bien, alors. 1028 00:44:21,280 --> 00:44:22,210 quoi 1029 00:44:22,210 --> 00:44:23,140 >> [BIP] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Nous avons eu quelques bips, oui? 1032 00:44:26,580 --> 00:44:27,080 Bien. 1033 00:44:27,080 --> 00:44:30,590 Maintenant, je vais me faire vraiment 700 e-mails malheureux retour de ses camarades de classe. 1034 00:44:30,590 --> 00:44:32,400 Ainsi, au moins, nous verrons si cela en valait la peine. 1035 00:44:32,400 --> 00:44:33,300 Alors qu'est-ce qui a mal tourné? 1036 00:44:33,300 --> 00:44:35,300 Je vais comprendre ce qui se mal après le fait, 1037 00:44:35,300 --> 00:44:38,340 mais il suffit de regarder comment facile il était de le faire en PHP. 1038 00:44:38,340 --> 00:44:44,598 Alors, que pouvons-nous faire maintenant que fait nous avons cette expressivité de PHP. 1039 00:44:44,598 --> 00:44:45,970 Ce était-- qui était horrible. 1040 00:44:45,970 --> 00:44:46,480 Bien. 1041 00:44:46,480 --> 00:44:48,430 Alors que ce qui aurait été sorti. 1042 00:44:48,430 --> 00:44:52,770 Cette me teste ce matin sur mon téléphone, écran réelle de mon téléphone. 1043 00:44:52,770 --> 00:44:56,180 >> Mais maintenant, nous allons examiner pourquoi nous sommes effectivement introduction 1044 00:44:56,180 --> 00:44:57,840 toutes ces choses en premier lieu. 1045 00:44:57,840 --> 00:45:01,625 Donc, le but est de ne pas écrire ces programmes qui 1046 00:45:01,625 --> 00:45:03,250 sont écrits à la ligne de commande, non? 1047 00:45:03,250 --> 00:45:05,000 Donc, je l'ai écrit d'un simple programme bonjour, je l'ai écrit 1048 00:45:05,000 --> 00:45:09,155 un petit programme qui fait conditionnelles, et utilisé une ligne de lecture et ainsi de suite. 1049 00:45:09,155 --> 00:45:11,530 Et en théorie, je viens d'écrire un programme qui a envoyé 1050 00:45:11,530 --> 00:45:14,290 800 messages texte, donner ou prendre 800. 1051 00:45:14,290 --> 00:45:16,830 Et ce programme était tout courir encore à la ligne de commande. 1052 00:45:16,830 --> 00:45:18,538 Et cela est bien sûr pas le web, non? 1053 00:45:18,538 --> 00:45:22,160 L'objectif est maintenant de commencer à utiliser ce que je demande est un plus facile à utiliser 1054 00:45:22,160 --> 00:45:24,720 la langue, ose dire un plus langage puissant en termes 1055 00:45:24,720 --> 00:45:27,104 des caractéristiques qui venir avec elle, pour commencer 1056 00:45:27,104 --> 00:45:29,850 écrire du code qui génère des pages Web. 1057 00:45:29,850 --> 00:45:33,248 >> Donc, la dernière fois et la semaine dernière, nous avons parlé HTTP et HTML. 1058 00:45:33,248 --> 00:45:36,350 Et ce qui est bien sur HTML est qu'il est juste texte pur. 1059 00:45:36,350 --> 00:45:38,220 Et le texte est certainement quelque chose que vous pouvez 1060 00:45:38,220 --> 00:45:42,040 imprimer en appelant littéralement le print fonction f, ou la fonction d'impression. 1061 00:45:42,040 --> 00:45:46,160 Et en effet, voilà ce que PHP est maintenant va nous permettre de faire. 1062 00:45:46,160 --> 00:45:48,610 Donc, parmi les exemples que nous avoir dans le code source d'aujourd'hui, 1063 00:45:48,610 --> 00:45:51,610 en plus d'une partie du code que je mets en place il ya un instant, 1064 00:45:51,610 --> 00:45:55,440 nous avons des programmes comme celui-ci par exemple. 1065 00:45:55,440 --> 00:45:58,760 Froshims ou Freshman Intra-muros Sports, était en fait 1066 00:45:58,760 --> 00:46:01,500 l'une des premières extracurriculars Je me suis impliqué depuis des années. 1067 00:46:01,500 --> 00:46:03,750 Et mon colocataire et moi, avec d'autres enfants sur le campus, 1068 00:46:03,750 --> 00:46:05,280 utilisé pour exécuter le programme de froshims. 1069 00:46:05,280 --> 00:46:07,420 Je reçois mes messages texte maintenant. 1070 00:46:07,420 --> 00:46:14,030 >> Maintenant donc nous, retour dans la journée, donc ce était 1996 ou alors, il y avait un Internet, 1071 00:46:14,030 --> 00:46:17,395 mais il n'y a pas là process-- avait pas de site Web pour froshims. 1072 00:46:17,395 --> 00:46:20,270 Et donc si vous voulez vous inscrire pour football ou au volley-ball ou autre chose, 1073 00:46:20,270 --> 00:46:22,240 vous remplissez cette chose appelé un morceau de papier, 1074 00:46:22,240 --> 00:46:25,060 et vous voulez traverser Harvard cour, et vous glisser 1075 00:46:25,060 --> 00:46:29,230 en courrier la fente du surveillant, qui était dans l'arrêt Wigglesworth, l'un des dortoirs. 1076 00:46:29,230 --> 00:46:31,270 Et cela, vous étiez inscrit. 1077 00:46:31,270 --> 00:46:33,570 Et il ou elle serait alors composer un email pour vous 1078 00:46:33,570 --> 00:46:36,514 manuellement, un peu comme je juste fait ici avec Maya, 1079 00:46:36,514 --> 00:46:38,930 et puis vous sera confirmé comme ayant été enregistré. 1080 00:46:38,930 --> 00:46:40,840 >> Donc, ce fut comme faible fruits suspendus, pour ainsi dire. 1081 00:46:40,840 --> 00:46:42,930 Il était un peu stupide que nous étions en utilisant du papier pour cela. 1082 00:46:42,930 --> 00:46:45,024 Je voulais que nous soyons en mesure juste aller sur un site Web, 1083 00:46:45,024 --> 00:46:47,440 ou ont les étudiants de première année vont sur un site, inscrivez-vous pour les sports, 1084 00:46:47,440 --> 00:46:50,398 et juste automatiser un grand nombre de ce genre de choses en mettant leurs noms et courriels 1085 00:46:50,398 --> 00:46:51,850 et ainsi de suite dans une base de données. 1086 00:46:51,850 --> 00:46:56,510 Et en fait, la toute première version du site Web, à l'aide HTML de super laid, 1087 00:46:56,510 --> 00:46:58,195 aurait pu ressembler à quelque chose comme ça. 1088 00:46:58,195 --> 00:47:01,070 Il était en fait, ironiquement, plus recherche embarrassant que ce retour 1089 00:47:01,070 --> 00:47:01,460 puis. 1090 00:47:01,460 --> 00:47:02,890 Mais je utilisé un langage de programmation. 1091 00:47:02,890 --> 00:47:06,060 Non PHP, mais plutôt appelé Perl, qui est une langue plus ancienne, 1092 00:47:06,060 --> 00:47:07,251 mais très similaire dans l'esprit. 1093 00:47:07,251 --> 00:47:09,000 Et je viens de complètement enseigné à moi-même. 1094 00:47:09,000 --> 00:47:12,208 Et il m'a fallu un certain temps pour comprendre, poser beaucoup de questions d'amis. 1095 00:47:12,208 --> 00:47:14,080 Mais les idées là-bas étaient exactement les mêmes. 1096 00:47:14,080 --> 00:47:18,050 Parce que ce que PHP a été vraiment conçu pour est pas l'étoffe de ligne de commande 1097 00:47:18,050 --> 00:47:20,450 nous avons juste joué avec, mais pour la programmation web. 1098 00:47:20,450 --> 00:47:24,960 >> Il est vraiment liée à sa fonction mettre sur le web, comme suit. 1099 00:47:24,960 --> 00:47:26,370 Ceci est froshims. 1100 00:47:26,370 --> 00:47:28,720 Et si je voulais enregistrer sous cette forme, 1101 00:47:28,720 --> 00:47:30,930 ce qui est très laid, certes, mais laissez-moi aller de l'avant 1102 00:47:30,930 --> 00:47:34,440 et être un étudiant moins à l'aise, et quel que soit le sport pour Matthews, 1103 00:47:34,440 --> 00:47:35,630 cliquez sur Enregistrer. 1104 00:47:35,630 --> 00:47:39,780 Ce que je veux être en mesure de le faire est soumettre des informations à partir d'un formulaire, 1105 00:47:39,780 --> 00:47:42,400 ne pas le serveur de Google comme nous avons fait la dernière fois, complètement 1106 00:47:42,400 --> 00:47:47,100 tricher en utilisant leur backend, je vouloir mettre en place mon propre code de backend. 1107 00:47:47,100 --> 00:47:51,410 Qui signifie en écriture PHP code qui vit à une URL 1108 00:47:51,410 --> 00:47:54,180 que les données de formulaire peut être soumis à. 1109 00:47:54,180 --> 00:47:57,510 >> Et puis votre code, écrit en PHP sur un serveur, 1110 00:47:57,510 --> 00:47:59,400 peut alors répondre à cette entrée d'utilisateur. 1111 00:47:59,400 --> 00:48:03,287 Comme son nom, ou niveau de confort, ou dortoir, puis faire quelque chose avec elle. 1112 00:48:03,287 --> 00:48:05,120 Dans ce cas, je viens bêtement imprimé it out 1113 00:48:05,120 --> 00:48:06,750 comme du texte, qui ne fait pas tout ce que jolie. 1114 00:48:06,750 --> 00:48:09,590 Mais vous pourriez certainement Imaginez, si vous connaissez le HTML, 1115 00:48:09,590 --> 00:48:13,010 et vous allez bientôt savoir comment générer HTML avec impression f, et d'impression, 1116 00:48:13,010 --> 00:48:16,500 et des fonctions similaires, vous pouvez certainement générer une page web plus jolie qui dit, 1117 00:48:16,500 --> 00:48:17,929 hey David, vous êtes maintenant inscrit. 1118 00:48:17,929 --> 00:48:20,220 Vous êtes un moins à l'aise étudiant de Matthews, non? 1119 00:48:20,220 --> 00:48:23,880 >> Vous pouvez simplement utiliser tout un tas de% de SES, ou les accolades et signe dollar 1120 00:48:23,880 --> 00:48:27,750 Je notation utilisé il ya un instant, à générer du texte qui est plus convivial 1121 00:48:27,750 --> 00:48:28,567 que cela. 1122 00:48:28,567 --> 00:48:30,150 Donc, nous allons jeter un oeil à ce seul fichier. 1123 00:48:30,150 --> 00:48:34,666 Froshim zéro point PHP ressemble à ceci. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Lorsque je recharge CS50 IDE, zéro froshim ressemble à ceci. 1126 00:48:43,500 --> 00:48:45,700 Ceci est froshim zéro point PHP. 1127 00:48:45,700 --> 00:48:47,730 Et qu'est-ce que vous remarquez à propos de ce dossier? 1128 00:48:47,730 --> 00:48:49,506 >> AUDIENCE: [inaudible] 1129 00:48:49,506 --> 00:48:50,922 ENCEINTE 1: Désolé, un peu plus fort? 1130 00:48:50,922 --> 00:48:53,250 AUDIENCE: [inaudible] Tout est en HTML. 1131 00:48:53,250 --> 00:48:57,130 Et en fait, il est, parce ce qui est intéressant à propos de PHP 1132 00:48:57,130 --> 00:48:58,880 est qu'il a été conçu être, pour le meilleur 1133 00:48:58,880 --> 00:49:02,110 ou pour le pire, entremêlés avec le code HTML. 1134 00:49:02,110 --> 00:49:05,850 Et en fait, même si cela fichier, froshim zéro point PHP, 1135 00:49:05,850 --> 00:49:11,470 a un commentaire de PHP au sommet de celui-ci, il est tout simplement HTML. 1136 00:49:11,470 --> 00:49:17,655 Mais par contre, si je Open Up, nous allons disons, inscrivez zéro point PHP, qui 1137 00:49:17,655 --> 00:49:19,550 a juste une grosse commentaire au sommet. 1138 00:49:19,550 --> 00:49:26,500 Cela ressemble trop presque entièrement comme le HTML, sauf pour quoi? 1139 00:49:26,500 --> 00:49:29,350 Line, quoi, 21 semble un peu bizarre. 1140 00:49:29,350 --> 00:49:32,739 >> Mais je remarque entrer en mode PHP avec support ouverte interrogation PHP. 1141 00:49:32,739 --> 00:49:33,780 Ensuite, je dois quelques trucs. 1142 00:49:33,780 --> 00:49:36,724 Ensuite, à la fin de cette ligne presque je dois, d'interrogation PHP. 1143 00:49:36,724 --> 00:49:38,390 Et voici ce que je veux dire par entremêlés. 1144 00:49:38,390 --> 00:49:41,910 Vous pouvez écrire en HTML que vous venez le serveur doit cracher. 1145 00:49:41,910 --> 00:49:45,090 Mais si vous voulez faire quelque chose à mi-chemin à travers la page dynamique, 1146 00:49:45,090 --> 00:49:47,699 comme insérer mon nom ou dortoir ou niveau de confort, 1147 00:49:47,699 --> 00:49:49,490 Je peux utiliser une fonction comme l'impression r, qui est 1148 00:49:49,490 --> 00:49:52,492 imprimer récursif, ce qui signifie simplement imprimer cette variable, le formatage 1149 00:49:52,492 --> 00:49:53,200 comme tu veux. 1150 00:49:53,200 --> 00:49:55,880 Il est vraiment pas pour fins humaines, il est juste 1151 00:49:55,880 --> 00:49:58,290 pour le débogage ou à des fins de diagnostic. 1152 00:49:58,290 --> 00:49:59,460 Voilà donc comment je l'ai fait. 1153 00:49:59,460 --> 00:50:06,100 >> Si je vais à la place froshims deux points PHP, remarquer que l'action de ce formulaire 1154 00:50:06,100 --> 00:50:09,680 est pas inscrit zéro point que le PHP old-- la précédente était réellement. 1155 00:50:09,680 --> 00:50:11,222 Mais il est enregistré deux points PHP. 1156 00:50:11,222 --> 00:50:13,680 Alors regardons comment celui-ci se comporte un peu différemment. 1157 00:50:13,680 --> 00:50:15,140 Si je vais dans la version deux. 1158 00:50:15,140 --> 00:50:20,430 Si ici, si je inscrire comme David, moins confortable, de dortoir de Mathews, 1159 00:50:20,430 --> 00:50:21,480 registre. 1160 00:50:21,480 --> 00:50:23,770 Alors, cette fois, il a dit, vous sont enregistrés, pas vraiment. 1161 00:50:23,770 --> 00:50:25,370 Voyons voir ce que je faisais ici. 1162 00:50:25,370 --> 00:50:29,760 Si je regarde registre à deux points PHP, ce qui a un peu de code PHP plus. 1163 00:50:29,760 --> 00:50:35,410 Il est un peu plus propre, même si elle enroule encore un peu de temps sur cette ligne. 1164 00:50:35,410 --> 00:50:36,260 Remarquez ici. 1165 00:50:36,260 --> 00:50:40,300 Je imprimer ma balise HTML, ma tête tag, ma balise de titre, la tête, le corps. 1166 00:50:40,300 --> 00:50:45,410 >> Et puis je commence à dire des choses comme entrer en mode PHP. 1167 00:50:45,410 --> 00:50:48,540 Et si cette balise, parenthèse ouverte PHP-- interrogation PHP dit, 1168 00:50:48,540 --> 00:50:53,460 hey, serveur, execute-- interpréter le truc suivant comme PHP 1169 00:50:53,460 --> 00:50:55,030 jusqu'à ce que vous voyez la balise de fin. 1170 00:50:55,030 --> 00:50:58,590 Et même si vous ne pourriez pas savoir quelle autre PHP que vous avez vu jusqu'à présent, 1171 00:50:58,590 --> 00:51:01,290 vous pouvez sorte de lire il assez intuitivement. 1172 00:51:01,290 --> 00:51:10,670 Si le nom est vide, ou le confort est vide, ou le dortoir est vide, je fais quoi? 1173 00:51:10,670 --> 00:51:12,830 Que dis-je à l'utilisateur? 1174 00:51:12,830 --> 00:51:15,330 Vous devez fournir votre nom, confort, et dortoir, et ainsi de suite. 1175 00:51:15,330 --> 00:51:17,750 Sinon, je dis que vous êtes enregistré, bien pas vraiment. 1176 00:51:17,750 --> 00:51:19,190 >> Et je ne dis pas vraiment parce qu'il n'y a pas de base de données. 1177 00:51:19,190 --> 00:51:20,200 Je ne vais pas faire quelque chose avec les données. 1178 00:51:20,200 --> 00:51:22,408 Je suis juste le jeter à des fins de démonstration. 1179 00:51:22,408 --> 00:51:24,320 Maintenant, je sorte de lésiné sur la ligne 22. 1180 00:51:24,320 --> 00:51:26,400 Il ya plus de syntaxe là, mais signe dollar 1181 00:51:26,400 --> 00:51:28,320 soulignent poste est assez intéressant. 1182 00:51:28,320 --> 00:51:30,300 Et cela est ce qui est agréable à propos de PHP. 1183 00:51:30,300 --> 00:51:35,610 En PHP, vous avez ce qu'on appelle quelques variables globales de super. 1184 00:51:35,610 --> 00:51:38,430 Ils sont en quelque sorte encore plus important que les variables globales. 1185 00:51:38,430 --> 00:51:41,370 Et ceux-ci, tous capitalisés en tant que telle, venir avec PHP. 1186 00:51:41,370 --> 00:51:44,550 Donc si vous avez un serveur qui a une serveur Web installé, comme Apache, 1187 00:51:44,550 --> 00:51:49,390 et que vous installez la langue le support de PHP, tout d'un coup vous 1188 00:51:49,390 --> 00:51:52,250 peut commencer à utiliser ces super- variables globales dans votre code. 1189 00:51:52,250 --> 00:51:54,330 >> Et ce qui est bien sur PHP est que si vous venez 1190 00:51:54,330 --> 00:51:57,540 écrire un fichier qui se termine en dot PHP, le mettre sur un serveur web, 1191 00:51:57,540 --> 00:52:01,260 et puis vous soumettez un formulaire à elle par l'intermédiaire de ce tag d'action et une balise de formulaire, 1192 00:52:01,260 --> 00:52:05,110 cet attribut d'action dans le balise form, PHP et le web 1193 00:52:05,110 --> 00:52:09,360 chiffres complètement comment saisir toutes ces paires de valeurs clés sur 1194 00:52:09,360 --> 00:52:11,633 de l'URL comme question marque q est égal chats, 1195 00:52:11,633 --> 00:52:14,782 il va comprendre comment q et chats. 1196 00:52:14,782 --> 00:52:17,710 Si vous soumettez une photo, ou un nom d'utilisateur, ou un mot de passe comme Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP va comprendre pour vous où toutes ces données est. 1198 00:52:21,360 --> 00:52:23,821 Et ce sera juste la main vous un tableau associatif 1199 00:52:23,821 --> 00:52:27,560 appelé signe dollar soulignement poste, ou le signe dollar soulignent obtenir, 1200 00:52:27,560 --> 00:52:30,590 selon que vous êtes utilisant GET ou POST soumissions. 1201 00:52:30,590 --> 00:52:32,950 Et il va juste vous remettre une variable globale de super, 1202 00:52:32,950 --> 00:52:37,254 de sorte que si vous voulez obtenir au nom que l'utilisateur a soumis via ce Web 1203 00:52:37,254 --> 00:52:41,894 formulaire, vous littéralement juste dire le nom de la variable globale de super, devis, 1204 00:52:41,894 --> 00:52:43,380 Ils ont dit, le nom. 1205 00:52:43,380 --> 00:52:46,144 Et devis, confort unquote, et devis, dortoir unquote. 1206 00:52:46,144 --> 00:52:48,810 Et nous allons être en mesure de le faire cela et bien plus avec PHP. 1207 00:52:48,810 --> 00:52:50,540 Et même si cela était un coup d'oeil à ce tourbillon, 1208 00:52:50,540 --> 00:52:51,980 nous allons plonger dans beaucoup plus la semaine prochaine. 1209 00:52:51,980 --> 00:52:54,247 Nous allons présenter une base de données de sorte que vous êtes réellement 1210 00:52:54,247 --> 00:52:56,816 va commencer la mise en œuvre votre propre e-commerce based-- 1211 00:52:56,816 --> 00:52:59,150 comme site dans un délai de seulement une semaine. 1212 00:52:59,150 --> 00:53:02,750 Donc, nous vous verrons la prochaine fois, et espère que vous avez les messages texte. 1213 00:53:02,750 --> 00:53:05,450 Au revoir. 1214 00:53:05,450 --> 00:53:06,950 >> [Jouer de la musique] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [OUVERTURE DE LA PORTE] 1217 00:53:12,950 --> 00:53:14,475 >> SPEAKER 2: Hey. 1218 00:53:14,475 --> 00:53:15,350 Intervenant 3: Quoi de neuf? 1219 00:53:15,350 --> 00:53:17,750 SPEAKER 2: Que faites-vous? 1220 00:53:17,750 --> 00:53:19,850 Intervenant 3: Travailler sur un ensemble de problème. 1221 00:53:19,850 --> 00:53:21,050 SPEAKER 2: Nice. 1222 00:53:21,050 --> 00:53:22,550 Tope là. 1223 00:53:22,550 --> 00:53:23,150 >> [TOPE LÀ] 1224 00:53:23,150 --> 00:53:25,584 >> Que soient: euh, que faites-vous ici? 1225 00:53:25,584 --> 00:53:26,750 Intervenant 3: Juste traîner. 1226 00:53:26,750 --> 00:53:28,134 Nous venons de rentrer de la salle de gym. 1227 00:53:28,134 --> 00:53:30,050 Je ne pouvais pas aider mais remarquerez quand nous high-tapa dans la main, 1228 00:53:30,050 --> 00:53:32,450 que vous avez les mains assez rugueux. 1229 00:53:32,450 --> 00:53:33,950 Pensez-vous aller à la gym? 1230 00:53:33,950 --> 00:53:35,150 >> SPEAKER 2: Non 1231 00:53:35,150 --> 00:53:36,650 Non. 1232 00:53:36,650 --> 00:53:38,450 >> Intervenant 3: Mec, tu es assez grand. 1233 00:53:38,450 --> 00:53:45,950 Ce qui est mauvais, parce que chacun sait 8-ball est le grand homme sur le campus. 1234 00:53:45,950 --> 00:53:48,050 Tope là. 1235 00:53:48,050 --> 00:53:49,550 >> SPEAKER 2: Euh, non. 1236 00:53:49,550 --> 00:53:50,450 Non, je crois que je suis bon. 1237 00:53:50,450 --> 00:53:52,300 Je crois que je suis bon. 1238 00:53:52,300 --> 00:53:54,097