1 00:00:00,000 --> 00:00:04,410 >> [Παίζει μουσική] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> ΟΜΙΛΗΤΗΣ 1: Αυτό είναι CS50 και αυτό είναι το τέλος του εβδομάδα επτά. 4 00:00:15,770 --> 00:00:20,240 Σήμερα είναι ίσως όπου Πραγματικά σας διδάσκει γλώσσες. 5 00:00:20,240 --> 00:00:24,100 Εμείς εισαχθεί στο παρελθόν δύο εβδομάδες HTML και CSS, κανένα από τα οποία 6 00:00:24,100 --> 00:00:25,240 Οι γλώσσες προγραμματισμού. 7 00:00:25,240 --> 00:00:28,600 Και πράγματι, ακόμα κι αν δεν είχαμε εξετάσουμε σχεδόν όλα τα tags 8 00:00:28,600 --> 00:00:33,410 ότι η HTML έρχεται με και σχεδόν όλοι από τις ιδιότητες που έρχεται με CSS, 9 00:00:33,410 --> 00:00:35,007 αυτό είναι το είδος του για HTML και CSS. 10 00:00:35,007 --> 00:00:36,840 Θα γενικά μόνο ξεκινήστε την προϋπόθεση ότι θα 11 00:00:36,840 --> 00:00:39,545 κατανοήσουν τις γενικές ιδέες του tag και χαρακτηριστικών, 12 00:00:39,545 --> 00:00:41,850 και αποστελλόμενων σελίδων από τον client στον server. 13 00:00:41,850 --> 00:00:45,280 >> Επειδή σήμερα έχουμε αρχίσει να κοιτάξουμε μια άλλη γλώσσα προγραμματισμού, PHP. 14 00:00:45,280 --> 00:00:47,110 Εμείς πάμε να κάνουμε αυτό το σούπερ γρήγορο. 15 00:00:47,110 --> 00:00:50,910 Εμείς δεν πρόκειται να σας διδάξει PHP per se, όπως και εμείς δεν φιλοδοξούμε να σας διδάξει 16 00:00:50,910 --> 00:00:52,670 C, per se, αλλά μάλλον προγραμματισμού. 17 00:00:52,670 --> 00:00:55,088 Και πράγματι, ένα από τα στόχοι για αυτό το μάθημα 18 00:00:55,088 --> 00:00:57,820 δεν είναι να σας διδάξει C, ή HTML, CSS ή, ή PHP, 19 00:00:57,820 --> 00:01:00,370 ή οποιοδήποτε αριθμό άλλων τσιτάτο ή αρκτικόλεξα, 20 00:01:00,370 --> 00:01:03,097 αλλά μάλλον την επιστήμη των υπολογιστών και πώς να προγραμματίσετε εκ βάθρων. 21 00:01:03,097 --> 00:01:05,930 Και πράγματι, σήμερα θα αρχίσουμε να λάβουν αυτές οι βοηθητικές ρόδες στα ανοικτά όλα τα 22 00:01:05,930 --> 00:01:10,600 περαιτέρω με ιπτάμενα μέσα από μια γλώσσα που ονομάζεται PHP, ως εξής. 23 00:01:10,600 --> 00:01:13,640 >> Εδώ είναι ό, τι αυτή η γλώσσα μοιάζει. 24 00:01:13,640 --> 00:01:17,790 Αποδεικνύεται ότι δεν υπάρχει ανάγκη για η κύρια λειτουργία σε ένα πρόγραμμα γραμμένο 25 00:01:17,790 --> 00:01:19,470 σε μια γλώσσα που ονομάζεται PHP. 26 00:01:19,470 --> 00:01:22,585 Έτσι ώστε να ακούγεται ήδη λίγο απλούστερη από C, με την οποία είμαστε εξοικειωμένοι. 27 00:01:22,585 --> 00:01:25,370 Αποδεικνύεται ότι αν θέλετε να δηλώσετε μια μεταβλητή, 28 00:01:25,370 --> 00:01:29,470 μπορείτε να κάνετε σχεδόν πανομοιότυπα με C. Αλλά υπάρχει σαφώς μια διαφορά εδώ 29 00:01:29,470 --> 00:01:31,850 όταν δηλώνω μια σειρά, ή ίσως δύο διαφορές. 30 00:01:31,850 --> 00:01:32,725 Τι μοιάζει διαφορετικό; 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> Κοινό: Το σύμβολο του δολαρίου. 33 00:01:37,160 --> 00:01:39,951 >> ΟΜΙΛΗΤΗΣ 1: Ναι, υπάρχει δολάριο υπογράψει, που δεν έχουμε δει ποτέ πριν. 34 00:01:39,951 --> 00:01:41,451 Και τι λείπει; 35 00:01:41,451 --> 00:01:41,950 Ναι; 36 00:01:41,950 --> 00:01:42,820 >> Κοινό: [δεν ακούγεται] 37 00:01:42,820 --> 00:01:44,403 >> ΟΜΙΛΗΤΗΣ 1: Ναι, δεν υπάρχει τύπο δεδομένων. 38 00:01:44,403 --> 00:01:48,410 Έτσι αποδεικνύεται ότι η PHP είναι αυτό που καλέστε χαλαρά δακτυλογραφημένη γλώσσα, όπου 39 00:01:48,410 --> 00:01:49,959 C είναι έντονα δακτυλογραφημένη. 40 00:01:49,959 --> 00:01:52,500 Χαλαρά πληκτρολογήσει απλά σημαίνει ότι υπάρχουν διαφορετικοί τύποι δεδομένων, 41 00:01:52,500 --> 00:01:54,470 υπάρχουν χορδές, και ints, και επιπλέει. 42 00:01:54,470 --> 00:01:56,330 Αλλά τα στοιχεία υπολογιστή ότι έξω. 43 00:01:56,330 --> 00:01:58,664 Θα το ανθρώπινο προγραμματιστή Δεν χρειάζεται να το καταλάβω. 44 00:01:58,664 --> 00:02:00,580 Έτσι, το μόνο που έχετε να κάνετε να δηλώσει μια μεταβλητή είναι 45 00:02:00,580 --> 00:02:03,220 σύμβολο του δολαρίου, το όνομα σας μεταβλητή και, στη συνέχεια, για παράδειγμα, 46 00:02:03,220 --> 00:02:04,760 απόσπασμα εισαγωγικά, hello world. 47 00:02:04,760 --> 00:02:07,662 >> Καλά αυτό είναι ό, τι ένα κατάσταση μοιάζει με την PHP. 48 00:02:07,662 --> 00:02:08,328 Τυχόν διαφορές; 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 Κανένα. 51 00:02:11,150 --> 00:02:12,540 Έτσι αποδεικνύεται αυτά είναι ταυτόσημα. 52 00:02:12,540 --> 00:02:14,665 Και ίσως να έχουν λιγότερες υποκαταστήματα ή περισσότερους κλάδους, 53 00:02:14,665 --> 00:02:16,557 αλλά οι στροφές σύνταξη ακριβώς το ίδιο. 54 00:02:16,557 --> 00:02:18,390 Boolean εκφράσεις μπορούν να να καταδικαστεί μαζί. 55 00:02:18,390 --> 00:02:20,400 Boolean εκφράσεις μπορεί να πολλαπλασιάζεται λογικά μαζί. 56 00:02:20,400 --> 00:02:21,430 Έχετε ακόμα διακόπτες. 57 00:02:21,430 --> 00:02:23,790 Ακόμα κι αν δεν έχετε χρησιμοποιήσει αυτά, αυτά υπάρχουν σε C 58 00:02:23,790 --> 00:02:26,020 και είναι λειτουργικά ισοδύναμο σε PHP. 59 00:02:26,020 --> 00:02:28,260 >> Και στην πραγματικότητα, στην PHP ότι είναι λίγο πιο ισχυρό. 60 00:02:28,260 --> 00:02:32,540 Στην C, μόνο μπορείτε να συγκρίνετε ορισμένες τύπους δεδομένων όπως ints και χαρακτήρες, 61 00:02:32,540 --> 00:02:36,320 ενώ σε PHP μπορείτε πραγματικά να συγκρίνετε πλήρη χορδές ανατρέφω χωρίς 62 00:02:36,320 --> 00:02:38,460 να ανησυχείτε για τους δείκτες και τα παρόμοια. 63 00:02:38,460 --> 00:02:39,430 Έτσι, εδώ είναι ένα για το βρόχο. 64 00:02:39,430 --> 00:02:41,270 Αυτό είναι ακριβώς ψευδοκώδικα κώδικα, αν θέλετε. 65 00:02:41,270 --> 00:02:43,400 Αλλά δομικά είναι πανομοιότυπες με C. 66 00:02:43,400 --> 00:02:47,520 >> Εδώ είναι ένα βρόχο while, ο ψευδοκώδικας therefore-- ταυτόσημη με C. 67 00:02:47,520 --> 00:02:49,390 Εδώ είναι ένα do ενώ loop-- πανομοιότυπα. 68 00:02:49,390 --> 00:02:51,390 Και έτσι υπάρχει το είδος του Αυτό το πρότυπο εδώ όπου 69 00:02:51,390 --> 00:02:54,400 υπάρχει μερικές άλλες συντακτικές χαρακτηριστικά είμαστε πραγματικά πρόκειται να δούμε. 70 00:02:54,400 --> 00:02:57,340 Στην πραγματικότητα, εδώ είναι ένα ωραίο τρόπο με τον οποίο PHP, 71 00:02:57,340 --> 00:02:59,350 αν θέλετε να μετακινηθείτε πάνω από μια συστοιχία, και 72 00:02:59,350 --> 00:03:02,309 Δεν θέλω να πηδούν μέσα από το ψυχική και συντακτικά στεφάνια που έχουν 73 00:03:02,309 --> 00:03:05,178 int i ισούται με 0, i λιγότερο από n, θ οποία συν plus-- 74 00:03:05,178 --> 00:03:07,040 είναι απλώς ένα πολύ ενοχλητικό σύνταξη. 75 00:03:07,040 --> 00:03:10,654 Μπορείτε να πείτε λίγο περισσότερο ρευστά για κάθε αριθμούς 76 00:03:10,654 --> 00:03:13,320 ως αριθμός, όπου σε αυτή την περίπτωση αριθμοί σύμβολο του δολαρίου, υποθέτω, 77 00:03:13,320 --> 00:03:15,400 Είναι σαν μια σειρά αριθμών που ονομάζεται. 78 00:03:15,400 --> 00:03:18,810 Και τότε υποθέτω αριθμό, ενικό, πρόκειται να είναι μια μεταβλητή. 79 00:03:18,810 --> 00:03:22,940 >> Και τι θα κάνει η PHP για μένα, όπως έχω επαναλάβει πάνω από αυτό βρόχου είναι, σε κάθε επανάληψη, 80 00:03:22,940 --> 00:03:28,450 πρόκειται να ενημερώσετε τη μεταβλητή αριθμό είναι το στοιχείο i-σε αριθμούς, πληθυντικό. 81 00:03:28,450 --> 00:03:30,060 Γι 'αυτό ακριβώς χειρίζεται όλα αυτά για μένα. 82 00:03:30,060 --> 00:03:32,750 Δεν αγκύλες, δεν σύμβολο του δολαρίου, υπάρχουν ερωτηματικά. 83 00:03:32,750 --> 00:03:34,117 Είναι λίγο πιο απλό. 84 00:03:34,117 --> 00:03:35,950 Λοιπόν, αν θέλετε ένα σειρά, αποδεικνύεται σας 85 00:03:35,950 --> 00:03:38,908 μπορεί να κάνει κάτι αρκετά παρόμοιο με C. Η σύνταξη είναι λίγο διαφορετική. 86 00:03:38,908 --> 00:03:41,000 Αλλά εδώ είναι μια σειρά που ονομάζεται δολαρίων υπέγραψε αριθμούς. 87 00:03:41,000 --> 00:03:44,261 Και μπορώ να χρησιμοποιήσω, σε PHP, πλατεία παρένθεση, αποδεικνύεται. 88 00:03:44,261 --> 00:03:47,260 Και θα πάμε να δούμε αυτά και πάλι σε JavaScript-- ακόμη μια άλλη γλώσσα. 89 00:03:47,260 --> 00:03:49,968 Απλά χρησιμοποιήστε πλατεία συμβολισμός βραχίονα να έχουν μια λίστα διαχωρισμένη με κόμμα 90 00:03:49,968 --> 00:03:51,530 ακεραίων, σε αυτή την περίπτωση. 91 00:03:51,530 --> 00:03:53,010 Αλλά αυτό μου δίνει μια σειρά. 92 00:03:53,010 --> 00:03:56,270 >> Αλλά ακόμη πιο ισχυρό σε PHP, έχουμε επίσης ό, τι είναι γενικά 93 00:03:56,270 --> 00:03:57,640 καλείται συνειρμική συστοιχίες. 94 00:03:57,640 --> 00:03:59,540 Και πολλές γλώσσες έχουν αυτά επίσης. 95 00:03:59,540 --> 00:04:03,810 Το πράγμα για τους πίνακες C είναι ότι οι δείκτες 96 00:04:03,810 --> 00:04:06,940 για μια σειρά, το πράγμα που χρήση σε αγκύλες, μέσω της οποίας 97 00:04:06,940 --> 00:04:08,600 έχετε πρόσβαση σε στοιχεία, πρέπει να είναι αυτό; 98 00:04:08,600 --> 00:04:10,620 >> Κοινό: [δεν ακούγεται] 99 00:04:10,620 --> 00:04:14,220 >> ΟΜΙΛΗΤΗΣ 1: Θα πρέπει να είναι αριθμοί ή ακέραιοι, ειδικά από το μηδέν προς τα πάνω. 100 00:04:14,220 --> 00:04:17,140 Λοιπόν, σε PHP, και, αποδεικνύεται έξω, και σε άλλες γλώσσες, 101 00:04:17,140 --> 00:04:20,820 μπορείτε να αρχίσετε να έχετε ευρετήρια που δεν είναι αριθμητικό. 102 00:04:20,820 --> 00:04:23,880 Αλλά στην πραγματικότητα είναι λέξεις ή φράσεις, έτσι ώστε αντί 103 00:04:23,880 --> 00:04:27,070 προσπαθήστε να θυμηθείτε πού κάτι είναι, ή αποθηκεύεται σε μια μεταβλητή i, 104 00:04:27,070 --> 00:04:31,720 μπορείτε να χρησιμοποιήσετε πραγματικά μια λέξη και να πω that-- μπορείς να πεις μια λέξη σαν αυτό. 105 00:04:31,720 --> 00:04:34,730 >> Έτσι, το σύμβολο του δολαρίου απόσπασμα είναι η το όνομα μιας μεταβλητής εδώ. 106 00:04:34,730 --> 00:04:39,360 Αυτό είναι κάπως funky σύνταξη αυτό είναι που συνδέει τα δύο βασικά αξίας 107 00:04:39,360 --> 00:04:41,250 ζεύγη για αυτή τη μεταβλητή. 108 00:04:41,250 --> 00:04:45,490 Συγκεκριμένα, αυτό μου δίνει μια σειρά που έχει μήκος 2. 109 00:04:45,490 --> 00:04:47,660 Αλλά οι δείκτες δεν είναι 0 και 1. 110 00:04:47,660 --> 00:04:51,250 Οι δείκτες είναι απόσπασμα unquote σύμβολο και προσφορά τιμής εισαγωγικά. 111 00:04:51,250 --> 00:04:55,990 Και οι τιμές αυτών των δεικτών, αντίστοιχα, είναι FB για το Facebook 112 00:04:55,990 --> 00:05:00,360 και $ 79.53, όταν θα διαρκέσει ελέγχονται τίμημα γι 'αυτό. 113 00:05:00,360 --> 00:05:01,210 >> Τι σημαίνει αυτό? 114 00:05:01,210 --> 00:05:04,136 Λοιπόν, αυτό σημαίνει ότι αντί του κώδικα γραφής 115 00:05:04,136 --> 00:05:09,612 όπως αυτό, όπου συνήθιζα να κάνω κάτι όπως δολαρίου sign-- ή μάλλον, σε C 116 00:05:09,612 --> 00:05:11,070 Εγώ δεν θα έχουν καν το σύμβολο του δολαρίου. 117 00:05:11,070 --> 00:05:13,490 Θα ήθελα να κάνω κάτι όπως εισαγωγικά και, στη συνέχεια, 118 00:05:13,490 --> 00:05:18,410 Θα ήθελα να κάνω εγώ στήριγμα για να πάρει σε μερικά αυθαίρετα αριθμητικά ευρετήριο αξία. 119 00:05:18,410 --> 00:05:21,430 Από σήμερα στην PHP, αν θέλετε να πάρετε κάποια αξία, 120 00:05:21,430 --> 00:05:24,742 Είμαστε είδος έχουν περισσότερα σημασιολογική εκφραστικότητα. 121 00:05:24,742 --> 00:05:27,450 Ακριβώς ένα φανταχτερό τρόπο λέγοντας μπορούμε ακριβώς λέμε τα πράγματα αυτό που είναι. 122 00:05:27,450 --> 00:05:29,800 >> Και αν θέλετε να πάρετε στο σύμβολο κάτι, 123 00:05:29,800 --> 00:05:32,180 Τώρα μπορείτε κυριολεκτικά κάνουμε αναφέρω εισαγωγικά σύμβολο 124 00:05:32,180 --> 00:05:34,910 σε αγκύλες αντί μιας απλής αριθμού. 125 00:05:34,910 --> 00:05:36,450 Γι 'αυτό είναι μια ωραία ευκολία. 126 00:05:36,450 --> 00:05:38,140 Και αυτό είναι το είδος του αυτό προς το παρόν. 127 00:05:38,140 --> 00:05:40,240 Υπάρχει ματσάκια άλλα χαρακτηριστικά της PHP. 128 00:05:40,240 --> 00:05:43,180 Και πράγματι, PHP έρχεται με η παροιμιώδης νεροχύτη της κουζίνας. 129 00:05:43,180 --> 00:05:48,640 Δεκάδες, εκατοντάδες λειτουργίες έρχονται με PHP-- τόσα πολλά περισσότερα από ό, τι ήρθε με C. 130 00:05:48,640 --> 00:05:51,360 >> Και αυτό δεν πρόκειται να συντρίψει αλλά μάλλον να βοηθήσουν 131 00:05:51,360 --> 00:05:53,900 έχετε συνειδητοποιήσει ότι δεν είμαστε έχουν πλέον να γράφουν κώδικα 132 00:05:53,900 --> 00:05:55,590 αυτό είναι το είδος του εδώ κάτω εννοιολογικά. 133 00:05:55,590 --> 00:05:58,465 Τώρα μπορούμε απλά να αρχίσετε να επωφελείστε πολύ πιο προηγμένα χαρακτηριστικά 134 00:05:58,465 --> 00:05:59,920 ότι οι γλώσσες όπως η PHP έχει. 135 00:05:59,920 --> 00:06:02,630 Γι 'αυτό και δεν χρειάζεται να ανησυχείτε για κινούνται γύρω από τα πράγματα στη μνήμη. 136 00:06:02,630 --> 00:06:05,338 Δεν χρειάζεται να ανησυχείτε για malloc και όλα αυτά τα χαμηλότερου επιπέδου, 137 00:06:05,338 --> 00:06:09,390 ισχυρά στοιχεία ότι θα παλέψει με, αν δεν αγωνίζονται με, pset5, 138 00:06:09,390 --> 00:06:13,380 αλλά μπορείτε να αρχίσετε να Μόλις λάβει ως δεδομένο. 139 00:06:13,380 --> 00:06:17,770 >> Στην πραγματικότητα, ας γράψουμε ένα σούπερ απλό πρόγραμμα σε PHP, ως εξής. 140 00:06:17,770 --> 00:06:21,550 Πάω να πάει το κεφάλι σε CS50 IDE εδώ, και τι πάω να κάνω 141 00:06:21,550 --> 00:06:29,370 είναι να δημιουργήσετε ένα νέο αρχείο, ότι πολύ απλά πρόκειται να κληθεί γεια dot PHP. 142 00:06:29,370 --> 00:06:31,860 Έτσι, αντί να dot γ, είναι πρόκειται να ονομάζεται dot PHP. 143 00:06:31,860 --> 00:06:34,260 Και στη συνέχεια, σε αυτό το αρχείο, Μπορώ να αρχίσετε να πληκτρολογείτε. 144 00:06:34,260 --> 00:06:36,960 Αλλά αποδεικνύεται ότι η ένα πράγμα που πρέπει να ξέρετε 145 00:06:36,960 --> 00:06:41,470 είναι ότι κάθε αρχείο PHP σε γενικές γραμμές, τις ανάγκες να ξεκινήσω με κάποια ειδική σύνταξη. 146 00:06:41,470 --> 00:06:44,570 Παρόμοια στο πνεύμα με την HTML, αλλά και πάλι, PHP είναι μια γλώσσα προγραμματισμού, δεν 147 00:06:44,570 --> 00:06:45,590 μια γλώσσα σήμανσης. 148 00:06:45,590 --> 00:06:48,700 >> Έτσι, κάθε αρχείο, και αυτό είναι το είδος ηλίθια που αναζητούν εγώ θα παραδεχτώ. 149 00:06:48,700 --> 00:06:50,480 Ανοίξτε βραχίονα, ερωτηματικό, PHP. 150 00:06:50,480 --> 00:06:53,060 Και αυτό είναι μόνο η τρόπος γλώσσα του λέγοντας, 151 00:06:53,060 --> 00:06:58,400 hey, ο υπολογιστής έρχεται εδώ λίγο κώδικα γραμμένο σε μια γλώσσα που ονομάζεται PHP. 152 00:06:58,400 --> 00:07:01,900 Και στη συνέχεια, στο τέλος του αρχείου σας, κάνετε το είδος του είδους το αντίθετο. 153 00:07:01,900 --> 00:07:04,860 Δεν γράψω και πάλι PHP, απλά κάνει ερωτηματικό, αγκύλη. 154 00:07:04,860 --> 00:07:08,500 Και τότε οτιδήποτε βρίσκεται στο εσωτερικό αυτών των δύο ετικέτες, να το πω έτσι, 155 00:07:08,500 --> 00:07:11,490 θα είναι, ή θα έπρεπε να είναι, κώδικα PHP. 156 00:07:11,490 --> 00:07:13,180 >> Έτσι, ας κάνουμε κάτι εξαιρετικά απλό. 157 00:07:13,180 --> 00:07:19,370 Πάω να πάει μπροστά και να κάνουμε εκτύπωσης def, γειά σου κόσμο, ανάστροφη κάθετο n, να αποθηκεύσετε. 158 00:07:19,370 --> 00:07:27,310 Και τώρα σε γραμμή μου, θα πάω να κάνετε, hello-- όχι, εγώ πάω να κάνω, 159 00:07:27,310 --> 00:07:28,726 dot κάθετος γεια. 160 00:07:28,726 --> 00:07:31,250 Όχι, τελεία κάθετος, χμ. 161 00:07:31,250 --> 00:07:32,990 Οπότε κάτι διαφορετικό. 162 00:07:32,990 --> 00:07:36,920 Και πράγματι, αυτή είναι μια βασική διαφορά μεταξύ PHP και γλώσσες όπως η C C. 163 00:07:36,920 --> 00:07:38,730 ήταν το λεγόμενο καταρτίζονται γλώσσα. 164 00:07:38,730 --> 00:07:40,929 Τι σήμαινε για το C θα πρέπει να καταρτιστούν; 165 00:07:40,929 --> 00:07:41,970 Ποια ήταν η επίπτωση; 166 00:07:41,970 --> 00:07:42,898 Ναι. 167 00:07:42,898 --> 00:07:45,220 >> Κοινό: έγραψε σε κώδικα μηχανής έτσι θα μπορούσε να εκτελεστεί από τον υπολογιστή. 168 00:07:45,220 --> 00:07:46,011 >> ΟΜΙΛΗΤΗΣ 1: Ακριβώς. 169 00:07:46,011 --> 00:07:49,075 Εμείς πρέπει να το μετατρέψετε πρώτα σε λεγόμενο κώδικα μηχανής, μηδενικά και μονάδες, 170 00:07:49,075 --> 00:07:51,950 πριν από πραγματικά θα είναι εκτελέσιμο και κατανοητές από τον υπολογιστή. 171 00:07:51,950 --> 00:07:52,840 Από την Intel στο εσωτερικό του. 172 00:07:52,840 --> 00:07:54,530 Με την CPU εσωτερικό του υπολογιστή. 173 00:07:54,530 --> 00:07:58,170 PHP, αντίθετα, είναι αυτό που ονομάζεται μια ερμηνευμένη γλώσσα, το οποίο 174 00:07:58,170 --> 00:08:02,230 σημαίνει ότι δεν έχετε να το υπολογίσουν σε μηδενικά και μονάδες, κώδικα μηχανής, 175 00:08:02,230 --> 00:08:04,360 που αντί να το αφήσουμε ως πηγαίο κώδικα. 176 00:08:04,360 --> 00:08:08,130 Και εσείς αντί να το περάσει ως πρώτη ύλη σε ένα πρόγραμμα, ένας διερμηνέας 177 00:08:08,130 --> 00:08:11,960 ότι κάποιος άλλος έγραψε χρόνια ότι αντιλαμβάνεται 178 00:08:11,960 --> 00:08:14,310 γραμμή προς γραμμή, χαρακτήρα για τον χαρακτήρα. 179 00:08:14,310 --> 00:08:16,120 Έτσι, με άλλα λόγια, οι άνθρωποι εκεί έξω έγραψε 180 00:08:16,120 --> 00:08:19,670 ένα πρόγραμμα που θα δούμε στη γραμμή κώδικα σας από τη γραμμή, 181 00:08:19,670 --> 00:08:21,680 και να καταλάβω τι ο υπολογιστής πρέπει να κάνει, 182 00:08:21,680 --> 00:08:25,960 χωρίς να το μετατρέψει άμεσα με μηδενικά και μονάδες. 183 00:08:25,960 --> 00:08:28,370 >> Έτσι, αν βλέπει ένα για το βρόχο, Αυτή η λεγόμενη διερμηνέα 184 00:08:28,370 --> 00:08:30,630 πρόκειται να είναι όπως, εντάξει, εγώ θα πρέπει να κάνουμε κάτι ξανά και ξανά και ξανά. 185 00:08:30,630 --> 00:08:31,150 Τι πρεπει να κανω? 186 00:08:31,150 --> 00:08:32,159 Επιτρέψτε μου να δούμε την επόμενη γραμμή. 187 00:08:32,159 --> 00:08:33,367 Επιτρέψτε μου να δούμε την επόμενη γραμμή. 188 00:08:33,367 --> 00:08:35,350 Και ερμηνεύει πραγματικά γραμμή προς γραμμή. 189 00:08:35,350 --> 00:08:37,220 Έτσι για να το εκτελέσει, δεν χρησιμοποιώ make. 190 00:08:37,220 --> 00:08:39,409 Δεν χρησιμοποιώ dot κάθετος σε αυτή την περίπτωση. 191 00:08:39,409 --> 00:08:43,530 Εγώ αντί να κάνει η PHP, η οποία είναι το όνομα ενός προγράμματος, γνωστός και ως 192 00:08:43,530 --> 00:08:46,562 Ένας διερμηνέας, ότι είναι προ-εγκατεστημένο σε CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 και τώρα πρέπει να περάσει ένα το επιχείρημα της γραμμής εντολών, η οποία 194 00:08:48,770 --> 00:08:52,290 Είναι πολύ απλά το όνομα του αρχείο που θέλω να ερμηνεύσει. 195 00:08:52,290 --> 00:08:54,740 Ή πιο άνετα, που θέλω να τρέξει. 196 00:08:54,740 --> 00:08:57,000 Κι αν πατήσω το enter, εκεί έχουμε. 197 00:08:57,000 --> 00:08:57,825 Γειά σου Κόσμε. 198 00:08:57,825 --> 00:08:59,950 Τώρα αποδεικνύεται ότι μεταχειρισμένα def εκτύπωσης σκόπιμα 199 00:08:59,950 --> 00:09:01,600 να μας γεφυρωθεί από C σε PHP. 200 00:09:01,600 --> 00:09:05,150 Οι περισσότεροι προγραμματιστές PHP, όπως θα δείτε, δεν κάνουν καν τον κόπο χρησιμοποιώντας def εκτύπωσης. 201 00:09:05,150 --> 00:09:08,290 Απλώς χρησιμοποιήστε μια λειτουργία που ονομάζεται εκτύπωσης, η οποία δεν είχε C. 202 00:09:08,290 --> 00:09:11,390 Και έτσι αν μπορώ να επαναληφθεί τώρα, είναι στην πραγματικότητα συμπεριφέρεται λειτουργικά η ίδια. 203 00:09:11,390 --> 00:09:13,730 Δεν μπορώ να χρησιμοποιήσω το ποσοστό s και θ τοις εκατό και ούτω καθεξής, 204 00:09:13,730 --> 00:09:16,250 αλλά υπάρχουν και άλλοι τρόποι σε PHP για να γίνει αυτό. 205 00:09:16,250 --> 00:09:18,100 Αλλά αυτό είναι μόνο για να λένε ότι συντακτικά, 206 00:09:18,100 --> 00:09:21,850 εκτός από κάποια περίεργα πράγματα κορυφή, και κάποια περίεργα χαρακτήρες κάτω 207 00:09:21,850 --> 00:09:25,960 στο κάτω μέρος, οι έννοιες τώρα προγραμματισμού σε αυτή την άλλη γλώσσα 208 00:09:25,960 --> 00:09:27,860 πρόκειται να είναι ακριβώς το ίδιο. 209 00:09:27,860 --> 00:09:30,120 >> Στην πραγματικότητα, ας κάνουμε ένα άλλο παράδειγμα. 210 00:09:30,120 --> 00:09:32,520 Έτσι, Πάω να πάει μπροστά και κλείστε το αρχείο. 211 00:09:32,520 --> 00:09:37,740 Επιτρέψτε μου να δημιουργήσετε ένα άλλο που Θα καλέσω τους όρους 1 κουκίδα PHP. 212 00:09:37,740 --> 00:09:40,770 Έτσι, δεν το μηδέν, γιατί ό, τι έκανα ήταν Κοίταξα πίσω πριν από λίγες εβδομάδες, 213 00:09:40,770 --> 00:09:43,490 είχαμε ένα αρχείο με όνομα όροι 1 τελεία C. Και τι 214 00:09:43,490 --> 00:09:47,590 Έκανα ήταν να μετατραπεί στο μου το κεφάλι, και εδώ στο χαρτί, 215 00:09:47,590 --> 00:09:51,290 και σύντομα για την πορεία της ιστοσελίδα, γραμμή προς γραμμή μέσα στην PHP. 216 00:09:51,290 --> 00:09:55,520 >> Έτσι στην έκδοση C, κάναμε κάτι όπως εγχόρδων s παίρνει πάρει κορδόνι. 217 00:09:55,520 --> 00:09:58,200 Γι 'αυτό είναι λίγο διαφορετικό για να το κάνουμε αυτό σε PHP. 218 00:09:58,200 --> 00:10:01,390 Αντ 'αυτού, είμαι απλώς πρόκειται να κάνει, ή μάλλον, 219 00:10:01,390 --> 00:10:05,870 θα μπορούσε να γίνει int n παίρνει πάρει int, σε αυτό το παράδειγμα νωρίτερα. 220 00:10:05,870 --> 00:10:12,600 Έτσι, αντί αυτού, θα πάω να κάνω n παίρνει γραμμή ανάγνωσης, θα ήθελα έναν ακέραιο, 221 00:10:12,600 --> 00:10:13,670 παρακαλώ. 222 00:10:13,670 --> 00:10:15,110 Έτσι, αυτό είναι απλά προτροπή μου. 223 00:10:15,110 --> 00:10:17,260 Και έτσι αποδεικνύεται και Θα ήθελα να ξέρω μόνο αυτό 224 00:10:17,260 --> 00:10:20,480 από το να έχει διαβάσει ή δει την λειτουργία πριν, διαβάστε γραμμές λειτουργίας στην PHP 225 00:10:20,480 --> 00:10:23,810 παίρνει ένα επιχείρημα το οποίο είναι ένα μήνυμα για τον άνθρωπο, και τον σκοπό της ζωής 226 00:10:23,810 --> 00:10:26,220 είναι να διαβάσει μια γραμμή κειμένου ότι αυτός ή αυτή τύπων σε. 227 00:10:26,220 --> 00:10:29,160 Και στη συνέχεια αποθηκεύει ότι κείμενο στη μεταβλητή n. 228 00:10:29,160 --> 00:10:32,200 >> Και τώρα μπορώ να θέλετε να κάνετε κάτι όπως έκανα πριν μερικές εβδομάδες, όπως στην εβδομάδα 229 00:10:32,200 --> 00:10:33,290 μια της τάξης. 230 00:10:33,290 --> 00:10:36,600 Εάν το η είναι μεγαλύτερο από μηδέν, τότε, θα πάω 231 00:10:36,600 --> 00:10:42,930 δανειστεί το εν λόγω σύνταξη μόλις είδαμε, def εκτύπωσης, έχετε πάρει ένα θετικό αριθμό, 232 00:10:42,930 --> 00:10:44,360 ανάστροφη κάθετο n. 233 00:10:44,360 --> 00:10:49,990 Αλλιώς αν η ισούται ισούται με μηδέν, είμαι πρόκειται να προχωρήσει και να πω, def εκτύπωσης, 234 00:10:49,990 --> 00:10:54,090 Σας πήρε μηδέν ανάστροφη κάθετο n. 235 00:10:54,090 --> 00:10:56,830 Αλλιώς, στην προκειμένη περίπτωση θα πρέπει να Φυσικά είναι, def εκτύπωσης, 236 00:10:56,830 --> 00:10:58,620 επιλέξατε έναν αρνητικό αριθμό. 237 00:10:58,620 --> 00:11:00,970 >> Και μπορούμε σίγουρα να εφαρμόσουν η λογική αυτού του πράγματος 238 00:11:00,970 --> 00:11:03,390 σε μια δέσμη των διαφορετικών τρόπους, αλλά το σημείο εδώ 239 00:11:03,390 --> 00:11:07,210 είναι ότι συντακτικά, σχεδόν τίποτα είναι νέο. 240 00:11:07,210 --> 00:11:09,830 Είναι ακριβώς το σύμβολο του δολαρίου και μια νέα λειτουργία και διαβάστε γραμμή. 241 00:11:09,830 --> 00:11:12,090 Αλλά ουσιαστικά, τι νέο τώρα είναι είμαι ερμηνεία αυτή. 242 00:11:12,090 --> 00:11:13,910 Είμαι αυτό που περνά ως εισροή σε άλλο πρόγραμμα. 243 00:11:13,910 --> 00:11:16,620 Έτσι, αν θέλω να τρέξει αυτό, αν Εγώ δεν κάνω λάθη, 244 00:11:16,620 --> 00:11:20,140 Πάω να τρέξει PHP, της όροι 1 τελεία PHP, Enter, 245 00:11:20,140 --> 00:11:23,440 Πάω να πληκτρολογήσετε τον αριθμό 50, και ας υποθέσουμε ότι για τώρα δουλεύει. 246 00:11:23,440 --> 00:11:25,940 Επειδή η λογική είναι η ίδια πράγματα όπως μία εβδομάδα. 247 00:11:25,940 --> 00:11:28,020 >> Εντάξει, έτσι ώστε να είναι αρκετά απογοητευτικό, έτσι δεν είναι; 248 00:11:28,020 --> 00:11:30,240 Θα μπορούσαμε να το κάνουμε αυτό σε οποιαδήποτε αριθμός των γλωσσών. 249 00:11:30,240 --> 00:11:33,200 Ας κάνουμε κάτι πολύ πιο ισχυρό. 250 00:11:33,200 --> 00:11:35,610 Ας πρόβλημα φινίρισμα έθεσε πέντε. 251 00:11:35,610 --> 00:11:37,370 Έτσι, Πάω να προχωρήσει και να το κάνουμε αυτό. 252 00:11:37,370 --> 00:11:42,920 Πάω να δημιουργήσετε ένα αρχείο που ονομάζεται λεξικό dot PHP, 253 00:11:42,920 --> 00:11:45,424 και με κλίση όπως θα μπορούσε να είναι να αγωνίζομαι κάτω μέρη των σημειώσεων, 254 00:11:45,424 --> 00:11:47,340 οι σημειώσεις θα βοηθήσει μόνο σας εάν έχετε την άδεια 255 00:11:47,340 --> 00:11:48,923 να εφαρμόσουν τα προβλήματα που πέντε στην PHP. 256 00:11:48,923 --> 00:11:52,706 Αλλά θα δούμε πόσο γρήγορα τώρα μπορούν να εφαρμόσουν την ίδια δέσμη πρόβλημα. 257 00:11:52,706 --> 00:11:56,830 >> Έτσι στο λεξικό dot PHP, θα πάω να υποθέσουμε ότι υπάρχει ήδη 258 00:11:56,830 --> 00:11:58,514 ένα αρχείο στον κόσμο που ονομάζεται ορθογράφος. 259 00:11:58,514 --> 00:12:01,430 Και πράγματι, το έκανα αυτό εκ των προτέρων, και εμείς δεν θα περπατήσετε μέσα από αυτή τη γραμμή 260 00:12:01,430 --> 00:12:03,596 από τη γραμμή, αλλά αν είστε περίεργος αργότερα και θέλουν πραγματικά 261 00:12:03,596 --> 00:12:06,250 να τυλίξουν το μυαλό σας γύρω από το διαφορές μεταξύ των γ και PHP, 262 00:12:06,250 --> 00:12:09,030 κυριολεκτικά συγκρίνετε αυτού του αρχείου, ορθογράφος, από τον πηγαίο κώδικα του σήμερα 263 00:12:09,030 --> 00:12:11,190 ότι θα δημοσιεύσετε αργότερα Σήμερα, κατά σειρά σ 264 00:12:11,190 --> 00:12:15,309 πέντε ορθογράφος dot γ που σας δίνουμε, και είναι σχεδόν η ίδια γραμμή προς γραμμή. 265 00:12:15,309 --> 00:12:16,600 Υπάρχουν κάποια σημάδια πάνω του δολαρίου. 266 00:12:16,600 --> 00:12:18,330 Ένα ζευγάρι λειτουργίες είναι μια λίγο διαφορετική. 267 00:12:18,330 --> 00:12:20,038 Αλλά είναι ένας ωραίος τρόπος του είδους του να δει πώς 268 00:12:20,038 --> 00:12:22,740 να μεταφράσετε μία γλώσσα στην άλλη. 269 00:12:22,740 --> 00:12:24,812 Και είναι σχεδόν ταυτόσημη γραμμή για τη γραμμή. 270 00:12:24,812 --> 00:12:27,770 Αλλά Πάω να υποθέσουμε ότι υπάρχει, και τι πάω να κάνω εδώ 271 00:12:27,770 --> 00:12:31,310 είναι να προσπαθήσουμε να ανατινάξουν σας νου από reimplementing 272 00:12:31,310 --> 00:12:36,210 το σύνολο του προβλήματος έθεσε πέντε τρόπο ταχύτερα από ό, τι έχετε κάνει μέχρι σήμερα. 273 00:12:36,210 --> 00:12:39,330 Έτσι, για παράδειγμα, θα πάω στην πρώτη να κηρύξει μια παγκόσμια μεταβλητή που ονομάζεται μέγεθος, 274 00:12:39,330 --> 00:12:40,444 και να το θέσει ίσο με το μηδέν. 275 00:12:40,444 --> 00:12:41,610 Τώρα αυτό δεν είναι πολύ εξοικονόμηση. 276 00:12:41,610 --> 00:12:44,170 Οι πιθανότητες είναι εσείς υλοποιούνται μέγεθος λίγο πολύ το ίδιο, 277 00:12:44,170 --> 00:12:48,440 ή υπαινιγμό υπόδειξη, θα απόψε ή αύριο, χρησιμοποιώντας μόνο μια καθολική μεταβλητή που ονομάζεται 278 00:12:48,440 --> 00:12:49,900 το μέγεθος, και ότι αυτό ισούται με το μηδέν. 279 00:12:49,900 --> 00:12:52,660 Αυτό δεν είναι ένα ιδιαίτερα καταπληκτικό αεροτομή. 280 00:12:52,660 --> 00:12:57,180 >> Ποια ήταν λοιπόν τα δεδομένα σας δομές επιλογή, όσοι από εσάς έχετε βούτηξε 281 00:12:57,180 --> 00:13:02,170 και διαβάστε το spec, δομές δεδομένων ποιο Οι περισσότεροι από εσάς έχουν χρησιμοποιήσει; 282 00:13:02,170 --> 00:13:06,840 Ένας πίνακας κατακερματισμού ή δοκιμάστε, ίσως Μερικές παραλλαγές αυτών. 283 00:13:06,840 --> 00:13:10,490 Έτσι, την εφαρμογή ενός πίνακα κατακερματισμού τουλάχιστον, Είναι το είδος της μια μεγάλη γραμμές κώδικα, 284 00:13:10,490 --> 00:13:10,990 έτσι δεν είναι; 285 00:13:10,990 --> 00:13:13,700 Και όλα αυτά δεν θα μπορούσε να είναι λειτουργικά σε αυτό το σημείο την εβδομάδα, 286 00:13:13,700 --> 00:13:14,366 αλλά αυτό είναι εντάξει. 287 00:13:14,366 --> 00:13:19,300 Επειδή σε PHP, αν μου θέλουν ένα πίνακα κατακερματισμού, γίνεται. 288 00:13:19,300 --> 00:13:20,260 Σωστά; 289 00:13:20,260 --> 00:13:22,610 Έτσι, αυτή τη μεταβλητή που έχω μόλις κηρυχθεί προφανώς 290 00:13:22,610 --> 00:13:26,180 που ονομάζεται σύμβολο τραπέζι του δολαρίου, Σύμφωνα με την εισαγωγή πριν. 291 00:13:26,180 --> 00:13:28,902 >> Αλλά εγώ πραγματικά θέλουν απλά, σε το τέλος της ημέρας, μια συστοιχία. 292 00:13:28,902 --> 00:13:31,610 Αλλά δεν είναι μια αριθμητικά ευρετήριο σειρά, γιατί αυτό είναι σαν δύο εβδομάδες 293 00:13:31,610 --> 00:13:33,440 πράγματα, όταν μιλήσαμε για τους πίνακες. 294 00:13:33,440 --> 00:13:34,850 Θέλω ένα πίνακα κατακερματισμού. 295 00:13:34,850 --> 00:13:38,070 Αλλά ένα πίνακα κατακερματισμού είναι πραγματικά μόνο ένα συγκεκριμένο τρόπο για να πούμε, 296 00:13:38,070 --> 00:13:40,190 θέλετε μια associative πίνακα. 297 00:13:40,190 --> 00:13:43,270 Θέλετε να είναι σε θέση να συνεργάτης πλήκτρα με αξίες. 298 00:13:43,270 --> 00:13:44,200 Κλειδιά με τις τιμές. 299 00:13:44,200 --> 00:13:45,640 Τι είναι ένα λεξικό, πραγματικά; 300 00:13:45,640 --> 00:13:47,080 Καλά είναι ένα σωρό κλειδιά. 301 00:13:47,080 --> 00:13:50,320 Λέξεις όπως μήλο, αχλάδι, μπανάνα και, και όλα αυτά τα αγγλικών λέξεων 302 00:13:50,320 --> 00:13:51,490 ότι το χέρι σας. 303 00:13:51,490 --> 00:13:54,820 >> Και οι αξίες που είστε αποτελεσματικά εισαγωγή στο λεξικό σας 304 00:13:54,820 --> 00:13:57,790 είτε είναι αλήθεια, ή η απουσία, ψευδής. 305 00:13:57,790 --> 00:14:00,540 Με άλλα λόγια τοποθετείτε ένα σωρό βασικά ζευγάρια αξίας, 306 00:14:00,540 --> 00:14:03,720 μήλο, αλήθεια, αχλάδι, αλήθεια, μπανάνα, αλήθεια. 307 00:14:03,720 --> 00:14:07,446 Έτσι ώστε, όταν εσείς ανακτήσετε ή να δείτε μέχρι εκείνη στοιχεία του πίνακα κατακερματισμού σας 308 00:14:07,446 --> 00:14:10,070 με λειτουργία ελέγχου σας, είστε είτε να πάρει πίσω μια απάντηση, 309 00:14:10,070 --> 00:14:13,260 Ναι, το βρήκα στο συγκρότημα μου hash πίνακα, ή όχι, δεν είναι εκεί, 310 00:14:13,260 --> 00:14:14,540 έτσι ώστε να επιστρέφει false. 311 00:14:14,540 --> 00:14:19,440 >> Έτσι για να το κάνουμε αυτό, το μόνο που χρειάζεστε είναι το δεδομένα δομή, όπως είχα προτείνει πριν. 312 00:14:19,440 --> 00:14:22,050 Απλά πρέπει να είναι σε θέση να συνδέσει τις λέξεις 313 00:14:22,050 --> 00:14:25,570 όπως, παραθέτω χωρίς εισαγωγικά, σύμβολο, με αξία όπως, αλήθεια. 314 00:14:25,570 --> 00:14:27,090 Έτσι υπάρχει πίνακας κατακερματισμού μου. 315 00:14:27,090 --> 00:14:28,180 Ας πραγματικά να το χρησιμοποιήσετε. 316 00:14:28,180 --> 00:14:30,310 Έτσι, υπάρχει μερικές λειτουργίες Θα πρέπει να εφαρμόσουν. 317 00:14:30,310 --> 00:14:33,300 Πάω να πάει μπροστά και να δαγκώνουν έξω από μια λειτουργία που ονομάζεται μέγεθος. 318 00:14:33,300 --> 00:14:34,390 Δεν λαμβάνει επιχειρήματα. 319 00:14:34,390 --> 00:14:36,660 Δεν έχω να ασχοληθείτε με η λέξη, κενό, στην PHP. 320 00:14:36,660 --> 00:14:38,770 Είμαι απλώς πρόκειται να επιστρέψει μέγεθος. 321 00:14:38,770 --> 00:14:41,287 >> Και, παρεμπιπτόντως, PHP έχει Αυτό minorly ενοχλητικό λεπτομέρεια, 322 00:14:41,287 --> 00:14:44,620 όπου αν κάτι είναι παγκόσμιο, θα πρέπει να πείτε τη λειτουργία με την οποία χρησιμοποιείτε 323 00:14:44,620 --> 00:14:46,220 αυτό, hey, αυτό είναι μια καθολική μεταβλητή. 324 00:14:46,220 --> 00:14:49,330 Έτσι, ήσσονος σημασίας ανοησία, αλλά μπορείτε πρέπει να το κάνουμε, ωστόσο. 325 00:14:49,330 --> 00:14:50,920 >> Έτσι τι γίνεται με το φορτίο; 326 00:14:50,920 --> 00:14:52,990 Πάω να εφαρμόσουν μια λειτουργία που ονομάζεται φορτίο 327 00:14:52,990 --> 00:14:56,790 που παίρνει το όνομα ενός λεξικού, όπως ακριβώς και στο πρόβλημα που πέντε. 328 00:14:56,790 --> 00:14:59,554 Και πριν προχωρήσω, παρατηρήσετε ότι δεν έχω 329 00:14:59,554 --> 00:15:00,970 έχουν την πληκτρολόγηση πολύ τα ίδια πράγματα. 330 00:15:00,970 --> 00:15:06,060 Τι είναι προφανώς διαφορετικά στην PHP για πώς μπορείτε να κηρύξει μια λειτουργία σε σχέση με C; 331 00:15:06,060 --> 00:15:06,616 Ναι. 332 00:15:06,616 --> 00:15:07,490 Κοινό: [δεν ακούγεται] 333 00:15:07,490 --> 00:15:08,573 ΟΜΙΛΗΤΗΣ 1: Όχι τύπος επιστροφής. 334 00:15:08,573 --> 00:15:12,350 Και πράγματι, αυτή είναι η περίπτωση, PHP στο βαθμό που αυτό είναι χαλαρά δακτυλογραφημένες, 335 00:15:12,350 --> 00:15:14,190 είναι επίσης λίγο τσαπατσούλης με αυτή την έννοια. 336 00:15:14,190 --> 00:15:17,680 Δεν καθορίζετε ως προγραμματιστής τι επιστρέφει η λειτουργία αυτή. 337 00:15:17,680 --> 00:15:20,490 Θα πρέπει να δούμε πραγματικά τον κώδικα για να καταλάβω. 338 00:15:20,490 --> 00:15:22,670 Ή να διαβάσετε τα σχόλια ή την τεκμηρίωση. 339 00:15:22,670 --> 00:15:24,870 Έτσι συν και τα πλην της Αυτά τα είδη των αποφάσεων. 340 00:15:24,870 --> 00:15:26,750 Αλλά έχω να πω η λέξη κλειδί, λειτουργία. 341 00:15:26,750 --> 00:15:28,360 Και όταν μαθαίνουμε JavaScript σε μερικές εβδομάδες 342 00:15:28,360 --> 00:15:31,026 θα πάμε να δούμε το ίδιο πράγμα και πάλι, αλλά είναι η ίδια ιδέα. 343 00:15:31,026 --> 00:15:34,220 Το όνομα της συνάρτησης, το επιχείρημα της ή επιχειρήματα ή την έλλειψη αυτών, και τώρα 344 00:15:34,220 --> 00:15:35,630 εδώ είναι η εφαρμογή. 345 00:15:35,630 --> 00:15:38,860 >> Έτσι, Πάω να κόψετε μερικές γωνίες μόνο να είναι δραματικές για μια στιγμή. 346 00:15:38,860 --> 00:15:40,485 Αλλά Πάω να πάει μπροστά και να το πω αυτό. 347 00:15:40,485 --> 00:15:44,890 Αυτό είναι το πώς μπορώ να φορτώσει ένα αρχείο σε έναν πίνακα. 348 00:15:44,890 --> 00:15:47,580 Υπάρχει μια λειτουργία σε PHP που ονομάζεται αρχείο. 349 00:15:47,580 --> 00:15:49,300 Μπορείτε να το όνομα ενός αρχείου χέρι. 350 00:15:49,300 --> 00:15:53,950 Είναι τα χέρια σας πίσω μια σειρά, μέσα της οποίας είναι κάθε γραμμή από το αρχείο. 351 00:15:53,950 --> 00:15:56,480 Από το μηδέν, ένα, στο επάνω για ν μείον 1 γραμμές. 352 00:15:56,480 --> 00:15:57,210 Αυτό είναι, σωστά; 353 00:15:57,210 --> 00:15:57,990 Δεν υπάρχει στ ανάγνωσης. 354 00:15:57,990 --> 00:15:58,826 Δεν υπάρχει στ πάρουμε το s. 355 00:15:58,826 --> 00:15:59,700 Δεν υπάρχει τοις εκατό s. 356 00:15:59,700 --> 00:16:00,420 Δεν υπάρχει καμία πονοκεφάλους. 357 00:16:00,420 --> 00:16:01,220 Δεν υπάρχει feof. 358 00:16:01,220 --> 00:16:03,950 Όλα αυτά τα πράγματα με τα οποία έχετε ίσως πάλη, 359 00:16:03,950 --> 00:16:06,550 με π έθεσε τέσσερις και πέντε, πηγαίνει μακριά. 360 00:16:06,550 --> 00:16:09,450 >> Έτσι, μόλις διάβασα αυτές τις γραμμές σε το αρχείο, και στη συνέχεια, ξέρετε τι; 361 00:16:09,450 --> 00:16:15,510 Αν θέλω να μετακινηθείτε πάνω σε αυτές τις λέξεις, Που μπορώ να κάνω, για κάθε γραμμή γραμμές. 362 00:16:15,510 --> 00:16:19,992 Να θυμάστε ότι αυτό ήταν το είδος του ένας έξυπνος τρόπο η διάσχιση των στοιχείων ενός πίνακα, ο δείκτης 363 00:16:19,992 --> 00:16:25,090 σύμφωνα με το δείκτη, και σε κάθε επανάληψη κλήσης η τρέχουσα γραμμή, σημάδι γραμμής του δολαρίου. 364 00:16:25,090 --> 00:16:31,560 Και ακριβώς εδώ Πάω να πάει και λένε πίνακα, βραχίονα, γραμμή, γίνεται αλήθεια. 365 00:16:31,560 --> 00:16:35,880 >> Με άλλα λόγια, αυτό είναι το πώς θα εισαγωγής στον πίνακα κατακερματισμού μου στην PHP. 366 00:16:35,880 --> 00:16:38,740 Λέω σύμβολο του δολαρίου πίνακα, ο οποίος είναι προσεταιριστική σειρά μου, που ήταν 367 00:16:38,740 --> 00:16:40,690 Σύμφωνα με την κενή γραμμή κώδικα από πάνω. 368 00:16:40,690 --> 00:16:42,790 Στη συνέχεια ο δείκτης σε αυτό όχι, χρησιμοποιώντας έναν αριθμό, 369 00:16:42,790 --> 00:16:45,300 αλλά κυριολεκτικά τη χρήση του λέξη-κλειδί που με νοιάζει. 370 00:16:45,300 --> 00:16:47,730 Ίσως είναι το μήλο ή αχλάδι ή μπανάνα ή οτιδήποτε άλλο, 371 00:16:47,730 --> 00:16:51,645 αλλά ειδικά είμαι ευρετήριο σε αυτό όπως είχα προτείνει νωρίτερα. 372 00:16:51,645 --> 00:16:53,770 Παίρνω το όνομά του μου συνειρμική σειρά, και στη συνέχεια θα 373 00:16:53,770 --> 00:16:56,450 χρησιμοποιούν εισαγωγικά παραθέτω στην αγκύλες με ένα κορδόνι, 374 00:16:56,450 --> 00:16:58,490 αντί ενός πραγματικού αριθμού. 375 00:16:58,490 --> 00:17:00,250 >> Και έτσι αυτό είναι όλο. 376 00:17:00,250 --> 00:17:01,720 Η λειτουργία του φορτίου γίνεται. 377 00:17:01,720 --> 00:17:05,119 Από τη στιγμή που βρόχος επαναλαμβάνει, έχω βάλει τα πάντα στον πίνακα κατακερματισμού. 378 00:17:05,119 --> 00:17:07,810 Τώρα μικρή αποκήρυξη, υπάρχει μια ζευγάρι πράγματα που χρειάζεται να διορθώσετε. 379 00:17:07,810 --> 00:17:10,030 Και η έκδοση θα αναρτούν στο Διαδίκτυο θα έχουν όλες τις αποχρώσεις, 380 00:17:10,030 --> 00:17:12,670 αλλά είναι ως επί το πλείστον ακριβώς πρόκειται να υπάρξει κάποια ο έλεγχος σφαλμάτων και κάποιες μικρές tweaks. 381 00:17:12,670 --> 00:17:14,044 Αλλά αυτό είναι πράγματι η ουσία του. 382 00:17:14,044 --> 00:17:16,750 Αν τώρα θέλετε να υλοποιήσετε η λειτουργία που ονομάζεται 383 00:17:16,750 --> 00:17:19,869 ελέγξτε, η οποία αναμένει λέξη ως επιχείρημα, 384 00:17:19,869 --> 00:17:22,099 Πως θα πάτε για να κάνει αυτό; 385 00:17:22,099 --> 00:17:30,020 Λοιπόν, είμαι απλώς πρόκειται να πω, αν εσωτερικό του πίνακα μου, στη λέξη τοποθεσία, 386 00:17:30,020 --> 00:17:30,652 εάν έχει οριστεί. 387 00:17:30,652 --> 00:17:32,360 Έτσι, αν υπάρχει is-- στην πραγματικότητα, ξέρετε τι; 388 00:17:32,360 --> 00:17:34,830 Πάω να το κάνω σε ένα κομμάτι του ψευδοκώδικα. 389 00:17:34,830 --> 00:17:36,020 Αλλά η ιδέα είναι η ίδια. 390 00:17:36,020 --> 00:17:41,640 Αν αυτό ισούται αλήθεια, να επιστρέψει αλήθεια. 391 00:17:41,640 --> 00:17:43,890 Εντάξει. 392 00:17:43,890 --> 00:17:46,851 Else-- μπορείτε να δείτε το είδος της όπου αυτό going-- να επιστρέψει false. 393 00:17:46,851 --> 00:17:47,350 Έγινε. 394 00:17:47,350 --> 00:17:49,640 Έλεγχος γίνεται. 395 00:17:49,640 --> 00:17:50,940 >> Πολύ ωραία, έτσι δεν είναι; 396 00:17:50,940 --> 00:17:52,560 Και έτσι τι είναι αυτό πραγματικά να πάρει σε; 397 00:17:52,560 --> 00:17:53,680 Και αυτό το πάρα πολύ, έχω κόψει μερικές γωνίες. 398 00:17:53,680 --> 00:17:56,020 Δείτε την έκδοση σε απευθείας σύνδεση για όλες τις ελαφρές αποχρώσεις. 399 00:17:56,020 --> 00:17:57,103 Αλλά αυτή είναι η ουσία του. 400 00:17:57,103 --> 00:17:59,080 Δείκτης σε σας associative πίνακα, γνωστός και ως 401 00:17:59,080 --> 00:18:02,910 Πίνακας κατακερματισμού, να δούμε αν υπάρχει μια τιμή εκεί, αν είναι οριστεί σε true, και αν ναι, 402 00:18:02,910 --> 00:18:03,930 return true. 403 00:18:03,930 --> 00:18:05,819 Έτσι έχουμε μειώνονται όλα της πολυπλοκότητας. 404 00:18:05,819 --> 00:18:07,110 Έτσι, το είδος του μυαλού φυσώντας, σωστά; 405 00:18:07,110 --> 00:18:09,680 Εγώ δεν θα ενοχλεί τελειώνοντας με ξεφορτώσουν, επειδή σε fact-- OH, ξέρετε τι; 406 00:18:09,680 --> 00:18:11,620 Ναι, ας το τελειώσουμε με ξεφορτώσουν. 407 00:18:11,620 --> 00:18:18,940 >> Ξεφορτώνουν σε έναν πίνακα κατακερματισμού μπορεί να μοιάζει όπως ξεφορτώνουν λειτουργίας, επιστρέφετε. 408 00:18:18,940 --> 00:18:19,930 Εντάξει έτσι ώστε να είναι ξεφορτώσουν. 409 00:18:19,930 --> 00:18:21,350 Επειδή δεν υπάρχει τίποτα να ξεφορτώσουν, σωστά; 410 00:18:21,350 --> 00:18:22,170 Δεν υπάρχει malloc. 411 00:18:22,170 --> 00:18:24,280 Δεν είχα ζητήσει ρητά η το λειτουργικό σύστημα για τίποτα. 412 00:18:24,280 --> 00:18:25,571 Μόλις άρχισα χρησιμοποιώντας μεταβλητές. 413 00:18:25,571 --> 00:18:30,510 Και έτσι αυτό είναι πάρα πολύ μια εκδήλωση χαρακτηριστικά του υψηλότερου επιπέδου γλώσσες. 414 00:18:30,510 --> 00:18:32,940 Έτσι και πάλι, οι περισσότεροι από αυτού του όρου έχουμε ήδη ασχολούνται εδώ κάτω 415 00:18:32,940 --> 00:18:34,280 με Γ Σούπερ χαμηλό επίπεδο. 416 00:18:34,280 --> 00:18:35,980 Μπορείτε να δείτε τη μνήμη του υπολογιστή. 417 00:18:35,980 --> 00:18:38,440 Μπορείτε να αγγίξετε οτιδήποτε θέλετε στη μνήμη RAM του υπολογιστή σας, 418 00:18:38,440 --> 00:18:39,440 προς το καλύτερο ή προς το χειρότερο. 419 00:18:39,440 --> 00:18:41,760 >> Μέχρι εδώ, θα πάμε να εγκαταλείψει την εξουσία αυτή. 420 00:18:41,760 --> 00:18:44,730 Αλλά ο Θεός μου, κοίτα πώς πολύ λιγότερο κώδικα που έγραψα. 421 00:18:44,730 --> 00:18:47,660 Στην πραγματικότητα, αν δεν ήταν μιλάμε και μιλάμε για δακτυλογράφηση μου, 422 00:18:47,660 --> 00:18:50,190 θα έπρεπε να είχε γίνει με Αυτό το παράδειγμα πριν από πέντε λεπτά. 423 00:18:50,190 --> 00:18:52,150 Έτσι, τι καταβάλλεται το τίμημα; 424 00:18:52,150 --> 00:18:54,100 Λοιπόν ας ρίξουμε μια ματιά. 425 00:18:54,100 --> 00:18:55,340 Ας ρίξουμε μια ματιά. 426 00:18:55,340 --> 00:18:59,340 Πάω να πάει μπροστά και να τρέξει CS50. 427 00:18:59,340 --> 00:19:02,160 Επιτρέψτε μου πρώτα να πάω στο παραδείγματα όπου σήμερα 428 00:19:02,160 --> 00:19:03,970 Έχω τον κατάλογο κείμενα όπως και πριν. 429 00:19:03,970 --> 00:19:08,520 Πάω να εκτελέσετε τη λύση που έρχεται με το πρόβλημα που καλείται πέντε 430 00:19:08,520 --> 00:19:11,190 Ορθογράφος, που βρίσκεται στο λογαριασμό του CS50. 431 00:19:11,190 --> 00:19:14,040 >> Και Πάω να τρέξει σε κάτι είναι μεγάλο σαν το βασιλιά James Bible, 432 00:19:14,040 --> 00:19:16,547 ακριβώς έτσι ότι θα τεθεί πραγματικά η λύσεις προσωπικό για τη δοκιμή. 433 00:19:16,547 --> 00:19:19,130 Τώρα μερικές φορές το διαδίκτυο είναι ένα λίγο πιο αργά, λίγο πιο γρήγορα, 434 00:19:19,130 --> 00:19:20,338 μπορεί να πάρει λίγο χρόνο για να μετακινηθείτε. 435 00:19:20,338 --> 00:19:23,730 Αλλά χρειάστηκαν συνολικά 0,56 δευτερόλεπτα να ορθογραφικό έλεγχο του King James 436 00:19:23,730 --> 00:19:25,150 Αγία Γραφή χρησιμοποιώντας τη λύση του προσωπικού. 437 00:19:25,150 --> 00:19:25,620 Έτσι, αρκετά καλή. 438 00:19:25,620 --> 00:19:27,786 Δικός σου μπορεί να είναι πολύ πιο αργή, και αυτό είναι εντελώς καλά. 439 00:19:27,786 --> 00:19:30,090 Αλλά εδώ είναι σωστή. 440 00:19:30,090 --> 00:19:32,440 Έτσι, αυτή είναι η λύση του προσωπικού. 441 00:19:32,440 --> 00:19:34,785 Αν πάω και να καθαρίσει την έκδοση της PHP. 442 00:19:34,785 --> 00:19:36,990 Και Πάω να κάνω μια μικρή όπως δείχνουν ψήσιμο πράγμα. 443 00:19:36,990 --> 00:19:39,720 Εμείς πάμε για να πάρει τον κώδικα που έγραψα νωρίτερα, γι 'αυτό είναι απόλυτα σωστό. 444 00:19:39,720 --> 00:19:42,678 Επειδή ο κώδικας που έγραψα δεν πρόκειται να είναι απολύτως σωστό μόλις τώρα. 445 00:19:42,678 --> 00:19:47,310 Αλλά εάν εκτελέσετε την έκδοση της PHP, Τι πρέπει να εγκαταλείψουν σήμερα; 446 00:19:47,310 --> 00:19:49,980 Μου πήρε πέντε λεπτά για να εφαρμογή σ έθεσε πέντε, αξιώνω. 447 00:19:49,980 --> 00:19:51,770 Τι τιμή έχουν πληρώνομαι; 448 00:19:51,770 --> 00:19:52,270 Ναι. 449 00:19:52,270 --> 00:19:52,937 >> Κοινό: Ταχύτητα. 450 00:19:52,937 --> 00:19:53,645 ΟΜΙΛΗΤΗΣ 1: Ταχύτητα. 451 00:19:53,645 --> 00:19:54,380 Τι εννοείς? 452 00:19:54,380 --> 00:19:55,230 >> Κοινό: Δεν πρόκειται να διαρκέσει περισσότερο. 453 00:19:55,230 --> 00:19:55,660 >> ΟΜΙΛΗΤΗΣ 1: Εντάξει. 454 00:19:55,660 --> 00:19:56,160 Ας δούμε. 455 00:19:56,160 --> 00:19:59,590 Είναι πρόκειται να διαρκέσει περισσότερο, να μην γράψω, αλλά για να το τρέξει. 456 00:19:59,590 --> 00:20:00,090 Ναι. 457 00:20:00,090 --> 00:20:00,960 Οπότε ας προσπαθήσουμε αυτό. 458 00:20:00,960 --> 00:20:05,720 Έτσι, εδώ είμαι πρόκειται να πάει μπροστά και να κάνουμε PHP του Ορθογράφου, και επειδή το αρχείο του 459 00:20:05,720 --> 00:20:06,360 που ονομάζεται ορθογράφος. 460 00:20:06,360 --> 00:20:07,580 Έτσι, δεν είμαι τρέχει το λεξικό, ανάκληση, 461 00:20:07,580 --> 00:20:09,204 Τρέχω το πρόγραμμα που ονομάζεται ορθογράφος. 462 00:20:09,204 --> 00:20:12,450 Πάω να περάσετε με τον ίδιο αρχείο, King James το πέμπτο. 463 00:20:12,450 --> 00:20:14,377 Είναι πετούν από. 464 00:20:14,377 --> 00:20:17,210 Αυτό θα μπορούσε απλώς να είναι η ταχύτητα στο internet, έτσι δεν διαβάζει πάρα πολύ σε αυτό. 465 00:20:17,210 --> 00:20:21,680 Αλλά δεν αισθάνομαι πλέον σίγουρο. 466 00:20:21,680 --> 00:20:23,280 1,26 δευτερόλεπτα. 467 00:20:23,280 --> 00:20:25,150 >> Τώρα που είναι ακόμα αρκετά βλασφημία γρήγορα, σωστά; 468 00:20:25,150 --> 00:20:28,140 Και ο μόνος λόγος που ένιωσα περισσότερο σαν τρεις, ή τέσσερις, ή πέντε 469 00:20:28,140 --> 00:20:30,515 δευτερόλεπτα, αυτό είναι μόνο και μόνο επειδή το διαδίκτυο είναι αργή. 470 00:20:30,515 --> 00:20:33,980 Ο χρόνος που πέρασε ήταν ο υπολογιστής 1,26 δευτερόλεπτα, έναντι 0,56 νομίζω. 471 00:20:33,980 --> 00:20:35,880 Έτσι, περισσότερο από δύο φορές τόσο αργή. 472 00:20:35,880 --> 00:20:39,170 Τώρα αυτό είναι ακόμα αρκετά καταριέται γρήγορα, αλλά αυτό είναι μια εκδήλωση 473 00:20:39,170 --> 00:20:40,860 της, μάλιστα, ότι η ακριβής τιμή. 474 00:20:40,860 --> 00:20:43,460 >> Επειδή είμαστε διερμηνείας στη γραμμή κώδικα από τη γραμμή, 475 00:20:43,460 --> 00:20:46,740 και ότι το πρόγραμμα PHP διαβάζει μου κωδικός πάνω προς τα κάτω, αριστερά προς τα δεξιά, 476 00:20:46,740 --> 00:20:47,940 έχει να κάνει περισσότερο σκέψης. 477 00:20:47,940 --> 00:20:50,430 Πρέπει να μετατρέψετε το είδος του το εσωτερικό της ίδιας της 478 00:20:50,430 --> 00:20:53,464 με το αντίστοιχο μηχάνημα Κωδικός on the fly, να το πω έτσι, 479 00:20:53,464 --> 00:20:55,380 έστω και αν οι μηχανικοί είναι λίγο διαφορετικά. 480 00:20:55,380 --> 00:20:59,430 Αντί ακριβώς σίτιση ο Η Intel CPU οι πρώτες μηδενικά και μονάδες 481 00:20:59,430 --> 00:21:00,930 ότι αντιλαμβάνεται εγγενώς. 482 00:21:00,930 --> 00:21:04,110 >> Έτσι απολύτως, τα χέρια κάτω, έχουμε πληρώσει ένα τίμημα. 483 00:21:04,110 --> 00:21:09,120 Και κώδικα γραμμένο σε μια γλώσσα όπως η PHP τείνει να είναι πιο αργή. 484 00:21:09,120 --> 00:21:10,050 Αλλά ο Θεός μου. 485 00:21:10,050 --> 00:21:12,740 Έτσι τώρα, όταν ορθογραφικό έλεγχο μου αρχείο, έχω δαπανήσει επιπλέον 0,7 486 00:21:12,740 --> 00:21:17,280 ή έτσι δευτερόλεπτα vs 20 ώρας για την υλοποίηση μια ταχύτερη ορθογραφικό έλεγχο, σωστά; 487 00:21:17,280 --> 00:21:18,397 Είναι το είδος του ένα εμπόριο off. 488 00:21:18,397 --> 00:21:20,980 Και αν είστε λίγο ξεκινάμε σ έθεσε πέντε, μπορεί να μην είναι 20 ώρες. 489 00:21:20,980 --> 00:21:22,188 Μπορεί να είναι πολύ λιγότερα από αυτό. 490 00:21:22,188 --> 00:21:23,600 Αλλά είναι ένας συμβιβασμός, για την πραγματική. 491 00:21:23,600 --> 00:21:27,820 Και αν τρέχετε κώδικας για πραγματικά μεγάλο σύνολα δεδομένων, ή ακόμη και σε παλιότερο υλικό, 492 00:21:27,820 --> 00:21:32,650 Αυτά τα είδη των διαφορών σίγουρα μπορεί να προσθέσει επάνω. 493 00:21:32,650 --> 00:21:34,880 >> Οποιεσδήποτε ερωτήσεις μέχρι στιγμής; 494 00:21:34,880 --> 00:21:35,617 Ναι. 495 00:21:35,617 --> 00:21:36,492 >> Κοινό: [δεν ακούγεται] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 ΟΜΙΛΗΤΗΣ 1: Συγγνώμη, μπορεί να θα το πω για άλλη μια φορά; 498 00:21:39,978 --> 00:21:40,853 Κοινό: [δεν ακούγεται] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 ΟΜΙΛΗΤΗΣ 1: Δίνετε χρόνο. 501 00:21:44,700 --> 00:21:45,283 Λοιπόν, οπότε ναι. 502 00:21:45,283 --> 00:21:47,322 Είστε εξοικονόμηση χρόνου από την Δεν χρειάζεται να το υπολογίσουν, 503 00:21:47,322 --> 00:21:48,530 αν αυτό είναι αυτό που ζητάς. 504 00:21:48,530 --> 00:21:50,710 Και πράγματι, σε CS50, τα περισσότερα από τα προγράμματα, 505 00:21:50,710 --> 00:21:53,668 παρόλο που μπορεί να πάρει λίγο χρόνο να γράψει, είναι σχετικά μικρή. 506 00:21:53,668 --> 00:21:56,860 Μερικές δεκάδες, μερικές εκατοντάδες γραμμές κώδικα, και έτσι συγκεντρώνουν αρκετά γρήγορα. 507 00:21:56,860 --> 00:21:58,470 Αλλά όταν ξεκινάτε γράφετε μεγαλύτερα προγράμματα, 508 00:21:58,470 --> 00:22:01,511 όπως και αν είστε Microsoft ή είστε Google και το γράψιμο πραγματικά μεγάλα προγράμματα 509 00:22:01,511 --> 00:22:05,360 σε C ή C ++, ή παρόμοια καταρτίζονται γλώσσες, θα μπορούσε να πάρει πολλά δευτερόλεπτα, 510 00:22:05,360 --> 00:22:08,577 ή ακόμα και λεπτά ή περισσότερο για να συγκεντρώνει εκατομμύρια γραμμές κώδικα. 511 00:22:08,577 --> 00:22:10,660 Και επίσης εκεί, ότι διαφορά πρόκειται να προσθέσει επάνω. 512 00:22:10,660 --> 00:22:12,840 >> Και στην πραγματικότητα, τη στιγμή που θα μετάβαση σήμερα, την ίδια μέρα 513 00:22:12,840 --> 00:22:15,910 Σήμερα, σε web προγραμματισμό χρησιμοποιώντας PHP, είστε 514 00:22:15,910 --> 00:22:18,460 Θα το βρείτε ακριβώς τόσο πολύ πιο ευχάριστη για να γράφουν κώδικα 515 00:22:18,460 --> 00:22:21,501 όταν δεν έχετε να κάνετε αυτά τα ηλίθια μέτρα, όπως αλλαγή στο τερματικό σας 516 00:22:21,501 --> 00:22:24,202 παράθυρο, πληκτρολογήστε make Γεια σας, εκ νέου να τρέξει, τοποθετήστε ξανά το παράθυρο. 517 00:22:24,202 --> 00:22:25,910 Ακριβώς τόσα πολλά ηλίθια μηχανικά βήματα που 518 00:22:25,910 --> 00:22:28,480 απλά να πάρει με τον τρόπο του να κάνει Το ενδιαφέρον, η διασκέδαση εργασίας. 519 00:22:28,480 --> 00:22:31,450 Και πράγματι θα ρίξει μακριά ότι με την PHP. 520 00:22:31,450 --> 00:22:34,960 Και μπορούμε να αλληλεπιδράσουμε με πιο γρήγορα. 521 00:22:34,960 --> 00:22:35,495 Ναι. 522 00:22:35,495 --> 00:22:36,370 Κοινό: [δεν ακούγεται] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 ΟΜΙΛΗΤΗΣ 1: Σίγουρα. 525 00:22:40,960 --> 00:22:42,876 Μπορώ να διευκρινίσει τι σημαίνει να ερμηνευθεί; 526 00:22:42,876 --> 00:22:45,870 Κατά τη μεταγλώττιση μια γλώσσα όπως η C, κατεβαίνει 527 00:22:45,870 --> 00:22:48,140 όπως είπαμε στη μηχανή κώδικα, μηδενικά και μονάδες. 528 00:22:48,140 --> 00:22:51,860 Και η Intel αποφάσισε πριν από χρόνια ότι ορισμένα σχέδια από μηδενικά και μονάδες 529 00:22:51,860 --> 00:22:56,220 αντιπροσωπεύουν προσθήκη ή αφαίρεση, ή εκτύπωσης, ή άλλες βασικές λειτουργίες. 530 00:22:56,220 --> 00:23:00,250 Στον κόσμο του ερμηνευμένη γλώσσα όπως η PHP ή JavaScript ή Python, 531 00:23:00,250 --> 00:23:03,120 ή Ruby, ή τσαμπιά άλλοι, αντί κάποιος 532 00:23:03,120 --> 00:23:05,120 Έχει γράψει ένα interpreter-- σε αυτή την περίπτωση, 533 00:23:05,120 --> 00:23:09,770 είναι επίσης ονομάζεται PHP, ταυτίζεται με το το όνομα του language-- ότι, κατ 'ουσίαν 534 00:23:09,770 --> 00:23:13,840 έχει ένα μεγάλο βρόχο σε αυτό που επαναλαμβάνει πάνω από όλες τις γραμμές του κώδικα 535 00:23:13,840 --> 00:23:18,170 ότι ταΐζω ως πρώτη ύλη, όπως γειά σου dot PHP, ή λεξικό dot PHP. 536 00:23:18,170 --> 00:23:21,760 >> Και τότε μπορείτε να σκεφτείτε τους μεγάλους βρόχου όπως έχει πολλές προϋποθέσεις. 537 00:23:21,760 --> 00:23:26,340 Και οι όροι αυτοί λένε, αν η ανθρωπίνων έχει γράψει τη λέξη-κλειδί για την, 538 00:23:26,340 --> 00:23:28,470 να αρχίσει να κάνει του ή της κωδικό ξανά και ξανά. 539 00:23:28,470 --> 00:23:31,360 Ή αν ο άνθρωπος έχει γραπτή τη γραμμή του κώδικα, 540 00:23:31,360 --> 00:23:34,880 εάν, μόνο εκτελούν τους επόμενη γραμμή όρους. 541 00:23:34,880 --> 00:23:37,740 Έτσι είναι πραγματικά σαν διερμηνείας σε ένα ανθρώπινη αίσθηση, γραμμή 542 00:23:37,740 --> 00:23:39,660 από τη γραμμή, και ότι παίρνει ακριβώς το χρόνο. 543 00:23:39,660 --> 00:23:41,340 Παίρνει πάνω από το κεφάλι. 544 00:23:41,340 --> 00:23:44,189 Και έτσι αυτό είναι ένα price-- καλό question-- πληρώνουμε. 545 00:23:44,189 --> 00:23:46,480 Ας κάνουμε άλλο ένα demo Αυτό είναι λίγο πιο δραματική. 546 00:23:46,480 --> 00:23:51,160 Υπάρχει, θα έλεγα, μια εξέδρα σε αυτό μια πιθανότητα 90% των μη φρικτά, 547 00:23:51,160 --> 00:23:53,869 αλλά θα εκπλαγείτε με 10% πιθανότητα. 548 00:23:53,869 --> 00:23:55,660 Έτσι, κάθε χρόνο προσπαθούμε για να γίνει αυτό, με το οποίο 549 00:23:55,660 --> 00:23:59,061 προσπαθήστε να γράψετε ένα πρόγραμμα που περνά μέσα πρόβλημα που μηδέν, για το οποίο έχετε 550 00:23:59,061 --> 00:24:02,060 υποβάλλονται αριθμούς τηλεφώνου και σας πολλές άλλες δημογραφικές πληροφορίες, 551 00:24:02,060 --> 00:24:06,030 και προγραμματισμού μπορείτε να στείλετε ένα μήνυμα κειμένου. 552 00:24:06,030 --> 00:24:08,540 Και τότε το τηλέφωνο του καθενός θα αρχίσει να ηχεί ή δόνησης, 553 00:24:08,540 --> 00:24:11,460 και είναι απλά εκπληκτικό, επειδή καλά, να δούμε τι μπορούν να κάνουν οι υπολογιστές. 554 00:24:11,460 --> 00:24:13,840 >> Αυτή η σπάνια λειτουργεί σωστά φαίνεται, σε μεγάλο βαθμό 555 00:24:13,840 --> 00:24:16,800 γιατί συνήθως στη μαύρη λίστα από το Gmail ή κάποια άλλη υπηρεσία 556 00:24:16,800 --> 00:24:19,630 για πραγματικά προσπαθεί να κάνει αυτό σε κλίμακα. 557 00:24:19,630 --> 00:24:24,940 Αλλά αστείο πράγμα είναι πάρα πολύ, δεδομένου ότι Δεν έχουν όλοι εδώ σήμερα, 558 00:24:24,940 --> 00:24:27,690 διασκέδαση πραγματικότητα, η τελευταία φορά που δοκιμάσει αυτό πριν από δύο χρόνια, 559 00:24:27,690 --> 00:24:30,870 Νομίζω ότι έγραψα ένα πρόγραμμα ότι κάθισε σε μια θηλιά την επανάληψη 560 00:24:30,870 --> 00:24:34,040 πάνω από όλα τους μαθητές στην τάξη, και το καθένα από αυτά ένα μήνυμα κειμένου, 561 00:24:34,040 --> 00:24:37,534 και είπε κάτι σαν, γιατί δεν είσαι στη διάλεξη; 562 00:24:37,534 --> 00:24:39,170 Αγάπη, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> Δεν έχεις ιδέα πόσα απολογητική και το είδος των επώδυνων e-mail 564 00:24:42,580 --> 00:24:46,970 Έχω λάβει απάντηση από το n μείον 100 ανθρώπους που δεν ήταν εδώ 565 00:24:46,970 --> 00:24:47,960 εκείνη την ημέρα. 566 00:24:47,960 --> 00:24:52,116 Και ακόμα πιο αστείο, πιο επαίσχυντη story-- ξέρετε, ας το βάλει εκεί έξω. 567 00:24:52,116 --> 00:24:53,740 Είναι ήδη σε βίντεο σε λίγα χρόνια πίσω. 568 00:24:53,740 --> 00:24:56,810 Έτσι, θα δείτε μου σύντομα γράφετε για το βρόχο, σύμφωνα με την οποία 569 00:24:56,810 --> 00:25:00,640 Είναι πολύ εύκολο να γράψει ένα σφάλμα στο ότι για το βρόχο, έτσι ώστε η πρώτη φορά 570 00:25:00,640 --> 00:25:02,800 μέσω του βρόχου, που στείλετε ένα μήνυμα κειμένου. 571 00:25:02,800 --> 00:25:06,190 >> Τη δεύτερη φορά μέσω του βρόχου μου θα πρέπει να έχουν στείλει ακόμα ένα μήνυμα κειμένου, 572 00:25:06,190 --> 00:25:08,250 και στη συνέχεια ένα ακόμη κείμενο μηνύματος, και ένα ακόμη. 573 00:25:08,250 --> 00:25:11,490 Αλλά τελικά, αν κάνετε ένα τυπογραφικό λάθος κατά τον προγραμματισμό, μερικές φορές σας 574 00:25:11,490 --> 00:25:14,460 μπορούν να γράψουν προγράμματα που στέλνουν ένα μήνυμα κειμένου, στη συνέχεια, δύο μηνύματα κειμένου, 575 00:25:14,460 --> 00:25:18,742 Στη συνέχεια τρία μηνύματα κειμένου σε όλους ο οποίος έχει ήδη λάβει ένα γραπτό μήνυμα. 576 00:25:18,742 --> 00:25:21,450 Και όπως ξέρετε, να κάνει κάτι, συν κάτι, συν κάτι, 577 00:25:21,450 --> 00:25:25,910 συν κάτι, είναι μεγάλο O παρτίδας των μηνυμάτων κειμένου, ή ν τετράγωνο, 578 00:25:25,910 --> 00:25:29,830 ή σε $ 0,10 το μήνυμα κειμένου, $ 20.000. 579 00:25:29,830 --> 00:25:33,700 >> Ευτυχώς έχω πατήστε Control-C πριν από αυτό συνέβη, αλλά είχα οφείλουμε τουλάχιστον ένα 580 00:25:33,700 --> 00:25:37,550 από τους προκατόχους σας $ 20 για το 200 ορισμένα περίεργα μηνύματα κειμένου ότι, 581 00:25:37,550 --> 00:25:40,450 όχι μόνο πήγε στο τηλέφωνό του, αλλά Επίσης, ήταν σαν ένα παλαιότερο flip τηλέφωνο 582 00:25:40,450 --> 00:25:43,520 γι 'αυτό ήθελε βγει έξω από του μνήμη κάθε άλλη προσωπική κείμενο 583 00:25:43,520 --> 00:25:45,930 μήνυμα που είχε πάρει πραγματικά. 584 00:25:45,930 --> 00:25:49,250 Έτσι έχουμε έναν στόχο σήμερα, για να μην το κάνουμε αυτό. 585 00:25:49,250 --> 00:25:50,620 Ίσως να ενεργοποιήσετε τη λειτουργία του αεροπλάνου. 586 00:25:50,620 --> 00:25:51,120 Εντάξει. 587 00:25:51,120 --> 00:25:56,590 Ας πάμε σε ένα το πρόγραμμα εδώ callled-- 588 00:25:56,590 --> 00:25:59,060 ότι θα καλέσω το κείμενο τελεία PHP. 589 00:25:59,060 --> 00:26:01,074 Και εκ των προτέρων, έχω δύο αρχεία εδώ. 590 00:26:01,074 --> 00:26:06,030 Έκανα ένα αρχείο μόνο για το προσωπικό, που πήρε το σύνολο των πληροφοριών του προσωπικού, όλα τα ονόματα 591 00:26:06,030 --> 00:26:07,260 από την ιστοσελίδα του μαθήματος. 592 00:26:07,260 --> 00:26:09,756 Και στη συνέχεια, για τώρα έβαλα μόνο μερικά ψεύτικο αριθμούς 555-1212. 593 00:26:09,756 --> 00:26:11,380 Έτσι, αυτά δεν θα ήταν στην πραγματικότητα πάει πουθενά. 594 00:26:11,380 --> 00:26:15,140 Αλλά παρατηρήσετε το εσωτερικό αυτού του αρχείου CSV, το οποίο μιλήσαμε λίγο πριν 595 00:26:15,140 --> 00:26:16,540 στο πλαίσιο του φακέλου IO. 596 00:26:16,540 --> 00:26:18,730 >> Τι είναι ένα αρχείο CSV; 597 00:26:18,730 --> 00:26:19,970 Διαχωρισμένες με κόμμα μεταβλητές. 598 00:26:19,970 --> 00:26:24,400 Και αυτό είναι το είδος του σαν ένα πολύ ελαφριά βάση δεδομένων, αν θέλετε. 599 00:26:24,400 --> 00:26:28,650 Υπάρχει το είδος του είδους τέσσερις στήλες σε αυτό το αρχείο, και εκεί οδοντωτές, 600 00:26:28,650 --> 00:26:32,400 αλλά τα κόμματα, κατ 'ουσίαν αντιπροσωπεύουν στήλες στο αρχείο. 601 00:26:32,400 --> 00:26:35,400 Η πρώτη στήλη είναι το TF ή το όνομα ΑΠ. 602 00:26:35,400 --> 00:26:37,800 Δεύτερη στήλη είναι το επώνυμό τους. 603 00:26:37,800 --> 00:26:39,820 Τρίτη στήλη είναι ο αριθμός τηλεφώνου τους. 604 00:26:39,820 --> 00:26:44,760 Και τέταρτη στήλη is-- προφανώς τέταρτη στήλη είναι προφανώς αυτό; 605 00:26:44,760 --> 00:26:45,870 Εντάξει, έτσι είναι φορέας τους. 606 00:26:45,870 --> 00:26:47,180 Έτσι, η Verizon, Sprint ή, ή τι όχι. 607 00:26:47,180 --> 00:26:48,620 Και αν έκανε λάθος νωρίτερα, CSV. 608 00:26:48,620 --> 00:26:51,800 Τιμές διαχωρισμένες με κόμμα είναι εδώ CSV. 609 00:26:51,800 --> 00:26:54,260 >> Λοιπόν, τι μπορώ να κάνω με αυτό; 610 00:26:54,260 --> 00:26:56,940 Λοιπόν αυτό είναι απλά ένα μεγάλο αρχείο κειμένου, και αυτό είναι το είδος των μεγάλων, έτσι δεν είναι; 611 00:26:56,940 --> 00:26:58,690 Όπως και αυτό πρόκειται να είναι το είδος των ενοχλητικό. 612 00:26:58,690 --> 00:27:03,510 Και αποδεικνύεται, όμως, ότι αν θέλετε να στείλετε ένα μήνυμα κειμένου σε, ας 613 00:27:03,510 --> 00:27:05,180 λένε Άλεξ εδώ. 614 00:27:05,180 --> 00:27:09,690 Επιτρέψτε μου να πάω στο πρόγραμμα περιήγησής μου και να βγείτε από την λειτουργία πλήρους οθόνης 615 00:27:09,690 --> 00:27:11,660 μόνο έτσι μπορώ να εναλλαγή και πίσω. 616 00:27:11,660 --> 00:27:20,280 Αποδεικνύεται, ας δούμε, αν πάω στην εδώ και συνδεθείτε στο Gmail, εντάξει. 617 00:27:20,280 --> 00:27:22,950 Μην κοιτάς αυτό το μέρος. 618 00:27:22,950 --> 00:27:23,880 Απλά έχω να δω. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 φυσικά το Livestream μπορεί εξακολουθούν να βλέπουν τι κάνω. 621 00:27:28,800 --> 00:27:29,360 Εντάξει. 622 00:27:29,360 --> 00:27:31,850 >> Τόσο εδώ είναι ακριβώς το Gmail με Λογαριασμό του Ιωάννη του Χάρβαρντ. 623 00:27:31,850 --> 00:27:34,000 Έτσι, αν θέλετε να στείλετε ένα μήνυμα κειμένου στον Alex, 624 00:27:34,000 --> 00:27:35,530 Μπορώ να συνθέσουν φυσικά ένα μήνυμα. 625 00:27:35,530 --> 00:27:38,410 Και αποδεικνύεται, και έχω δοκιμάσαμε με τον Alex πριν από εδώ, 626 00:27:38,410 --> 00:27:42,260 ώστε να μπορείτε να προσθέσετε ένα συγκεκριμένο τομέα αναφέρουμε τους αριθμούς τηλεφώνου των ανθρώπων, 627 00:27:42,260 --> 00:27:45,850 επειδή υπάρχει στον κόσμο πράγματα που ονομάζεται SMS στο ηλεκτρονικό ταχυδρομείο πύλες. 628 00:27:45,850 --> 00:27:50,000 Ποια είναι ένα φανταχτερό τρόπο λέγοντας όλων εμείς που έχουμε τα κινητά τηλέφωνα που 629 00:27:50,000 --> 00:27:53,200 έχουν αριθμούς τηλεφώνου, φυσικά, μάλλον υπάρχει για το φορέα σας, 630 00:27:53,200 --> 00:27:56,840 ένα συγκεκριμένο επίθημα όπως στο Vtext.com για την Verizon μήνυμα κειμένου 631 00:27:56,840 --> 00:28:00,320 dot com, που μπορείτε να προσθέσετε για να σας δική προσωπικό αριθμό τηλεφώνου, και στη συνέχεια 632 00:28:00,320 --> 00:28:03,540 εσείς ή οι φίλοι ή οι γονείς σας μπορεί να Σας κείμενο σε αυτή τη συγκεκριμένη διεύθυνση. 633 00:28:03,540 --> 00:28:07,380 >> Και η Verizon έχει ένα διακομιστή, ένα e-mail εξυπηρετητή, ότι με τη λήψη αυτό το email, 634 00:28:07,380 --> 00:28:11,180 κοιτάζει το αριθμητικό τμήμα και, στη συνέχεια, χρησιμοποιεί ανεξάρτητα βιομηχανία ειδικού μαγεία 635 00:28:11,180 --> 00:28:14,540 πρέπει να το στείλει στην πραγματικότητα πάνω τα ραδιοκύματα σε συγκεκριμένα κινητό σας 636 00:28:14,540 --> 00:28:15,040 τηλέφωνο. 637 00:28:15,040 --> 00:28:18,030 Τώρα αυτό είναι ωραίο, διότι εγώ δεν κάνω πραγματικά γνωρίζουν πώς να στείλετε ένα μήνυμα κειμένου 638 00:28:18,030 --> 00:28:20,460 ή να γράφουν κώδικα ακόμα για το κινητό μου τηλέφωνο, 639 00:28:20,460 --> 00:28:23,580 και μπορείτε να κάνετε ακριβώς αυτό για το ένα τελικό σχέδιο, αλλά προς το παρόν όλα 640 00:28:23,580 --> 00:28:24,770 Έχω laptop μου είναι εδώ. 641 00:28:24,770 --> 00:28:29,830 Θέλω, λοιπόν, να επαναλάβει τη διάρκεια αυτής της CSV αρχείο, γραμμή, γραμμή, γραμμή, γραμμή, 642 00:28:29,830 --> 00:28:35,160 αρπάξει κάθε ένα από τους αριθμούς τηλεφώνου του προσωπικού, και φορέα και programatically τους, 643 00:28:35,160 --> 00:28:39,770 συνένωση, δηλαδή, συνδέστε το τηλέφωνο αριθμό με το κατάλληλο όνομα τομέα 644 00:28:39,770 --> 00:28:40,820 και στη συνέχεια να στείλει ένα email. 645 00:28:40,820 --> 00:28:41,940 >> Οπότε αυτό είναι ένα πολλά βήματα. 646 00:28:41,940 --> 00:28:45,530 Και καλή τύχη το κάνουμε αυτό σε C. Είναι ένας εφιάλτης μιας κατάστασης 647 00:28:45,530 --> 00:28:48,350 για να ανοίξετε ένα αρχείο, για να το διαβάσετε γραμμή, γραμμή, γραμμή, όπως σας 648 00:28:48,350 --> 00:28:51,100 Βλέπουμε, ή μπορεί να δούμε σύντομα με το πρόβλημα που πέντε, αν όχι 649 00:28:51,100 --> 00:28:53,560 πρόβλημα έθεσε τέσσερις, και στη συνέχεια, να ενώσετε δυναμικά 650 00:28:53,560 --> 00:28:57,020 δύο χορδές μαζί, γιατί σε C, να λάβει δύο χορδές και να τα συνδυάσουν, 651 00:28:57,020 --> 00:29:00,900 τι κάνετε ελάχιστα Πρέπει να κάνουμε πιο πιθανό; 652 00:29:00,900 --> 00:29:03,020 Χρειάζεται να δηλώσει περισσότερη μνήμη, έτσι δεν είναι; 653 00:29:03,020 --> 00:29:04,710 Και να ρωτήσω, malloc, μπορώ να έχω περισσότερη μνήμη; 654 00:29:04,710 --> 00:29:07,060 Έτσι μπορώ να βάλω το μισό από αυτό Εδώ, το μισό από αυτό εδώ. 655 00:29:07,060 --> 00:29:08,150 Είναι ακριβώς τόσο πολλά βήματα. 656 00:29:08,150 --> 00:29:10,310 Και από εκείνο το σημείο που έχετε χάσει ενδιαφέρον για το ηλίθιο μικρό demo 657 00:29:10,310 --> 00:29:11,851 όπου μπορείτε να κάνετε το τηλέφωνό ήχος του καθενός. 658 00:29:11,851 --> 00:29:14,590 Ας κάνουμε αυτό το είδος της PHP στυλ, οπότε εμείς απλά 659 00:29:14,590 --> 00:29:16,210 αρχίσετε να χρησιμοποιείτε περισσότερα από ότι νεροχύτη της κουζίνας. 660 00:29:16,210 --> 00:29:18,050 >> Και οι ιδέες είναι ουσιαστικά το ίδιο, 661 00:29:18,050 --> 00:29:20,710 αλλά δεν χρειάζεται να ανησυχείτε πάρα πολύ πολύ για αυτό το κατώτερο επίπεδο. 662 00:29:20,710 --> 00:29:22,950 Ας δούμε λοιπόν πώς θα μπορούσα κάνετε για αυτό. 663 00:29:22,950 --> 00:29:26,664 Και ακριβώς έτσι ότι δεν επαναλάβετε τα λάθη του παρελθόντος, 664 00:29:26,664 --> 00:29:28,330 Έχω γράψει μερικές σημειώσεις για τον εαυτό μου εδώ. 665 00:29:28,330 --> 00:29:31,070 Και ας δούμε αν μπορώ να τα πόδια μας μέσα από μερικά από τα βασικά βήματα, 666 00:29:31,070 --> 00:29:33,861 και, στη συνέχεια, για χάρη του χρόνου θα ίσως κόψετε μερικές γωνίες στο τέλος. 667 00:29:33,861 --> 00:29:38,007 Πάω να πάει μπροστά και να κάνουμε ανοιχτό βραχίονα PHP για να αρχίσει αυτό το αρχείο. 668 00:29:38,007 --> 00:29:39,590 Και Πάω να προχωρήσει και να το κάνουμε αυτό. 669 00:29:39,590 --> 00:29:41,490 Χειρισμού αρχείων, όπως θα δείτε σύντομα, στην πραγματικότητα 670 00:29:41,490 --> 00:29:44,790 καλεί μια συνάρτηση f λέγεται ανοιχτή. 671 00:29:44,790 --> 00:29:46,280 Και να θυμάστε αυτό ανοίγει ένα αρχείο. 672 00:29:46,280 --> 00:29:48,800 Και το απόσπασμα, unquote, r σημαίνει αυτό, και πάλι; 673 00:29:48,800 --> 00:29:49,800 Απλά ανοίξτε για ανάγνωση. 674 00:29:49,800 --> 00:29:51,210 Τώρα στο σύνολο σ για, κάνατε αυτό. 675 00:29:51,210 --> 00:29:54,500 Και χειριστεί μπορούσε να είναι οτιδήποτε, fu, μπαρ, ανάγλυφο, το όνομα οποιασδήποτε μεταβλητής. 676 00:29:54,500 --> 00:29:57,470 Αλλά γενικά ένας υπολογιστής επιστήμονας θα αποκαλούσα ένα ανοικτό αρχείο, 677 00:29:57,470 --> 00:30:00,962 δίνοντάς σας μια λαβή αρχείο, κάτι για να κρατήσουν να το πω έτσι. 678 00:30:00,962 --> 00:30:02,670 Είμαι ακριβώς πρόκειται να κάνει μερικό έλεγχο σφαλμάτων. 679 00:30:02,670 --> 00:30:07,260 Έτσι, αν η λαβή είναι ψευδής, όπως ακριβώς σε C, Πάω να κάνω κάτι τέτοιο, 680 00:30:07,260 --> 00:30:09,545 Δεν θα μπορούσε να ανοίξει το αρχείο, ανάστροφη κάθετο n. 681 00:30:09,545 --> 00:30:11,420 Και τότε είμαι απλώς πρόκειται να προχωρήσει και έξοδο. 682 00:30:11,420 --> 00:30:14,340 Και αποδεικνύεται, σε PHP, Δεν είμαι μέσα σε μια συνάρτηση. 683 00:30:14,340 --> 00:30:16,160 Δεν υπάρχει καμία κύρια λειτουργία εδώ. 684 00:30:16,160 --> 00:30:17,450 Γι 'αυτό και δεν επιστρέφουν, per se. 685 00:30:17,450 --> 00:30:18,120 Θα βγείτε. 686 00:30:18,120 --> 00:30:19,619 Που είναι ουσιαστικά το ίδιο πράγμα. 687 00:30:19,619 --> 00:30:22,510 Και είμαι εξέρχονται με μία ομάδα πιθανώς. 688 00:30:22,510 --> 00:30:24,220 Ένας σημαίνει απλά ένα λάθος κάποιου είδους. 689 00:30:24,220 --> 00:30:25,580 Είναι μη-μηδενική, γι 'αυτό είναι ένα λάθος. 690 00:30:25,580 --> 00:30:30,220 >> Εντάξει, οπότε αν είμαι εδώ κάτω τώρα στο πρόγραμμά μου, έχω ανοίξει το αρχείο. 691 00:30:30,220 --> 00:30:34,250 Πάω να πάει μπροστά και να κηρύξει μια σειρά που ονομάζεται διευθύνσεις, 692 00:30:34,250 --> 00:30:38,610 και C θα πρέπει να γνωρίζουν το το μέγεθος της συστοιχίας των προτέρων, έτσι δεν είναι; 693 00:30:38,610 --> 00:30:41,910 Ή θα πρέπει να το δηλώσει είναι ένας δείκτης, και στη συνέχεια χρησιμοποιήστε malloc. 694 00:30:41,910 --> 00:30:44,720 Και στη συνέχεια, κάθε φορά που διαβάζω μέσα από μια άλλη σειρά στο αρχείο, 695 00:30:44,720 --> 00:30:46,620 Πάω να πρέπει να malloc περισσότερη μνήμη, malloc περισσότερη μνήμη. 696 00:30:46,620 --> 00:30:47,703 Αυτό είναι ένας πόνος στο λαιμό. 697 00:30:47,703 --> 00:30:50,950 Και ευτυχώς, PHP, και Ruby, και Python, και JavaScript, που 698 00:30:50,950 --> 00:30:53,880 θα αυξηθεί συστοιχίες σας για εσάς αυτόματα. 699 00:30:53,880 --> 00:30:54,830 Δεν υπάρχει πλέον η malloc. 700 00:30:54,830 --> 00:30:56,227 Δεν υπάρχει πλέον η διαχείριση μνήμης. 701 00:30:56,227 --> 00:30:57,560 Ο υπολογιστής φροντίζει για αυτό. 702 00:30:57,560 --> 00:31:00,330 Αλλά η τιμή που πληρώνετε. 703 00:31:00,330 --> 00:31:01,350 Είναι λίγο πιο αργά. 704 00:31:01,350 --> 00:31:03,190 Και για ένα πρόγραμμα όπως αυτό Εμείς δεν πρόκειται να παρατηρήσετε. 705 00:31:03,190 --> 00:31:04,720 Εμείς πάμε για να στείλει 100 μηνύματα κειμένου. 706 00:31:04,720 --> 00:31:06,136 Για παράδειγμα, δεν πρόκειται να το αισθανθούν. 707 00:31:06,136 --> 00:31:08,430 Είναι πραγματικά ξεκινά μόνο σε σημασία γλώσσα της επιλογής σας 708 00:31:08,430 --> 00:31:11,490 όταν τα δεδομένα σας ή τα προγράμματά σας να πάρει πραγματικά, πραγματικά αρκετά μεγάλη, 709 00:31:11,490 --> 00:31:14,120 ως θα είναι η περίπτωση περισσότερο με web-based πράγματά μας. 710 00:31:14,120 --> 00:31:15,450 >> Αλλά για τώρα ας προχωρήσουμε. 711 00:31:15,450 --> 00:31:20,120 Ενώ αποδεικνύεται ότι υπάρχει μια συνάρτηση σε C ονομάζεται στ πάρει CSV. 712 00:31:20,120 --> 00:31:24,570 Αρχείο πάρει CSV, ότι παίρνει μια αρχείο λαβή ως επιχείρημα, 713 00:31:24,570 --> 00:31:28,810 και προχωρεί στη συνέχεια, σειρά, από σειρά, από σειρά, να διαβάσει σε μια σειρά. 714 00:31:28,810 --> 00:31:30,964 Γι 'αυτό ακριβώς διαβάζει μια γραμμή του κειμένου από το αρχείο. 715 00:31:30,964 --> 00:31:34,130 Αλλά τι είναι καλό για τη λειτουργία αυτή, αυτό δεν είναι μόνο το χέρι μου μια γραμμή κειμένου. 716 00:31:34,130 --> 00:31:37,320 Φαίνεται για τα εν λόγω κόμματα, και αναλύει τη γραμμή. 717 00:31:37,320 --> 00:31:41,740 Και για να αναλύσει τη γραμμή σημαίνει να χωρίσει αυτό σε ορισμένες τιμές σε αυτό το πλαίσιο. 718 00:31:41,740 --> 00:31:45,510 >> Με άλλα λόγια, το σύμβολο του δολαρίου σειρά είναι μια μεταβλητή που είναι 719 00:31:45,510 --> 00:31:47,010 πρόκειται να μου δώσει μια δέσμη των δεικτών. 720 00:31:47,010 --> 00:31:49,635 Αυτό πρόκειται να είναι η πρώτη στήλη CSV μου. 721 00:31:49,635 --> 00:31:52,510 Αυτό θα είναι το δεύτερο στήλη, αυτό θα είναι το τρίτο, 722 00:31:52,510 --> 00:31:53,968 και αυτό πρόκειται να είναι το τέταρτο. 723 00:31:53,968 --> 00:31:57,440 Επειδή ανάκληση, το Excel και το όχι συνεργάζεται, η τελευταία φορά που το έκανε αυτό, 724 00:31:57,440 --> 00:32:03,350 αλλά αν μπορώ να κατεβάσω το προσωπικό dot CSV. 725 00:32:03,350 --> 00:32:04,940 Ωχ, δεν μετονομάσετε. 726 00:32:04,940 --> 00:32:09,120 Αν μπορώ να κατεβάσω dot προσωπικό CSV, και δοκιμάστε να το ανοίξετε, 727 00:32:09,120 --> 00:32:12,510 Έχω ήδη registered-- Ω δεν ενημέρωσε το Excel από την τελευταία φορά. 728 00:32:12,510 --> 00:32:15,880 Θα δείτε ότι στην κουκίδα του προσωπικού CSV, έχω τέσσερις στήλες. 729 00:32:15,880 --> 00:32:18,720 Έτσι, όταν διάβασα στο πρώτη γραμμή για Abby εδώ, 730 00:32:18,720 --> 00:32:23,582 σύμβολο του δολαρίου γραμμή 0 είναι Άμπι, σύμβολο του δολαρίου μία σειρά είναι Λυών, 731 00:32:23,582 --> 00:32:27,740 σύμβολο του δολαρίου σειρά δύο είναι ο αριθμός της, και, στη συνέχεια, τηλέφωνο μεταφορέα της. 732 00:32:27,740 --> 00:32:28,410 >> Έτσι, αυτό είναι όλο. 733 00:32:28,410 --> 00:32:30,740 Και αυτό είναι καλό, γιατί Δεν χρειάζεται να καταλάβω τώρα 734 00:32:30,740 --> 00:32:32,800 όπου όλα αυτά τα κόμματα είναι στην πραγματικότητα. 735 00:32:32,800 --> 00:32:35,300 Έτσι, Πάω να πάει μπροστά και να να το κάνετε αυτό, δεδομένου ότι ο ορισμός αυτός, 736 00:32:35,300 --> 00:32:38,960 Πάω να πω ότι το όνομά της είναι στο βραχίονα σειρά μηδέν, όπως είχε υποσχεθεί. 737 00:32:38,960 --> 00:32:41,150 Και Πάω να grab-- και στην πραγματικότητα, ξέρετε τι; 738 00:32:41,150 --> 00:32:42,780 Είμαι δεν πρόκειται να ανησυχείτε για το όνομά της, σε αυτή την περίπτωση. 739 00:32:42,780 --> 00:32:43,988 Πάω να κρατήσει το απλούστερο. 740 00:32:43,988 --> 00:32:48,610 Πάω να κάνω το νούμερό της είναι στο βραχίονα σειρά δύο, νομίζω. 741 00:32:48,610 --> 00:32:50,510 Και την καριέρα της ήταν στο πού; 742 00:32:50,510 --> 00:32:53,405 Row τρία, το ένα πάνω. 743 00:32:53,405 --> 00:32:54,280 Έτσι, τίποτα νέο εκεί. 744 00:32:54,280 --> 00:32:56,770 Είναι ακριβώς μηδέν ευρετηρίαση σε μια σειρά. 745 00:32:56,770 --> 00:32:58,760 >> Και τώρα, πάω να κάνω το εξής. 746 00:32:58,760 --> 00:33:03,930 Αν ο φορέας ισούται ισούται με την AT & T-- Είμαι ακριβώς πρόκειται να έχουν μια loop-- 747 00:33:03,930 --> 00:33:06,790 Θέλω να δημιουργήσω ένα e-mail διεύθυνση που μοιάζει με αυτό. 748 00:33:06,790 --> 00:33:12,320 Είναι πρόκειται να είναι 617-555-1212 σε, τι είναι αυτό, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 είναι ό, τι θέλω να κάνω. 750 00:33:13,490 --> 00:33:15,260 Λοιπόν, πώς μπορώ να το κάνω αυτό; 751 00:33:15,260 --> 00:33:16,730 Πάω να κάνω το εξής. 752 00:33:16,730 --> 00:33:22,460 Η διεύθυνσή του θα είναι τον αριθμό της, και τώρα, επιτρέψτε μου να προχωρήσει και να το κάνουμε αυτό. 753 00:33:22,460 --> 00:33:23,760 Αυτό είναι ένα funky σύνταξη. 754 00:33:23,760 --> 00:33:27,250 Θα μπορούσα να κάνω το ποσοστό s τέχνασμα, αλλά στην πραγματικότητα μπορώ να κάνω ακριβώς αυτό. 755 00:33:27,250 --> 00:33:29,900 >> Έτσι, αυτό είναι ένα PHP πράγμα, αλλά Ας εξετάσουμε τι κάνω. 756 00:33:29,900 --> 00:33:31,630 Δολάρια υπογράψει τη διεύθυνση στην το αριστερό, μόνο μια μεταβλητή. 757 00:33:31,630 --> 00:33:32,300 Δώσε μου μια μεταβλητή. 758 00:33:32,300 --> 00:33:33,390 Δεν έχω να καθορίσετε τον τύπο. 759 00:33:33,390 --> 00:33:34,570 PHP θα το καταλάβω. 760 00:33:34,570 --> 00:33:36,580 Στη δεξιά πλευρά, τι είναι ο τύπος δεδομένων 761 00:33:36,580 --> 00:33:38,399 της όλο αυτό το πράγμα για η δεξιά πλευρά; 762 00:33:38,399 --> 00:33:40,190 Μοιάζει με ένα κορδόνι, επειδή υπάρχει διπλό 763 00:33:40,190 --> 00:33:42,280 αναφέρει σχετικά με την άκρα αριστερά και την άκρα δεξιά. 764 00:33:42,280 --> 00:33:44,210 Τώρα υπάρχει κάποια funky νέα σύνταξη εδώ. 765 00:33:44,210 --> 00:33:47,550 Υπάρχουν τα άγκιστρα, και ο αριθμός σύμβολο του δολαρίου. 766 00:33:47,550 --> 00:33:52,860 Αλλά να μαντέψετε τι είναι αυτό το συντακτικό πιθανώς λέει PHP να κάνει για μένα; 767 00:33:52,860 --> 00:33:53,360 Ναι. 768 00:33:53,360 --> 00:33:54,630 Απλά τοποθετήστε την τιμή εκεί. 769 00:33:54,630 --> 00:33:55,530 Έτσι, δεν έχει τοις εκατό s. 770 00:33:55,530 --> 00:33:58,160 Θα μπορούσαμε να χρησιμοποιήσουμε εκτύπωσης στ, ή s στ εκτύπωσης ή κάτι σαν αυτό, 771 00:33:58,160 --> 00:34:00,070 αλλά PHP και πολλά υψηλότερου επιπέδου γλώσσες, 772 00:34:00,070 --> 00:34:03,070 θα πάμε να δούμε ότι θα μπορούσατε κάνουν το ίδιο πράγμα λειτουργικά, ίσως 773 00:34:03,070 --> 00:34:04,019 έξι διαφορετικούς τρόπους. 774 00:34:04,019 --> 00:34:06,310 Και έτσι αρχίζει να γίνεται ένα θέμα σχεδιασμού ή το στυλ. 775 00:34:06,310 --> 00:34:09,902 Έτσι, αυτό είναι απλά ένα κρυπτικό τρόπο που κοιτάζει της λέει, να μου δώσει μια διεύθυνση ηλεκτρονικού ταχυδρομείου, 776 00:34:09,902 --> 00:34:12,110 αλλά plug-in στον αριθμό μεταξύ αυτών αγκύλες. 777 00:34:12,110 --> 00:34:15,440 Και τα άγκιστρα δεν θα καταλήξουν στην τελική διεύθυνση. 778 00:34:15,440 --> 00:34:18,010 >> Τώρα μπορούμε να υπερπηδήσει ορισμένα από τα Αυτές οι γραμμές για το καλό του χρόνου του. 779 00:34:18,010 --> 00:34:21,210 Έτσι, αν ένας φορέας ισούται ισούται με verHorizon-- κραυγών, 780 00:34:21,210 --> 00:34:24,989 Verizon-- θέλω να κάνω κάτι πολύ παρόμοια, στο οποίο η διεύθυνση παίρνει, 781 00:34:24,989 --> 00:34:27,569 παραθέτω, εισαγωγικά, σε αριθμό text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 Και τότε μπορώ να κάνω το ίδιο είδος πράγμα για το υπόλοιπο των μεταφορέων. 784 00:34:35,050 --> 00:34:37,090 Αλλά θα το κάνω μόνο τελεία, τελεία, τελεία για τώρα. 785 00:34:37,090 --> 00:34:43,050 Και τώρα ας υποθέσουμε ότι Θέλω να προσθέσω σειρά, πιέστε. 786 00:34:43,050 --> 00:34:45,969 Θέλω να προσθέσω στην σειρά, που ονομάζεται διευθύνσεις. 787 00:34:45,969 --> 00:34:50,409 >> Αυτή η διεύθυνση, αυτό είναι το πώς θα προσθέσω κάτι σε μια σειρά στην PHP. 788 00:34:50,409 --> 00:34:51,610 Δεν χρειάζεται να κάνετε malloc. 789 00:34:51,610 --> 00:34:53,068 Δεν χρειάζεται να αλλάξετε το μέγεθος του πίνακα. 790 00:34:53,068 --> 00:34:54,259 Μπορείτε απλώς να πω σειρά, πιέστε. 791 00:34:54,259 --> 00:34:57,300 Τι θέλετε να push-- τι σειρά θέλετε να ωθήσει κάτι επάνω; 792 00:34:57,300 --> 00:34:58,000 Διευθύνσεις. 793 00:34:58,000 --> 00:34:59,550 Τι θέλετε να ωθήσει επάνω διευθύνσεις; 794 00:34:59,550 --> 00:35:00,350 Διεύθυνση. 795 00:35:00,350 --> 00:35:02,430 Και στην πραγματικότητα, αν θέλουν πραγματικά να είναι έξυπνος, 796 00:35:02,430 --> 00:35:05,610 κάποια συντακτική ζάχαρη γι 'αυτό, να το πω έτσι, 797 00:35:05,610 --> 00:35:10,230 που απλά σημαίνει πως μπορείτε να το κάνετε αυτό σε η πιο όμορφη τρόπο, θα ήταν να το κάνετε αυτό. 798 00:35:10,230 --> 00:35:14,060 Αυτό έχει επίσης ως αποτέλεσμα την αυξανόμενη η συστοιχία διευθύνσεις από το μέγεθος ενός, 799 00:35:14,060 --> 00:35:17,130 και, στη συνέχεια, ότι η πρόσθετη γδούπο διεύθυνση ηλεκτρονικού ταχυδρομείου σε αυτό. 800 00:35:17,130 --> 00:35:17,630 Ναι. 801 00:35:17,630 --> 00:35:19,730 >> Κοινό: [δεν ακούγεται] 802 00:35:19,730 --> 00:35:22,520 >> ΟΜΙΛΗΤΗΣ 1: Ένα τυπογραφικό λάθος σχετικά με την άλλο if-- OH, φορέα. 803 00:35:22,520 --> 00:35:23,070 Δεν πειράζει. 804 00:35:23,070 --> 00:35:26,971 Επίσης, δεν θα ήθελα να μου αποτυχία την υλοποίηση μέρους του προγράμματος αυτού 805 00:35:26,971 --> 00:35:27,470 αργότερα. 806 00:35:27,470 --> 00:35:28,810 Αλλά σας ευχαριστώ για την αλίευση. 807 00:35:28,810 --> 00:35:30,671 Ένα ακόμη bug. 808 00:35:30,671 --> 00:35:31,170 Ευχαριστώ. 809 00:35:31,170 --> 00:35:33,746 Θέλουμε αυτό να είναι Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Ναι. 811 00:35:34,340 --> 00:35:34,839 Εντάξει. 812 00:35:34,839 --> 00:35:36,330 Έτσι, όταν το κάνει αυτό μας αφήνουν; 813 00:35:36,330 --> 00:35:38,224 Έχουμε γράψει τον κώδικα για να ανοίξετε το αρχείο. 814 00:35:38,224 --> 00:35:40,390 Έχουμε ένα βρόχο για να μετακινηθείτε πάνω από τις γραμμές του αρχείου. 815 00:35:40,390 --> 00:35:43,650 Έχουμε κωδικό που προσθέτει μου συστοιχίας, ένα κάθε φορά, το σωστά 816 00:35:43,650 --> 00:35:44,790 διαμορφωμένη διεύθυνση ηλεκτρονικού ταχυδρομείου. 817 00:35:44,790 --> 00:35:48,480 Έτσι το μόνο που απομένει είναι πραγματικά για να στείλετε Ένα μήνυμα ηλεκτρονικού ταχυδρομείου σε κάθε ένα από αυτούς τους ανθρώπους. 818 00:35:48,480 --> 00:35:52,830 >> Έτσι έχω πάει μπροστά και να ετοιμάζεται εαυτό μου ως εξής. 819 00:35:52,830 --> 00:35:59,580 Τι Πάω να κάνω εδώ is-- και ας να προχωρήσει και να παραλείψετε σε κάποιο πραγματικό κώδικα, 820 00:35:59,580 --> 00:36:00,620 το οποίο μοιάζει με αυτό. 821 00:36:00,620 --> 00:36:02,950 Έτσι εδώ είναι η προ-ψημένο έκδοση έγραψα νωρίτερα. 822 00:36:02,950 --> 00:36:04,700 Και παρατηρήσετε Τελείωσα εφαρμογή της Sprint. 823 00:36:04,700 --> 00:36:06,130 Τελείωσα την εφαρμογή της T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Τελείωσα την εφαρμογή της Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 Και εγώ θα ζητήσω συγγνώμη εκ των προτέρων. 826 00:36:09,622 --> 00:36:12,080 Υπάρχουν μερικά φορέων που κάποιοι μαθητές στην τάξη έχουν 827 00:36:12,080 --> 00:36:14,640 ότι δεν έκαναν τον κόπο απαριθμώντας στο αν η κατάσταση εδώ. 828 00:36:14,640 --> 00:36:16,015 Έτσι, δεν είναι όλα τα κείμενα θα βγούμε έξω. 829 00:36:16,015 --> 00:36:17,556 Αλλά ας δούμε τι άλλο πρέπει να κάνω. 830 00:36:17,556 --> 00:36:19,660 Κλείνω το αρχείο, απλά όπως στο σ έθεσε τέσσερις. 831 00:36:19,660 --> 00:36:20,835 >> Και αυτό είναι το νέο σύνταξη. 832 00:36:20,835 --> 00:36:22,710 Και θα δούμε μια μικρή λίγο αυτή την πάροδο του χρόνου, 833 00:36:22,710 --> 00:36:24,450 ειδικά με ρ που επτά και οκτώ. 834 00:36:24,450 --> 00:36:28,140 Αλλά αυτό είναι σύνταξη για τη δημιουργία ένας ειδικός τύπος της δομής. 835 00:36:28,140 --> 00:36:31,490 Αποδεικνύεται ότι υπάρχει μια βιβλιοθήκη που έρχεται με την PHP, που ονομάζεται PHP πρόγραμμα ηλεκτρονικής αλληλογραφίας. 836 00:36:31,490 --> 00:36:33,840 Ο σκοπός του στη ζωή είναι να προγραμματισμού στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου. 837 00:36:33,840 --> 00:36:36,840 Είναι κώδικας κάποιος άλλος έγραψε ότι καθιστά πιο εύκολο για εμάς να στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου, 838 00:36:36,840 --> 00:36:39,131 έτσι δεν έχουμε να κρατήσει πηγαινοέρχονται στο Gmail, 839 00:36:39,131 --> 00:36:41,151 και επικόλληση σε διευθύνσεις ηλεκτρονικού ταχυδρομείου των ανθρώπων. 840 00:36:41,151 --> 00:36:44,150 Υπάρχει ένα σωρό γραμμές εδώ ότι ειλικρινά, έχω ακριβώς το είδος της αντιγραφεί 841 00:36:44,150 --> 00:36:45,660 και επικολληθεί από την τεκμηρίωση. 842 00:36:45,660 --> 00:36:47,409 Και στην πραγματικότητα, εάν είστε περίεργο, έφυγα από όλα 843 00:36:47,409 --> 00:36:50,550 από τις διευθύνσεις URL των εγγράφων στον κώδικα που θα δημοσιεύσετε αργότερα. 844 00:36:50,550 --> 00:36:52,360 Και παρατηρώ ότι μεταξύ των τα πράγματα που κάνω 845 00:36:52,360 --> 00:36:55,710 είναι, λέω ότι αυτή η βιβλιοθήκη, χρησιμοποιήσετε το διακομιστή του Gmail, σωστά; 846 00:36:55,710 --> 00:36:59,360 SMTP μιλήσαμε για λίγο για το πότε θα ήταν στο Yale για να είναι απλό ταχυδρομείο 847 00:36:59,360 --> 00:37:00,110 πρωτόκολλο μεταφοράς. 848 00:37:00,110 --> 00:37:02,920 Είναι το πρωτόκολλο που servers που χρησιμοποιούνται για να στείλετε e-mail, 849 00:37:02,920 --> 00:37:05,150 και that's-- Gmail έχει ένα από αυτά. 850 00:37:05,150 --> 00:37:07,290 Ένα λιμάνι, αυτός είναι ο αριθμός θύρας TCP. 851 00:37:07,290 --> 00:37:09,630 Είναι καλό, αν σας Δεν έχω δει πριν 587. 852 00:37:09,630 --> 00:37:11,420 Απλά ξέρω ότι από την τεκμηρίωση. 853 00:37:11,420 --> 00:37:12,250 Εδώ είναι το ψευδώνυμο μου. 854 00:37:12,250 --> 00:37:13,670 Πάω να χρησιμοποιήσετε το bot CF50. 855 00:37:13,670 --> 00:37:16,690 Και σε μια στιγμή, είμαι απλώς πρόκειται να πληκτρολογήσετε του bot πραγματική κωδικό πρόσβασης. 856 00:37:16,690 --> 00:37:18,690 Και στη συνέχεια, εδώ κάτω, παρατηρήστε τι παραμένει. 857 00:37:18,690 --> 00:37:22,840 >> Έθεσα μου από τη διεύθυνση να bot στο CS50.net. 858 00:37:22,840 --> 00:37:26,240 Νομίζω ότι δεν θα μετανιώσετε την αποστολή ενός μήνυμα κειμένου σε 800 ανθρώπους που 859 00:37:26,240 --> 00:37:30,590 λέει, λείπεις, αγάπη CS50 bot, ίσως για εκείνους που δεν μπορούσε να το κάνει σήμερα. 860 00:37:30,590 --> 00:37:33,160 Και στη συνέχεια της γραμμής 76, τι μπορώ να κάνω; 861 00:37:33,160 --> 00:37:39,010 Αυτό το είδος της μοιάζει Γ Οπότε για i ισούται με 0, n equals-- τώρα μετράνε είναι νέο. 862 00:37:39,010 --> 00:37:42,077 Αποδεικνύεται ότι αν θέλετε να πάρετε ο αριθμός των πράγματα σε μια σειρά, 863 00:37:42,077 --> 00:37:43,660 που δεν πρέπει να το θυμόμαστε πια. 864 00:37:43,660 --> 00:37:45,370 Μπορείτε να ζητήσετε απλά μια συνάρτηση που ονομάζεται μέτρηση, 865 00:37:45,370 --> 00:37:48,320 και θα σας πω πόσα διευθύνσεις βρίσκονται σε αυτή την σειρά. 866 00:37:48,320 --> 00:37:53,210 >> Και στη συνέχεια, Πάω να προσθέσετε η διεύθυνση στο μήνυμα. 867 00:37:53,210 --> 00:37:55,090 Και το ξέρω αυτό από χρησιμοποιώντας την τεκμηρίωση. 868 00:37:55,090 --> 00:37:56,900 Υπάρχει μια λειτουργία διεύθυνση πρόσθετο. 869 00:37:56,900 --> 00:37:58,980 Και σήμερα παρατηρούμε ότι υπάρχει Είναι ένα κομμάτι της σύνταξης. 870 00:37:58,980 --> 00:38:01,470 Το έχουμε δει αυτό πριν στο Γ συναφείς στο πνεύμα. 871 00:38:01,470 --> 00:38:04,100 Μπορείτε να σκεφτείτε το σύμβολο του δολαρίου mail και ένα μεταβλητό, το οποίο είναι. 872 00:38:04,100 --> 00:38:08,100 Αλλά είναι ένα struct στο εσωτερικό της η οποία δεν είναι μόνο ιδιότητες, 873 00:38:08,100 --> 00:38:09,400 μεταβλητές αν θέλετε. 874 00:38:09,400 --> 00:38:13,480 Αλλά αποδεικνύεται ότι στην PHP, της οποίας είναι μια αντικειμενοστραφή προγραμματισμό 875 00:38:13,480 --> 00:38:16,520 γλώσσας, όπως η Java αν πήρε APC. 876 00:38:16,520 --> 00:38:21,420 >> Σύμβολο του δολαρίου ταχυδρομείου, αν θέλετε to-- έχει επίσης λειτουργίες στο εσωτερικό του, 877 00:38:21,420 --> 00:38:22,380 ή μεθόδους. 878 00:38:22,380 --> 00:38:24,720 Έτσι, αυτό είναι να πούμε ότι ειδικές PHP πρόγραμμα ηλεκτρονικής αλληλογραφίας 879 00:38:24,720 --> 00:38:29,280 βιβλιοθήκη, αν έχω μια μεταβλητή αυτού, αν θέλω να καλέσω μια λειτουργία που 880 00:38:29,280 --> 00:38:31,559 έρχεται με την εν λόγω βιβλιοθήκη, για τους σκοπούς της σήμερα, 881 00:38:31,559 --> 00:38:33,100 μόλις ξέρετε ότι χρησιμοποιούμε τον συμβολισμό βέλος. 882 00:38:33,100 --> 00:38:34,150 Δεν υπάρχει συμβολισμό με την τελεία. 883 00:38:34,150 --> 00:38:35,220 Είναι ακριβώς το βέλος. 884 00:38:35,220 --> 00:38:36,380 Αλλά αυτό δεν είναι ένας δείκτης. 885 00:38:36,380 --> 00:38:38,680 Είναι απλά δανείστηκε από τη σύνταξη Γ. 886 00:38:38,680 --> 00:38:43,620 Έτσι καλέστε προσθέσετε τη διεύθυνση εσωτερικό του αντικειμένου ή μεταβλητής αυτής της βιβλιοθήκης. 887 00:38:43,620 --> 00:38:44,440 >> Εντάξει. 888 00:38:44,440 --> 00:38:45,570 Αυτή είναι η μαγική γραμμή. 889 00:38:45,570 --> 00:38:46,740 Αυτό είναι το πώς μπορώ να στείλω ένα μήνυμα ηλεκτρονικού ταχυδρομείου. 890 00:38:46,740 --> 00:38:50,040 Αυτό είναι το ισοδύναμο του ανοίγματος Το Gmail, το δακτυλογράφηση, και το χτύπημα να στείλετε. 891 00:38:50,040 --> 00:38:54,870 Αλλά πρόκειται να στείλει ένα αντί email σε αυτή τη διεύθυνση, με αυτό το σώμα, 892 00:38:54,870 --> 00:38:57,120 από το bot CS50. 893 00:38:57,120 --> 00:38:58,710 Και τώρα το κλειδί γραμμή. 894 00:38:58,710 --> 00:39:03,130 Η γραμμή αυτή απουσιάζει από το 2011, όπως όταν σκέφτομαι δοκίμασα για τελευταία φορά αυτό. 895 00:39:03,130 --> 00:39:05,640 Αυτή η γραμμή υπάρχει, φυσικά, καθαρίζει τις διευθύνσεις. 896 00:39:05,640 --> 00:39:07,920 Έτσι, λογικά, αν μου δεν ξεκαθαρίσουν τη διεύθυνση 897 00:39:07,920 --> 00:39:11,740 μετά από κάθε επανάληψη, η πρώτη e-mail ή μήνυμα κειμένου πηγαίνει στην Alice, 898 00:39:11,740 --> 00:39:14,320 η δεύτερη πηγαίνει στο Alice και ο Bob, ο τρίτος 899 00:39:14,320 --> 00:39:17,870 πηγαίνει στην Alice και ο Bob και ο Τσάρλι, εξ ου και η πολύ ακριβό λάθος 900 00:39:17,870 --> 00:39:18,760 Έκανα εκείνο το έτος. 901 00:39:18,760 --> 00:39:21,080 >> Ας δούμε λοιπόν. 902 00:39:21,080 --> 00:39:24,200 Υπάρχουν ερωτήσεις πριν σας αποστείλουμε όλοι ένα κείμενο 903 00:39:24,200 --> 00:39:28,210 Μήνυμα με 10 τοις εκατό πιθανότητα; 904 00:39:28,210 --> 00:39:28,940 Καμιά ερώτηση? 905 00:39:28,940 --> 00:39:30,330 Εντάξει. 906 00:39:30,330 --> 00:39:36,100 Ας μου να πάω εδώ και αλλαγή τον κωδικό πρόσβασης για το τι θα πρέπει να εργαστεί, 907 00:39:36,100 --> 00:39:37,780 κατά πάσα πιθανότητα θα πάρει στη μαύρη λίστα από το Gmail. 908 00:39:37,780 --> 00:39:39,821 Έτσι, μπορεί να μην πάμε όλοι έξω, διότι πιθανώς 909 00:39:39,821 --> 00:39:42,960 Δεν μας αρέσει η αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου 800 σε ένα βρόχο για όλα με τη μία. 910 00:39:42,960 --> 00:39:45,140 Δεδομένου ότι δεν είναι ιδιαίτερα την ανθρώπινη συμπεριφορά. 911 00:39:45,140 --> 00:39:47,460 >> Ω, είμαι πρόκειται να αλλάξει κάτι άλλο. 912 00:39:47,460 --> 00:39:50,850 Πάνω στην κορυφή, Πάω να sent-- αλλάξετε το αρχείο σε φοιτητές dot CSV. 913 00:39:50,850 --> 00:39:55,420 Και εγώ δεν θα ανοίξει αυτό, αλλά αυτό είναι ένα πανομοιότυπο αρχείο CSV με όχι 100 άτομα προσωπικό, 914 00:39:55,420 --> 00:39:58,970 αλλά 800 φοιτητές, από το Harvard, το Yale, διότι 915 00:39:58,970 --> 00:40:00,207 έχει εσοχή Οκτωβρίου του τρέχοντος εβδομάδα. 916 00:40:00,207 --> 00:40:03,290 Και φαίνεται σαν το είδος του πράγματος τράνταγμα να κάνει στο κείμενο όλα αυτά ως προς το γιατί 917 00:40:03,290 --> 00:40:04,750 ότι δεν είναι σε τάξη για διακοπές. 918 00:40:04,750 --> 00:40:05,250 Δεν πειράζει. 919 00:40:05,250 --> 00:40:08,310 Απλά φοιτητές του Χάρβαρντ Σήμερα στο εσωτερικό του εν λόγω αρχείου. 920 00:40:08,310 --> 00:40:12,320 Και τώρα ας πάμε πίσω στο τερματικό παράθυρό μου. 921 00:40:12,320 --> 00:40:13,710 Είμαι το είδος του νευρικού. 922 00:40:13,710 --> 00:40:22,000 >> Εντάξει έτσι τώρα είμαι πρόκειται να πάει στο κατάλογο, το κείμενο και PHP PHP τελεία. 923 00:40:22,000 --> 00:40:24,950 Τι θα λέγατε για ένα γενναίο εθελοντής; 924 00:40:24,950 --> 00:40:26,690 Έτσι, δεν θέλω αυτό για μένα. 925 00:40:26,690 --> 00:40:28,410 Εντάξει, έλα επάνω. 926 00:40:28,410 --> 00:40:29,162 Ποιο είναι το όνομά σου? 927 00:40:29,162 --> 00:40:29,662 MAYA: Μάγια. 928 00:40:29,662 --> 00:40:30,328 ΟΜΙΛΗΤΗΣ 1: Μάγια. 929 00:40:30,328 --> 00:40:31,610 Ελάτε επάνω, Μάγια. 930 00:40:31,610 --> 00:40:34,120 Εντάξει. 931 00:40:34,120 --> 00:40:35,389 Ας δούμε αν αυτό λειτουργεί. 932 00:40:35,389 --> 00:40:38,430 Έβαλα το δικό μου διεύθυνση e-mail στο file-- το δικό μου αριθμό τηλεφώνου στο αρχείο, 933 00:40:38,430 --> 00:40:40,110 έτσι ώστε να ελπίζω ότι θα πάρω ένα επίσης. 934 00:40:40,110 --> 00:40:40,819 Χάρηκα για τη γνωριμία. 935 00:40:40,819 --> 00:40:41,443 MAYA: Ομοίως. 936 00:40:41,443 --> 00:40:44,510 ΟΜΙΛΗΤΗΣ 1: Έτσι το μόνο που έχετε να κάνετε είναι να πατήστε Enter για να στείλει 800 μηνύματα κειμένου, 937 00:40:44,510 --> 00:40:45,466 αν δεν είχα βίδα. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Νίκαιας. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Θα μπορούσε να πάρει λίγο χρόνο, στατιστικά, μέχρι να φτάσουμε σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου address-- 942 00:40:58,430 --> 00:41:00,573 ένα μήνυμα κειμένου που είναι στην αίθουσα αυτή τη στιγμή. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Ας σταθώ και να δούμε. 945 00:41:05,390 --> 00:41:06,940 >> Κοινό: [σφύριγμα] 946 00:41:06,940 --> 00:41:08,270 >> ΟΜΙΛΗΤΗΣ 1: Ω, ναι. 947 00:41:08,270 --> 00:41:09,230 >> Κοινό: Ω, gotcha. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> ΟΜΙΛΗΤΗΣ 1: Για βρόχους are-- αυτό Δεν είναι αργή, λόγω της PHP. 950 00:41:19,180 --> 00:41:21,810 Αυτό είναι αργή, επειδή το Gmail μας στραγγαλισμού και όχι 951 00:41:21,810 --> 00:41:25,170 να μας στείλετε περισσότερες από σαν ένα email ανά δευτερόλεπτο. 952 00:41:25,170 --> 00:41:26,300 Οτιδήποτε; 953 00:41:26,300 --> 00:41:29,990 Αυτό ήταν ένα δύσκολο πράγμα για μένα να δοκιμάσει σε σπίτι μόνο με μένα και μου ένα τηλέφωνο, έτσι. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Είναι ότι ελπίζουμε από το bot; 956 00:41:41,111 --> 00:41:41,610 Ναι; 957 00:41:41,610 --> 00:41:42,110 Κανένα? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Πες ναι. 960 00:41:46,620 --> 00:41:47,479 Κανένα? 961 00:41:47,479 --> 00:41:49,374 Είναι από έναν φίλο; 962 00:41:49,374 --> 00:41:49,874 Αδέξιος. 963 00:41:49,874 --> 00:41:50,374 ΕΝΤΆΞΕΙ. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Αρκετά βέβαιος ότι λειτουργεί όμως. 966 00:42:00,090 --> 00:42:00,910 Ωχ. 967 00:42:00,910 --> 00:42:03,190 Οι black-- Ω, περιμένετε ένα λεπτό. 968 00:42:03,190 --> 00:42:04,280 Ω, ξέρετε τι; 969 00:42:04,280 --> 00:42:06,100 Μια στιγμή παρακαλώ. 970 00:42:06,100 --> 00:42:07,802 Μόνο Μάγια και I-- Mia, ήταν; 971 00:42:07,802 --> 00:42:08,301 MAYA: Μάγια. 972 00:42:08,301 --> 00:42:12,110 ΟΜΙΛΗΤΗΣ 1: Μάγια, πρόκειται να ξέρω τι έκανα λάθος εδώ. 973 00:42:12,110 --> 00:42:14,890 Περίμενε ένα λεπτό. 974 00:42:14,890 --> 00:42:23,320 Νομίζω ότι μόλις έστειλε 100 μηνύματα κειμένου σε 555-1212. 975 00:42:23,320 --> 00:42:24,346 Αναμονή. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Δεν μπορώ να κερδίσω κάποιο χρόνο. 978 00:42:29,270 --> 00:42:30,180 ΕΝΤΆΞΕΙ. 979 00:42:30,180 --> 00:42:30,680 Μάγια; 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 Fix ότι στο post production. 982 00:42:36,219 --> 00:42:36,718 Διάολε! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Μετά από τη διεύθυνση. 985 00:42:40,390 --> 00:42:41,301 Εντάξει, να σταθεί με. 986 00:42:41,301 --> 00:42:41,800 Λυπάμαι. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Είναι οδυνηρό κάθε χρόνο. 989 00:42:47,080 --> 00:42:48,640 Εντάξει, μια στιγμή. 990 00:42:48,640 --> 00:42:50,530 Αυτό είναι καλό. 991 00:42:50,530 --> 00:42:54,010 Είμαι αντί πρόκειται να το κάνουμε αυτό. 992 00:42:54,010 --> 00:42:55,470 Διεύθυνση Εκτύπωση. 993 00:42:55,470 --> 00:42:56,030 Εντάξει, να σταθεί με. 994 00:42:56,030 --> 00:43:01,340 Εκτύπωση διευθύνσεις, βραχίονα i. 995 00:43:01,340 --> 00:43:02,710 Ναι, μου αρέσει αυτό. 996 00:43:02,710 --> 00:43:10,220 Δολάριο sign-- OK Θα εξηγήσω τι είμαι κάνει σε μια στιγμή, αφού έχω τρέξει αυτό. 997 00:43:10,220 --> 00:43:11,670 Κάθε χρόνο. 998 00:43:11,670 --> 00:43:13,125 Εντάξει, εδώ πηγαίνουμε. 999 00:43:13,125 --> 00:43:15,750 Έχω just-- και δεν θέλω να εμφανίζεται ο αριθμός τηλεφώνου του καθενός, 1000 00:43:15,750 --> 00:43:17,740 αλλά Μάγια μπορεί να επιβεβαιώσει με ένα νεύμα του κεφαλιού, 1001 00:43:17,740 --> 00:43:20,800 ότι βλέπει ο καθένας είναι τον αριθμό τηλεφώνου στην κατηγορία 1002 00:43:20,800 --> 00:43:26,750 ότι Πάω να αντιγράψετε στο ένα πρόγραμμα που ονομάζεται Gmail. 1003 00:43:26,750 --> 00:43:30,860 Και αν στο Gmail, τι θέλουμε να πούμε; 1004 00:43:30,860 --> 00:43:32,137 Μου λείπεις. 1005 00:43:32,137 --> 00:43:33,220 Love-- ότι δεν είναι από μένα. 1006 00:43:33,220 --> 00:43:35,230 Δεν έχω ακόμα χτύπημα αποστολή ακόμα. 1007 00:43:35,230 --> 00:43:39,450 Ας πάμε μπροστά και να κάνουμε αυτό, αν μπορώ να μεγεθύνετε. 1008 00:43:39,450 --> 00:43:40,300 ΕΝΤΆΞΕΙ. 1009 00:43:40,300 --> 00:43:42,480 Έτσι είμαι χρησιμοποιώντας ένα πρόγραμμα που ονομάζεται Gmail τώρα. 1010 00:43:42,480 --> 00:43:44,490 Αν Μάγια, θέλετε να κάντε κλικ στο κουμπί Αποστολή, 1011 00:43:44,490 --> 00:43:46,970 θα μιμηθεί αυτό που κώδικας θα πρέπει να έχουν κάνει. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Οτιδήποτε; 1014 00:43:55,254 --> 00:43:56,062 >> [ΜΠΙΠ] 1015 00:43:56,062 --> 00:43:56,870 >> Κοινό: Ναι. 1016 00:43:56,870 --> 00:43:58,030 >> ΟΜΙΛΗΤΗΣ 1: Ναι; 1017 00:43:58,030 --> 00:43:59,210 Η σωτηρία; 1018 00:43:59,210 --> 00:44:00,427 >> Κοινό: Ναι. 1019 00:44:00,427 --> 00:44:01,260 ΟΜΙΛΗΤΗΣ 1: Δεσποινίς σας. 1020 00:44:01,260 --> 00:44:02,718 Και Πάω να στείλει το υπόλοιπο. 1021 00:44:02,718 --> 00:44:06,060 Έστειλα το ήμισυ, επειδή δεν είχα σκεφτεί Το Gmail θα αφήσει εκείνους περάσει. 1022 00:44:06,060 --> 00:44:12,410 Έτσι απλά να θυμάστε, σήμερα είναι η μέρα ότι μάθατε ότι μπορώ να χρησιμοποιήσω το Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Αυτό ήταν τρομακτικό. 1025 00:44:15,810 --> 00:44:17,140 Ένα μεγάλο χειροκρότημα για την Μάγια. 1026 00:44:17,140 --> 00:44:18,980 Ευχαριστώ. 1027 00:44:18,980 --> 00:44:21,280 Εντάξει, έτσι. 1028 00:44:21,280 --> 00:44:22,210 τι 1029 00:44:22,210 --> 00:44:23,140 >> [ΜΠΙΠ] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Πήραμε μερικά ηχητικά σήματα, ναι; 1032 00:44:26,580 --> 00:44:27,080 Εντάξει. 1033 00:44:27,080 --> 00:44:30,590 Τώρα είμαι πρόκειται να πάρει πραγματικά 700 δυστυχισμένος emails πίσω από τους συμμαθητές. 1034 00:44:30,590 --> 00:44:32,400 Έτσι τουλάχιστον θα δούμε αν αυτό ήταν αξίζει τον κόπο. 1035 00:44:32,400 --> 00:44:33,300 Έτσι, τι πήγε στραβά; 1036 00:44:33,300 --> 00:44:35,300 Θα καταλάβω τι πήγε λάθος μετά το γεγονός, 1037 00:44:35,300 --> 00:44:38,340 αλλά μόλις δούμε πόσο εύκολο ήταν να το κάνουμε αυτό σε PHP. 1038 00:44:38,340 --> 00:44:44,598 Τι μπορούμε λοιπόν να κάνουμε πραγματικότητα τώρα που έχουμε αυτή την εκφραστικότητα της PHP. 1039 00:44:44,598 --> 00:44:45,970 Αυτό was-- που ήταν φρικτό. 1040 00:44:45,970 --> 00:44:46,480 Εντάξει. 1041 00:44:46,480 --> 00:44:48,430 Έτσι, αυτό ήταν ό, τι θα έπρεπε να πάει έξω. 1042 00:44:48,430 --> 00:44:52,770 Αυτό τον έλεγχο μου σήμερα το πρωί στο μου τηλέφωνο, η πραγματική εικόνα του τηλεφώνου μου. 1043 00:44:52,770 --> 00:44:56,180 >> Αλλά τώρα ας εξετάσουμε γιατί είμαστε στην πραγματικότητα την εισαγωγή 1044 00:44:56,180 --> 00:44:57,840 όλα αυτά τα πράγματα στην πρώτη θέση. 1045 00:44:57,840 --> 00:45:01,625 Έτσι, ο στόχος δεν είναι να γράφουν αυτά τα προγράμματα που 1046 00:45:01,625 --> 00:45:03,250 είναι γραμμένα στη γραμμή εντολών, έτσι δεν είναι; 1047 00:45:03,250 --> 00:45:05,000 Έτσι, έγραψα ένα απλό Γεια σας πρόγραμμα, έγραψα 1048 00:45:05,000 --> 00:45:09,155 ένα μικρό πρόγραμμα που κάνει υποθετικά, και χρησιμοποιήθηκε μια γραμμή ανάγνωσης και ούτω καθεξής. 1049 00:45:09,155 --> 00:45:11,530 Και στη θεωρία, έγραψα μόνο ένα πρόγραμμα που έστειλε 1050 00:45:11,530 --> 00:45:14,290 800 μηνύματα κειμένου, ή να δώσει 800. 1051 00:45:14,290 --> 00:45:16,830 Και αυτό ήταν όλο το πρόγραμμα εξακολουθούν να τρέχουν στη γραμμή εντολών. 1052 00:45:16,830 --> 00:45:18,538 Και αυτό, φυσικά, είναι Δεν το διαδίκτυο, έτσι δεν είναι; 1053 00:45:18,538 --> 00:45:22,160 Ο στόχος τώρα είναι να αρχίσετε να χρησιμοποιείτε που ισχυρίζομαι είναι ένα εύκολο στη χρήση 1054 00:45:22,160 --> 00:45:24,720 γλώσσας, daresay μια πιο ισχυρή γλώσσα από την άποψη 1055 00:45:24,720 --> 00:45:27,104 από τα χαρακτηριστικά που έρχονται με αυτό, για να ξεκινήσετε 1056 00:45:27,104 --> 00:45:29,850 γράφοντας κώδικα που δημιουργεί ιστοσελίδες. 1057 00:45:29,850 --> 00:45:33,248 >> Έτσι, τον περασμένο χρόνο και την περασμένη εβδομάδα, μιλήσαμε για HTTP και HTML. 1058 00:45:33,248 --> 00:45:36,350 Και τι είναι ωραίο για την HTML είναι ότι είναι μόνο απλό κείμενο. 1059 00:45:36,350 --> 00:45:38,220 Και το κείμενο είναι ασφαλώς κάτι που μπορείτε να 1060 00:45:38,220 --> 00:45:42,040 εκτύπωση με κυριολεκτικά καλώντας την εκτύπωση στ λειτουργία, ή η λειτουργία εκτύπωσης. 1061 00:45:42,040 --> 00:45:46,160 Και πράγματι, αυτό είναι ό, τι είναι η PHP Τώρα θα μας επιτρέψει να κάνουμε. 1062 00:45:46,160 --> 00:45:48,610 Έτσι, μεταξύ των παραδειγμάτων που έχουν τον πηγαίο κώδικα του σήμερα, 1063 00:45:48,610 --> 00:45:51,610 εκτός από μερικά από κώδικα ότι έβαλα εκεί πριν από λίγο, 1064 00:45:51,610 --> 00:45:55,440 έχουμε προγράμματα όπως αυτό για παράδειγμα. 1065 00:45:55,440 --> 00:45:58,760 Froshims, ή πρωτοετών φοιτητών Αθλητισμός Τειχών, ήταν στην πραγματικότητα 1066 00:45:58,760 --> 00:46:01,500 ένα από τα πρώτα extracurriculars Ασχολήθηκα με χρόνια πριν. 1067 00:46:01,500 --> 00:46:03,750 Και ο συγκάτοικός μου και εγώ, με κάποια άλλα παιδιά στην πανεπιστημιούπολη, 1068 00:46:03,750 --> 00:46:05,280 χρησιμοποιείται για να τρέξει το πρόγραμμα froshims. 1069 00:46:05,280 --> 00:46:07,420 Παίρνω μηνύματα κειμένου μου τώρα. 1070 00:46:07,420 --> 00:46:14,030 >> Τώρα γι 'αυτό, πίσω στην ημέρα, οπότε αυτό ήταν το 1996 ή έτσι, υπήρχε ένα internet, 1071 00:46:14,030 --> 00:46:17,395 αλλά δεν υπήρχε εκεί process-- δεν ήταν για την ιστοσελίδα froshims. 1072 00:46:17,395 --> 00:46:20,270 Και έτσι αν θέλετε να εγγραφείτε ποδόσφαιρο ή βόλεϊ ή οτιδήποτε άλλο, 1073 00:46:20,270 --> 00:46:22,240 θα συμπληρώσετε αυτό το πράγμα ονομάζεται ένα κομμάτι χαρτί, 1074 00:46:22,240 --> 00:46:25,060 και θα περπατήσετε κατά μήκος του Χάρβαρντ αυλή, και θα το σύρετε 1075 00:46:25,060 --> 00:46:29,230 στην υποδοχή αλληλογραφίας του Proctor, ο οποίος ήταν σε Wigglesworth, έναν από τους κοιτώνες. 1076 00:46:29,230 --> 00:46:31,270 Και αυτό θα ήταν ονομαστικές. 1077 00:46:31,270 --> 00:46:33,570 Και αυτός ή αυτή θα ήταν τότε συνθέτουν ένα e-mail για να σας 1078 00:46:33,570 --> 00:46:36,514 με το χέρι, όπως και εγώ ακριβώς κάναμε εδώ με τη Μάγια, 1079 00:46:36,514 --> 00:46:38,930 και στη συνέχεια θα πρέπει να επιβεβαιωθεί όπως έχει εγγραφεί. 1080 00:46:38,930 --> 00:46:40,840 >> Έτσι, αυτό ήταν σαν χαμηλή κρέμονται τα φρούτα, να το πω έτσι. 1081 00:46:40,840 --> 00:46:42,930 Ήταν χαζό ότι ήμασταν χρησιμοποιώντας χαρτί γι 'αυτό. 1082 00:46:42,930 --> 00:46:45,024 Ήθελα μας να είναι σε θέση να πήγαινε σε ένα δικτυακό τόπο, 1083 00:46:45,024 --> 00:46:47,440 ή έχουν τις πρωτοετών φοιτητών πάει σε ένα ιστοσελίδα, εγγραφείτε για τον αθλητισμό, 1084 00:46:47,440 --> 00:46:50,398 και απλά να αυτοματοποιήσει πολλά από αυτά τα πράγματα βάζοντας τα ονόματα και τα ηλεκτρονικά ταχυδρομεία τους 1085 00:46:50,398 --> 00:46:51,850 και ούτω καθεξής σε μια βάση δεδομένων. 1086 00:46:51,850 --> 00:46:56,510 Και στην πραγματικότητα, το πρώτο εκδοχή του δικτυακού τόπου, με τη χρήση σούπερ άσχημο HTML, 1087 00:46:56,510 --> 00:46:58,195 μπορεί να έμοιαζε κάτι σαν αυτό. 1088 00:46:58,195 --> 00:47:01,070 Ήταν στην πραγματικότητα, κατά ειρωνεία της τύχης, πιο ντροπιαστική εμφάνιση από αυτή πίσω 1089 00:47:01,070 --> 00:47:01,460 έπειτα. 1090 00:47:01,460 --> 00:47:02,890 Αλλά χρησιμοποίησα μια γλώσσα προγραμματισμού. 1091 00:47:02,890 --> 00:47:06,060 Δεν PHP, αλλά μάλλον ονομάζεται Perl, η οποία είναι μια παλαιότερη γλώσσα, 1092 00:47:06,060 --> 00:47:07,251 αλλά πολύ παρόμοια στο πνεύμα. 1093 00:47:07,251 --> 00:47:09,000 Και εγώ απλά εντελώς δίδαξε για τον εαυτό μου. 1094 00:47:09,000 --> 00:47:12,208 Και μου πήρε λίγο χρόνο για να το καταλάβω, ζητώντας πολλές ερωτήσεις των φίλων. 1095 00:47:12,208 --> 00:47:14,080 Αλλά οι ιδέες εκεί ήταν ακριβώς το ίδιο. 1096 00:47:14,080 --> 00:47:18,050 Διότι αυτό PHP σχεδιάστηκε πραγματικά για να μην είναι η ουσία της γραμμής εντολών 1097 00:47:18,050 --> 00:47:20,450 εμείς απλά έπαιξε με, αλλά για web προγραμματισμό. 1098 00:47:20,450 --> 00:47:24,960 >> Είναι πραγματικά δεμένα σε λειτουργία του ρυθμιστεί στο διαδίκτυο, ως ακολούθως. 1099 00:47:24,960 --> 00:47:26,370 Αυτό είναι froshims. 1100 00:47:26,370 --> 00:47:28,720 Και αν ήθελα να εγγραφή σε αυτή τη μορφή, 1101 00:47:28,720 --> 00:47:30,930 Αυτό είναι πολύ άσχημο, Σίγουρα, αλλά επιτρέψτε μου να πάει μπροστά 1102 00:47:30,930 --> 00:47:34,440 και είναι λιγότερο άνετα φοιτητής, και ανεξάρτητα από τον αθλητισμό για Matthews, 1103 00:47:34,440 --> 00:47:35,630 κάντε κλικ στο κουμπί Εγγραφή. 1104 00:47:35,630 --> 00:47:39,780 Αυτό που θέλω να είναι σε θέση να κάνουμε είναι να να υποβάλουν πληροφορίες από μια φόρμα, 1105 00:47:39,780 --> 00:47:42,400 να μην σέρβερ της Google, όπως κάναμε την τελευταία φορά, εντελώς 1106 00:47:42,400 --> 00:47:47,100 εξαπάτηση μέσω backend τους, θα θέλουν να εφαρμόσουν το δικό μου κώδικα backend. 1107 00:47:47,100 --> 00:47:51,410 Πράγμα που σημαίνει PHP εγγραφής κωδικό που ζει σε μια διεύθυνση URL 1108 00:47:51,410 --> 00:47:54,180 ότι τα δεδομένα της φόρμας μπορεί να υποβληθεί. 1109 00:47:54,180 --> 00:47:57,510 >> Και στη συνέχεια τον κωδικό σας, γραμμένο σε PHP σε ένα διακομιστή, 1110 00:47:57,510 --> 00:47:59,400 μπορεί στη συνέχεια να απαντήσει σε αυτό που εισάγει ο χρήστης. 1111 00:47:59,400 --> 00:48:03,287 Όπως και το όνομά του, ή το επίπεδο άνεσης, ή κοιτώνα, και στη συνέχεια να κάνει κάτι με αυτό. 1112 00:48:03,287 --> 00:48:05,120 Στην περίπτωση αυτή, θα ήθελα απλώς βλακωδώς να εκτυπωθεί 1113 00:48:05,120 --> 00:48:06,750 ως κείμενο, το οποίο δεν είναι καθόλου όμορφο. 1114 00:48:06,750 --> 00:48:09,590 Αλλά θα μπορούσε σίγουρα φανταστείτε, αν γνωρίζετε HTML, 1115 00:48:09,590 --> 00:48:13,010 και σύντομα θα ξέρετε πώς να δημιουργήσετε HTML με εκτύπωση στ, και εκτύπωσης, 1116 00:48:13,010 --> 00:48:16,500 και παρόμοιες λειτουργίες, μπορείτε σίγουρα δημιουργούν μια όμορφη ιστοσελίδα που λέει, 1117 00:48:16,500 --> 00:48:17,929 Γεια σου David, που έχουν καταχωρηθεί. 1118 00:48:17,929 --> 00:48:20,220 Είσαι λιγότερο άνετα φοιτητής από Matthews, σωστά; 1119 00:48:20,220 --> 00:48:23,880 >> Μπορείτε να χρησιμοποιήσετε μόνο ένα σωρό% ses, ή τα άγκιστρα και το σύμβολο του δολαρίου 1120 00:48:23,880 --> 00:48:27,750 συμβολισμός θα χρησιμοποιηθεί πριν από λίγο, για να παράγουν το κείμενο που είναι πιο φιλική προς το χρήστη 1121 00:48:27,750 --> 00:48:28,567 από αυτό. 1122 00:48:28,567 --> 00:48:30,150 Έτσι, ας ρίξουμε μια ματιά σε αυτό το αρχείο. 1123 00:48:30,150 --> 00:48:34,666 Froshim μηδέν τελεία PHP μοιάζει με αυτό. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Όταν reload CS50 IDE, froshim μηδέν μοιάζει με αυτό. 1126 00:48:43,500 --> 00:48:45,700 Αυτό είναι froshim μηδέν τελεία PHP. 1127 00:48:45,700 --> 00:48:47,730 Και τι θα παρατηρήσετε σχετικά με αυτό το αρχείο; 1128 00:48:47,730 --> 00:48:49,506 >> Κοινό: [δεν ακούγεται] 1129 00:48:49,506 --> 00:48:50,922 ΟΜΙΛΗΤΗΣ 1: Συγγνώμη, λίγο πιο δυνατά; 1130 00:48:50,922 --> 00:48:53,250 Κοινό: [δεν ακούγεται] Είναι όλα σε μορφή HTML. 1131 00:48:53,250 --> 00:48:57,130 Και στην πραγματικότητα, είναι, επειδή Το ενδιαφέρον για την PHP 1132 00:48:57,130 --> 00:48:58,880 είναι ότι σχεδιάστηκε να είναι, για την καλύτερη 1133 00:48:58,880 --> 00:49:02,110 ή για το χειρότερο, ανακατεμένες με κώδικα HTML. 1134 00:49:02,110 --> 00:49:05,850 Και στην πραγματικότητα, ακόμα κι αν αυτό αρχείο, froshim μηδέν dot PHP, 1135 00:49:05,850 --> 00:49:11,470 Έχει ένα σχόλιο PHP στην κορυφή από αυτό, είναι όλα απλά HTML. 1136 00:49:11,470 --> 00:49:17,655 Αλλά αντίθετα, αν θα ανοίξει, ας ας πούμε, εγγραφείτε μηδέν τελεία PHP, η οποία 1137 00:49:17,655 --> 00:49:19,550 απλά έχει ένα μεγάλο σχόλιο στην αρχή. 1138 00:49:19,550 --> 00:49:26,500 Αυτό φαίνεται πάρα πολύ σχεδόν εξ ολοκλήρου όπως HTML, εκτός από τι; 1139 00:49:26,500 --> 00:49:29,350 Line, τι, 21 φαίνεται λίγο περίεργο. 1140 00:49:29,350 --> 00:49:32,739 >> Να σημειωθεί όμως είμαι εισέλθετε στη λειτουργία PHP με ανοικτό στήριγμα ερωτηματικό PHP. 1141 00:49:32,739 --> 00:49:33,780 Στη συνέχεια, έχω κάποια πράγματα. 1142 00:49:33,780 --> 00:49:36,724 Και στη συνέχεια στο τέλος της εν λόγω γραμμής Έχω σχεδόν, ερωτηματικό PHP. 1143 00:49:36,724 --> 00:49:38,390 Και αυτό είναι ό, τι εννοώ με ανακατεμένες. 1144 00:49:38,390 --> 00:49:41,910 Μπορείτε να γράψετε HTML που μπορείτε απλά θέλετε ο διακομιστής να φτύσει. 1145 00:49:41,910 --> 00:49:45,090 Αλλά αν θέλετε να κάνετε κάτι δυναμική partway μέσω της σελίδας, 1146 00:49:45,090 --> 00:49:47,699 όπως εισάγετε το όνομά μου ή dorm ή το επίπεδο άνεσης, 1147 00:49:47,699 --> 00:49:49,490 Μπορώ να χρησιμοποιήσω μια λειτουργία όπως εκτύπωση R, η οποία είναι 1148 00:49:49,490 --> 00:49:52,492 εκτύπωση αναδρομικών, που σημαίνει απλά εκτυπώσετε αυτήν τη μεταβλητή, μορφοποίηση αυτό 1149 00:49:52,492 --> 00:49:53,200 ωστόσο θέλετε. 1150 00:49:53,200 --> 00:49:55,880 Δεν είναι πραγματικά για ανθρώπινους σκοπούς, είναι ακριβώς 1151 00:49:55,880 --> 00:49:58,290 για τον εντοπισμό σφαλμάτων ή διαγνωστικούς σκοπούς. 1152 00:49:58,290 --> 00:49:59,460 Έτσι, αυτό είναι το πώς το έκανα αυτό. 1153 00:49:59,460 --> 00:50:06,100 >> Αν εγώ αντί να πάει froshims δύο dot PHP, παρατηρήσετε ότι η δράση αυτής της μορφής 1154 00:50:06,100 --> 00:50:09,680 Δεν έχει καταχωρηθεί μηδέν dot PHP, όπως η old-- το προηγούμενο ήταν στην πραγματικότητα. 1155 00:50:09,680 --> 00:50:11,222 Αλλά είναι εγγεγραμμένοι δύο dot PHP. 1156 00:50:11,222 --> 00:50:13,680 Οπότε ας δούμε πώς αυτό συμπεριφέρεται λίγο διαφορετικά. 1157 00:50:13,680 --> 00:50:15,140 Αν πάω σε έκδοση δύο. 1158 00:50:15,140 --> 00:50:20,430 Αν εδώ, αν μπορώ να εγγραφώ όπως ο David, λιγότερο άνετα, από κοιτώνα του Mathews, 1159 00:50:20,430 --> 00:50:21,480 εγγραφείτε. 1160 00:50:21,480 --> 00:50:23,770 Έτσι, αυτή τη φορά είπε, Τα εγγεγραμμένοι, δεν είναι πραγματικά. 1161 00:50:23,770 --> 00:50:25,370 Ας δούμε τι έκανα εδώ. 1162 00:50:25,370 --> 00:50:29,760 Αν κοιτάξω μητρώου δύο dot PHP, αυτό έχει λίγο περισσότερο κώδικα PHP. 1163 00:50:29,760 --> 00:50:35,410 Είναι λίγο πιο καθαρά, αν και εξακολουθεί να αναδιπλώνεται λίγο καιρό σε αυτή τη γραμμή. 1164 00:50:35,410 --> 00:50:36,260 Παρατηρήστε εδώ. 1165 00:50:36,260 --> 00:50:40,300 Τυπώσω ετικέτα HTML μου, ετικέτα κεφάλι μου, ετικέτα τίτλο μου, το κεφάλι, το σώμα. 1166 00:50:40,300 --> 00:50:45,410 >> Και τότε άρχισα να πω πράγματα όπως εισέλθετε σε λειτουργία PHP. 1167 00:50:45,410 --> 00:50:48,540 Και έτσι αυτή την ετικέτα, ανοιχτό βραχίονα PHP-- ερωτηματικό PHP λέει, 1168 00:50:48,540 --> 00:50:53,460 hey, διακομιστής, execute-- ερμηνεύσει τα ακόλουθα πράγματα όπως PHP 1169 00:50:53,460 --> 00:50:55,030 μέχρι να εμφανιστεί η ετικέτα τέλους. 1170 00:50:55,030 --> 00:50:58,590 Και ακόμα κι αν δεν μπορεί να γνωρίζει οποιαδήποτε PHP άλλα από ό, τι έχω δει μέχρι στιγμής, 1171 00:50:58,590 --> 00:51:01,290 μπορείτε να διαβάσετε το είδος του είναι αρκετά διαισθητικά. 1172 00:51:01,290 --> 00:51:10,670 Εάν το όνομα είναι άδειο, ή άνεση είναι άδειο, ή dorm είναι άδειο, τι μπορώ να κάνω; 1173 00:51:10,670 --> 00:51:12,830 Τι μπορώ να πω για το χρήστη; 1174 00:51:12,830 --> 00:51:15,330 Πρέπει να δώσετε το όνομά σας, άνεση, και dorm, και ούτω καθεξής. 1175 00:51:15,330 --> 00:51:17,750 Αλλιώς, θα λέγατε ότι είστε εγγραφεί, και δεν είναι πραγματικά. 1176 00:51:17,750 --> 00:51:19,190 >> Και μπορώ να πω πραγματικά γιατί δεν υπάρχει βάση δεδομένων. 1177 00:51:19,190 --> 00:51:20,200 Εγώ δεν κάνω τίποτα με τα δεδομένα. 1178 00:51:20,200 --> 00:51:22,408 Είμαι ακριβώς πετάμε για σκοπούς επίδειξης. 1179 00:51:22,408 --> 00:51:24,320 Τώρα έχω το είδος του τσιγκουνευτήκαμε μέσω της γραμμής 22. 1180 00:51:24,320 --> 00:51:26,400 Υπάρχει περισσότερο σύνταξη εκεί, αλλά το σύμβολο του δολαρίου 1181 00:51:26,400 --> 00:51:28,320 υπογραμμίζουν θέση είναι είδος ενδιαφέρον. 1182 00:51:28,320 --> 00:51:30,300 Και αυτό είναι ό, τι είναι καλό για την PHP. 1183 00:51:30,300 --> 00:51:35,610 Στην PHP, έχετε τι καλείται μερικά σούπερ καθολικές μεταβλητές. 1184 00:51:35,610 --> 00:51:38,430 Είναι το είδος του ακόμα πιο σημαντική από καθολικές μεταβλητές. 1185 00:51:38,430 --> 00:51:41,370 Και αυτά, όλα κεφαλαιοποιημένη ως εκ τούτου, έρχονται με την PHP. 1186 00:51:41,370 --> 00:51:44,550 Έτσι, εάν έχετε ένα διακομιστή που έχει εγκαταστήσει τον web server, όπως Apache, 1187 00:51:44,550 --> 00:51:49,390 και μπορείτε να εγκαταστήσετε τη γλώσσα υποστήριξη για την PHP, ξαφνικά σας 1188 00:51:49,390 --> 00:51:52,250 να αρχίσετε να χρησιμοποιείτε αυτά τα σούπερ global μεταβλητές στον κώδικά σας. 1189 00:51:52,250 --> 00:51:54,330 >> Και τι είναι ωραίο για PHP είναι ότι αν απλά 1190 00:51:54,330 --> 00:51:57,540 γράφετε ένα αρχείο που τελειώνει σε τελεία PHP, το έβαλε σε έναν web server, 1191 00:51:57,540 --> 00:52:01,260 και στη συνέχεια να υποβάλετε μια φόρμα μέσω του εν λόγω ετικέτα δράσης και μια ετικέτα μορφή, 1192 00:52:01,260 --> 00:52:05,110 ότι χαρακτηριστικό δράσης στον τομέα της μορφή ετικέτας, PHP και το διαδίκτυο 1193 00:52:05,110 --> 00:52:09,360 στοιχεία εντελώς έξω πώς να αρπάξει όλα αυτά τα ζεύγη κλειδιών αξία από 1194 00:52:09,360 --> 00:52:11,633 του URL, όπως η ερώτηση σήμα q ισούται με γάτες, 1195 00:52:11,633 --> 00:52:14,782 θα καταλάβω πώς να το q και γάτες. 1196 00:52:14,782 --> 00:52:17,710 Αν υποβάλλετε μια φωτογραφία ή ένα όνομα χρήστη, ή έναν κωδικό πρόσβασης για να αρέσει στο Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP θα καταλάβω για σας όπου όλα αυτά τα δεδομένα είναι. 1198 00:52:21,360 --> 00:52:23,821 Και θα παραδώσει μόνο Είσαι ένας συνειρμική σειρά 1199 00:52:23,821 --> 00:52:27,560 που ονομάζεται δολάριο μετά σύμβολο υπογράμμισης, ή το σύμβολο του δολαρίου υπογραμμίζουν πάρει, 1200 00:52:27,560 --> 00:52:30,590 ανάλογα με το αν είστε χρησιμοποιώντας GET ή POST υποβολές. 1201 00:52:30,590 --> 00:52:32,950 Και θα σας δώσουν μόνο ένα σούπερ καθολική μεταβλητή, 1202 00:52:32,950 --> 00:52:37,254 έτσι ώστε αν θέλετε να πάρετε στο όνομα ότι ο χρήστης υπέβαλε μέσω του εν λόγω web 1203 00:52:37,254 --> 00:52:41,894 μορφή, μπορείτε κυριολεκτικά να πει το όνομα του σούπερ παγκόσμια μεταβλητή, απόσπασμα, 1204 00:52:41,894 --> 00:52:43,380 εισαγωγικά, το όνομα. 1205 00:52:43,380 --> 00:52:46,144 Και παραθέτω, εισαγωγικά άνεση, και παραθέτω, εισαγωγικά κοιτώνα. 1206 00:52:46,144 --> 00:52:48,810 Και θα πάμε να είναι σε θέση να κάνει αυτό και πολύ περισσότερα με την PHP. 1207 00:52:48,810 --> 00:52:50,540 Και παρόλο που αυτό ήταν ένας ανεμοστρόβιλος ματιά σε αυτό, 1208 00:52:50,540 --> 00:52:51,980 θα βουτήξει σε πολλά άλλα επόμενη εβδομάδα. 1209 00:52:51,980 --> 00:52:54,247 Θα εισαγάγει μια βάση δεδομένων έτσι ώστε να είστε πραγματικά 1210 00:52:54,247 --> 00:52:56,816 πρόκειται να αρχίσει η εφαρμογή το δικό σας e-εμπόριο based-- 1211 00:52:56,816 --> 00:52:59,150 όπως ιστοσελίδα σε μόλις μία εβδομάδα. 1212 00:52:59,150 --> 00:53:02,750 Γι 'αυτό και θα σας δούμε την επόμενη φορά, και Ελπίζω να έχεις τα μηνύματα κειμένου. 1213 00:53:02,750 --> 00:53:05,450 Αντίο. 1214 00:53:05,450 --> 00:53:06,950 >> [Παίζει μουσική] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [ΑΝΟΙΓΜΑ ΠΟΡΤΑΣ] 1217 00:53:12,950 --> 00:53:14,475 >> ΟΜΙΛΗΤΗΣ 2: Γεια σου. 1218 00:53:14,475 --> 00:53:15,350 ΟΜΙΛΗΤΗΣ 3: Τι συμβαίνει; 1219 00:53:15,350 --> 00:53:17,750 ΟΜΙΛΗΤΗΣ 2: Τι κάνεις; 1220 00:53:17,750 --> 00:53:19,850 ΟΜΙΛΗΤΗΣ 3: Δουλεύοντας σε ένα σύνολο πρόβλημα. 1221 00:53:19,850 --> 00:53:21,050 ΟΜΙΛΗΤΗΣ 2: Ωραία. 1222 00:53:21,050 --> 00:53:22,550 Κολλα πεντε. 1223 00:53:22,550 --> 00:53:23,150 >> [ΚΟΛΛΑ ΠΕΝΤΕ] 1224 00:53:23,150 --> 00:53:25,584 >> Τι are-- εεε, τι κάνεις εδώ; 1225 00:53:25,584 --> 00:53:26,750 ΟΜΙΛΗΤΗΣ 3: Μόλις παρέα. 1226 00:53:26,750 --> 00:53:28,134 Μόλις επέστρεψα από το γυμναστήριο. 1227 00:53:28,134 --> 00:53:30,050 Δεν θα μπορούσα να βοηθήσει, αλλά παρατηρήσετε όταν έχουμε υψηλή fived, 1228 00:53:30,050 --> 00:53:32,450 ότι έχετε πολύ τραχιά χέρια. 1229 00:53:32,450 --> 00:53:33,950 Να πάτε στο γυμναστήριο; 1230 00:53:33,950 --> 00:53:35,150 >> ΟΜΙΛΗΤΗΣ 2: Όχι. 1231 00:53:35,150 --> 00:53:36,650 Κανένα. 1232 00:53:36,650 --> 00:53:38,450 >> ΟΜΙΛΗΤΗΣ 3: Φίλε, θα δούμε αρκετά μεγάλο. 1233 00:53:38,450 --> 00:53:45,950 Ποια είναι κακό, γιατί όλοι γνωρίζουν 8-μπάλα είναι ο μεγάλος άνθρωπος στην πανεπιστημιούπολη. 1234 00:53:45,950 --> 00:53:48,050 Κολλα πεντε. 1235 00:53:48,050 --> 00:53:49,550 >> ΟΜΙΛΗΤΗΣ 2: Χμ, όχι. 1236 00:53:49,550 --> 00:53:50,450 Όχι, νομίζω ότι είμαι καλός. 1237 00:53:50,450 --> 00:53:52,300 Νομίζω ότι είμαι καλός. 1238 00:53:52,300 --> 00:53:54,097