1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Εβδομάδα 8] 2 00:00:02,000 --> 00:00:04,000 [David J Malan] [Πανεπιστήμιο του Χάρβαρντ] 3 00:00:04,000 --> 00:00:07,000 [Αυτό είναι CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:09,000 >> Καλώς ήρθατε και πάλι. 5 00:00:09,000 --> 00:00:11,000 Αυτό είναι CS50, και αυτή είναι η αρχή της εβδομάδας 8. 6 00:00:11,000 --> 00:00:14,000 Ένα ζευγάρι των ευκαιριών αυτή την εβδομάδα, 7 00:00:14,000 --> 00:00:17,000 μεταξύ των οποίων και αυτή η συζήτηση εδώ, στην οποία ορισμένα τρόφιμα θα πρέπει να υπηρετήσει. 8 00:00:17,000 --> 00:00:20,000 Για περισσότερες λεπτομέρειες δείτε τις διαφάνειες που είναι σε απευθείας σύνδεση. 9 00:00:20,000 --> 00:00:24,000 Και επίσης ένα άλλο γεγονός αυτή την εβδομάδα από τη δική μας Carriero Thomas. 10 00:00:24,000 --> 00:00:27,000 Είναι ένας από τους πρώην συντρόφους διδασκαλίας κεφάλι CS50 ο οποίος είναι τώρα στο Dropbox, 11 00:00:27,000 --> 00:00:29,000 και αυτός είναι ο τύπος που μας γαντζώθηκε με το ξέρετε τι, 12 00:00:29,000 --> 00:00:36,000 οπότε αν θέλετε περισσότερα από το κεφάλι τους για να μιλήσουμε σήμερα το απόγευμα για Dropbox και περισσότερο. 13 00:00:36,000 --> 00:00:38,000 CS50 γεύμα είναι αυτή την Παρασκευή. 14 00:00:38,000 --> 00:00:41,000 Κάντε μαζί μας εάν είστε σε θέση, 1:15, ως συνήθως, σε Fire and Ice. 15 00:00:41,000 --> 00:00:45,000 >> Και τώρα έχουμε βουτήξει σε κάτι που ονομάζεται Σεμινάρια. 16 00:00:45,000 --> 00:00:49,000 CS50 Σεμινάρια μας, ανάκληση, είναι αυτά τα προαιρετικά μαθήματα υπό την ηγεσία των υποτρόφων διδασκαλία 17 00:00:49,000 --> 00:00:51,000 και φυσικά οι βοηθοί και οι φίλοι του μαθήματος, 18 00:00:51,000 --> 00:00:55,000 λαοί από μια ομάδα στην πανεπιστημιούπολη ονομάζεται ABCD, η οποία είναι μια ομάδα από 19 00:00:55,000 --> 00:00:58,000 technophiles στην πανεπιστημιούπολη, καθώς και μια ομάδα που ονομάζεται HCS, 20 00:00:58,000 --> 00:01:02,000 το Χάρβαρντ Computer Society, φοιτητές οι οποίοι ενδιαφέρονται ομοίως στην πληροφορική. 21 00:01:02,000 --> 00:01:08,000 Το φετινό ρόστερ των σεμιναρίων περιλαμβάνει σεμινάρια για Android και iOS και JavaScript 22 00:01:08,000 --> 00:01:13,000 και PHP, Unix, Vim, και περισσότερο, έτσι ώστε να συνειδητοποιήσουν ότι τα σεμινάρια αυτά έρχονται. 23 00:01:13,000 --> 00:01:16,000 Αν θέλετε να RSVP για οποιοδήποτε από τους επικεφαλής σε αυτό το URL εκεί. 24 00:01:16,000 --> 00:01:20,000 Στη συνέχεια, θα δημοσιεύσετε στην ιστοσελίδα του μαθήματος τους χρόνους και τόπους από τη στιγμή που θα οριστικοποιηθούν. 25 00:01:20,000 --> 00:01:26,000 Αλλά ξέρετε αξίζει εκεί 5 χρόνια της προηγούμενης σεμινάρια διαθέσιμα στο διαδίκτυο, 26 00:01:26,000 --> 00:01:29,000 πολλές από τις οποίες εξακολουθούν να είναι πάρα πολύ ρεύμα από την άποψη των τεχνολογιών μπορεί να 27 00:01:29,000 --> 00:01:36,000 θέλετε να παίξετε με τα έργα για την τελική σας, έτσι ώστε το κεφάλι εκεί για μερικές διαθέσιμα βίντεο τους. 28 00:01:36,000 --> 00:01:39,000 >> CSS, όσοι από εσάς είναι εξοικειωμένοι με CSS ήδη, 29 00:01:39,000 --> 00:01:42,000 τι είναι αυτό με λίγα λόγια; 30 00:01:42,000 --> 00:01:45,000 Τι είναι το CSS; 31 00:01:45,000 --> 00:01:48,000 Είναι επικαλυπτόμενα φύλλα στυλ, και τι σημαίνει αυτό; 32 00:01:48,000 --> 00:01:53,000 Τι σημαίνει ότι το κάνει για μας, CSS; 33 00:01:53,000 --> 00:01:57,000 Εντάξει, ας ζεσταθεί με μια πιο εύκολη, HTML, Hypertext Markup Language. 34 00:01:57,000 --> 00:02:01,000 Τι σημαίνει ότι το κάνει για μας; 35 00:02:01,000 --> 00:02:04,000 Όποιος καθόλου; 36 00:02:04,000 --> 00:02:07,000 Είναι πραγματικά περίεργο να πάρει αυτές τις ερωτήσεις. 37 00:02:07,000 --> 00:02:11,000 HTML, Hypertext Markup Language. 38 00:02:11,000 --> 00:02:14,000 Ναι; Όχι; 39 00:02:14,000 --> 00:02:17,000 [Ακούγεται ανταπόκριση των φοιτητών] 40 00:02:17,000 --> 00:02:20,000 Εντάξει, καλά, αυτό μας επιτρέπει να επισημάνετε κείμενο για να εμφανιστεί σε ένα πρόγραμμα περιήγησης στο web. 41 00:02:20,000 --> 00:02:22,000 Δεν είναι μια γλώσσα προγραμματισμού που. 42 00:02:22,000 --> 00:02:25,000 Είναι πράγματι μια γλώσσα σήμανσης, που σημαίνει ότι το πρόγραμμα περιήγησης καθοδηγεί πώς να εμφανίσετε 43 00:02:25,000 --> 00:02:28,000 πληροφορίες, έτσι ώστε η απλούστερη ενσάρκωση αυτού όπως είδαμε 44 00:02:28,000 --> 00:02:32,000 είναι κάτι εξαιρετικά απλό, όπως boldfacing, ανοιχτό βραχίονα β κλειστό βραχίονα λέει 45 00:02:32,000 --> 00:02:36,000 κάνουν αυτό το κείμενο έντονο, και αυτό είναι πραγματικά ακριβώς ένας από τους πολλούς τρόπους 46 00:02:36,000 --> 00:02:39,000 στο οποίο μπορούμε να το κάνουμε αυτό, και μάλιστα, αυτές τις μέρες μια καλύτερη προσέγγιση 47 00:02:39,000 --> 00:02:42,000 να stylizing ιστοσελίδα σας, κάνοντας τα πράγματα έντονους και πλάγιους χαρακτήρες 48 00:02:42,000 --> 00:02:47,000 και στο κέντρο και να αιτιολογούνται και τα παρόμοια, δεν γίνεται μέσω HTML ετικέτες μόνο 49 00:02:47,000 --> 00:02:51,000 αλλά μάλλον με μια τεχνική που ονομάζεται CSS, επικαλυπτόμενα φύλλα στυλ. 50 00:02:51,000 --> 00:02:53,000 Αυτή είναι μια γλώσσα μόνο του. 51 00:02:53,000 --> 00:02:55,000 Είναι πάρα πολύ δεν είναι μια γλώσσα προγραμματισμού, αλλά- 52 00:02:55,000 --> 00:02:58,000 ο καθένας, αυτό είναι Dan, ο οποίος συνεχίζει να είσαστε μαζί μας. 53 00:02:58,000 --> 00:03:01,000 Μερικές τεχνικές δυσκολίες. Όχι ένα πρόβλημα. 54 00:03:01,000 --> 00:03:04,000 >> CSS μας επιτρέπει να στυλιζάρω μια σελίδα 55 00:03:04,000 --> 00:03:07,000 θέτοντας τα λεγόμενα ιδιότητες, γι 'αυτό ας ρίξουμε μια ματιά σε αυτό 56 00:03:07,000 --> 00:03:09,000 μέσω μερικά βασικά παραδείγματα. 57 00:03:09,000 --> 00:03:12,000 Επιτρέψτε μου να πάω στη συσκευή σήμερα. 58 00:03:12,000 --> 00:03:15,000 Έχω την πηγή 8 κατάλογο Δευτέρα εδώ, 59 00:03:15,000 --> 00:03:18,000 και είμαι πρόκειται να πάει σε έναν κατάλογο που ονομάζεται CSS, όπου έχουμε ένα σωρό 60 00:03:18,000 --> 00:03:21,000 από τα αρχεία μας περιμένει εδώ, 61 00:03:21,000 --> 00:03:27,000 και σε αυτό το φάκελο που έχουμε, για παράδειγμα, από search0.html τελευταία φορά. 62 00:03:27,000 --> 00:03:31,000 Τώρα, με την ανάκληση search0 φύγαμε για αυτή τη σημείωση 63 00:03:31,000 --> 00:03:35,000 από το είδος της εφαρμογής Google ή πολύ απλά το μπροστινό τέλος για μια εβδομάδα ή έτσι πριν, 64 00:03:35,000 --> 00:03:38,000 και παρατηρήστε ότι είχαμε κάποιες νέες ετικέτες εκεί. 65 00:03:38,000 --> 00:03:41,000 Είχαμε h1 για ένα μεγάλο, τολμηρό τίτλος, 66 00:03:41,000 --> 00:03:45,000 μορφή, η οποία μας επέτρεψε να έχουμε πραγματικά μια φόρμα HTML για την είσοδο του χρήστη. 67 00:03:45,000 --> 00:03:48,000 Δράση, ποιο ήταν το νόημα της δράσης ενός χαρακτηριστικού 68 00:03:48,000 --> 00:03:52,000 στην ετικέτα HTML μορφή; 69 00:03:52,000 --> 00:03:58,000 Ποια ήταν η έννοια της παρούσας, η δράση; 70 00:03:58,000 --> 00:04:00,000 Απλά θα το κάνω αυτό σήμερα. 71 00:04:00,000 --> 00:04:03,000 Δράσης είναι ο προορισμός όπου το έντυπο θα πρέπει να υποβληθεί. 72 00:04:03,000 --> 00:04:07,000 Το γεγονός ότι η δράση που λέει = "google.com / search" 73 00:04:07,000 --> 00:04:10,000 σημαίνει ότι όταν ο χρήστης κάνει κλικ στο κουμπί υποβολής ή το ισοδύναμο 74 00:04:10,000 --> 00:04:14,000 οποιαδήποτε μορφή πεδία συμπλήρωσαν πρόκειται να αποσταλεί όχι στον server μας 75 00:04:14,000 --> 00:04:17,000 ή συσκευή μας, αλλά μάλλον με τη συγκεκριμένη διεύθυνση URL στο Google. 76 00:04:17,000 --> 00:04:19,000 Και η μέθοδος πρόκειται να χρησιμοποιήσετε καλείται να πάρετε, 77 00:04:19,000 --> 00:04:25,000 και να πάρει, προς το παρόν, είναι απλώς μια τεχνική για τη μεταβίβαση πληροφοριών μαζί με έναν web server 78 00:04:25,000 --> 00:04:29,000 μέσω του URL, οπότε ας ρίξουμε μια γρήγορη ματιά πίσω στο πώς αυτό λειτουργεί. 79 00:04:29,000 --> 00:04:31,000 >> Σημειώστε ότι υπάρχει μια είσοδος της οποίας το όνομα είναι q 80 00:04:31,000 --> 00:04:35,000 τύπος του οποίου είναι το κείμενο και στη συνέχεια μια δεύτερη είσοδο του τύπου υποβάλουν 81 00:04:35,000 --> 00:04:39,000 αξία των οποίων είναι CS50 Αναζήτηση, και μάλιστα, αν ανοίξουμε αυτό το αρχείο εδώ, 82 00:04:39,000 --> 00:04:42,000 search0.html, είναι μια εξαιρετικά απλή μορφή, 83 00:04:42,000 --> 00:04:45,000 και αν ψάχνω για κάτι σαν επιστήμη των υπολογιστών 84 00:04:45,000 --> 00:04:50,000 και να χτυπήσει στη συνέχεια, πληκτρολογήστε ή κάντε κλικ στο CS50 Αναζήτηση 85 00:04:50,000 --> 00:04:53,000 παρατηρήσετε ότι αυτό που συμβαίνει είναι να πάρει πέρα ​​από το Google 86 00:04:53,000 --> 00:04:56,000 Έχω συγκεκριμένα καταλήξαμε σε αυτό το URL στο πάνω μέρος, 87 00:04:56,000 --> 00:05:01,000 google.com / search? q = + επιστήμη υπολογιστών, 88 00:05:01,000 --> 00:05:04,000 και της επιστήμης υπολογιστών είναι προφανώς αυτό που θα πληκτρολογήσει μέσα 89 00:05:04,000 --> 00:05:06,000 Το + σημαίνει ακριβώς αυτό είναι όπου ένα κενό διάστημα ήταν, 90 00:05:06,000 --> 00:05:10,000 και έχει κάνει από το πρόγραμμα περιήγησης μόνο για να βεβαιωθείτε ότι δεν υπάρχει 91 00:05:10,000 --> 00:05:13,000 σύγχυση και λευκό χώρο στην πραγματική διεύθυνση URL. 92 00:05:13,000 --> 00:05:15,000 Και τότε q, φυσικά, είναι το όνομα της παραμέτρου. 93 00:05:15,000 --> 00:05:20,000 Εμείς δεν έχουμε δει πώς εμείς, ο προγραμματιστής, μπορούν να έχουν πρόσβαση στην πραγματικότητα q ακόμα. 94 00:05:20,000 --> 00:05:23,000 Μπορούμε να υποθέσουμε ότι η Google ξέρει τι να κάνει με αυτό εδώ, 95 00:05:23,000 --> 00:05:25,000 αλλά εμείς θα φτάσουμε εκεί σε εύθετο χρόνο σήμερα. 96 00:05:25,000 --> 00:05:30,000 >> Αλλά επιτρέψτε μου να ρίξουμε μια ματιά σε αντί search1.html, 97 00:05:30,000 --> 00:05:34,000 το οποίο φαίνεται λίγο διαφορετική, διότι αποφάσισα ότι αυτή η μορφή εδώ ήταν λίγο κουτσός. 98 00:05:34,000 --> 00:05:36,000 Θέλω να πω, είναι στην πάνω αριστερή. 99 00:05:36,000 --> 00:05:40,000 Δεν υπάρχει πραγματικά καμία αισθητική σε αυτό, και γι 'αυτό θέλω να στυλιζάρω αυτό 100 00:05:40,000 --> 00:05:43,000 λίγο περισσότερο όπως το Google, του οποίου η αρχική σελίδα, την ανάκληση, 101 00:05:43,000 --> 00:05:47,000 ακόμα κι αν δεν μπορείτε να το επισκεφτείτε ότι συχνά, μοιάζει αυτό σήμερα στις Απόκριες. 102 00:05:47,000 --> 00:05:53,000 Αν αντί να ανοίξει την έκδοση 1 του παρόντος αρχείου, αναζήτηση 1.html, το έχω στο κέντρο. 103 00:05:53,000 --> 00:05:57,000 Ακόμα αρκετά άσχημο, αλλά τουλάχιστον τώρα έχω αρχίσει να ελέγχει την αισθητική αυτής της σελίδας, 104 00:05:57,000 --> 00:06:00,000 όχι μόνο η σήμανση επάνω τους. 105 00:06:00,000 --> 00:06:04,000 Ας ρίξουμε μια ματιά σε αναζήτηση 1, και υπάρχει πραγματικά μόνο μία διαφορά εδώ, 106 00:06:04,000 --> 00:06:06,000 η οποία θα μπορούσε να πηδούν έξω σε σας, ή ίσως όχι, 107 00:06:06,000 --> 00:06:11,000 αλλά ποια είναι η μια γραμμή ή απόσπασμα της διαφοράς; 108 00:06:11,000 --> 00:06:14,000 >> Υπάρχει αυτό το χαρακτηριστικό στυλ, έτσι ώστε να αποδεικνύεται ότι σε HTML 109 00:06:14,000 --> 00:06:19,000 περισσότερα στοιχεία, οι περισσότερες ετικέτες μπορεί να έχει ένα χαρακτηριστικό στυλ τους, 110 00:06:19,000 --> 00:06:23,000 και μέσα από αυτό το χαρακτηριστικό στυλ είναι εισηγμένη στο χρηματιστήριο σειρά, 111 00:06:23,000 --> 00:06:26,000 και ότι αναφέρεται string είναι CSS. 112 00:06:26,000 --> 00:06:29,000 Μπορείτε να βάλετε επικαλυπτόμενο φύλλο στυλ εκεί 113 00:06:29,000 --> 00:06:32,000 καθορίζοντας το όνομα ως ιδιοκτησία 114 00:06:32,000 --> 00:06:34,000 ακολουθούμενο από άνω και κάτω τελεία που ακολουθείται από μια τιμή. 115 00:06:34,000 --> 00:06:37,000 Αυτό είναι το είδος της μια ατυχής απόφαση του σχεδιασμού πριν από μερικά χρόνια 116 00:06:37,000 --> 00:06:40,000 ότι η CSS είναι μια γλώσσα μόνο του, 117 00:06:40,000 --> 00:06:43,000 αλλά συντακτικά είναι πολύ διαφορετική από την HTML. 118 00:06:43,000 --> 00:06:46,000 Σε αυτή την περίπτωση, βλέπουμε ότι μέσα από την ιστοσελίδα μου, το οποίο είναι γραμμένο σε HTML, 119 00:06:46,000 --> 00:06:51,000 Έχω CSS μέσα από αυτά τα αποσπάσματα, καθώς και η σύμβαση για CSS 120 00:06:51,000 --> 00:06:55,000 είναι ότι έχετε αυτό που ονομάζεται ένα ακίνητο που ακολουθείται από, και πάλι, μια άνω και κάτω τελεία, 121 00:06:55,000 --> 00:06:58,000 ακολουθείται από την αξία του εν λόγω ακινήτου, οπότε δεν υπάρχει ίσον. 122 00:06:58,000 --> 00:07:00,000 Δεν υπάρχει καμία επιπλέον εισαγωγικά. 123 00:07:00,000 --> 00:07:03,000 Είναι ακριβώς αυτή η άνω και κάτω τελεία διαχωρίζονται ζεύγος κλειδιών αξία, 124 00:07:03,000 --> 00:07:05,000 γραμμή κειμένου και κάνει ακριβώς αυτό που λέει. 125 00:07:05,000 --> 00:07:09,000 Είναι ευθυγραμμίζει το κείμενο στο κύριο σώμα της σελίδας, η οποία είναι πραγματικά τα κότσια της σελίδας, 126 00:07:09,000 --> 00:07:11,000 στο κέντρο. 127 00:07:11,000 --> 00:07:13,000 >> Εντάξει, το τελικό αποτέλεσμα, στη συνέχεια, να είναι σαφές, είναι αυτό. 128 00:07:13,000 --> 00:07:17,000 Δεν είναι όλα ότι πιο σέξι, αλλά τουλάχιστον είναι στο κέντρο και λίγο περισσότερο σαν την πραγματική Google. 129 00:07:17,000 --> 00:07:21,000 Τι γίνεται όμως αν εγώ αντί να ανοίξει την έκδοση 2 του παρόντος 130 00:07:21,000 --> 00:07:25,000 και να επισημάνω εδώ κάτω μια νέα ετικέτα εντελώς; 131 00:07:25,000 --> 00:07:30,000 Τώρα, στο κεφάλι της σελίδας μου, η οποία προηγουμένως είχε μόνο που tag 132 00:07:30,000 --> 00:07:32,000 σε όλα τα προηγούμενα παραδείγματα; 133 00:07:32,000 --> 00:07:34,000 Είχε ακριβώς αυτό, τον τίτλο. 134 00:07:34,000 --> 00:07:38,000 Μια στιγμή πριν το tag κεφάλι έμοιαζε με αυτό. 135 00:07:38,000 --> 00:07:40,000 Τώρα, αντί να έχει ένα στυλ μέσα από την ετικέτα, 136 00:07:40,000 --> 00:07:44,000 και αυτό πάρα πολύ, ζητώ συγγνώμη, συντακτικά είναι πολύ διαφορετική από την HTML, 137 00:07:44,000 --> 00:07:47,000 αλλά μπορείτε να το συνηθίσεις, όπου μέσα από την ετικέτα στυλ 138 00:07:47,000 --> 00:07:50,000 Μπορώ τώρα να συνυπολογίσει ό, τι ήταν πριν από λίγο 139 00:07:50,000 --> 00:07:54,000 ένα χαρακτηριστικό, το χαρακτηριστικό στυλ, και μπορώ να το θέσω στην κορυφή της σελίδας μου. 140 00:07:54,000 --> 00:07:56,000 >> Γιατί; 141 00:07:56,000 --> 00:08:00,000 Λοιπόν, αυτό είναι ένα βήμα προς τον καθαρισμό τα πράγματα, σαν γραπτώς κώδικα C 142 00:08:00,000 --> 00:08:04,000 θα γράψω μερικές φορές λειτουργεί στον παράγοντα έξω κοινή λειτουργικότητα. 143 00:08:04,000 --> 00:08:07,000 Είναι λίγο καθαριστικό για να ξεκινήσει factoring από τα πράγματα όπως την αισθητική 144 00:08:07,000 --> 00:08:11,000 σε μία κεντρική τοποθεσία, αντί όλα διανθίστε όλη HTML σας. 145 00:08:11,000 --> 00:08:14,000 Αυτό κάνει πάρα πολύ αυτό που λέει, ακόμα κι αν υπάρχει ένα κομμάτι της νέας σύνταξης. 146 00:08:14,000 --> 00:08:19,000 Αυτή εδώ είναι μια επιλογέα, και το σώμα σημαίνει απλά επιλέξτε το στοιχείο του σώματος 147 00:08:19,000 --> 00:08:21,000 και να εφαρμόζουν τις ακόλουθες ιδιότητες σε αυτό. 148 00:08:21,000 --> 00:08:23,000 Λοιπόν, η ιδιοκτησία είναι ακριβώς το ίδιο. 149 00:08:23,000 --> 00:08:25,000 Για το καλό μέτρο Έχω προσθέσει ένα ερωτηματικό στο τέλος, 150 00:08:25,000 --> 00:08:29,000 η οποία τείνει να είναι σύμβαση, και έχω τυλιγμένο όλο αυτό το ακίνητο 151 00:08:29,000 --> 00:08:33,000 σε αγκύλες, γιατί θα μπορούσε να έχει πραγματικά διαφορετικά πράγματα εδώ. 152 00:08:33,000 --> 00:08:39,000 Θα μπορούσα να πω πραγματικά κάτι σαν χρώμα: μπλε? 153 00:08:39,000 --> 00:08:42,000 >> Τώρα, αυτό επίσης δεν πρόκειται να είναι ένα βήμα προς κάτι όλα αυτά πιο όμορφη, 154 00:08:42,000 --> 00:08:47,000 αλλά αν εγώ τώρα πάω πίσω στην έκδοση 2 που έχω τουλάχιστον κάνει τώρα το σώμα μου 155 00:08:47,000 --> 00:08:49,000 το κείμενο της σελίδας όλα μπλε. 156 00:08:49,000 --> 00:08:51,000 Το κουμπί παραμένει το ίδιο, γιατί αυτό είναι μια εισαγωγή. Δεν είναι καθαρό κείμενο. 157 00:08:51,000 --> 00:08:56,000 Αλλά ό, τι άλλο είναι το κείμενο, όπως CS50 Αναζήτηση επάνω στην κορυφή, είναι σε μπλε πραγματικότητα. 158 00:08:56,000 --> 00:09:01,000 Και πάλι, το μόνο που κάνει τώρα είναι να αφαιρέσετε από την ετικέτα του σώματος, ειδοποίηση, 159 00:09:01,000 --> 00:09:04,000 το χαρακτηριστικό στυλ, και έχουμε υπολογιστεί ότι από εδώ. 160 00:09:04,000 --> 00:09:08,000 Αυτό δεν είναι μια τεράστια βελτίωση, αλλά αν πάρουμε ένα βήμα παραπέρα 161 00:09:08,000 --> 00:09:10,000 παρατηρήσετε τι μπορούμε να κάνουμε σε αυτή την τρίτη έκδοση εδώ. 162 00:09:10,000 --> 00:09:14,000 >> Σε search3.html η ιστοσελίδα είναι σχεδόν πανομοιότυπο 163 00:09:14,000 --> 00:09:17,000 εκτός από ποια νέα ετικέτα τώρα; 164 00:09:17,000 --> 00:09:20,000 Link, έτσι ώστε αυτό να μην είναι πολύ εύστοχα ονομάστηκε 165 00:09:20,000 --> 00:09:24,000 επειδή δεν είστε σε σύνδεση με την έννοια μιας clickable υπερσύνδεσμο. 166 00:09:24,000 --> 00:09:28,000 Μάλλον, είστε το είδος του να κάνει το ισοδύναμο # include στην C 167 00:09:28,000 --> 00:09:31,000 σύμφωνα με την οποία η ετικέτα συνδέσμου με ένα χαρακτηριστικό href 168 00:09:31,000 --> 00:09:34,000 και ένα χαρακτηριστικό rel λέει προχωρήστε 169 00:09:34,000 --> 00:09:39,000 και αντίγραφο επικολλήσετε τα περιεχόμενα ενός αρχείου που ονομάζεται search3.css δικαίωμα εδώ, ουσιαστικά. 170 00:09:39,000 --> 00:09:42,000 Δεν κάνει αρκετά αυτό, αλλά αυτό είναι το πνεύμα του. 171 00:09:42,000 --> 00:09:45,000 Λέει πάει ανοικτό αυτό το αρχείο, search3.css, 172 00:09:45,000 --> 00:09:49,000 και να το αντιμετωπίσουμε σαν ο χρήστης πληκτρολογήσει είχε δικαίωμα εδώ στο κεφάλι της σελίδας 173 00:09:49,000 --> 00:09:51,000 ακριβώς όπως έκανα και στο προηγούμενο παράδειγμα. 174 00:09:51,000 --> 00:09:54,000 Search3.css, εν τω μεταξύ, είναι αρκετά απλή. 175 00:09:54,000 --> 00:09:58,000 Είναι πραγματικά ακριβώς περιλαμβάνει ακριβώς ό, τι ήταν πριν από λίγο 176 00:09:58,000 --> 00:10:03,000 στην ετικέτα στυλ, αλλά έχω υπολογιστεί ότι από εδώ για το δικό της αρχείο. 177 00:10:03,000 --> 00:10:07,000 >> Ακόμα κι αν δεν έχουμε περάσει πολύ χρόνο σε όλα ή σε μορφή HTML web προγραμματισμό 178 00:10:07,000 --> 00:10:11,000 μόνο διαισθητικά τι είναι το κίνητρο, ίσως, για το factoring από 179 00:10:11,000 --> 00:10:14,000 αυτό το μικρό απόσπασμα, ακόμη και του CSS στο δικό του αρχείο 180 00:10:14,000 --> 00:10:19,000 συμπεριλαμβανομένων και στη συνέχεια με αυτήν την ετικέτα σύνδεσμο εδώ; 181 00:10:19,000 --> 00:10:21,000 [Ακούγεται ανταπόκριση των φοιτητών] 182 00:10:21,000 --> 00:10:25,000 Εντάξει, είναι πιο εύκολο να διαβάσει, υπό την έννοια ότι έχετε CSS σας σε ένα αρχείο CSS. 183 00:10:25,000 --> 00:10:28,000 Έχετε HTML σας σε HTML αρχείο σας, έτσι ώστε να είναι πιο ευανάγνωστο με αυτή την έννοια. 184 00:10:28,000 --> 00:10:30,000 Τι άλλο θα μπορούσε να είναι συναρπαστικό; Ναι. 185 00:10:30,000 --> 00:10:32,000 [Ακούγεται ανταπόκριση των φοιτητών] 186 00:10:32,000 --> 00:10:35,000 Ναι, έτσι ώστε να μπορεί να συμπεριλάβει πολλές φορές, έτσι τώρα κάνουμε αυτά 187 00:10:35,000 --> 00:10:38,000 βασικά παραδείγματα με μεμονωμένα αρχεία, αλλά ας υποθέσουμε ότι είστε πραγματικά κάνει 188 00:10:38,000 --> 00:10:42,000 ένα πραγματικό δικτυακό τόπο, όπως εσείς θα PSET για 7 ή τελικό έργο σας ίσως, 189 00:10:42,000 --> 00:10:45,000 και θέλετε να έχετε πολλαπλές ιστοσελίδες, όπως είναι σίγουρα κοινά για 190 00:10:45,000 --> 00:10:48,000 η πραγματική World Wide Web, και θα είναι το είδος του κουτσός 191 00:10:48,000 --> 00:10:52,000 να χρειαστεί να αντιγράψετε και να επικολλήσετε το ίδιο μπλε χρώμα 192 00:10:52,000 --> 00:10:56,000 και το ίδιο το κείμενο ευθυγραμμίζεται κέντρο σε κάθε μία από αυτές τις σελίδες. 193 00:10:56,000 --> 00:10:59,000 Μάλλον είναι πιο λογικό να συνυπολογίσει, όπως ακριβώς κάναμε σε C 194 00:10:59,000 --> 00:11:02,000 με το αρχείο. ώρα, το βάζουμε σε ένα κεντρικό σημείο, 195 00:11:02,000 --> 00:11:06,000 σε αυτή την περίπτωση search3.css, και στη συνέχεια να επιτρέψει οποιοδήποτε αρχείο 196 00:11:06,000 --> 00:11:11,000 στην ιστοσελίδα σας για να συμπεριλάβετε στην πραγματικότητα αυτό το αρχείο μέσω αυτής της ετικέτας εδώ στην γραμμή 16. 197 00:11:11,000 --> 00:11:14,000 Όπως συμβαίνει συνήθως, ξεκινήσαμε με την έκδοση 0, το οποίο είδος των έργων 198 00:11:14,000 --> 00:11:18,000 αλλά δεν είναι απαραίτητα το καλύτερο, και με κάθε βήμα, 199 00:11:18,000 --> 00:11:21,000 αναζήτηση 1, αναζήτησης 2, και τώρα αναζήτησης 3 έχουμε πάρει αυτά τα βήματα μωρών 200 00:11:21,000 --> 00:11:26,000 προς σχέδια που είναι λίγο καθαρότερο και πιο προπαρασκευαστικές 201 00:11:26,000 --> 00:11:30,000 για πιο σύνθετες σελίδες που θα μπορούσαμε να κάνουμε κάτω από το δρόμο. 202 00:11:30,000 --> 00:11:33,000 >> Επιτρέψτε μου να ανοίξει ένα τελευταίο παράδειγμα εδώ μόνο και μόνο για να δείξει 203 00:11:33,000 --> 00:11:36,000 ένα ακόμα πιο στυλιζαρισμένη σελίδα, αλλά πρώτα ας δούμε την HTML. 204 00:11:36,000 --> 00:11:41,000 Αυτό είναι search4.html, και να παρατηρήσετε ότι είναι δομικά σχεδόν το ίδιο 205 00:11:41,000 --> 00:11:44,000 εκτός από την εισαγωγή μιας νέας ετικέτας, div. 206 00:11:44,000 --> 00:11:48,000 Div είναι μια ετικέτα που εισάγει ένα τμήμα της σελίδας. 207 00:11:48,000 --> 00:11:51,000 Μπορείτε να σκεφτείτε το σαν ένα αόρατο τετράγωνο. 208 00:11:51,000 --> 00:11:54,000 Το είδος του δημιουργεί μια λωρίδα της περιοχής στην ιστοσελίδα 209 00:11:54,000 --> 00:11:56,000 ότι μπορείτε να στυλιζάρω όλα με τη μία. 210 00:11:56,000 --> 00:11:58,000 Αυτό που έχω κάνει εδώ είναι ως εξής. 211 00:11:58,000 --> 00:12:01,000 Μέσα από την ετικέτα σώμα μου, το οποίο ήταν εκεί όλοι μαζί, 212 00:12:01,000 --> 00:12:05,000 Λέω δημιουργήσει ένα τμήμα της σελίδας μέσω εδώ γραμμές 45 έως 47, 213 00:12:05,000 --> 00:12:09,000 και αυτό σημαίνει ότι ουσιαστικά να μου δώσει ένα αόρατο τετράγωνο κατά μήκος του πάνω μέρος της σελίδας. 214 00:12:09,000 --> 00:12:14,000 Στη συνέχεια, να μου δώσει μια δεύτερη ορθογώνιο, αν και αόρατη, κάτω από αυτό, 215 00:12:14,000 --> 00:12:16,000 και να προσδιορίσει το περιεχόμενο όνομα, και στη συνέχεια, τέλος, 216 00:12:16,000 --> 00:12:19,000 να μου δώσει ένα τρίτο τμήμα της σελίδας στο κάτω μέρος 217 00:12:19,000 --> 00:12:21,000 που ονομάζεται ID. 218 00:12:21,000 --> 00:12:23,000 Θα δούμε γιατί έχω κάνει αυτό σε μια στιγμή, 219 00:12:23,000 --> 00:12:26,000 εννοιολογικά, αλλά έχω ένα τμήμα κεφαλίδας. 220 00:12:26,000 --> 00:12:30,000 Έχω ένα τμήμα περιεχομένου, και έχω ένα υποσέλιδο διαίρεση της σελίδας 221 00:12:30,000 --> 00:12:32,000 ακόμα κι αν αυτά είναι μόνο σε σήμανσης. 222 00:12:32,000 --> 00:12:35,000 Ο χρήστης δεν πρόκειται να δείτε 3 ορθογώνια, 223 00:12:35,000 --> 00:12:37,000 αλλά το είδος της δομής εκεί πίσω από τις σκηνές 224 00:12:37,000 --> 00:12:39,000 είναι πραγματικά παρόντες. 225 00:12:39,000 --> 00:12:41,000 >> Τώρα, ποιος νοιάζεται; Γιατί να το κάνετε πραγματικά αυτό; 226 00:12:41,000 --> 00:12:43,000 Όλα τα άλλα στη σελίδα είναι η ίδια όπως έχουμε δει στο παρελθόν. 227 00:12:43,000 --> 00:12:47,000 Εδώ είναι μορφή μου. Εδώ είναι είσοδο μου, είσοδος μου, μια αλλαγή γραμμής και ούτω καθεξής. 228 00:12:47,000 --> 00:12:50,000 Εδώ είναι μια εικόνα, όμως, έτσι θα δούμε εάν αυτό προήλθε από ακριβώς σε μια στιγμή. 229 00:12:50,000 --> 00:12:52,000 Εδώ είναι ένα υποσέλιδο, το οποίο είναι νέο, μόνο και μόνο επειδή ήθελα να εισαγάγει 230 00:12:52,000 --> 00:12:54,000 λίγο περισσότερο περιεχόμενο εδώ. 231 00:12:54,000 --> 00:12:58,000 Αν μετακινηθείτε προς τα επάνω παρατηρήσετε ότι η ταυτότητα αυτού είναι η κεφαλίδα div. 232 00:12:58,000 --> 00:13:02,000 Η ταυτότητα αυτού του div είναι το περιεχόμενο, καθώς και η ταυτότητα του αυτό είναι το υποσέλιδο. 233 00:13:02,000 --> 00:13:05,000 Και όπως υποδηλώνει το όνομα, όταν έχετε ένα χαρακτηριστικό ID 234 00:13:05,000 --> 00:13:09,000 σε μορφή HTML, εξ ορισμού θα πρέπει να προσδιορίσει επακριβώς 235 00:13:09,000 --> 00:13:12,000 ένα εκ των στοιχείων, μία από τις ετικέτες στην σελίδα σας. 236 00:13:12,000 --> 00:13:16,000 Το βάρος είναι εντελώς από εσάς να θυμάστε ότι έχετε ένα αναγνωριστικό κεφαλίδα ήδη. 237 00:13:16,000 --> 00:13:19,000 Έχετε ένα υποσέλιδο. Έχετε ένα αναγνωριστικό περιεχόμενο ήδη. 238 00:13:19,000 --> 00:13:22,000 Ο υπολογιστής δεν πρόκειται να καταλάβω τι είναι διαθέσιμο ID είναι για σας, 239 00:13:22,000 --> 00:13:27,000 ώστε να μπορείτε να λάθος δώσει 2 ετικέτες ένα αναγνωριστικό της κεφαλίδας, 240 00:13:27,000 --> 00:13:29,000 και ότι θα ήταν απλά να είναι λάθος. 241 00:13:29,000 --> 00:13:31,000 >> Θα πρέπει να έχετε κατά νου αυτό που έχετε δημιουργήσει, 242 00:13:31,000 --> 00:13:34,000 αλλά από τη στιγμή που έχετε κάνει ότι ειδοποίηση τι μπορούμε να κάνουμε εδώ. 243 00:13:34,000 --> 00:13:38,000 Μπορώ τώρα να καθορίσετε το στυλ μου ετικέτα στην κορυφή 244 00:13:38,000 --> 00:13:41,000 ή ισοδύναμα στο CSS αρχείο μου, αν ήμουν ακόμα χρησιμοποιώντας αυτήν την έκδοση, 245 00:13:41,000 --> 00:13:46,000 Μπορώ να πω # header, και τι σημαίνει αυτό είναι ότι ανεξάρτητα από την ετικέτα 246 00:13:46,000 --> 00:13:49,000 σε αυτή την ιστοσελίδα έχει ένα αναγνωριστικό της κεφαλίδας 247 00:13:49,000 --> 00:13:53,000 # και, ακριβώς από την ανθρώπινη συνθήκη, αποτελεί ID. 248 00:13:53,000 --> 00:13:56,000 Η απότομη σήμα ή σήμα αντιπροσωπεύει λίρα ID. 249 00:13:56,000 --> 00:13:58,000 Header είναι το όνομα που μου έδωσε. 250 00:13:58,000 --> 00:14:01,000 Αυτό σημαίνει ότι ισχύουν αυτήν την ιδιότητα CSS 251 00:14:01,000 --> 00:14:04,000 για ο, τιδήποτε ετικέτα σε αυτή τη σελίδα έχει ένα αναγνωριστικό της κεφαλίδας. 252 00:14:04,000 --> 00:14:06,000 Η ίδια συμφωνία εδώ. 253 00:14:06,000 --> 00:14:09,000 Εφαρμόστε αυτό το ακίνητο, το οποίο συμβαίνει να είναι το ίδιο, σε κάθε στοιχείο 254 00:14:09,000 --> 00:14:11,000 των οποίων η ταυτότητα είναι το περιεχόμενο, και στη συνέχεια, εδώ κάτω 255 00:14:11,000 --> 00:14:14,000 παρατηρήσετε πήρα λίγο πιό φανταχτερό με υποσέλιδο. 256 00:14:14,000 --> 00:14:18,000 Κάθε στοιχείο του οποίου είναι η ταυτότητα υποσέλιδο, εκ των οποίων μπορεί να υπάρξει μόνο ένα εξ ορισμού, 257 00:14:18,000 --> 00:14:21,000 να προχωρήσει και να κάνει το μέγεθος της γραμματοσειράς του μικρότερου, 258 00:14:21,000 --> 00:14:24,000 γραμματοσειρά τολμηρή του βάρος, το περιθώριο του 20 pixel. 259 00:14:24,000 --> 00:14:26,000 >> Τι σημαίνει αυτό; 260 00:14:26,000 --> 00:14:28,000 Είναι απλά ένα περιθώριο στην κορυφή, τον πυθμένα, και το αριστερό και το δεξί. 261 00:14:28,000 --> 00:14:31,000 Αυτό σημαίνει να μου δώσει μια 20-pixel αόρατο περιθώριο γύρω από αυτό 262 00:14:31,000 --> 00:14:35,000 απλά για να ωθήσει όλα τα άλλα από μακριά λίγο, όπως μπορείτε να κάνετε με το Word, 263 00:14:35,000 --> 00:14:37,000 Microsoft Word ή σελίδες ή τα παρόμοια. 264 00:14:37,000 --> 00:14:39,000 Και στη συνέχεια, ευθυγραμμίστε κείμενο κέντρο. 265 00:14:39,000 --> 00:14:43,000 Ας δούμε το τελικό αποτέλεσμα, και στη συνέχεια θα πάμε πίσω μέχρι και το υπόλοιπο ένα απόσπασμα του CSS εκεί. 266 00:14:43,000 --> 00:14:48,000 Αυτή είναι η έκδοση 4, το τελευταίο μας για τα παραδείγματα αναζήτησης, και είναι πολλά, πολλά σέξι. 267 00:14:48,000 --> 00:14:54,000 Τώρα, για να είμαστε δίκαιοι, εγώ μόλις Googled "γραμματοσειρά γεννήτρια google λογότυπο." 268 00:14:54,000 --> 00:14:58,000 Και αυτό μου έδωσε τη δυνατότητα να δημιουργήσετε ένα GIF, η μορφή εικόνας, το οποίο μοιάζει με ότι υπάρχει. 269 00:14:58,000 --> 00:15:00,000 Στην πραγματικότητα, μπορείτε να το κάνετε αυτό πάρα πολύ. 270 00:15:00,000 --> 00:15:03,000 Έχουμε "google γεννήτρια logo γραμματοσειρές." 271 00:15:03,000 --> 00:15:05,000 >> Ας δούμε αν μπορούμε να το κάνουμε αυτό. 272 00:15:05,000 --> 00:15:07,000 Εντάξει, νομίζω ότι αυτό είναι το δικτυακό τόπο που χρησιμοποιείται. 273 00:15:07,000 --> 00:15:11,000 Μπορούμε να πούμε Ec 10, για παράδειγμα, και να τους το δικό τους. 274 00:15:11,000 --> 00:15:13,000 Μπορείτε να παίξετε με αυτό όλη την ημέρα και στη συνέχεια, κάντε δεξί κλικ πάνω του 275 00:15:13,000 --> 00:15:16,000 και στη συνέχεια κατεβάστε το πραγματικό GIF, το οποίο είναι το μόνο που έκανα. 276 00:15:16,000 --> 00:15:19,000 Και πράγματι, γι 'αυτό σε HTML μου, θυμάμαι, εδώ 277 00:15:19,000 --> 00:15:22,000 Είχα μια ετικέτα εικόνας, το οποίο είδαμε για λίγο την περασμένη εβδομάδα 278 00:15:22,000 --> 00:15:24,000 των οποίων η πηγή είναι logo.gif. 279 00:15:24,000 --> 00:15:28,000 Και πάλι τι ήταν το κίνητρο για το γεγονός ότι αυτό το χαρακτηριστικό alt, 280 00:15:28,000 --> 00:15:31,000 αυτή η εναλλακτική χαρακτηριστικό; 281 00:15:31,000 --> 00:15:33,000 Ναι. 282 00:15:33,000 --> 00:15:35,000 [Ακούγεται ανταπόκριση των φοιτητών] 283 00:15:35,000 --> 00:15:37,000 Καλό, έτσι 2 λόγους πραγματικά, αν ο browser δεν μπορεί να σηκώσει την εικόνα 284 00:15:37,000 --> 00:15:40,000 επειδή έχετε μια αργή σύνδεση με το δίκτυο ή η εικόνα είναι κατεστραμμένο 285 00:15:40,000 --> 00:15:44,000 ή κάτι τέτοιο, τουλάχιστον το ανθρώπινο μπορεί να δει "CS50 αναζήτηση," 286 00:15:44,000 --> 00:15:46,000 και ακολούθως επίσης για λόγους προσβασιμότητας. 287 00:15:46,000 --> 00:15:48,000 Εάν έχετε ένα χρήστη ο οποίος είναι τυφλός και χρησιμοποιεί ένα πρόγραμμα ανάγνωσης οθόνης 288 00:15:48,000 --> 00:15:50,000 και ως εκ τούτου προφανώς δεν μπορούν να δουν εικόνες μπορούν τουλάχιστον 289 00:15:50,000 --> 00:15:52,000 ακούσετε το κείμενο, αν ο υπολογιστής τους δεν μιλάει γι 'αυτούς. 290 00:15:52,000 --> 00:15:56,000 >> Σε γενικές γραμμές, αυτή είναι η καλύτερη πρακτική, όταν πρόκειται για την προσβασιμότητα των σελίδων 291 00:15:56,000 --> 00:16:00,000 έτσι ώστε ακόμη και οι χρήστες σε αυτή την κατάσταση μπορεί να ακούσει ή να δει, να το πω έτσι, 292 00:16:00,000 --> 00:16:03,000 τι είναι αυτό που είναι στη σελίδα σας. 293 00:16:03,000 --> 00:16:05,000 Υπάρχει ένα άλλο πράγμα που έκανα εδώ 294 00:16:05,000 --> 00:16:09,000 το οποίο είναι ένα μικρό ενδιαφέρον, και θα δούμε περισσότερα για αυτό το πρόβλημα που 7 295 00:16:09,000 --> 00:16:12,000 μέσω ενός από τους επικεφαλής σορτς από έναν από τους υποτρόφων διδασκαλίας. 296 00:16:12,000 --> 00:16:15,000 Αλλά # περιεχόμενο αναφέρεται στην ετικέτα 297 00:16:15,000 --> 00:16:20,000 των οποίων η ταυτότητα είναι το περιεχόμενο, αλλά στη συνέχεια υπάρχει ένα κενό διάστημα, και στη συνέχεια υπάρχει η είσοδος λέξη. 298 00:16:20,000 --> 00:16:25,000 Λοιπόν, τι είναι ενδιαφέρον για το CSS είναι ότι μπορείτε να 299 00:16:25,000 --> 00:16:29,000 αναφέρονται στις ετικέτες σε ένα είδος σελίδα του ιεραρχικά, 300 00:16:29,000 --> 00:16:33,000 και ό, τι αυτό σημαίνει απόσπασμα του CSS είναι να βρούμε την ετικέτα 301 00:16:33,000 --> 00:16:37,000 των οποίων η ταυτότητα είναι το περιεχόμενο, και στη συνέχεια να εφαρμόσει τις ακόλουθες ιδιότητες 302 00:16:37,000 --> 00:16:42,000 σε όλες τις ετικέτες εισόδου που είναι απόγονοι του περιεχομένου, 303 00:16:42,000 --> 00:16:44,000 ότι είναι ότι είναι εσοχή στο εσωτερικό του. 304 00:16:44,000 --> 00:16:48,000 Εγκοπής, και πάλι, είναι σημαντικό μόνο με τον υπολογιστή, όχι στον άνθρωπο, 305 00:16:48,000 --> 00:16:51,000 αλλά με σύμβαση που εδάφιο πράγματα όπως πάμε βαθύτερα σε μια σελίδα, 306 00:16:51,000 --> 00:16:54,000 έτσι αυτό σημαίνει εφαρμόσει ένα περιθώριο 5 pixel σε κάθε στοιχείο εισόδου 307 00:16:54,000 --> 00:16:57,000 αυτό είναι κάπου μέσα ή ένθετα στο εσωτερικό του 308 00:16:57,000 --> 00:16:59,000  το στοιχείο του οποίου είναι η ταυτότητα του περιεχομένου. 309 00:16:59,000 --> 00:17:01,000 >> Ποιος δεν ισχύει ότι για να? 310 00:17:01,000 --> 00:17:03,000 Λοιπόν, υπάρχει πραγματικά μόνο αυτά τα 2 παιδιά εδώ. 311 00:17:03,000 --> 00:17:05,000 Παρατηρήστε ότι μέσα από τη μορφή, υπάρχουν 2 είσοδοι, 312 00:17:05,000 --> 00:17:07,000 όπως έχει υπάρξει για το σύνολο αυτών των παραδειγμάτων. 313 00:17:07,000 --> 00:17:11,000 Αλλά ειδοποίηση ότι οι 2 είσοδοι τυχαίνει να είναι ένθετα στο εσωτερικό, 314 00:17:11,000 --> 00:17:13,000 αν και λίγο βαθιά, ένα ζευγάρι στρώματα της εσοχής, 315 00:17:13,000 --> 00:17:16,000 μέσα από την ετικέτα του οποίου ID είναι το περιεχόμενο. 316 00:17:16,000 --> 00:17:18,000 Τι σημαίνει αυτό; 317 00:17:18,000 --> 00:17:21,000 Αν πάμε στο πρόγραμμα περιήγησης εδώ μπορείτε να δείτε πάντα τόσο ελαφρώς- 318 00:17:21,000 --> 00:17:23,000 επιτρέψτε μου μεγέθυνση-ότι υπάρχει ένα κομμάτι της συμπλήρωσης ανάμεσα στο κουμπί 319 00:17:23,000 --> 00:17:25,000 και μεταξύ του πεδίου κειμένου. 320 00:17:25,000 --> 00:17:27,000 >> Επιτρέψτε μου να στραφώ προσωρινά αυτό το off. 321 00:17:27,000 --> 00:17:30,000 Επιτρέψτε μου να πάω μέχρι το CSS μου, και επιτρέψτε μου να προχωρήσει και μόνο 322 00:17:30,000 --> 00:17:34,000 αλλάξει αυτό το περιθώριο από 5 έως 0 pixels pixels. 323 00:17:34,000 --> 00:17:37,000 Επιτρέψτε μου να προχωρήσει και στη συνέχεια να αποθηκεύσετε το αρχείο, πηγαίνετε πίσω στη μηχανή αναζήτησης 324 00:17:37,000 --> 00:17:40,000 και reload, και να παρακολουθήσουν τη μέση της σελίδας. 325 00:17:40,000 --> 00:17:43,000 Όλα πήρε συμπιεσμένα μαζί, και όταν χτυπημένη πρώτη φορά αυτό το παράδειγμα επάνω 326 00:17:43,000 --> 00:17:46,000 Σκέφτηκα ότι φαινόταν ηλίθιο με το πεδίο κειμένου και στη συνέχεια το κουμπί αμέσως κάτω από αυτό. 327 00:17:46,000 --> 00:17:50,000 Ήθελα να το μαξιλάρι λίγο, γι 'αυτό εισήγαγε περιθώρια. 328 00:17:50,000 --> 00:17:55,000 Αυτό που δεν θα κάνει διάλεξη είναι να πάτε μέσω του αρκετές δεκάδες 329 00:17:55,000 --> 00:17:58,000 CSS ιδιότητες που υπάρχουν, επειδή, πάλι, υπάρχουν πράγματα όπως το μέγεθος γραμματοσειράς, 330 00:17:58,000 --> 00:18:02,000 βάρος γραμματοσειρά, το περιθώριο, το κείμενο ευθυγράμμιση, και μερικοί άλλοι δώδεκα, 331 00:18:02,000 --> 00:18:06,000 και εμείς θα σας παραπέμψει σε πρόβλημα που 7 στα διάφορα μαθήματα σε απευθείας σύνδεση 332 00:18:06,000 --> 00:18:08,000 και αναφορές που σας επιτρέπουν να επιλέξετε αυτά τα πράγματα. 333 00:18:08,000 --> 00:18:10,000 Αλλά αυτό που είναι πραγματικά σημαντικό στο τέλος της ημέρας 334 00:18:10,000 --> 00:18:12,000 >> είναι να καταλάβουμε πώς εφαρμόζονται αυτά τα πράγματα. 335 00:18:12,000 --> 00:18:15,000 Και πάλι, αν έχουμε το εσωτερικό στυλ ετικέτα των οποίων 336 00:18:15,000 --> 00:18:19,000 μπορούν να πάνε οι επιλογείς, το είδος των αναγνωριστικών στοιχείων που προσδιορίζουν 337 00:18:19,000 --> 00:18:21,000 σε ποιον θέλετε να εφαρμόσετε αυτές τις ιδιότητες, 338 00:18:21,000 --> 00:18:24,000 και τότε θα θέσει τις ιδιότητες ως ζεύγος κλειδιών αξία 339 00:18:24,000 --> 00:18:28,000 διαχωρίζονται με άνω και κάτω τελεία και στη συνέχεια τελείωσε με ένα ερωτηματικό, 340 00:18:28,000 --> 00:18:32,000 ή μπορείτε να αντιγράψετε όλα αυτά έξω και το βάζουμε σε ένα ξεχωριστό αρχείο CSS 341 00:18:32,000 --> 00:18:35,000 από μόνο του. 342 00:18:35,000 --> 00:18:39,000 Εντάξει, οποιεσδήποτε ερωτήσεις σχετικά με τις έννοιες 343 00:18:39,000 --> 00:18:41,000 ή η μεγάλη εικόνα του CSS; 344 00:18:41,000 --> 00:18:43,000 Θα δούμε και πάλι πάνω από το PSET σε 7, 345 00:18:43,000 --> 00:18:47,000 αλλά εμείς θα κρατήσουμε γενικά αρκετά απλή. 346 00:18:47,000 --> 00:18:49,000 Όχι; Εντάξει. 347 00:18:49,000 --> 00:18:51,000 Ήρθε η ώρα για μια πραγματική γλώσσα προγραμματισμού, 348 00:18:51,000 --> 00:18:54,000 και θα επανέλθουμε σε λίγο CSS, με τη μορφή ενός παραδείγματος. 349 00:18:54,000 --> 00:18:58,000 PHP είναι στην πραγματικότητα μια θαυμάσια προσβάσιμη γλώσσα 350 00:18:58,000 --> 00:19:02,000 κατά το ότι είναι συντακτικά σχεδόν ισοδύναμο με Ο. 351 00:19:02,000 --> 00:19:06,000 Με άλλα λόγια, αν ξέρεις C, ξέρετε για το μεγαλύτερο μέρος της PHP, 352 00:19:06,000 --> 00:19:08,000 τουλάχιστον συντακτικά, ακόμα κι αν υπάρχουν κάποια νέα χαρακτηριστικά 353 00:19:08,000 --> 00:19:10,000 και μερικές νέες έννοιες που θα πρέπει να εξετάσουμε. 354 00:19:10,000 --> 00:19:13,000 >> Αλλά για το μεγαλύτερο μέρος, τώρα που έχουμε μετάβαση από το C στο PHP 355 00:19:13,000 --> 00:19:16,000 τα περισσότερα από τα νέα πράγματα είναι πραγματικά στη μεγάλη εικόνα, 356 00:19:16,000 --> 00:19:19,000 το πώς να χρησιμοποιήσετε μια γλώσσα για το πρόγραμμα στο διαδίκτυο, σε αντίθεση με 357 00:19:19,000 --> 00:19:23,000 στη γραμμή εντολών ή σε άμεση αναβοσβήνει όπως έχουμε κάνει μέχρι τώρα. 358 00:19:23,000 --> 00:19:27,000 Για την αναφορά, ειδικά με PSET 7 και το τελικό σχέδιο προς τα εμπρός, 359 00:19:27,000 --> 00:19:31,000 να επωφεληθούν από αυτό το URL εδώ αν θέλετε να διαβάσετε σχετικά με τις διατυπώσεις της PHP. 360 00:19:31,000 --> 00:19:34,000 Είναι σαν ένα πραγματικά δωρεάν online βιβλίο αποτελεσματικά, 361 00:19:34,000 --> 00:19:37,000 και θα βρείτε, επίσης, ότι αυτό είναι πολύ ωραίο για PHP 362 00:19:37,000 --> 00:19:41,000 είναι ότι υπάρχουν εκατοντάδες των λειτουργιών που έρχονται με αυτό, 363 00:19:41,000 --> 00:19:44,000 ενώ στην C που δεν έχουν κατ 'ανάγκη την πρόσβαση σε 364 00:19:44,000 --> 00:19:47,000 περισσότερες λειτουργίες από ό, τι ήταν στη βιβλιοθήκη μαθηματικά, η CS50 βιβλιοθήκη. 365 00:19:47,000 --> 00:19:51,000 Στην PHP και πολλές σύγχρονες γλώσσες, Python και Ruby μεταξύ τους, 366 00:19:51,000 --> 00:19:54,000 μπορείτε να αποκτήσετε πρόσβαση σε τόσες πολλές περισσότερες λειτουργίες, το οποίο σημαίνει ότι μπορείτε να πάρετε για να γράψετε 367 00:19:54,000 --> 00:19:57,000 πολύ λιγότερο κώδικα, επειδή μπορείτε να σταθεί στους ώμους των άλλων ανθρώπων 368 00:19:57,000 --> 00:19:59,000 που έχουν ήδη γράψει κάποια πράγματα για εσάς. 369 00:19:59,000 --> 00:20:03,000 >> Ας ρίξουμε μια γρήγορη ξενάγηση στην σύνταξη της PHP και στη συνέχεια να γράψει μερικά παραδείγματα. 370 00:20:03,000 --> 00:20:06,000 Τι ωραίο για PHP πρώτα απ 'όλα 371 00:20:06,000 --> 00:20:08,000 είναι ότι δεν υπάρχει κύρια λειτουργία. 372 00:20:08,000 --> 00:20:10,000 Αν θέλετε να γράψετε ένα πρόγραμμα σε PHP που μόλις αρχίσετε να γράφετε κώδικα, 373 00:20:10,000 --> 00:20:12,000 και δεν έχετε να ανησυχείτε για το κύριο. 374 00:20:12,000 --> 00:20:14,000 Δεν υπάρχει καμία int. Δεν υπάρχει καμία επιστροφή. 375 00:20:14,000 --> 00:20:17,000 Υπάρχει καμία argv, argc μόνο που απαιτείται όταν γράφετε το πρόγραμμα. 376 00:20:17,000 --> 00:20:20,000 Μάλλον μπορείτε απλά να αρχίσετε να γράφετε κώδικα, και αυτό είναι εν μέρει 377 00:20:20,000 --> 00:20:23,000 επειδή η PHP είναι αυτό που ονομάζεται μια ερμηνευμένη γλώσσα. 378 00:20:23,000 --> 00:20:26,000 C συντάχθηκε, και συντάχθηκε με την έννοια ότι θα ξεκινήσει 379 00:20:26,000 --> 00:20:29,000 με τον πηγαίο κώδικα, να τρέχει μέσα από Clang, το οποίο είναι ένα μεταγλωττιστή, 380 00:20:29,000 --> 00:20:33,000 και τελικά μετά από κάποιο αριθμό των βημάτων που έχετε αντικειμενικό κώδικα, 0s και 1s. 381 00:20:33,000 --> 00:20:36,000 PHP και Python και Ruby και Pearl και άλλοι 382 00:20:36,000 --> 00:20:39,000 είναι διαφορετικοί τύποι των γλωσσών ώστε να μην συγκεντρώνουν τους. 383 00:20:39,000 --> 00:20:42,000 Δεν πάμε από τον πηγαίο κώδικα για να 0s και 1s. 384 00:20:42,000 --> 00:20:45,000 Μπορείτε να εκτελέσετε μόνο τον πηγαίο κώδικα, και να εκτελέσετε τον πηγαίο κώδικα 385 00:20:45,000 --> 00:20:49,000 γράφοντας σε ένα συνηθισμένο αρχείο κειμένου, με κατάληξη. php σε αυτή την περίπτωση 386 00:20:49,000 --> 00:20:53,000 αντί του. c, και τι κάνει το πρόγραμμα στον υπολογιστή σας 387 00:20:53,000 --> 00:20:57,000 είναι ερμηνεύει κυριολεκτικά γραμμή κώδικα σας ανά γραμμή. 388 00:20:57,000 --> 00:21:00,000 >> Με άλλα λόγια, αντί να γράψει ένα πρόγραμμα και να εκτελέσετε το πρόγραμμα 389 00:21:00,000 --> 00:21:04,000 άμεσα, αντί να γράψετε ένα πρόγραμμα με ένα αρχείο με κατάληξη. php. 390 00:21:04,000 --> 00:21:09,000 Στη συνέχεια, μπορείτε να εκτελέσετε ένα πραγματικό πρόγραμμα που ονομάζεται php.exe, αν είστε σε Windows, 391 00:21:09,000 --> 00:21:12,000 PHP ή απλά αν είστε σε Mac OS ή Linux, 392 00:21:12,000 --> 00:21:17,000 και να σας προσφέρει ως είσοδο στο πρόγραμμα PHP δικό σας κώδικα, 393 00:21:17,000 --> 00:21:20,000 και ο σκοπός της ζωής είναι να διαβάσετε τον κωδικό σας πάνω προς τα κάτω, αριστερά προς τα δεξιά, 394 00:21:20,000 --> 00:21:23,000 και ό, τι δεν το έχεις πει να κάνει. 395 00:21:23,000 --> 00:21:25,000 >> Ας δούμε τι αυτό θα σημαίνει συντακτικά. 396 00:21:25,000 --> 00:21:27,000 Στην PHP έχουμε συνθήκες. 397 00:21:27,000 --> 00:21:29,000 Αυτή η διαφάνεια είναι πανομοιότυπο με αυτό που είδε πίσω στην εβδομάδα 1 398 00:21:29,000 --> 00:21:33,000 επειδή συντακτικά συνθήκες, IFS και άλλο ifs και αλλού στην PHP 399 00:21:33,000 --> 00:21:35,000 μοιάζει ακριβώς με αυτό. 400 00:21:35,000 --> 00:21:38,000 Όταν πρόκειται για την boolean εκφράσεις που πάμε να δούμε ακριβώς όπως αυτό. 401 00:21:38,000 --> 00:21:43,000 Όταν πρόκειται για την Anding πράγματα μαζί ως booleans πρόκειται να δούμε ακριβώς όπως αυτό. 402 00:21:43,000 --> 00:21:46,000 Διακόπτες μοιάζει το ίδιο, και θα έχετε το προστιθέμενο όφελος σε PHP 403 00:21:46,000 --> 00:21:51,000 ότι οι διακόπτες σε C θα μπορούσε μόνο να στραφούν σε ένα char ή int. 404 00:21:51,000 --> 00:21:53,000 Δεν θα μπορούσαν να στραφούν σε μια τιμή συμβολοσειράς. 405 00:21:53,000 --> 00:21:55,000 Στην PHP, μπορείτε να έχετε πραγματικά μια έκφραση 406 00:21:55,000 --> 00:21:58,000 που είναι μια μεταβλητή της οποίας το περιεχόμενο είναι ένα string, 407 00:21:58,000 --> 00:22:01,000 και μπορείτε να το κάνετε πραγματικά σύγκρισης συμβολοσειράς σε πραγματικό διαισθητικό τρόπο, 408 00:22:01,000 --> 00:22:06,000 Δεν σύγκριση δείκτη, προκειμένου να αποφασίσει αν θα κάνει περίπτωση i ή j ή κάτι άλλο. 409 00:22:06,000 --> 00:22:09,000 Θα δούμε ότι ενδεχομένως πριν από καιρό. 410 00:22:09,000 --> 00:22:11,000 >> Βρόχους υπερβολικά θαυμάσια είναι τα ίδια. 411 00:22:11,000 --> 00:22:15,000 Για βρόχοι έχουν αρχικοποίηση, μια κατάσταση, και κάποια αριθμός των ενημερώσεων. 412 00:22:15,000 --> 00:22:18,000 Ενώ βρόχους υπάρχουν επίσης σε PHP. 413 00:22:18,000 --> 00:22:21,000 Do while loops υπάρχουν επίσης σε PHP, 414 00:22:21,000 --> 00:22:26,000 και πίνακες υπάρχουν σε PHP, αλλά εδώ είναι όπου η σύνταξη αρχίζει να παίρνει λίγο διαφορετικό, 415 00:22:26,000 --> 00:22:29,000 αλλά οι έννοιες είναι η ίδια, και οι έννοιες είναι πραγματικά η ίδια 416 00:22:29,000 --> 00:22:32,000 όπως ήταν την εβδομάδα 0 με Scratch. 417 00:22:32,000 --> 00:22:34,000 Πρώτα απ 'όλα είναι το σύμβολο $. 418 00:22:34,000 --> 00:22:37,000 Αυτή ήταν μια σχεδιαστική απόφαση σύμφωνα με την οποία σε PHP κάθε μεταβλητή 419 00:22:37,000 --> 00:22:41,000 σε PHP με σχέδιο ξεκινά με $ σημάδι. 420 00:22:41,000 --> 00:22:46,000 Δεν υπάρχει πιο Χ, Υ, Ζ είναι τώρα $ X, Y $, $ μόνο και μόνο επειδή Z. 421 00:22:46,000 --> 00:22:49,000 Είναι κάτι που πρέπει να θυμάστε, και τώρα στη δεξιά πλευρά 422 00:22:49,000 --> 00:22:52,000 αυτό μοιάζει με μια σειρά, 423 00:22:52,000 --> 00:22:54,000 , αλλά είμαστε χρησιμοποιώντας αγκύλες εδώ. 424 00:22:54,000 --> 00:22:57,000 Στην PHP και JavaScript, όπως θα δούμε τελικά, 425 00:22:57,000 --> 00:23:01,000 να κηρύξει μια σειρά κάνετε ανοικτή αγκύλη και κλειστό αγκύλη, 426 00:23:01,000 --> 00:23:04,000 και στη συνέχεια να έχετε ένα κόμμα χωρίζονται λίστα τιμών, αν ints 427 00:23:04,000 --> 00:23:09,000 ή κορδόνια ή χαρακτήρες, ό, τι θέλετε, μέσα από την έκφραση εκεί. 428 00:23:09,000 --> 00:23:11,000 >> Τώρα, πώς κάνουμε κάτι σαν αυτό σε C; 429 00:23:11,000 --> 00:23:16,000 Ποια ήταν η σύνταξη για στατικά δηλώνοντας μια σειρά από γνωστούς αριθμούς; 430 00:23:16,000 --> 00:23:19,000 Ήταν άγκιστρα, τόσο μικρή διαφορά εδώ, αλλά σε τόσο PHP 431 00:23:19,000 --> 00:23:22,000 και τελικά το JavaScript χρησιμοποιεί μόνο αγκύλες, ώστε πραγματικά 432 00:23:22,000 --> 00:23:25,000 η μόνη ενδιαφέρουσα λεπτομέρεια εδώ είναι το σύμβολο $ για το όνομα της μεταβλητής 433 00:23:25,000 --> 00:23:28,000 καθώς επίσης και οι αγκύλες, και εκεί είναι ένα περίεργο πράγμα 434 00:23:28,000 --> 00:23:32,000 που είναι ήδη παραληφθεί, καθώς και στην αριστερή πλευρά του σημείου =. 435 00:23:32,000 --> 00:23:36,000 Τι λείπει ότι έχουμε απαίτηση για εβδομάδες τώρα; Ναι. 436 00:23:36,000 --> 00:23:38,000 [Ακούγεται ανταπόκριση των φοιτητών] 437 00:23:38,000 --> 00:23:41,000 Το μέγεθος, οπότε δεν υπάρχει αναφορά του μεγέθους της συστοιχίας. 438 00:23:41,000 --> 00:23:45,000 Ειλικρινά, δεν υπάρχει καμία αναφορά αγκύλες στην αριστερή πλευρά 439 00:23:45,000 --> 00:23:47,000 του σημείου =, και ό, τι άλλο λείπει από τη γραμμή; 440 00:23:47,000 --> 00:23:49,000 Ναι. >> [Ακούγεται ανταπόκριση των φοιτητών] 441 00:23:49,000 --> 00:23:52,000 Ο τύπος, έτσι αυτό που είναι ενδιαφέρον, ιδίως για PHP 442 00:23:52,000 --> 00:23:56,000 είναι ότι δεν είναι ένας έντονα δακτυλογραφημένη γλώσσα, όπως C είναι, 443 00:23:56,000 --> 00:23:58,000 και ότι είναι strongly typed, υπό την έννοια ότι θα πρέπει να πω char, 444 00:23:58,000 --> 00:24:00,000 θα πρέπει να πω int, θα πρέπει να πω float. 445 00:24:00,000 --> 00:24:03,000 >> Οποτεδήποτε θέλετε μια μεταβλητή που έχετε να πείτε Clang τι είδους του είναι. 446 00:24:03,000 --> 00:24:05,000 PHP είναι λίγο lazier. 447 00:24:05,000 --> 00:24:08,000 Είναι χαλαρά πληκτρολογήσει, υπό την έννοια ότι 448 00:24:08,000 --> 00:24:11,000 μπορείτε να έχετε άρματα και χαρακτήρες και έγχορδα 449 00:24:11,000 --> 00:24:14,000 και ints και ούτω καθεξής, αλλά η ίδια η γλώσσα 450 00:24:14,000 --> 00:24:17,000 δεν ενδιαφέρονται πραγματικά τι βάζετε μέσα σε μια μεταβλητή. 451 00:24:17,000 --> 00:24:20,000 Δεν χρειάζεται να το ενημερώσει εκ των προτέρων τι τύπο δεδομένων 452 00:24:20,000 --> 00:24:22,000 συμβαίνει σε μια μεταβλητή. 453 00:24:22,000 --> 00:24:24,000 Είναι εξ ολοκλήρου μέχρι σας, έτσι αυτό είναι ωραίο 454 00:24:24,000 --> 00:24:27,000 υπό την έννοια ότι δεν έχετε να ανησυχείτε τόσο πολύ για τα δεδομένα πληκτρολογώντας 455 00:24:27,000 --> 00:24:29,000 ανησυχητικό και ποια είναι τα επιχειρήματά σας και ούτω καθεξής. 456 00:24:29,000 --> 00:24:32,000 Αυτό σημαίνει επίσης τελικά λειτουργίες σε PHP πρόκειται να είναι σε θέση να επιστρέψει 457 00:24:32,000 --> 00:24:36,000 int είτε τις περισσότερες φορές, και ίσως κάποια στιγμή 458 00:24:36,000 --> 00:24:40,000 ότι θα επιστρέψει ένα bool, μια boolean false, για παράδειγμα, να σημαίνει ότι κάτι πήγε στραβά. 459 00:24:40,000 --> 00:24:44,000 Αυτό μας δίνει κάποιες upsides, αλλά επίσης θα μας κάνει είδος του σχεδιασμού 460 00:24:44,000 --> 00:24:47,000 λίγο lazier όταν πρόκειται για δεδομένα πληκτρολόγηση. 461 00:24:47,000 --> 00:24:50,000 >> Τι άλλο είναι εκεί για να κρατήσει στο μυαλό εδώ; 462 00:24:50,000 --> 00:24:54,000 Οι μεταβλητές φαίνονται αρκετά αρέσει αυτό, έτσι $ s = "Hello, world." 463 00:24:54,000 --> 00:24:57,000 Αυτό είναι ίσως που προκύπτουν με το προηγούμενο παράδειγμα, 464 00:24:57,000 --> 00:24:59,000 και έχουμε ένα άλλο είδος βρόχου. 465 00:24:59,000 --> 00:25:02,000 Αυτό και μόνο θα δούμε πραγματικά μια φορά σε μια στιγμή δεδομένου ότι είναι αρκετά βολικό, 466 00:25:02,000 --> 00:25:04,000 foreach μια κατασκευή. 467 00:25:04,000 --> 00:25:11,000 Σε αυτή την περίπτωση, ο βρόχος foreach λαμβάνει εσωτερικό των παρενθέσεων 3 λόγια τυπικά, 468 00:25:11,000 --> 00:25:16,000 Κάτι $ πρώτη, η οποία είναι ό, τι σειρά θέλετε να επαναλάβει τα μέλη της, 469 00:25:16,000 --> 00:25:19,000 τότε κυριολεκτικά η λέξη-κλειδί, όπως και, στη συνέχεια, τέλος, 470 00:25:19,000 --> 00:25:21,000 ένα άλλο όνομα της μεταβλητής που θα έχετε να επιλέξετε. 471 00:25:21,000 --> 00:25:23,000 Μπορεί να είναι foo, bar, ή στοιχείο, 472 00:25:23,000 --> 00:25:26,000 και τι κάνει αυτό το κατασκεύασμα 473 00:25:26,000 --> 00:25:29,000 είναι αν η $ array περιέχει 10 στοιχεία 474 00:25:29,000 --> 00:25:34,000 σε κάθε επανάληψη αυτού του πίνακα-συγγνώμη, σε κάθε επανάληψη του βρόχου αυτού 475 00:25:34,000 --> 00:25:37,000 η μεταβλητή που ονομάζεται στοιχείο πρόκειται να ενημερωθεί 476 00:25:37,000 --> 00:25:40,000 να είναι το πρώτο στοιχείο του πίνακα, τότε το δεύτερο στοιχείο στη συστοιχία, 477 00:25:40,000 --> 00:25:44,000 τότε το τρίτο στοιχείου του πίνακα, αποφεύγοντας έτσι την ανάγκη 478 00:25:44,000 --> 00:25:46,000 να κάνει το ελαφρώς ενοχλητικό πλατεία σημειογραφία βραχίονα και 479 00:25:46,000 --> 00:25:49,000 $ I για να δείκτη σε ένα πίνακα. 480 00:25:49,000 --> 00:25:53,000 PHP κάνει όλο αυτό το έργο για σας και σε κάθε επανάληψη 481 00:25:53,000 --> 00:25:55,000 απλά τα χέρια σας την επόμενη στοιχείο από τον πίνακα 482 00:25:55,000 --> 00:26:01,000 χωρίς να χρειάζεται να γνωρίζουν ή να νοιάζονται για αριθμητική θέση του δείκτη. 483 00:26:01,000 --> 00:26:04,000 >> Και τότε, τέλος, προς το παρόν, υπάρχει ένα άλλο χαρακτηριστικό της PHP 484 00:26:04,000 --> 00:26:08,000 που πρόκειται να είναι εξαιρετικά χρήσιμο, ειδικά όταν ξεκινάμε τον προγραμματισμό στο Web, 485 00:26:08,000 --> 00:26:10,000 και ότι είναι γνωστό ως ένα associative array. 486 00:26:10,000 --> 00:26:13,000 Οι πίνακες που γνωρίζουμε μέχρι στιγμής από τις 20 δευτερόλεπτα 487 00:26:13,000 --> 00:26:17,000 και για τα τελευταία 8 εβδομάδες αναπροσαρμόζονται αριθμητικά συστοιχίες, 488 00:26:17,000 --> 00:26:20,000 είδος των παραδοσιακών πινάκων, όπου οι δείκτες είναι ints, 489 00:26:20,000 --> 00:26:23,000 0, 1, 2, σε όλη τη διαδρομή προς τα πάνω. 490 00:26:23,000 --> 00:26:25,000 Συνειρμική συστοιχίες είναι πολύ πιο ισχυρό. 491 00:26:25,000 --> 00:26:28,000 Θα σας επιτρέψει να έχετε αυθαίρετες κλειδιά, 492 00:26:28,000 --> 00:26:31,000 αυθαίρετες δείκτες και αυθαίρετες τιμές. 493 00:26:31,000 --> 00:26:34,000 Ενώ σε μια παραδοσιακή διάταξη είναι 0, 1, 2, 494 00:26:34,000 --> 00:26:37,000 σε ένα associative array μπορείτε να έχετε ένα ευρετήριο 495 00:26:37,000 --> 00:26:41,000 ή ένα κλειδί του foo των οποίων η αξία είναι το μπαρ. 496 00:26:41,000 --> 00:26:46,000 Μπορείτε να έχετε στη συνέχεια, ένα άλλο βασικό του οποίου το όνομα είναι baz και των οποίων η αξία είναι qux. 497 00:26:46,000 --> 00:26:49,000 >> Και πάλι, η επιστήμη των υπολογιστών ηλίθιο γενική μεταβλητή ονόματα εδώ, 498 00:26:49,000 --> 00:26:55,000 αλλά το θέμα είναι ότι αυτή η σειρά δεν έχει στήριγμα βραχίονα 0 ή 1. 499 00:26:55,000 --> 00:26:59,000 Είναι αντ 'αυτού πρόκειται να έχει στήριγμα και στήριγμα foo baz. 500 00:26:59,000 --> 00:27:03,000 Αυτό είναι ένα πολύ πιο ευέλικτο στο ότι θα πάμε να είναι σε θέση να συνδέσει 501 00:27:03,000 --> 00:27:07,000 δηλαδή με άλλα λόγια, τα πλήκτρα με τιμές εντελώς αυθαίρετα, 502 00:27:07,000 --> 00:27:12,000 και θα πάμε να είναι σε θέση να πάρετε πίσω αυτές τις τιμές σε συνεχή χρόνο 503 00:27:12,000 --> 00:27:14,000 επειδή κάτω από το καπό τι ένα associative array 504 00:27:14,000 --> 00:27:16,000 πραγματικά είναι είναι ένα πίνακα κατακερματισμού. 505 00:27:16,000 --> 00:27:20,000 Θυμηθείτε ότι ένα πίνακα κατακερματισμού σας επιτρέπει να βάλετε σε κάποια εισόδου 506 00:27:20,000 --> 00:27:25,000 όπως θέσει τη λέξη David εάν θέλετε να εισάγετε τον David σε κάποιο είδος του λεξικού, 507 00:27:25,000 --> 00:27:27,000 και στη συνέχεια μπορείτε να πάρετε πίσω κάποια αξία συνήθως. 508 00:27:27,000 --> 00:27:29,000 Στην περίπτωση του Ορθογράφου, αληθείς ή ψευδείς. 509 00:27:29,000 --> 00:27:33,000 David ή ό, τι λέξη είναι ή δεν είναι στο λεξικό. 510 00:27:33,000 --> 00:27:36,000 Ένας associative array είναι πραγματικά ακριβώς ένα πίνακα κατακερματισμού, 511 00:27:36,000 --> 00:27:38,000 αλλά είναι μια πολύ πιο φιλική προς το χρήστη ενσάρκωση του. 512 00:27:38,000 --> 00:27:41,000 Όπως θα δούμε, πρόκειται να μας επιτρέψει να κάνουμε κάποια πράγματα 513 00:27:41,000 --> 00:27:43,000 πολύ, πολύ εύκολα. 514 00:27:43,000 --> 00:27:45,000 >> Ας ρίξουμε μια ματιά σε μερικά βασικά PHP 515 00:27:45,000 --> 00:27:47,000 παραδείγματα και να δούμε τι μπορούμε να κάνουμε με αυτή τη γλώσσα. 516 00:27:47,000 --> 00:27:51,000 Επιτρέψτε μου να προχωρήσει και να ανοίξει στον κατάλογο πηγή μας σήμερα 517 00:27:51,000 --> 00:27:54,000 ένα αρχείο που ονομάζεται hello1.php. 518 00:27:54,000 --> 00:27:57,000 Αυτό το αρχείο είναι περισσότερο από ό, τι σχόλιο είναι πραγματικό κώδικα, 519 00:27:57,000 --> 00:28:00,000 οπότε επιτρέψτε μου να αφαιρέσει πραγματικά όλα τα σχόλια από το αρχείο 520 00:28:00,000 --> 00:28:05,000 και να σας παρουσιάσουμε ίσως το πιο απλό πρόγραμμα PHP δικαίωμα εδώ. 521 00:28:05,000 --> 00:28:07,000 5 γραμμές, και μερικοί από αυτούς είναι λευκό χώρο, 522 00:28:07,000 --> 00:28:09,000 έτσι παρατηρήσετε κάποιες βασικές διαφορές εδώ. 523 00:28:09,000 --> 00:28:12,000 Το αρχείο ονομάζεται hello1.php. 524 00:28:12,000 --> 00:28:16,000 Η πρώτη γραμμή, όμως, είναι 00:28:18,000 Παρόμοια στο πνεύμα με HTML, 526 00:28:18,000 --> 00:28:21,000 ότι η ακολουθία των χαρακτήρων που λέει στον υπολογιστή 527 00:28:21,000 --> 00:28:25,000 "Γεια σου, υπολογιστή, έρχεται εδώ ένα πρόγραμμα είμαστε σε σε PHP." 528 00:28:25,000 --> 00:28:28,000 Κάνει βέβαιος ότι δεν είναι σύγχυση ότι είναι κάποια άλλη γλώσσα. 529 00:28:28,000 --> 00:28:30,000 Η γραμμή 2 είναι μια ενδιαφέρουσα λευκό χώρο. 530 00:28:30,000 --> 00:28:32,000 Η γραμμή 3 είναι παλιός φίλος μας printf, 531 00:28:32,000 --> 00:28:34,000 αυτή τη φορά στο πλαίσιο της PHP. 532 00:28:34,000 --> 00:28:37,000 PHP έχει τη δική του εκδοχή της printf που συμπεριφέρεται ακριβώς το ίδιο, 533 00:28:37,000 --> 00:28:39,000 έτσι αυτό είναι ακριβώς πρόκειται να εκτυπώσετε "Hello, world." 534 00:28:39,000 --> 00:28:46,000 Και τότε αυτό απέναντι ετικέτα εδώ,>, σημαίνει ότι είναι για την PHP κώδικα μου. 535 00:28:46,000 --> 00:28:48,000 >> Ας δούμε πώς μπορείτε να εκτελέσετε αυτό. 536 00:28:48,000 --> 00:28:50,000 Πάω να πάει πίσω στο παράθυρο του τερματικού μου εδώ. 537 00:28:50,000 --> 00:28:52,000 Πάω να μπω σε PHP κατάλογο μου. 538 00:28:52,000 --> 00:28:56,000 Παρατηρήστε ότι έχουμε ένα σωρό αρχεία, το πρώτο εκ των οποίων είναι hello.php. 539 00:28:56,000 --> 00:29:01,000 Επιτρέψτε μου να πάμε μπροστά και να τρέξει αυτό, hello1.php, εισάγετε. 540 00:29:01,000 --> 00:29:03,000 Permission denied. Εντάξει. 541 00:29:03,000 --> 00:29:06,000 Πώς καθορίζεται έχουμε πράγματα όπως αυτό στο παρελθόν; 542 00:29:06,000 --> 00:29:08,000 Τι είναι αυτό; >> [ακούγεται ανταπόκριση των φοιτητών] 543 00:29:08,000 --> 00:29:11,000 Εμείς χρειάζεται να διαβάζουν και να γράφουν, αλλά επιτρέψτε μου να κάνω ls-l. 544 00:29:11,000 --> 00:29:14,000 Θυμηθείτε αυτό το κάπως αινιγματικά εξόδου σύμφωνα με την οποία hello1 545 00:29:14,000 --> 00:29:17,000 φαίνεται να είναι αναγνώσιμα και εγγράψιμα από εμένα 546 00:29:17,000 --> 00:29:19,000 αλλά αναγνώσιμη από όλους τους άλλους. 547 00:29:19,000 --> 00:29:22,000 Βγάζει αυτό στην πραγματικότητα δεν είναι ένα βήμα προς τη σωστή κατεύθυνση. 548 00:29:22,000 --> 00:29:25,000 Η διαφορά, και πάλι, με μια γλώσσα που ερμηνεύεται 549 00:29:25,000 --> 00:29:27,000 είναι δεν τρέχει το πρόγραμμα άμεσα. 550 00:29:27,000 --> 00:29:30,000 Μπορείτε να εκτελέσετε αντί διερμηνέα και παραδώστε τον κωδικό 551 00:29:30,000 --> 00:29:33,000 ότι έχετε γράψει γι 'αυτό μπορεί να ερμηνεύσει την γραμμή προς γραμμή. 552 00:29:33,000 --> 00:29:36,000 Σε αυτή την περίπτωση, ο διερμηνέας ή πρόγραμμα που πραγματικά θέλετε να εκτελέσετε 553 00:29:36,000 --> 00:29:38,000 κυριολεκτικά ονομάζεται PHP. 554 00:29:38,000 --> 00:29:41,000 >> Κάπου σε αυτό το σκληρό δίσκο της συσκευής υπάρχει ένα πρόγραμμα 555 00:29:41,000 --> 00:29:45,000 κάποιος άλλος έγραψε ονομάζεται PHP, ή στα Windows php.exe. 556 00:29:45,000 --> 00:29:48,000 Τι θα πάω να κάνω εδώ είναι Πάω να τρέξει πραγματικά PHP 557 00:29:48,000 --> 00:29:51,000 όμως δώσει ως όρισμα γραμμής εντολών τον κώδικα που έγραψα, 558 00:29:51,000 --> 00:29:54,000 και στη συνέχεια θα σμίκρυνση και πατήστε enter. 559 00:29:54,000 --> 00:29:58,000 Τρέχει το πρόγραμμα μου για μένα, πάνω προς τα κάτω, αριστερά προς τα δεξιά. 560 00:29:58,000 --> 00:30:01,000 Επιτρέψτε μου να προχωρήσει και να ανοίξει μια μικρή διακύμανση από αυτό. 561 00:30:01,000 --> 00:30:05,000 Σε hello2.php ειδοποίηση ότι αυτό είναι πολύ 562 00:30:05,000 --> 00:30:08,000 είναι ως επί το πλείστον σχόλια, οπότε επιτρέψτε μου να απαλλαγούμε από αυτά ως μια απόσπαση της προσοχής, 563 00:30:08,000 --> 00:30:13,000 και τι είναι σαφώς διαφορετικά τώρα για αυτό το αρχείο; 564 00:30:13,000 --> 00:30:15,000 Υπάρχει αυτή η νέα γραμμή, κάπως αινιγματικά στην κορυφή. 565 00:30:15,000 --> 00:30:20,000 Στη γραμμή 1 είναι #! / Bin / php. 566 00:30:20,000 --> 00:30:24,000 Bin είναι μια σύμβαση για Linux και Mac OS για τα εκτελέσιμα, 567 00:30:24,000 --> 00:30:27,000 έτσι / bin σημαίνει ότι αυτό είναι ένα φάκελο που περιέχει μια δέσμη των δυαδικών 568 00:30:27,000 --> 00:30:29,000 δηλαδή είναι προγραμματισμένος, ένα από τα οποία είναι η PHP. 569 00:30:29,000 --> 00:30:32,000 Το #! είναι το παρατσούκλι δουλεία, 570 00:30:32,000 --> 00:30:35,000 που είναι ο γρήγορος τρόπος για να πούμε αυτό, και τι σημαίνει αυτό 571 00:30:35,000 --> 00:30:40,000 είναι ότι όταν εκτελείτε αυτό το πρόγραμμα τώρα υπάρχει ένας υπαινιγμός στην κορυφή του αρχείου 572 00:30:40,000 --> 00:30:44,000 που λέει στον υπολογιστή τι να χρησιμοποιήσει διερμηνέα. 573 00:30:44,000 --> 00:30:47,000 >> Παίρνει λίγο ενοχλητικό, αν είχατε να πείτε στους χρήστες σας και τους πελάτες σας 574 00:30:47,000 --> 00:30:50,000 "Hey, γράψαμε αυτό το πρόγραμμα που ονομάζεται hello1.php." 575 00:30:50,000 --> 00:30:54,000 Το μόνο που έχετε να κάνετε είναι να εκτελέσετε PHP για πάντα και στη συνέχεια το όνομα του εν λόγω προγράμματος. 576 00:30:54,000 --> 00:30:58,000 Ειλικρινά, θα ήταν απλώς να είναι καλύτερο για να τρέξει hello1.php, 577 00:30:58,000 --> 00:31:00,000 και πράγματι, αν μπορούμε να κάνουμε το εξής. 578 00:31:00,000 --> 00:31:05,000 Επιτρέψτε μου να πάμε μπροστά και να κάνουμε ls-l, και σε ανακοίνωση Hello2 είναι ακόμα μόλις διαβάσει γράφουν 579 00:31:05,000 --> 00:31:10,000 και στη συνέχεια, διαβάστε διαβάσει, έτσι δεν μπορώ να κάνω ακόμα αυτό, hello2.php. 580 00:31:10,000 --> 00:31:15,000 Αλλά αυτό εισήγαγε ποτέ τόσο σύντομο χρονικό διάστημα την τελευταία φορά, η εντολή chmod. 581 00:31:15,000 --> 00:31:20,000 Αν κάνω ένα chmod + x, που σημαίνει ότι όλα τα συν δυνατότητα εκτέλεσης, 582 00:31:20,000 --> 00:31:26,000 και στη συνέχεια hello2.php και στη συνέχεια να ls-l και πάλι παρατηρήσετε τι άλλαξε. 583 00:31:26,000 --> 00:31:29,000 Ένα, το Linux μου δείχνει το όνομα του αρχείου στο πράσινο για να μεταφέρω την ιδέα 584 00:31:29,000 --> 00:31:32,000 ότι αυτό είναι εκτελέσιμο, αλλά το πιο σημαντικό, στην αριστερή πλευρά 585 00:31:32,000 --> 00:31:36,000 παρατηρήσετε ότι το bit που αντιπροσωπεύει x για εκτελέσιμο έχει ρυθμιστεί. 586 00:31:36,000 --> 00:31:42,000 Αυτό σημαίνει ότι τώρα είναι ότι μπορεί να τρέξει ./hello2.php ως συνήθως, 587 00:31:42,000 --> 00:31:45,000 πατήστε enter, και λόγω της δουλεία στην κορυφή του αρχείου 588 00:31:45,000 --> 00:31:48,000 αυτό είναι μια υπόδειξη, και πάλι, στο Linux που λέει 589 00:31:48,000 --> 00:31:51,000 χρησιμοποιήσετε αυτό το διερμηνέα για να τρέξει αυτό το αρχείο. 590 00:31:51,000 --> 00:31:54,000 Μην ανησυχείτε για αναγκάζοντας τον χρήστη να πληκτρολογήσει πραγματικά. 591 00:31:54,000 --> 00:31:57,000 >> Και τι ωραία τώρα είναι το είδος του άσχετα με τους πελάτες μου ή τους φίλους μου 592 00:31:57,000 --> 00:32:01,000 ποια γλώσσα Έγραψα αυτό το πρόγραμμα, ώστε να μπορώ να προχωρήσει με mv 593 00:32:01,000 --> 00:32:04,000 και μετονομάστε αυτό το πράγμα να Hello2, για παράδειγμα. 594 00:32:04,000 --> 00:32:07,000 Και τώρα αν κάνω ./hello2 595 00:32:07,000 --> 00:32:10,000 και σμίκρυνση πρόγραμμα μου συνεχίζει να λειτουργεί. 596 00:32:10,000 --> 00:32:13,000 Αυτές οι επεκτάσεις αρχείων είναι μια ανθρώπινη σύμβαση που είναι αναγκαία 597 00:32:13,000 --> 00:32:15,000 για κάτι τέτοιο και Clang Κάντε που ψάχνουν για αυτούς. 598 00:32:15,000 --> 00:32:18,000 Αλλά για την PHP, θα μπορούσαμε να την ονομάσουμε κάτι επέκταση αρχείου που θέλω. 599 00:32:18,000 --> 00:32:22,000 Θα μπορούσα να ξεγελάσουν τον κόσμο να νομίζει ότι είμαι πολύ καλός στο Ruby, 600 00:32:22,000 --> 00:32:25,000 και θα μπορούσα να γράψω hello2.rb και στη συνέχεια να εκτελέσετε αυτή, 601 00:32:25,000 --> 00:32:28,000 και ιδού, τώρα έχω την έκδοση Ruby, το οποίο είναι ένα απόλυτο ψέμα. 602 00:32:28,000 --> 00:32:30,000 Αλλά οι επεκτάσεις αρχείων είναι χωρίς νόημα 603 00:32:30,000 --> 00:32:35,000 εάν το αρχείο είναι εκτελέσιμο και έχει ειδική αυτή υπαινιγμός στο επάνω μέρος του αρχείου. 604 00:32:35,000 --> 00:32:38,000 >> Τώρα, ως ένα μέρος, επιτρέψτε μου να σας δείξει γρήγορα την έκδοση 3, 605 00:32:38,000 --> 00:32:40,000 η οποία είναι ένα είδος χρήσιμο τέχνασμα για να ξέρω. 606 00:32:40,000 --> 00:32:45,000 Σε hello3 έκανα κάτι λάθος ελαφρώς 607 00:32:45,000 --> 00:32:47,000 ότι εγώ θα ενημερώσουμε την online πηγαίο κώδικα. 608 00:32:47,000 --> 00:32:50,000 Στην έκδοση 3 αποδεικνύεται ότι στους περισσότερους υπολογιστές με Linux 609 00:32:50,000 --> 00:32:53,000 υπάρχει ένα πρόγραμμα που ονομάζεται env για το περιβάλλον, 610 00:32:53,000 --> 00:32:56,000 και τι μπορείτε να κάνετε εδώ είναι, αν δεν έχετε καμία ιδέα για το πού PHP 611 00:32:56,000 --> 00:33:00,000 είναι εγκατεστημένο στον τοπικό σκληρό δίσκο, διότι πράγματι θα μπορούσε να διαφέρει ανάλογα με τον υπολογιστή 612 00:33:00,000 --> 00:33:03,000 ότι κάποιος χρησιμοποιεί, env λέει απλά εκτελέστε env, 613 00:33:03,000 --> 00:33:07,000 η οποία είναι στα περισσότερα συστήματα, και να καταλάβω όπου PHP είναι. 614 00:33:07,000 --> 00:33:11,000 Ακριβώς ένα κοινό τέχνασμα έτσι δεν έχετε να ανησυχείτε για να ανακαλύψει όπου ένα πρόγραμμα είναι. 615 00:33:11,000 --> 00:33:14,000 Αλλά αν το κάνετε φροντίδα για να μάθετε πού είναι ένα πρόγραμμα και δεν έχετε φροντίσει μέχρι στιγμής 616 00:33:14,000 --> 00:33:16,000 μπορείτε να χρησιμοποιήσετε την εντολή που. 617 00:33:16,000 --> 00:33:19,000 >> Επιτρέψτε μου σμίκρυνση και τύπου που php, 618 00:33:19,000 --> 00:33:23,000 παρατηρήσετε και μου λέει ότι είναι πραγματικά σε usr / bin / php. 619 00:33:23,000 --> 00:33:25,000 Είναι το είδος της ένα ψέμα. Είναι, επίσης, στον κάδο. 620 00:33:25,000 --> 00:33:27,000 Είναι απλά μου δείχνει το πρώτο χτύπημα. 621 00:33:27,000 --> 00:33:31,000 Εάν έχετε ποτέ αναρωτηθεί όπου είναι Clang, η οποία Clang, αυτό είναι σε usr / bin / κλαγγή, 622 00:33:31,000 --> 00:33:34,000 που κάνουν, usr / bin / κάνουν, και τι σημαίνει αυτό είναι όλο αυτό το διάστημα 623 00:33:34,000 --> 00:33:38,000 που θα μπορούσαν να έχουν πληκτρολογώντας usr / bin / κλαγγή αρχίζει να τρέχει Clang, 624 00:33:38,000 --> 00:33:41,000 αλλά αυτό είναι το είδος της κουραστικό να το κάνουμε αυτό, έτσι μερικοί φάκελοι 625 00:33:41,000 --> 00:33:44,000 όπως usr / bin bin και υποτίθεται ότι είναι προεπιλογές 626 00:33:44,000 --> 00:33:50,000 έτσι ώστε ο υπολογιστής ξέρει να δούμε σε αυτά για εσάς. 627 00:33:50,000 --> 00:33:53,000 Οποιεσδήποτε ερωτήσεις σχετικά με τη σύνταξη ενός σούπερ, σούπερ απλό πρόγραμμα Hello World 628 00:33:53,000 --> 00:33:55,000 σε PHP και στη συνέχεια να τρέχει; 629 00:33:55,000 --> 00:33:59,000 Επειδή τώρα θα αρχίσουμε να εισαγάγει πιο συναρπαστικό σύνταξη. 630 00:33:59,000 --> 00:34:01,000 Εντάξει, εδώ είμαστε. 631 00:34:01,000 --> 00:34:03,000 Αυτά τα προγράμματα που έχουμε δει πραγματικά όλα αυτά πριν. 632 00:34:03,000 --> 00:34:07,000 >> Αν ανοίξει, για παράδειγμα, ας κάνουμε beer1.php, 633 00:34:07,000 --> 00:34:09,000 εμείς δεν θα περάσει μέσα από διάφορες εκδόσεις του αυτό, αλλά ό, τι έκανα 634 00:34:09,000 --> 00:34:13,000 ήταν κάθισα και το έχυσε ή μετατρέπονται 635 00:34:13,000 --> 00:34:15,000 Γ κωδικό μου για PHP κώδικα εδώ. 636 00:34:15,000 --> 00:34:18,000 Οι περισσότεροι από την κορυφή του αρχείου είναι τα σχόλια εδώ. 637 00:34:18,000 --> 00:34:20,000 Αποδεικνύεται ότι υπάρχει μια νέα λειτουργία που ονομάζεται χρειαζόμαστε readline. 638 00:34:20,000 --> 00:34:23,000 GetString, ανάκληση, από την Εβδομάδα 0 και μετά ήταν CS50 πράγμα. 639 00:34:23,000 --> 00:34:27,000 PHP έρχεται με τη δική του φιλική προς το χρήστη λειτουργία που ονομάζεται readline 640 00:34:27,000 --> 00:34:30,000 που παίρνει 1 όρισμα που καθορίζει την έγκαιρη 641 00:34:30,000 --> 00:34:33,000 που θέλετε να δείτε στον χρήστη, και τι κάνει readline 642 00:34:33,000 --> 00:34:35,000 είναι ότι επιστρέφει ό, τι πληκτρολογεί ο χρήστης μέσα 643 00:34:35,000 --> 00:34:39,000 Σε αυτή την περίπτωση, είμαι δηλώνοντας μια μεταβλητή που ονομάζεται n $. 644 00:34:39,000 --> 00:34:42,000 Είμαι αποθήκευση σε αυτήν την τιμή επιστροφής της readline 645 00:34:42,000 --> 00:34:44,000 μετά από προτροπή του χρήστη με αυτή τη σειρά. 646 00:34:44,000 --> 00:34:47,000 Ακριβώς για να δημιουργήσετε αντίγραφα ασφαλείας, να τρέξει πραγματικά αυτό το πράγμα, επιτρέψτε μου να προχωρήσει 647 00:34:47,000 --> 00:34:50,000 και να τρέξει php beer1.php. 648 00:34:50,000 --> 00:34:53,000 Πόσα μπουκάλια θα υπάρξουν; Ας κάνουμε μόλις 2 αυτή τη φορά. 649 00:34:53,000 --> 00:34:55,000 Enter. Αυτό είναι όλο. 650 00:34:55,000 --> 00:34:59,000 >> Το πρόγραμμα είναι λειτουργικά ταυτόσημη με την έκδοση C από εβδομάδες πριν. 651 00:34:59,000 --> 00:35:01,000 Αλλά συντακτικά ας δούμε τι είναι διαφορετικό. 652 00:35:01,000 --> 00:35:05,000 Αφού πάρετε μια int από την ειδοποίηση των χρηστών που κάνω κάποιο έλεγχο σφαλμάτων, 653 00:35:05,000 --> 00:35:08,000 και αν το n είναι μικρότερο από 1 παράτησα και εγώ εκτυπώσετε 654 00:35:08,000 --> 00:35:11,000 ένα θλιβερό μήνυμα προς τον χρήστη και με την έξοδο 1. 655 00:35:11,000 --> 00:35:13,000 Αυτό είναι πολύ λίγο διαφορετική. 656 00:35:13,000 --> 00:35:16,000  Σε ό, τι C κάναμε; Στην Γ γυρίσαμε 1. 657 00:35:16,000 --> 00:35:20,000 Στην PHP βγείτε με 1, το οποίο ειλικρινά πιστεύω ότι είναι λίγο πιο διαισθητικό 658 00:35:20,000 --> 00:35:22,000 επειδή είστε κυριολεκτικά την έξοδο από το πρόγραμμα. 659 00:35:22,000 --> 00:35:25,000 Εντάξει, και στη συνέχεια, εδώ κάτω το ενοχλητικό τραγούδι είναι η ίδια συντακτικά 660 00:35:25,000 --> 00:35:29,000 εκτός από τη μεταβλητή, έτσι εδώ κάτω στη γραμμή 24 και μετά 661 00:35:29,000 --> 00:35:31,000 παρατηρήσετε μου για το βρόχο είναι σχεδόν το ίδιο, 662 00:35:31,000 --> 00:35:34,000 αλλά έχω $ μπροστά από i και n, 663 00:35:34,000 --> 00:35:37,000 και αυτό που επίσης λείπει από τη γραμμή 26 που είχαμε στο παρελθόν 664 00:35:37,000 --> 00:35:39,000 όταν δηλώνει μια μεταβλητή i; 665 00:35:39,000 --> 00:35:41,000 Δεν υπάρχει κανένα είδος. 666 00:35:41,000 --> 00:35:43,000 Είναι λάθος στην PHP να πω int. 667 00:35:43,000 --> 00:35:45,000 Μπορείτε απλά δεν χρειάζεται να το κάνουμε αυτό. 668 00:35:45,000 --> 00:35:48,000 Ο υπολογιστής, ο διερμηνέας PHP είναι αρκετά έξυπνος για να συνειδητοποιήσουμε 669 00:35:48,000 --> 00:35:51,000 ότι αν βάλετε μια σειρά σε $ εγώ θα την αντιμετωπίσουμε 670 00:35:51,000 --> 00:35:53,000 ως αριθμός για εσάς. 671 00:35:53,000 --> 00:35:57,000 Και τότε εμείς εδώ κάτω βύσμα σε $ i, i $, $ i - 1. 672 00:35:57,000 --> 00:36:00,000 Όλα αυτά είναι το ίδιο, και τότε εδώ κάτω κάνουμε μια "Ουάου, αυτό είναι ενοχλητικό" printf 673 00:36:00,000 --> 00:36:02,000 και στη συνέχεια κλείστε το (0). 674 00:36:02,000 --> 00:36:05,000 >> Και πάλι, η πακέτο εδώ είναι ότι ακόμα κι αν πρόκειται να περάσετε σχετικά 675 00:36:05,000 --> 00:36:09,000 λίγο χρόνο για PHP, σίγουρα σε σχέση με ό, τι κάναμε στο C, 676 00:36:09,000 --> 00:36:12,000 είναι σχεδόν το ίδιο, και έτσι αυτό που θα κάνουμε σήμερα και την επόμενη εβδομάδα 677 00:36:12,000 --> 00:36:14,000 και πέρα ​​είναι πραγματικά επικεντρώνεται σε κάποιες από τις νέες ιδέες. 678 00:36:14,000 --> 00:36:17,000 Ακριβώς για να δει ότι κάτι άλλο έχει μεταφράσει πάνω από το C, 679 00:36:17,000 --> 00:36:20,000 αυτό ήταν ένα εξαιρετικά απλό πρόγραμμα που κάναμε στην εβδομάδα 1 680 00:36:20,000 --> 00:36:22,000 ή 2 κύβους που μια τιμή. 681 00:36:22,000 --> 00:36:25,000 Αλλά αυτό που ήταν ενδιαφέρον κατά το χρόνο σχετικά με αυτό το πρόγραμμα είναι ότι 682 00:36:25,000 --> 00:36:28,000 εισήγαγε την έννοια της γραπτής προσαρμοσμένη συνάρτηση που εμείς οι ίδιοι έγραψαν. 683 00:36:28,000 --> 00:36:31,000 Η σύνταξη της PHP είναι σχεδόν το ίδιο. 684 00:36:31,000 --> 00:36:33,000 Εδώ είναι το πρόγραμμά μου επάνω στην κορυφή. 685 00:36:33,000 --> 00:36:35,000 Παρατηρήστε και πάλι απουσιάζει είναι οποιαδήποτε έννοια της κύριας. 686 00:36:35,000 --> 00:36:39,000 Αρχίζω να γράφω κώδικα, και αυτό είναι ό, τι πρόκειται να πάρει εκτελούνται από το διερμηνέα. 687 00:36:39,000 --> 00:36:42,000 Μπορώ να εκτυπώσω από το x είναι τώρα 2, κατά πάσα πιθανότητα. 688 00:36:42,000 --> 00:36:44,000 Τότε θα διεκδικήσει cubing ... 689 00:36:44,000 --> 00:36:47,000 Στη συνέχεια, καλώ τη λειτουργία κύβο και να περάσει σε $ x 690 00:36:47,000 --> 00:36:50,000 και να ορίσετε την τιμή επιστροφής για $ x. 691 00:36:50,000 --> 00:36:53,000 Τότε θα ισχυρίζονται ότι είναι κομμένο σε κύβους, και στη συνέχεια το λέω αυτό, το οποίο ελπίζουμε 692 00:36:53,000 --> 00:36:55,000 Θα πω x είναι τώρα 8. 693 00:36:55,000 --> 00:36:59,000 Η σύνταξη της συνάρτησης σε PHP είναι πάντα τόσο ελαφρώς διαφορετική. 694 00:36:59,000 --> 00:37:01,000 Και πάλι λείπει είναι ο τύπος επιστροφής. 695 00:37:01,000 --> 00:37:05,000 Και πάλι λείπει είναι ο τύπος επιστροφής, αλλά και ό, τι λείπει είναι άλλου τύπου; 696 00:37:05,000 --> 00:37:07,000 [Ακούγεται ανταπόκριση των φοιτητών] 697 00:37:07,000 --> 00:37:10,000 Λοιπόν, εντάξει, αυτό είναι καλό. Ας επανέλθουμε σε αυτό σε ένα δευτερόλεπτο. 698 00:37:10,000 --> 00:37:12,000 >> Δεν έχουμε, για παράδειγμα, int εδώ. 699 00:37:12,000 --> 00:37:15,000 Δεν, για παράδειγμα, έχουν int εδώ επειδή, πάλι, σε PHP 700 00:37:15,000 --> 00:37:18,000 απλά δεν χρειάζεται και δεν πρέπει να το κάνουμε αυτό, 701 00:37:18,000 --> 00:37:20,000 αλλά μάλλον δεν υπάρχει αυτή η λέξη-κλειδί που ονομάζεται νέα λειτουργία. 702 00:37:20,000 --> 00:37:23,000 Στην PHP είναι σχεδόν ένα λίγο πιο σαφής γιατί όταν θέλετε μια λειτουργία 703 00:37:23,000 --> 00:37:26,000 λέτε κυριολεκτικά λειτουργία, δίνετε ένα όνομα και στη συνέχεια μια λίστα χωρισμένη με κόμμα 704 00:37:26,000 --> 00:37:28,000 αν κάποια από τα επιχειρήματά της. 705 00:37:28,000 --> 00:37:32,000 Δεν χρειάζεται να πω άκυρη ή κάτι τέτοιο, και στη συνέχεια την επιστροφή είναι η ίδια, 706 00:37:32,000 --> 00:37:35,000 $ A * $ a * $ a. 707 00:37:35,000 --> 00:37:38,000 Αυτό που επίσης λείπει; Sammy επισήμανε αυτό από εδώ. 708 00:37:38,000 --> 00:37:43,000 Στην κορυφή του αρχείου εντελώς απούσα στην PHP επίσης είναι ένα πρωτότυπο. 709 00:37:43,000 --> 00:37:45,000 Αυτό είναι πάρα πολύ από το σχεδιασμό. 710 00:37:45,000 --> 00:37:48,000 Γλώσσες και διερμηνείς, όπως η PHP είναι εξυπνότερα από ό, τι ήταν ποτέ C 711 00:37:48,000 --> 00:37:50,000 σε μεταγλωττιστές όπως Clang. 712 00:37:50,000 --> 00:37:53,000 >> Υπενθυμίζουμε ότι Clang, αν δεν πω ότι αυτό το κύβο υπάρχει, 713 00:37:53,000 --> 00:37:56,000 αν δεν το πω ότι υπάρχει ως printf με ένα πρωτότυπο 714 00:37:56,000 --> 00:38:00,000 ή με μια # περιλαμβάνουν, επίσης, ότι επρόκειτο να φωνάζω σε σας και δεν συγκεντρώνουν καν τον κωδικό σας. 715 00:38:00,000 --> 00:38:03,000 PHP και πιο σύγχρονες γλώσσες είναι πολύ πιο έξυπνη, όταν πρόκειται για αυτό. 716 00:38:03,000 --> 00:38:07,000 Θα το αναλάβουν οι ίδιες να διαβάσετε όλες κωδικό σας 717 00:38:07,000 --> 00:38:11,000 και στη συνέχεια να φωνάζω σε σας μόνο αν διαπιστώσει πουθενά κύβο. 718 00:38:11,000 --> 00:38:15,000 Δεν έχει σημασία αν κύβου είναι στο κάτω μέρος ή την κορυφή ή ακόμα και σε κάποιο ξεχωριστό αρχείο. 719 00:38:15,000 --> 00:38:18,000 PHP και παρόμοιες γλώσσες είναι τώρα αρκετά έξυπνος για να κοιτάξουμε μπροστά 720 00:38:18,000 --> 00:38:26,000 σε ό, τι πριν την εκλάβει ως σας έχουν κάνει κάποιο λάθος. 721 00:38:26,000 --> 00:38:28,000 Όταν αυτός μας αφήνει; 722 00:38:28,000 --> 00:38:32,000 >> Ας κάνουμε ένα τελευταίο παράδειγμα εδώ σε συνθήκες, 723 00:38:32,000 --> 00:38:35,000 και αν έχω ανοίξει conditions2.php ειδοποίηση πάρα πολύ 724 00:38:35,000 --> 00:38:37,000 σύνταξη εδώ είναι σχεδόν η ίδια. 725 00:38:37,000 --> 00:38:40,000 Είμαι χρησιμοποιώντας readline αντί του GetString, αλλά ότι η γραμμή είναι η ίδια όπως και πριν, 726 00:38:40,000 --> 00:38:42,000 "Θα ήθελα παρακαλώ ένας ακέραιος." 727 00:38:42,000 --> 00:38:45,000 Έχω λοιπόν μια κατάσταση αν, ένα άλλο αν, και στη συνέχεια ένα άλλο, 728 00:38:45,000 --> 00:38:48,000 αλλά λειτουργικά αυτό το πρόγραμμα είναι επίσης ίδιο με αυτό που κάναμε εβδομάδες πριν, 729 00:38:48,000 --> 00:38:51,000 οπότε αν μπορώ να εκτελέσω αυτό το πράγμα, php του conditions2, 730 00:38:51,000 --> 00:38:54,000 και δίνω έναν αριθμό, όπως 23 - 731 00:38:54,000 --> 00:38:57,000 Πήρα ένα θετικό αριθμό. Αν μου δώσει -1 πήρα έναν αρνητικό αριθμό. 732 00:38:57,000 --> 00:39:00,000 Αν μου δώσει το 0 πήρα όντως 0. 733 00:39:00,000 --> 00:39:02,000 Έτσι, ποιος νοιάζεται για όλα αυτά; 734 00:39:02,000 --> 00:39:06,000 Λοιπόν, ένας από τους διασκέδαση είδος των ασκήσεων εδώ 735 00:39:06,000 --> 00:39:10,000 για μένα τουλάχιστον ήταν να πάει πίσω και να δούμε πόσο γρήγορα θα μπορούσε να εφαρμόσει PSET 5, 736 00:39:10,000 --> 00:39:12,000 η PSET ορθογραφικά λάθη. 737 00:39:12,000 --> 00:39:15,000 Υπενθυμίζουμε ότι υπήρχε αυτό το αρχείο με το όνομα speller.c, 738 00:39:15,000 --> 00:39:17,000 και υπήρχε ένα αρχείο που λέγεται dictionary.c. 739 00:39:17,000 --> 00:39:20,000 Αυτό που έκανα εγώ ήταν το είδος του πέρασε λίγα λεπτά και θα μετατραπούν τον κωδικό C 740 00:39:20,000 --> 00:39:23,000 σε κώδικα PHP, και δεν θα περνούν πολύ χρόνο για ορθογράφος 741 00:39:23,000 --> 00:39:26,000 επειδή ακριβώς όπως σε PSET 5 μπορείτε πραγματικά δεν χρειάζεται να 742 00:39:26,000 --> 00:39:29,000 περνούν πολύ χρόνο για ορθογράφος ίδια προσοχή σας, γιατί ήταν σε λεξικό. 743 00:39:29,000 --> 00:39:32,000 >> Αρκεί να πούμε ότι, αν μπορείτε να διαβάσετε μέσω ορθογράφος, 744 00:39:32,000 --> 00:39:35,000 αυτό το αρχείο εδώ, είναι λίγο πολύ ισοδύναμη με τον κωδικό C 745 00:39:35,000 --> 00:39:37,000 σας δώσαμε για PSET 5. 746 00:39:37,000 --> 00:39:39,000 Έχω προσθέσει μόνο μερικά δολάρια σε χώρους. 747 00:39:39,000 --> 00:39:43,000 Έχω αλλάξει ορισμένα ονόματα λειτουργία αν δεν υπάρχει στην PHP. 748 00:39:43,000 --> 00:39:45,000 Υπάρχει ένα επιπλέον πράγμα εδώ, preg_match, 749 00:39:45,000 --> 00:39:48,000 το οποίο είναι λίγο πιό φανταχτερό τρόπος για να γίνει κάτι, αλλά θα επανέλθω σε αυτό τελικά. 750 00:39:48,000 --> 00:39:51,000 Όμως, εν ολίγοις, ορθογράφος είναι σχεδόν ταυτόσημες, και αν κοιτάξετε στο κάτω μέρος 751 00:39:51,000 --> 00:39:54,000 αυτό που φτύνει έξω τελικά είναι αυτό εδώ, 752 00:39:54,000 --> 00:39:57,000 λέξεις με ορθογραφικά λάθη, λέξεις λέξεις από το λεξικό, στο κείμενο. 753 00:39:57,000 --> 00:40:00,000 Εντάξει, έτσι αυτό που είναι τώρα ενδιαφέρον είναι η ακόλουθη. 754 00:40:00,000 --> 00:40:05,000 Στην κορυφή του αρχείου μου, είμαι απαιτούν dictionary.php. 755 00:40:05,000 --> 00:40:09,000 Ακριβώς όπως C # έχει περιλαμβάνουν PHP έχει μια ειδική λειτουργία που ονομάζεται απαιτούν 756 00:40:09,000 --> 00:40:14,000 ότι λίγο πολύ κάνει το ίδιο πράγμα, απαιτούν ένα αρχείο με όνομα dictionary.php. 757 00:40:14,000 --> 00:40:18,000 Πώς μπορώ να πάω για την εφαρμογή PSET 5; 758 00:40:18,000 --> 00:40:21,000 Επιτρέψτε μου να πάμε μπροστά και να ανοίξει ένα αρχείο εδώ. 759 00:40:21,000 --> 00:40:24,000 Επιτρέψτε μου να πάρει λίγο αναφορά εδώ. 760 00:40:24,000 --> 00:40:29,000 Και επιτρέψτε μου να δημιουργήσετε ένα νέο αρχείο και να αρχίσει καλώντας αυτό dictionary.php. 761 00:40:29,000 --> 00:40:31,000 Επιτρέψτε μου να το θέσω σε άλλο φάκελο ώστε να μπορούμε να το κάνουμε αυτό ζουν. 762 00:40:31,000 --> 00:40:33,000 Και τώρα θα μεγεθύνετε 763 00:40:33,000 --> 00:40:37,000 Πάω να ξεκινήσει PHP αρχείο μου με ανοιχτό βραχίονα php κλειστό βραχίονα. 764 00:40:37,000 --> 00:40:40,000 Και στη συνέχεια, εδώ υπήρχαν μερικές λειτουργίες που απαιτούνται για την εφαρμογή για PSET 5, 765 00:40:40,000 --> 00:40:42,000 έτσι επιτρέψτε μου να ξεκινήσω την εφαρμογή ορισμένων από αυτούς, 766 00:40:42,000 --> 00:40:47,000 έτσι έλεγχο λειτουργίας, η οποία έπρεπε να λάβει μια λέξη ως επιχείρημα. 767 00:40:47,000 --> 00:40:49,000 Θα κάνουμε ότι και να επανέλθουμε σε αυτό σε μια στιγμή. 768 00:40:49,000 --> 00:40:53,000 >> Υπήρχε φορτίο λειτουργία, η οποία έλαβε σε ό, τι ως επιχείρημα; 769 00:40:53,000 --> 00:40:56,000 Λεξικό, έτσι ώστε το αρχείο που πραγματικά ήθελε να φορτώσει. 770 00:40:56,000 --> 00:41:00,000 Υπήρχε μέγεθος λειτουργία, η οποία δεν έλαβε κανένα επιχείρημα 771 00:41:00,000 --> 00:41:04,000 και δεν υπήρχε λειτουργία-ό, τι ήταν το άλλο; 772 00:41:04,000 --> 00:41:06,000 Unload, η οποία δεν έλαβε κανένα επιχείρημα ούτε. 773 00:41:06,000 --> 00:41:10,000 Αυτά είναι τα 4 λειτουργίες που θα πρέπει να εφαρμόσει τώρα σε PHP, 774 00:41:10,000 --> 00:41:13,000 και ό, τι Πάω να κάνουμε είναι να προχωρήσει και να το κάνουμε αυτό. 775 00:41:13,000 --> 00:41:16,000 Πολλοί από εσάς χρησιμοποίησε ένα πίνακα κατακερματισμού σε PSET 5, 776 00:41:16,000 --> 00:41:21,000 οπότε επιτρέψτε μου να προχωρήσει και να δημιουργήσει ένα πίνακα κατακερματισμού σε PHP. 777 00:41:21,000 --> 00:41:23,000 Τέλος. 778 00:41:23,000 --> 00:41:25,000 Αυτό μου δίνει ένα πίνακα κατακερματισμού. Λοιπόν, γιατί; 779 00:41:25,000 --> 00:41:30,000 Ένα, η μεταβλητή ονομάζεται $ τραπέζι, ακριβώς για να πλάθω την ιδέα ενός πίνακα κατακερματισμού. 780 00:41:30,000 --> 00:41:34,000 Οι αγκύλες, όμως, υπενθυμίζουν, τι αντιπροσωπεύει; 781 00:41:34,000 --> 00:41:37,000 Μια σειρά, αλλά σε PHP συστοιχίες δεν πρέπει να αναπροσαρμόζονται αριθμητικά. 782 00:41:37,000 --> 00:41:41,000 Μπορούν επίσης να είναι συνεταιριστικές συστοιχίες, 783 00:41:41,000 --> 00:41:44,000 το οποίο σημαίνει ότι μπορείτε να έχετε αυθαίρετες κλειδιών και τιμών. 784 00:41:44,000 --> 00:41:49,000 >> Πολλά αρέσει σε PSET 5, εκείνους από εσάς που έκανε hash εφαρμογές τραπέζι 785 00:41:49,000 --> 00:41:53,000 θα εισαχθεί κατά πάσα πιθανότητα την λέξη και στη συνέχεια να εισαχθεί σε αυτό μια αλυσίδα συνδεδεμένων λιστών, 786 00:41:53,000 --> 00:41:56,000 ή έχετε αποθηκεύσει την αξία της αληθινής κάπου ή κάτι για το σκοπό αυτό. 787 00:41:56,000 --> 00:41:59,000 Θα θυμόμαστε κάπως το γεγονός ότι η λέξη δεν υπήρχε. 788 00:41:59,000 --> 00:42:01,000 Προς το παρόν, αυτό πρόκειται να είναι hash τραπέζι μου, 789 00:42:01,000 --> 00:42:06,000 και έτσι τώρα να πάει για την υλοποίηση της λειτουργίας ελέγχου 790 00:42:06,000 --> 00:42:09,000 Απλά πρέπει να κοιτάξουμε στο εσωτερικό του εν λόγω πίνακα κατακερματισμού 791 00:42:09,000 --> 00:42:11,000 και να δούμε αν μια λέξη είναι εκεί. 792 00:42:11,000 --> 00:42:15,000 Αυτό Πάω να κάνουμε είναι να πάω να πω αν- 793 00:42:15,000 --> 00:42:20,000 ας πούμε isset, το οποίο είναι ένα PHP λειτουργία που κυριολεκτικά σημαίνει ακριβώς είναι το βασικό σύνολο, 794 00:42:20,000 --> 00:42:24,000 έτσι isset ($ πίνακα [$ λέξη], 795 00:42:24,000 --> 00:42:29,000 και αν ναι επιστρέψει αλήθεια. 796 00:42:29,000 --> 00:42:32,000 Αυτό είναι όλο. Αυτό είναι PSET 5 σε PHP. 797 00:42:32,000 --> 00:42:34,000 Λοιπόν, για να είμαστε δίκαιοι, εντάξει. 798 00:42:34,000 --> 00:42:37,000 Αλλιώς επιστρέψει ψευδείς, έτσι δεν είναι εκεί. 799 00:42:37,000 --> 00:42:39,000 Τι πραγματικά συμβαίνει εδώ; 800 00:42:39,000 --> 00:42:42,000 Λοιπόν, αν τραπέζι-ή πίνακα κατακερματισμού εδώ γενικότερα- 801 00:42:42,000 --> 00:42:46,000 είναι ένας associative array που σημαίνει ότι μπορείτε να το δείκτη σε 802 00:42:46,000 --> 00:42:50,000 με μια λέξη, όπως «λέξη», και θα πρέπει να πάρει πίσω κάποια αξία. 803 00:42:50,000 --> 00:42:52,000 >> Είμαστε είδος του να πάρει ένα βήμα μπροστά από τους εαυτούς μας. 804 00:42:52,000 --> 00:42:56,000 Θα ήταν ωραίο είδος του αν πράγματι φορτωθεί το αρχείο πρώτα, 805 00:42:56,000 --> 00:42:58,000 έτσι ώστε το φορτίο δεν είναι τόσο απλό, αλλά επιτρέψτε μου να πάω μπροστά και να μαστίγιο μέχρι 806 00:42:58,000 --> 00:43:00,000  μια πραγματικά γρήγορη εφαρμογή του φορτίου. 807 00:43:00,000 --> 00:43:07,000 Επιτρέψτε μου να προχωρήσει και να πω λόγια παίρνει λεξικό αρχείο. 808 00:43:07,000 --> 00:43:10,000 Η λειτουργία αρχείου σε PHP ανοίγει ένα αρχείο 809 00:43:10,000 --> 00:43:12,000 και επιστρέφει σε εσάς μια σειρά από όλες τις λέξεις σε αυτό το αρχείο, 810 00:43:12,000 --> 00:43:14,000 μόνο τα χέρια τους σε σας. 811 00:43:14,000 --> 00:43:16,000 Αυτό ήταν ένα μεγάλο πόνο πάρα πολύ, έτσι δεν είναι; 812 00:43:16,000 --> 00:43:21,000 Τώρα foreach, αυτό είναι το νέο μας κατασκεύασμα, foreach ($ $ λόγια ως λέξη). 813 00:43:21,000 --> 00:43:25,000 Αυτός ο βρόχος πρόκειται να ξεκινήσει την επανάληψη πάνω από τις λέξεις σειρά 814 00:43:25,000 --> 00:43:30,000 και να αναθέσει στην μεταβλητή $ λέξη κάθε λέξη στο αρχείο 815 00:43:30,000 --> 00:43:32,000 από το πρώτο προς το δεύτερο με το τρίτο στο τέταρτο όλους το δρόμο 816 00:43:32,000 --> 00:43:35,000 έτσι δεν έχω να κάνω την ενοχλητική [i] σημειογραφία και τα παρόμοια. 817 00:43:35,000 --> 00:43:38,000 Και τι είμαι απλώς πρόκειται να κάνει για κάθε μία από αυτές τις λέξεις 818 00:43:38,000 --> 00:43:43,000 έχει αποθηκεύσει στο τραπέζι μου με τιμαριθμική αναπροσαρμογή στο τραπέζι 819 00:43:43,000 --> 00:43:47,000 και στη συνέχεια να κάνει αληθινή, γιατί να θυμάστε 820 00:43:47,000 --> 00:43:50,000 ότι είναι μια λέξη στο λεξικό μου, το μόνο που μπορώ πραγματικά να κάνω 821 00:43:50,000 --> 00:43:55,000 είναι το είδος του αναστρέψετε λίγο και να πω αυτή η λέξη στον πίνακα κατακερματισμού μου είναι εκεί, είναι αλήθεια. 822 00:43:55,000 --> 00:43:58,000 Και αν δεν υπάρχει, δεν έχω να θέσει ρητά ψευδείς, 823 00:43:58,000 --> 00:44:01,000 αλλιώς θα είχα να θέσει ψευδείς για όλες τις πιθανές λέξεις στο σύμπαν. 824 00:44:01,000 --> 00:44:05,000 >> Αρκεί για μένα μόνο να ορίσετε μια τιμή του δείκτη 825 00:44:05,000 --> 00:44:09,000 να ισχύει εάν μια λέξη είναι πραγματικά σε πίνακα κατακερματισμού μου. 826 00:44:09,000 --> 00:44:12,000 Τώρα, είμαι κοπή μερικές γωνίες εδώ ότι εγώ θα κυματίσει στα χέρια μου για τώρα, 827 00:44:12,000 --> 00:44:15,000 αλλά τώρα η λειτουργία του φορτίου γίνεται. 828 00:44:15,000 --> 00:44:18,000 Έχω φορτώσει όλες τις λέξεις από το αρχείο σε μια σειρά. 829 00:44:18,000 --> 00:44:21,000 Έχω επαναλάβει τη διάρκεια αυτής της διάταξης, καθώς και για κάθε λέξη στη συστοιχία 830 00:44:21,000 --> 00:44:24,000 Το βύσμα σε πίνακα κατακερματισμού μου με 1 γραμμή κώδικα. 831 00:44:24,000 --> 00:44:26,000 Αυτό είναι διασκέδαση. Ξέρετε πώς μπορούμε να εφαρμόσουμε το μέγεθος τώρα; 832 00:44:26,000 --> 00:44:28,000 Λοιπόν, το μέγεθος είναι πάντα πολύ εύκολο, για να είμαστε δίκαιοι. 833 00:44:28,000 --> 00:44:32,000 Εδώ μπορούμε απλά να επιστρέψετε αριθμό του πίνακα. 834 00:44:32,000 --> 00:44:34,000 Αυτό είναι αρκετά εύκολο πάρα πολύ, μετρήστε τον αριθμό των πραγμάτων στο τραπέζι. 835 00:44:34,000 --> 00:44:36,000 Αυτό είναι πραγματικά το είδος του δεν τον πιο αποτελεσματικό. 836 00:44:36,000 --> 00:44:39,000 Θα πρέπει να έχουν μάλλον μια μεταβλητή που ονομάζεται μέγεθος ώστε να μπορούμε να το κάνουμε 837 00:44:39,000 --> 00:44:41,000 σε συνεχή χρόνο, αλλά αυτό είναι αρκετά εύκολο. 838 00:44:41,000 --> 00:44:45,000 Ω, και στη συνέχεια να ξεφορτώσουν, αν θέλουμε πραγματικά να είναι πρωκτικό εδώ 839 00:44:45,000 --> 00:44:47,000 μπορούμε να πούμε ότι είναι το πώς θα ξεφορτώσουν κάτι. 840 00:44:47,000 --> 00:44:49,000 Μπορείτε να ορίσετε μόνο την μεταβλητή ίση με ένα άδειο πίνακα, 841 00:44:49,000 --> 00:44:51,000 και παίρνει απαλλαγούμε από ό, τι ήταν εκεί. 842 00:44:51,000 --> 00:44:53,000 Δεν χρειάζεται να καλέσετε δωρεάν. 843 00:44:53,000 --> 00:44:56,000 >> Και πάλι, έχω κόψει κάποιες γωνίες, και ζητώ συγγνώμη για το σύνολο πρόβλημα εκχώρηση 5 844 00:44:56,000 --> 00:45:00,000 ίσως σε C, αλλά αν εμείς τώρα να προχωρήσει και αυτό λειτουργεί, 845 00:45:00,000 --> 00:45:02,000 Πάω να τρέξει πραγματικά την έκδοση που έγραψα εκ των προτέρων 846 00:45:02,000 --> 00:45:05,000 ακριβώς έτσι ότι δεν είχα κάνει καμία απολύτως συντακτικά λάθη. 847 00:45:05,000 --> 00:45:08,000 Επιτρέψτε μου να πάμε μπροστά και να τρέξει ορθογράφος. Η χρήση είναι η ίδια. 848 00:45:08,000 --> 00:45:12,000 Εδώ είναι ένα αρχείο το οποίο περιέχει λεξικό τη λέξη foo. 849 00:45:12,000 --> 00:45:15,000 Εδώ είναι ένα αρχείο κειμένου που περιέχει μόνο foo bar. 850 00:45:15,000 --> 00:45:19,000 Ας ορθογραφικό έλεγχο αυτό, έτσι ορθογράφος, χρησιμοποιώντας αυτό το αρχείο λεξικού για αυτό το αρχείο κειμένου. 851 00:45:19,000 --> 00:45:21,000 Υπάρχει μια ανορθόγραφη λέξη, μπαρ, και voila. 852 00:45:21,000 --> 00:45:23,000 Έγινε με PSET 5. 853 00:45:23,000 --> 00:45:30,000 Ας ρίξουμε μια 5-λεπτά με διάλειμμα εδώ, και θα έρθει πίσω και περισσότερο σε PHP. 854 00:45:30,000 --> 00:45:32,000 Εντάξει, είμαστε πίσω. 855 00:45:32,000 --> 00:45:34,000 Ας μου κάνουν-το μίσος για λίγο. 856 00:45:34,000 --> 00:45:37,000 Ας δούμε τώρα πραγματικά αν αυτό δεν ήταν μια θετική 857 00:45:37,000 --> 00:45:39,000 ουσιαστική εφαρμογή αυτό το πράγμα στην PHP. 858 00:45:39,000 --> 00:45:43,000 Σύμφωνοι, χρειάστηκε 45 δευτερόλεπτα για να εφαρμόσει. 859 00:45:43,000 --> 00:45:45,000 >> Αλλά ας προχωρήσουμε τώρα και να τρέξει τα πράγματα. 860 00:45:45,000 --> 00:45:49,000 Επιτρέψτε μου να προχωρήσει και να εκτελέσετε μια έκδοση C 861 00:45:49,000 --> 00:45:52,000 του Ορθογράφου, και θα τρέξει σε ένα από τα μεγαλύτερα αρχεία, 862 00:45:52,000 --> 00:45:54,000 το οποίο είναι το βασιλιά James Bible. 863 00:45:54,000 --> 00:45:57,000 Και αυτό είναι εδώ, ας πάμε στο φάκελο C μας, 864 00:45:57,000 --> 00:46:01,000 ορθογράφος στο King James το 5ο. 865 00:46:01,000 --> 00:46:03,000 Πολλές λέξεις με ορθογραφικά λάθη. 866 00:46:03,000 --> 00:46:06,000 Εντάξει, έτσι ώστε να είναι η έξοδος ίσως έχεις ακόμη και αν οι καιροί είναι λίγο διαφορετικό, 867 00:46:06,000 --> 00:46:09,000 αν έχεις τα πάντα λειτουργούν σωστά, και έτσι συνολικά το χρόνο για ορθογραφικό έλεγχο 868 00:46:09,000 --> 00:46:13,000 το βασιλιά James Bible ήταν 0,38 δευτερόλεπτα, έτσι αρκετά καλή χρησιμοποιούν την εφαρμογή. 869 00:46:13,000 --> 00:46:16,000 Τώρα, επιτρέψτε μου να πάω στην έκδοση της PHP, που μόλις έγραψε. 870 00:46:16,000 --> 00:46:18,000 Επιτρέψτε μου να τρέξει ορθογράφος στο King James. 871 00:46:18,000 --> 00:46:21,000 Ωχ, αγνοήστε το σφάλμα. Είμαι σε λάθος κατάλογο. 872 00:46:21,000 --> 00:46:24,000 Ορθογράφος στο King James το 5ο. 873 00:46:46,000 --> 00:46:48,000 Σχεδόν γίνει. 874 00:46:48,000 --> 00:46:51,000 >> Εντάξει, ο οξυδερκής παρατηρητής θα διαπιστώσει ότι ήταν περισσότερο από 3 δευτερόλεπτα εκεί. 875 00:46:51,000 --> 00:46:54,000 Αυτός είναι ο αληθινός χρόνος τρέχει. 876 00:46:54,000 --> 00:46:58,000 Αποδεικνύεται ότι χρειάζεται χρόνος για να φτύνουν πολλά από κείμενο 877 00:46:58,000 --> 00:47:00,000 λόγω των ρυθμιστικών θεμάτων, αλλά τα πολυλογώ, 878 00:47:00,000 --> 00:47:04,000 που ήταν 3,15 δευτερόλεπτα του χρόνου μηχανής, CPU χρόνο, 879 00:47:04,000 --> 00:47:07,000 σε σχέση με αυτό που ήταν πριν από λίγο; 880 00:47:07,000 --> 00:47:09,000 Όπως .3. 881 00:47:09,000 --> 00:47:11,000 Θέλω να πω, αυτό είναι μια τάξη μεγέθους πιο αργή, ώστε όπου είναι ότι 882 00:47:11,000 --> 00:47:14,000 γελοίο επιβράδυνση που προέρχονται από; 883 00:47:14,000 --> 00:47:17,000 Λοιπόν, όπως ήταν η περίπτωση με τα περισσότερα οποιαδήποτε απόφαση σχεδιασμό που έχουμε κάνει 884 00:47:17,000 --> 00:47:21,000 στην τάξη κατά τη διάρκεια των τελευταίων 9 εβδομάδων υπάρχει σχεδόν πάντα αυτό το δίλημμα. 885 00:47:21,000 --> 00:47:24,000 Μερικές φορές μόνο μεταξύ διάστημα, μερικές φορές ανάμεσα στο χώρο και το χρόνο, 886 00:47:24,000 --> 00:47:27,000 χώρου, χρόνο και προσπάθεια ανάπτυξης, και μάλιστα εδώ, ακόμη και αν 887 00:47:27,000 --> 00:47:31,000 σώσαμε ένα τεράστιο ποσό του χρόνου, ίσως δυνητικά 20/10/30 ώρα 888 00:47:31,000 --> 00:47:34,000 του χρόνου εφαρμογής της ανάπτυξης ορθογραφικό έλεγχο 889 00:47:34,000 --> 00:47:36,000 από το μαστίγωμα σε μόλις 45 δευτερόλεπτα με αυτό γλώσσα 890 00:47:36,000 --> 00:47:40,000 το τίμημα που πληρώνουμε είναι ότι είναι μια τάξη μεγέθους πιο αργή ως αποτέλεσμα, 891 00:47:40,000 --> 00:47:43,000 και αυτό συμβαίνει κατά κανόνα με τις περισσότερες ερμηνεύεται οποιαδήποτε γλώσσα, 892 00:47:43,000 --> 00:47:46,000 PHP, Python, Ruby, Pearl ή άλλους σύμφωνα με την οποία 893 00:47:46,000 --> 00:47:49,000 αν θέλει κάποιος να τρέξει μέσω διερμηνέα και έχετε διαβάσει τον κωδικό σας 894 00:47:49,000 --> 00:47:52,000 γραμμή προς γραμμή, πάνω προς τα κάτω, αριστερά προς τα δεξιά, 895 00:47:52,000 --> 00:47:55,000 μεσάζων που πρόκειται να πάρει κάποιο χρόνο από τη δική του, 896 00:47:55,000 --> 00:47:59,000 και αυτό που αισθάνεται εδώ στα 3 δευτερόλεπτα, σε αντίθεση με 0,3 δευτερόλεπτα 897 00:47:59,000 --> 00:48:02,000 είναι το γεγονός ότι υπάρχει αυτή η μεσάζων ο οποίος έχει να ερμηνεύσει κυριολεκτικά κώδικα μας 898 00:48:02,000 --> 00:48:05,000 γραμμή προς γραμμή, και Θεός φυλάξοι, αν είστε μέσα από ένα βρόχο 899 00:48:05,000 --> 00:48:08,000 με ένα τεράστιο αρχείο που περιέχει εκατοντάδες χιλιάδες λέξεις. 900 00:48:08,000 --> 00:48:11,000 >> Αυτό γενικά πρόκειται να προσθέσει μέχρι και να προσθέσετε και να προσθέσετε έως και αθροίζονται. 901 00:48:11,000 --> 00:48:16,000 Για ένα εργαλείο όπως αυτό είναι πιθανόν να μην είναι η καλύτερη γλώσσα που θα χρησιμοποιηθεί για την υλοποίηση 902 00:48:16,000 --> 00:48:20,000 ένα ορθογράφο αν αμεσότητα είναι ενδιαφέρον για τους χρήστες σας και να σας. 903 00:48:20,000 --> 00:48:23,000 Αλλά η πολυτέλεια που έχουμε σε μια στιγμή είναι αν 904 00:48:23,000 --> 00:48:27,000 χρησιμοποιήσετε μια γλώσσα όπως η PHP ή πολλές γλώσσες ερμηνεύεται 905 00:48:27,000 --> 00:48:30,000 στο πλαίσιο του Web, για εκείνο το θέμα, έχετε το πλεονέκτημα 906 00:48:30,000 --> 00:48:34,000 ότι το Διαδίκτυο είναι μια πολύ πιο αργή από ό, τι οι περισσότεροι υπολογιστές. 907 00:48:34,000 --> 00:48:38,000 Έχετε GHz CPU στον υπολογιστή σας, 2 GHz, ίσως ακόμη περισσότερο αυτές τις μέρες. 908 00:48:38,000 --> 00:48:41,000 Αλλά η πραγματικότητα είναι στο διαδίκτυο υπάρχει ένα μεγάλο ποσό από λανθάνουσα κατάσταση 909 00:48:41,000 --> 00:48:45,000 σύμφωνα με την οποία ένα πρόγραμμα περιήγησης για να μιλήσετε με έναν server, αν και είδαμε την περασμένη εβδομάδα 910 00:48:45,000 --> 00:48:47,000 ότι είναι αρκετά γρήγορος, μισό χιλιοστό του δευτερολέπτου ή έτσι, 911 00:48:47,000 --> 00:48:51,000 που προσθέτει πάρα πολύ, και αν είστε λήψη πράγματα όπως μια εικόνα 912 00:48:51,000 --> 00:48:54,000 ή μια φωτογραφία στο Facebook ή να πάρει άμεσα μηνύματα πάνω φλυαρία του Facebook, 913 00:48:54,000 --> 00:48:57,000 GChat ή τα παρόμοια, όλα αυτά τα μετ χρόνους 914 00:48:57,000 --> 00:49:00,000 μεταξύ του προγράμματος περιήγησης και την έναρξη του διακομιστή για να προσθέσετε επάνω, 915 00:49:00,000 --> 00:49:03,000 γεγονός που καθιστά συγκεκριμένη επιλογή της γλώσσας σε πολλές περιπτώσεις 916 00:49:03,000 --> 00:49:07,000 δεν είναι όλοι ότι είναι σκόπιμο, ώστε να είστε πρόστιμο χρησιμοποιώντας μια ελαφρώς πιο αργή γλώσσα 917 00:49:07,000 --> 00:49:10,000 όπως PHP ή Python ή Ruby 918 00:49:10,000 --> 00:49:13,000 αλλά για τα οποία υπάρχουν τεράστιες upsides για εσάς και τους συναδέλφους σας 919 00:49:13,000 --> 00:49:17,000 και τους φίλους σας, επειδή μπορείτε να εφαρμόσετε τα πράγματα έτσι, πολύ πιο γρήγορα. 920 00:49:17,000 --> 00:49:20,000 Και επιπλέον, έχετε πολύ μικρότερο κίνδυνο από ορισμένα κενά ασφαλείας. 921 00:49:20,000 --> 00:49:22,000 Δεν υπάρχει καμία δείκτες σε PHP. 922 00:49:22,000 --> 00:49:25,000 Δεν υπάρχει καμία διαχωρίζονται από σφάλματα που μπορείτε εύκολα να προκαλέσει 923 00:49:25,000 --> 00:49:27,000 με τον ίδιο τρόπο που θα μπορούσε C. 924 00:49:27,000 --> 00:49:29,000 Με C είστε σούπερ κοντά στο hardware. 925 00:49:29,000 --> 00:49:33,000 Με την PHP και παρόμοιες γλώσσες είστε το είδος του υψηλότερου επιπέδου, να το πω έτσι, 926 00:49:33,000 --> 00:49:37,000 με πολλές άμυνες ανάμεσα σε εσάς και το τι πραγματικά συμβαίνει 927 00:49:37,000 --> 00:49:39,000 στο εσωτερικό της μηχανής, και αυτό είναι ακριβώς μια ανταλλαγή. 928 00:49:39,000 --> 00:49:42,000 >> Έχουμε φτάσει στο σημείο να έχουμε αυτές τις πιο σύγχρονες, υψηλού επιπέδου γλώσσες 929 00:49:42,000 --> 00:49:47,000 όπως PHP, διότι τα διδάγματα που αντλήθηκαν σε γλώσσες όπως η PHP σε C. 930 00:49:47,000 --> 00:49:50,000 Αλλά αν δεν καταλαβαίνετε τι συμβαίνει με κάτω από την κουκούλα όλο αυτό το διάστημα 931 00:49:50,000 --> 00:49:53,000 σίγουρα δεν μπορεί να κάνει τις σωστές αποφάσεις για το σχεδιασμό, 932 00:49:53,000 --> 00:49:56,000 και σίγουρα όταν πρόκειται για την εργασία σε ένα μέρος όπως το Facebook ή το Google 933 00:49:56,000 --> 00:49:59,000 ή οποιαδήποτε από αυτά τα μέρη που είναι όλο και περισσότερο παίζει με μεγάλα σύνολα δεδομένων 934 00:49:59,000 --> 00:50:01,000 ακόμη και αν πάτε πίσω και να premed και εργάζονται με κάποια MD 935 00:50:01,000 --> 00:50:04,000 σε ορισμένες μεγάλες δεδομένα που αφορούν τους ασθενείς και τους γιατρούς 936 00:50:04,000 --> 00:50:08,000 και τα παρόμοια με τα κατάλληλα εργαλεία είναι εξαιρετικά συναρπαστικό 937 00:50:08,000 --> 00:50:11,000 γιατί διαφορετικά η ανάλυση σας από κάποιο σύνολο δεδομένων θα μπορούσε να λάβει δευτερόλεπτα, 938 00:50:11,000 --> 00:50:14,000 ή μπορεί να χρειαστούν κυριολεκτικά ώρες. 939 00:50:14,000 --> 00:50:17,000 Αυτό είναι μόνο ένα παράδειγμα, για να μην σας εμποδίσει με πόση περισσότερη προσπάθεια 940 00:50:17,000 --> 00:50:21,000 ήταν σε C αλλά για να σας βοηθήσει να εκτιμήσετε ότι, όταν δεν εφαρμόζουν κάτι σε C 941 00:50:21,000 --> 00:50:24,000 που πραγματικά καταλαβαίνουν, ή στη θεωρία, πραγματικά καταλαβαίνουν 942 00:50:24,000 --> 00:50:28,000 πως ό, τι είναι ή θα πρέπει να εργάζονται, και έχετε πλήρη έλεγχο σχεδόν 943 00:50:28,000 --> 00:50:31,000 πάνω από ό, τι συμβαίνει κάτω από την κουκούλα, και με αυτές τις υψηλότερες επιπέδου γλώσσες 944 00:50:31,000 --> 00:50:34,000 θα πρέπει να παραιτηθεί από περισσότερο έλεγχο στους ανθρώπους που τους επινόησε 945 00:50:34,000 --> 00:50:37,000 και υπόκεινται περισσότερο σε αποφάσεις του σχεδιασμού τους από τη δική σας. 946 00:50:37,000 --> 00:50:41,000 Αλλά αν λάβουμε ως δεδομένο ότι η απόδοση 947 00:50:41,000 --> 00:50:44,000 δεν είναι τόσο σημαντική για το Web, λόγω αυτών των άλλων θεμάτων, 948 00:50:44,000 --> 00:50:47,000 μόλις ταχύτητες δικτύου είναι λίγο πιο αργή από ό, τι CPU ταχύτητες ούτως ή άλλως, 949 00:50:47,000 --> 00:50:50,000 έτσι μπορούμε να ταξινομήσουμε από την οικονομική δυνατότητα να χρησιμοποιήσετε μια ελαφρά πιο αργό γλώσσα 950 00:50:50,000 --> 00:50:55,000 αν είναι οι upsides μπορούμε να αναπτύξουμε τα πράγματα 10 φορές πιο γρήγορα ή ακόμη περισσότερο. 951 00:50:55,000 --> 00:50:57,000 >> Ας δούμε πώς μπορούμε να αρχίσετε να χρησιμοποιείτε αυτό. 952 00:50:57,000 --> 00:51:00,000 Επιτρέψτε μου να πάω σε ένα φάκελο 953 00:51:00,000 --> 00:51:03,000 μεταξύ παραδείγματα σήμερα ονομάζεται frosh.ims, 954 00:51:03,000 --> 00:51:06,000 και αυτό είχε πράγματι προσωπικά αιτιολογείται από το γεγονός ότι το πρώτο πράγμα 955 00:51:06,000 --> 00:51:10,000 Έγραψα για το Web χρόνια μετά τη λήψη CS50 και CS51 956 00:51:10,000 --> 00:51:14,000 Ήταν μια ιστοσελίδα για το πρόγραμμα Frosh ΔΥ, καινούριο σπορ εντός των τειχών, 957 00:51:14,000 --> 00:51:16,000 η οποία κατά το χρόνο αυτό ήταν αρκετά χρόνια πριν ότι κατά το χρόνο 958 00:51:16,000 --> 00:51:19,000 δεν υπήρχε καμία ιστοσελίδα για το πρόγραμμα, ακόμα κι αν υπήρχε στο Web, 959 00:51:19,000 --> 00:51:22,000 και αντ 'αυτού υπήρξε μια Proctor σε Wigglesworth σύμφωνα με την οποία αν θέλετε 960 00:51:22,000 --> 00:51:26,000 να εγγραφείτε για βόλεϊ ή το ποδόσφαιρο ή ό, τι θα συμπληρώσετε ένα κομμάτι χαρτί. 961 00:51:26,000 --> 00:51:28,000 Τότε θα περπατήσει σε όλη την αυλή. 962 00:51:28,000 --> 00:51:31,000 Τότε θα χτυπήσει την πόρτα και διαφάνεια στην πόρτα τους ή το χέρι τους για να την επόπτη 963 00:51:31,000 --> 00:51:34,000 ένα κομμάτι χαρτί με το όνομά σας σε αυτό, αν θέλετε ή όχι να είναι ένας αρχηγός της ομάδας, 964 00:51:34,000 --> 00:51:37,000 τι άθλημα που ήθελε να κάνει, και τι dorm ήσουν μέσα 965 00:51:37,000 --> 00:51:39,000 Ήταν το είδος του ένα παλιό σχολείο τρόπο να κάνουμε πράγματα, και αυτό ήταν μια προνομιακή 966 00:51:39,000 --> 00:51:41,000 ευκαιρία για αυτοματοποίηση πολλά από αυτή τη διαδικασία. 967 00:51:41,000 --> 00:51:43,000 Απλά πηγαίνετε στην ιστοσελίδα. Πληκτρολογείτε κάτι μέσα 968 00:51:43,000 --> 00:51:46,000 Μπορείτε να πάρετε ένα e-mail επιβεβαίωσης, και έκρηξη, τελειώσατε. 969 00:51:46,000 --> 00:51:49,000 >> Αυτό ήταν το πρώτο πράγμα που έκανα, αν και σε μια γλώσσα που ονομάζεται Pearl, 970 00:51:49,000 --> 00:51:52,000 αλλά είναι σχετικά εύκολο να γίνει σε PHP, και αυτό είναι το είδος της αντιπροσωπευτικής 971 00:51:52,000 --> 00:51:55,000 από τα προβλήματα που μπορεί να ξεκινήσει την επίλυση όταν μπορείτε να εκφραστείτε 972 00:51:55,000 --> 00:51:58,000 προγραμματισμού και να μην χρειάζεται να βασίζονται σε πράγματα όπως το Google τόπων 973 00:51:58,000 --> 00:52:01,000 ή το Excel ή εργαλεία που παραδίδονται σε σας. 974 00:52:01,000 --> 00:52:03,000 Εσείς έχετε τώρα τη δυνατότητα να κάνουμε τα πράγματα όπως αυτό. 975 00:52:03,000 --> 00:52:06,000 Αυτό είναι ένα εξαιρετικά άσχημο έκδοση ενός εντύπου, 976 00:52:06,000 --> 00:52:09,000 αλλά ας το χρησιμοποιούν μόνο για την αρχή της συνομιλίας όπου αυτό είναι 977 00:52:09,000 --> 00:52:12,000 περίπου ποια είναι η μορφή έμοιαζε για χρόνια μας 978 00:52:12,000 --> 00:52:14,000 να επιτρέψει στους ανθρώπους για το Web για να υπογράψει επάνω για Frosh ΔΥ. 979 00:52:14,000 --> 00:52:18,000 Ζητήσαμε ένα όνομα, ένα πλαίσιο ελέγχου για το αν ή δεν ήθελαν να είναι καπετάνιος, 980 00:52:18,000 --> 00:52:21,000 αρσενικό ή θηλυκό, και τότε τι dorm που ήταν, 981 00:52:21,000 --> 00:52:23,000 και στη συνέχεια θα υποβάλει το παρόν έντυπο. 982 00:52:23,000 --> 00:52:27,000 Ας πρώτη ματιά κάτω από την κουκούλα στο HTML που εκπροσωπεί αυτή την ιστοσελίδα. 983 00:52:27,000 --> 00:52:31,000 Επιτρέψτε μου να πάω σε froshims0, 984 00:52:31,000 --> 00:52:35,000 και ως ένα μέρος, για PSET 7 παίρνω ως δεδομένο 985 00:52:35,000 --> 00:52:37,000 τους καταλόγους και τους φακέλους που βάζω τα πράγματα μέσα 986 00:52:37,000 --> 00:52:40,000 Θα σας καθοδηγήσει ακριβώς όπου τα πράγματα πρέπει να πάνε στη συσκευή, 987 00:52:40,000 --> 00:52:43,000 εντολές οι οποίες mod θα πρέπει να τρέξει, οπότε μην ανησυχείτε για όλα τα 988 00:52:43,000 --> 00:52:46,000 ηλίθιο λεπτομέρειες σε συγχρονισμό από το get-go εδώ. 989 00:52:46,000 --> 00:52:49,000 >> Εντάξει, εδώ είναι froshims0.php. 990 00:52:49,000 --> 00:52:52,000 Επιτρέψτε μου να μετακινηθείτε προς τα κάτω, και τι είναι περίεργο εδώ, 991 00:52:52,000 --> 00:52:56,000 αυτό είναι ένα PHP αρχείο, αλλά αυτό που είναι μέσα από αυτό, με σαφήνεια; 992 00:52:56,000 --> 00:52:59,000 Είναι ένα πάρα πολύ της HTML, και μάλιστα, προέλευση της PHP 993 00:52:59,000 --> 00:53:02,000 Πραγματικά ήταν για να είναι μια Web-centric γλώσσα. 994 00:53:02,000 --> 00:53:04,000 Μια στιγμή πριν το χρησιμοποιήσαμε για την εφαρμογή της μπύρας παράδειγμα, 995 00:53:04,000 --> 00:53:07,000 οι συνθήκες παράδειγμα, ο γειά σου παράδειγμα, και ότι είναι μια χαρά. 996 00:53:07,000 --> 00:53:11,000 Μπορείτε να χρησιμοποιήσετε την PHP ως γλώσσα scripting 997 00:53:11,000 --> 00:53:15,000 όπου ένα σενάριο είναι πραγματικά μόνο η ονοματολογία που δίνεται σε ένα γρήγορο και βρώμικο πρόγραμμα 998 00:53:15,000 --> 00:53:19,000 ή κάτι που γράφετε σε ένα σενάριο ή πιο γενικά ερμηνεύεται μια γλώσσα. 999 00:53:19,000 --> 00:53:22,000 PHP είναι εξαιρετικά χρήσιμο για ότι επειδή έχετε δει πόσο γρήγορα 1000 00:53:22,000 --> 00:53:24,000 σχετικά μπορούμε να μαστίγιο μέχρι προγραμμάτων σε PHP. 1001 00:53:24,000 --> 00:53:27,000 Αλλά ήταν πραγματικά σχεδιαστεί για να χρησιμοποιηθεί για το Web, 1002 00:53:27,000 --> 00:53:31,000 και έχει σχεδιαστεί για το Web, με την έννοια που παρατηρώ εδώ στην κορυφή του αρχείου 1003 00:53:31,000 --> 00:53:34,000 Εγώ αρχίζουν με 00:53:38,000 Στη συνέχεια, έχω ένα σωρό άχρηστες χορηγηθεί σχόλια, αλλά στη συνέχεια, κλείνω PHP λειτουργία. 1005 00:53:38,000 --> 00:53:41,000 Αλλά τότε θα πέσει σε HTML mode. 1006 00:53:41,000 --> 00:53:45,000 >> Τι ενδιαφέρον για PHP είναι αν το αρχείο τελειώνει σε. Php 1007 00:53:45,000 --> 00:53:48,000 αυτό είναι γενικά προορίζεται να αναμειγνύονται με HTML, 1008 00:53:48,000 --> 00:53:50,000 ο κώδικας PHP, HTML μερικά. 1009 00:53:50,000 --> 00:53:53,000 Και θα δούμε τελικά ότι μπορούμε να αρχίσουμε να πειράζω τα εκτός 1010 00:53:53,000 --> 00:53:56,000 και κρατήστε HTML μας ξεχωριστά από PHP μας συνολικά, 1011 00:53:56,000 --> 00:53:59,000 αλλά οι ρίζες της PHP ήταν πραγματικά να σας δώσει αυτή την ευελιξία, 1012 00:53:59,000 --> 00:54:02,000 ότι αν θέλετε κάποια HTML γράφουν απλά, και ότι θα είναι 1013 00:54:02,000 --> 00:54:04,000 φτύσει τον ίδιο τρόπο στο πρόγραμμα περιήγησης. 1014 00:54:04,000 --> 00:54:07,000 Αλλά εάν χρειάζεστε κάποια τεχνική προγραμματισμού, 1015 00:54:07,000 --> 00:54:12,000 κάποια κώδικα προγραμματισμού, μπορείτε να βάλετε επίσης στο ίδιο ακριβώς αρχείο, όπως θα δούμε σύντομα. 1016 00:54:12,000 --> 00:54:14,000 Εδώ είναι HTML μου. 1017 00:54:14,000 --> 00:54:16,000 Έχω έναν τίτλο για αυτό Frosh ΔΥ. 1018 00:54:16,000 --> 00:54:20,000 Έχω μια ετικέτα σώμα που έχει πήρα κάποια CSS για να τα πάντα κέντρο στη μέση, 1019 00:54:20,000 --> 00:54:23,000 και στη συνέχεια κάτω εδώ έχω ένα έντυπο το οποίο προφανώς θα πρέπει να υποβληθούν 1020 00:54:23,000 --> 00:54:27,000 σε ένα νέο αρχείο που ονομάζεται register0.php, έτσι θα δούμε ότι σε μια στιγμή. 1021 00:54:27,000 --> 00:54:31,000 Είναι χρησιμοποιώντας μια μέθοδο που ονομάζεται μετά, το οποίο θα επανέλθουμε, καθώς και. 1022 00:54:31,000 --> 00:54:34,000 Στη συνέχεια, έχω κάποιες εισόδους μορφή, ένα όνομα που ονομάζεται, των οποίων ο τύπος είναι κείμενο, 1023 00:54:34,000 --> 00:54:37,000 εκείνο του οποίου το όνομα είναι καπετάνιος, του οποίου ο τύπος είναι κουτάκι, 1024 00:54:37,000 --> 00:54:40,000 και αυτό, δεν έχουμε ξαναδεί, αλλά κάνει ακριβώς αυτό που λέει. 1025 00:54:40,000 --> 00:54:42,000 Θα πάρετε ένα κουτάκι αντί για ένα πλαίσιο κειμένου. 1026 00:54:42,000 --> 00:54:46,000 Εδώ κάτω, έχετε ένα κουμπί, το οποίο είναι ένα από τα κυκλικά κουμπιά 1027 00:54:46,000 --> 00:54:48,000 ότι μπορείτε να επιλέξετε είτε αυτή ενός ή του άλλου. 1028 00:54:48,000 --> 00:54:52,000 >> Σημειώστε ότι είναι σκόπιμη ότι έδωσα και τα δύο κουμπιά ραδιοφώνου το όνομα της ισότητας των φύλων. 1029 00:54:52,000 --> 00:54:55,000 Αυτό είναι το πώς μπορείτε να πάρετε αμοιβαίου αποκλεισμού σύμφωνα με την οποία πρέπει να κάνετε κλικ 1030 00:54:55,000 --> 00:54:58,000 είτε αυτό ή εκείνο το ένα, και πατώντας το άλλο 1031 00:54:58,000 --> 00:55:01,000 το unchecks το άλλο, έτσι ώστε να πρέπει να τους δώσουμε το ίδιο όνομα 1032 00:55:01,000 --> 00:55:03,000 αν θέλετε να είναι αμοιβαία αποκλειόμενα, όπως αυτό. 1033 00:55:03,000 --> 00:55:07,000 Και στη συνέχεια, για dorm, δεν νομίζω ότι έχουμε δει ακόμα αυτό, αλλά είναι μια επιλογή μενού, ένα drop-down μενού. 1034 00:55:07,000 --> 00:55:09,000 Η ετικέτα για αυτό είναι επιλογή. 1035 00:55:09,000 --> 00:55:11,000 Μπορείτε στη συνέχεια να δώσει το drop-down μενού το όνομα, 1036 00:55:11,000 --> 00:55:13,000 και στη συνέχεια, έχετε ένα σωρό από αυτές τις επιλογές. 1037 00:55:13,000 --> 00:55:16,000 Η πρώτη, μόνο για λόγους αισθητικής, είναι μια κενή συμβολοσειρά. 1038 00:55:16,000 --> 00:55:20,000 Ήθελα απλώς το drop down να είναι κενή από προεπιλογή, 1039 00:55:20,000 --> 00:55:22,000 και στη συνέχεια υπάρχει Apley, Canaday, Grays, και ούτω καθεξής. 1040 00:55:22,000 --> 00:55:24,000 Και παρατηρήσετε την διχοτόμηση εδώ. 1041 00:55:24,000 --> 00:55:27,000 Η επιλογή του σταγόνα κάτω έχει μια αξία, 1042 00:55:27,000 --> 00:55:30,000 αλλά τότε έχει ένα ανθρώπινο-φιλικό όνομα, η οποία σε αυτό το παράδειγμα 1043 00:55:30,000 --> 00:55:33,000 είναι η ίδια, αλλά αν πραγματικά ήθελε να είναι πρωκτικό θα μπορούσαμε να έχουμε 1044 00:55:33,000 --> 00:55:36,000 η αξία αυτής της πτώσης κάτω ακριβώς είναι η σύντομη εκδοχή, 1045 00:55:36,000 --> 00:55:39,000 Grays, αλλά μπορούμε να πούμε πραγματικά Grays Hall ότι ο άνθρωπος βλέπει πραγματικά, 1046 00:55:39,000 --> 00:55:43,000 αλλά αυτό δεν είναι και τόσο ενδιαφέρουσα, γι 'αυτό ακριβώς το κράτησε απλό και έκανε τα ίδια. 1047 00:55:43,000 --> 00:55:46,000 Στη συνέχεια, κάτω στο κάτω μέρος έχουμε ένα κουμπί submit 1048 00:55:46,000 --> 00:55:49,000 που έχουμε δει μέχρι σήμερα, αλλά παρατηρώ εγώ απλά του έδωσε μια διαφορετική λέξη. 1049 00:55:49,000 --> 00:55:53,000 Αντί CS50 αναζήτηση έδωσα την ετικέτα "Εγγραφή". 1050 00:55:53,000 --> 00:55:56,000 >> Το τελικό αποτέλεσμα είναι η ιστοσελίδα εδώ, και πάλι, 1051 00:55:56,000 --> 00:56:00,000 όταν το κάνει αυτό παίρνει υποβάλλονται; 1052 00:56:00,000 --> 00:56:04,000 Παίρνει υποβάλλονται σε κάποιο αρχείο, η τιμή του χαρακτηριστικού δράσης, 1053 00:56:04,000 --> 00:56:07,000 που ήταν register0.php. 1054 00:56:07,000 --> 00:56:09,000 Για να δούμε τι πραγματικά συμβαίνει εδώ. 1055 00:56:09,000 --> 00:56:13,000 Επιτρέψτε μου να προχωρήσει και συμπληρώστε την φόρμα, λένε David, 1056 00:56:13,000 --> 00:56:16,000 αρσενικό, Matthews, και τότε θα πω εγγραφείτε. 1057 00:56:16,000 --> 00:56:18,000 Επιτρέψτε μου σμίκρυνση και κάντε κλικ στο εγγραφείτε. 1058 00:56:18,000 --> 00:56:22,000 Εντάξει, έτσι το είδος των άχρηστων, αλλά ας δούμε τι πραγματικά συμβαίνει. 1059 00:56:22,000 --> 00:56:26,000 Παρατηρήστε ότι η διεύθυνση URL έχει αλλάξει για να είναι register0.php. 1060 00:56:26,000 --> 00:56:34,000 Τι είναι περιέργως, απουσιάζει από το URL, όμως, ακόμα κι αν υποβάλλονται μόνο μια μορφή; 1061 00:56:34,000 --> 00:56:37,000 [Ακούγεται ανταπόκριση των φοιτητών] 1062 00:56:37,000 --> 00:56:39,000 Εντάξει, αυτό είναι ακριβώς Chrome είναι φιλικό προς το χρήστη αυτές τις μέρες. 1063 00:56:39,000 --> 00:56:42,000 Αυτό είναι πραγματικά εκεί. Κρύβουν ακριβώς για να εξοικονομήσετε χώρο. 1064 00:56:42,000 --> 00:56:44,000 Όμως, η καλή σκέψη, καλή σκέψη. 1065 00:56:44,000 --> 00:56:46,000 Προς το άλλο άκρο του URL, όμως, τι λείπει; Ναι. 1066 00:56:46,000 --> 00:56:48,000 [Φοιτητικό] Η συμβολοσειρά ερωτήματος. 1067 00:56:48,000 --> 00:56:51,000 Το ερώτημα συμβολοσειρά, έτσι θυμάμαι από απλά παραδείγματα αναζήτησης Google μας. 1068 00:56:51,000 --> 00:56:54,000 Μόλις κάνω κλικ στο κουμπί υποβολής το URL 1069 00:56:54,000 --> 00:57:00,000 Μου πήρε στο Google, αλλά τότε ήταν εκεί; q = επιστήμη των υπολογιστών ή ό, τι είχα πληκτρολογήσει μέσα 1070 00:57:00,000 --> 00:57:04,000 Αυτό συμβαίνει γιατί χρησιμοποιήσαμε τη μέθοδο GET με το παράδειγμα αναζήτησης. 1071 00:57:04,000 --> 00:57:06,000 >> Αυτή τη φορά είμαστε με ποια μέθοδο αντ 'αυτού; 1072 00:57:06,000 --> 00:57:10,000 Δημοσίευση, και μία από τις άμεσες διακρίσεις 1073 00:57:10,000 --> 00:57:14,000 μεταξύ να πάρει και μετά είναι ότι μετά δεν θέτει είσοδο του χρήστη στο URL. 1074 00:57:14,000 --> 00:57:16,000 Είναι κρύβει. Στέλνει ακόμα. 1075 00:57:16,000 --> 00:57:19,000 Στην πραγματικότητα, αυτό που βλέπουμε στο πρόγραμμα περιήγησης εδώ, όπως θα αποκαλύψει σε μια στιγμή 1076 00:57:19,000 --> 00:57:22,000 κοιτάζοντας register0, είναι βλέπω μόνο τα περιεχόμενα 1077 00:57:22,000 --> 00:57:25,000 του πίνακα που υποβλήθηκαν από το πρόγραμμα περιήγησης στον server. 1078 00:57:25,000 --> 00:57:29,000 Όμως, η διεύθυνση URL δεν έχει;, δεν έχει λέξεις-κλειδιά 1079 00:57:29,000 --> 00:57:31,000 αξιών ή σε αυτό, και γιατί συμβαίνει αυτό; 1080 00:57:31,000 --> 00:57:35,000 Λοιπόν, μετά σας επιτρέπει να υποβάλει ακόμα τα δεδομένα από τη φόρμα σε ένα διακομιστή, 1081 00:57:35,000 --> 00:57:38,000 αλλά δεν το έθεσε στη διεύθυνση URL, έτσι τι είδους πληροφορίες είναι μετά 1082 00:57:38,000 --> 00:57:41,000 ιδιαίτερα κατάλληλη για ίσως όταν ζητάτε από το χρήστη να 1083 00:57:41,000 --> 00:57:44,000 πληκτρολογήστε στην είσοδο σε μια φόρμα; 1084 00:57:44,000 --> 00:57:48,000 Κάτι σαν έναν κωδικό πρόσβασης, κάτι σαν τι άλλο; 1085 00:57:48,000 --> 00:57:50,000 Αριθμούς πιστωτικών καρτών. 1086 00:57:50,000 --> 00:57:53,000 Ό, τι είναι ελαφρώς ευαίσθητο ίσως δεν θέλουν να καταλήξουν στη διεύθυνση URL 1087 00:57:53,000 --> 00:57:56,000 έστω και μόνο επειδή αυτό σημαίνει ότι ο συγκάτοικος σας ή μέλος της οικογένειας μπορεί μόνο μέσω troll 1088 00:57:56,000 --> 00:57:59,000 ιστορία Διαδικτύου σας και στη συνέχεια να δούμε κυριολεκτικά τους κωδικούς πρόσβασης σας, 1089 00:57:59,000 --> 00:58:02,000 κυριολεκτικά δείτε αριθμούς πιστωτικών καρτών σας επειδή οι περισσότεροι browsers 1090 00:58:02,000 --> 00:58:05,000 θυμηθείτε την ιστορία ό, τι διευθύνσεις URL που έχουν πάει στο, 1091 00:58:05,000 --> 00:58:09,000 οπότε αν μόνο διότι αυτό θα ήταν μια κακή ιδέα. 1092 00:58:09,000 --> 00:58:11,000 Χρησιμοποιώντας κρύβει ότι μετά λεπτομέρεια από το χρήστη. 1093 00:58:11,000 --> 00:58:14,000 >> Επίσης, πώς να ανεβάσετε μια φωτογραφία στο Facebook; 1094 00:58:14,000 --> 00:58:17,000 Λοιπόν, οι μηχανισμοί μόνο 2 μπορείτε πραγματικά να χρησιμοποιήσετε, 1095 00:58:17,000 --> 00:58:21,000 ακόμα κι αν υπάρχουν μερικά άλλα πιο απόκρυφες αυτές, είναι να πάρετε και μετά. 1096 00:58:21,000 --> 00:58:26,000 Πως να ανεβάσετε μια φωτογραφία, ενδεχομένως μέσω ενός URL; 1097 00:58:26,000 --> 00:58:28,000 Μπορείτε να το κάνετε πραγματικότητα. 1098 00:58:28,000 --> 00:58:30,000 Μπορείτε να πάρετε ένα JPEG ή bitmap ή GIF και μπορείτε να την εκπροσωπήσει σε δεκαεξαδικό 1099 00:58:30,000 --> 00:58:32,000 ή κάτι που ονομάζεται βάση 64. 1100 00:58:32,000 --> 00:58:35,000 Αντί της βάσης 16 που χρησιμοποιείτε βάση 64, που ουσιαστικά μοιάζει 1101 00:58:35,000 --> 00:58:38,000 Χαρακτήρες ASCII, και μπορείτε να ανεβάσετε μια φωτογραφία στην πραγματικότητα μέσω ενός URL 1102 00:58:38,000 --> 00:58:41,000 μετά από ένα ερωτηματικό, αλλά υπάρχουν γενικά όρια μεγέθους. 1103 00:58:41,000 --> 00:58:44,000 Οι περισσότεροι browsers αναγκάσει τις διευθύνσεις URL για να είναι όχι περισσότερους από 1.000 χαρακτήρες, 1104 00:58:44,000 --> 00:58:47,000 ίσως 2.000 χαρακτήρες ή τα παρόμοια, έτσι δεν μπορείτε να ανεβάσετε 1105 00:58:47,000 --> 00:58:50,000 10 MB μια φωτογραφία στο Facebook. 1106 00:58:50,000 --> 00:58:54,000 Για να μπορείτε μετά τη χρήση, καθώς, έτσι για τώρα να βάζει τις παραμέτρους στη διεύθυνση URL, 1107 00:58:54,000 --> 00:58:57,000 το οποίο είναι ωραίο και χρήσιμο μερικές φορές, αλλά για κάτι μεγάλο ή ευαίσθητα 1108 00:58:57,000 --> 00:58:59,000 μετά είναι ο τρόπος να πάει. 1109 00:58:59,000 --> 00:59:02,000 Τι register0 πραγματικά κάνει εδώ; 1110 00:59:02,000 --> 00:59:05,000 Λοιπόν, αν έχω ανοίξει register0 ειδοποίηση ότι πρόκειται για μια εξαιρετικά απλή σελίδα, 1111 00:59:05,000 --> 00:59:09,000 αλλά αυτό είναι που αποδεικνύουν το γεγονός ότι μπορώ να συν-σμίγω, προς το καλύτερο ή προς το χειρότερο, 1112 00:59:09,000 --> 00:59:12,000 HTML με PHP. 1113 00:59:12,000 --> 00:59:15,000 Όλο αυτό το αρχείο, εκτός από τα σχόλια στην κορυφή, είναι HTML 1114 00:59:15,000 --> 00:59:19,000 εκτός από αυτόν τον τύπο εδώ. 1115 00:59:19,000 --> 00:59:22,000 >> Παρατηρήστε στην μέση του κώδικα PHP μου, 1116 00:59:22,000 --> 00:59:26,000 στην μέση του HTML μου, έχω το είδος του προσωρινά 1117 00:59:26,000 --> 00:59:28,000 εισέλθει PHP λειτουργία. 1118 00:59:28,000 --> 00:59:31,000 Παίρνω μια ειδική λειτουργία που ονομάζεται εκτύπωση r. 1119 00:59:31,000 --> 00:59:34,000 Αυτό σημαίνει αναδρομική εκτύπωση, και αυτό που κάνει είναι να τυπώνει αναδρομικά 1120 00:59:34,000 --> 00:59:38,000 μεταβλητή ό, τι μπορείτε να παραδώσετε, ερωτηματικό, έξοδος PHP λειτουργία. 1121 00:59:38,000 --> 00:59:40,000 Και η προ ετικέτα σας δίνει προ-μορφοποιημένο κείμενο, 1122 00:59:40,000 --> 00:59:43,000 μονο κείμενο χώρου, έτσι ώστε κάθε χώρος που βλέπετε είναι στην πραγματικότητα. 1123 00:59:43,000 --> 00:59:46,000 Δεν εξαφανίζονται. Ποια είναι η θέση; 1124 00:59:46,000 --> 00:59:48,000 Λοιπόν, τι είναι ενδιαφέρον και συναρπαστικό για PHP 1125 00:59:48,000 --> 00:59:52,000 είναι ότι κάθε φορά που υποβάλλετε μια φόρμα χρησιμοποιώντας πάρει ή να δημοσιεύσετε 1126 00:59:52,000 --> 00:59:56,000 κάτι που είναι που υποβάλλονται σε σας από ένα πρόγραμμα περιήγησης 1127 00:59:56,000 --> 01:00:00,000 PHP η ίδια υπολογίζει ποια είναι αυτά τα βασικά ζεύγη αξία, 1128 01:00:00,000 --> 01:00:02,000 από τα στοιχεία, εάν υπάρχει ίση σημάδια, τα στοιχεία έξω αν υπάρχει ένα ερωτηματικό. 1129 01:00:02,000 --> 01:00:07,000 Αυτό κάνει όλη τη σκληρή δουλειά για σας, και στη συνέχεια τα χέρια σας ένα associative array 1130 01:00:07,000 --> 01:00:10,000 που περιέχει τα πάντα ότι ο χρήστης πληκτρολογήσει στη φόρμα. 1131 01:00:10,000 --> 01:00:12,000 Λοιπόν, ποια πεδία δεν έχει αυτή η μορφή; 1132 01:00:12,000 --> 01:00:14,000 >> Είχε 4 πεδία. 1133 01:00:14,000 --> 01:00:16,000 Το ένα ήταν ένα πεδίο κειμένου που ονομάζεται όνομα. 1134 01:00:16,000 --> 01:00:18,000 Το ένα ήταν ένα κουτάκι που ονομάζεται καπετάνιος. 1135 01:00:18,000 --> 01:00:22,000 Το ένα ήταν ένα κουμπί που ονομάζεται φύλο, 1136 01:00:22,000 --> 01:00:24,000 και ο ένας ήταν ένα drop-down μενού που ονομάζεται dorm, 1137 01:00:24,000 --> 01:00:27,000 έτσι παρατηρήσετε όταν εκτυπώνω αναδρομικά 1138 01:00:27,000 --> 01:00:29,000 τα περιεχόμενα αυτής της ειδικής μεταβλητής. 1139 01:00:29,000 --> 01:00:34,000 Αυτή είναι μια ειδική μεταβλητή που ονομάζεται παγκόσμια κυριολεκτικά $ _POST, σε όλα τα καλύμματα. 1140 01:00:34,000 --> 01:00:39,000 Αυτή είναι μια ειδική παγκόσμια μεταβλητή ότι η PHP δημιουργεί μόνο για εσάς 1141 01:00:39,000 --> 01:00:42,000 και τα χέρια σας έτσι ώστε να μπορείτε να έχετε πρόσβαση τα πάντα 1142 01:00:42,000 --> 01:00:45,000 που υποβλήθηκε μέσω μιας φόρμας από ένα χρήστη. 1143 01:00:45,000 --> 01:00:48,000 Και καλώντας r εκτύπωσης σε αυτό-δεν θα το κάνουμε αυτό σε μια κανονική εφαρμογή. 1144 01:00:48,000 --> 01:00:50,000 Κάνουμε αυτό για να δείτε μέσα από αυτή τη μεταβλητή, 1145 01:00:50,000 --> 01:00:53,000 και τι είναι μέσα από αυτό, καλά, 4 κλειδιών, 1146 01:00:53,000 --> 01:00:56,000 4 http παραμέτρους, να το πω έτσι, 1147 01:00:56,000 --> 01:00:59,000 όνομα, καπετάνιος, το φύλο, dorm, και στη συνέχεια, οι αξίες που ο χρήστης 1148 01:00:59,000 --> 01:01:01,000 πληκτρολογήσει με μία εξαίρεση. 1149 01:01:01,000 --> 01:01:03,000 Έκανα τύπου ϋ-Α-V-Ι-ϋ. 1150 01:01:03,000 --> 01:01:05,000 Έλεγξα το πλαίσιο, όμως, για τους άνδρες, που υποβάλλονται προφανώς μια τιμή 1151 01:01:05,000 --> 01:01:07,000 μόλις μέτρα να είναι σύντομη. 1152 01:01:07,000 --> 01:01:10,000 >> Όταν έχω επιλέξει Matthews αυτή είναι η τιμή που πήρε επιλεγεί, 1153 01:01:10,000 --> 01:01:12,000 και αυτό είναι λίγο χαζό, αλλά είναι η σύμβαση. 1154 01:01:12,000 --> 01:01:17,000 Όταν έλεγξα το πλαίσιο, η αξία του για «την», πήρε υποβλήθηκαν για το κουτάκι. 1155 01:01:17,000 --> 01:01:21,000 Αν δεν είχε ελεγχθεί, δεν έχει αξία θα έχουν σταλεί καθόλου. 1156 01:01:21,000 --> 01:01:26,000 Αυτό ακριβώς μας δίνει ιδέες για το τι είναι μέσα από αυτή την ειδική καθολική μεταβλητή, 1157 01:01:26,000 --> 01:01:29,000 και είναι τόσο ξεχωριστό που λέγεται σούπερ global μεταβλητή. 1158 01:01:29,000 --> 01:01:33,000 Υπάρχει παντού για σας στον κωδικό σας, ώστε να μπορείτε να έχετε πρόσβαση πραγματικά. 1159 01:01:33,000 --> 01:01:36,000 Αυτό δεν είναι ότι συναρπαστικό, έτσι ας χρησιμοποιήσουμε πραγματικά το σούπερ παγκόσμιο 1160 01:01:36,000 --> 01:01:38,000 και πραγματικά να προσπαθήσει κάποιος να εγγραφείτε. 1161 01:01:38,000 --> 01:01:41,000 Σε froshims1 Πάω να κάνω μια αλλαγή. 1162 01:01:41,000 --> 01:01:44,000 Αλλάζω την προσφυγή register1.php, 1163 01:01:44,000 --> 01:01:46,000 και κάνω κάτι άλλο. 1164 01:01:46,000 --> 01:01:48,000 Ήμουν είδος δύσκολη θέση από την ποιότητα της ιστοσελίδας μου εκεί. 1165 01:01:48,000 --> 01:01:52,000 Είναι αρκετά αποκρουστικό, ειλικρινά, έτσι ώστε να αποδεικνύεται 1166 01:01:52,000 --> 01:01:56,000 που μπορείτε να χρησιμοποιήσετε πολύ εύκολα στο διαδίκτυο 1167 01:01:56,000 --> 01:01:59,000 JavaScript άλλων ανθρώπων κώδικα, CSS άλλων ανθρώπων 1168 01:01:59,000 --> 01:02:02,000 ότι έχουν γράψει και ανοικτή προέλευσης και διατίθεται ως μια βιβλιοθήκη, 1169 01:02:02,000 --> 01:02:06,000 να το πω έτσι, και, για παράδειγμα, εδώ είμαι χρησιμοποιώντας ένα ελεύθερα διαθέσιμο βιβλιοθήκη, 1170 01:02:06,000 --> 01:02:08,000 μια δέσμη των κώδικα που έγραψε κάποιος άλλος. 1171 01:02:08,000 --> 01:02:11,000 >> Twitter έτυχε να γράψω αυτόν τον κώδικα, και ονομάζεται η βιβλιοθήκη εκκίνησης, 1172 01:02:11,000 --> 01:02:15,000 και αυτό είναι ακριβώς μια δέσμη των CSS φύλλα στυλ, ένα σωρό. css αρχείων 1173 01:02:15,000 --> 01:02:19,000 ότι κάποιος άλλος έγραψε και βρει τον τρόπο για να πάρει ό, τι ωραίο και αρκετά 1174 01:02:19,000 --> 01:02:22,000 έτσι ώστε οι άνθρωποι σαν κι εμάς να ανησυχούμε λίγο λιγότερο για την αισθητική και επικεντρωθεί περισσότερο 1175 01:02:22,000 --> 01:02:24,000 στη λογική και την πραγματική προγραμματισμό. 1176 01:02:24,000 --> 01:02:30,000 Με τη σύνδεση αυτή με την ετικέτα, η οποία είναι η ίδια ετικέτα που χρησιμοποιείται για να θυμάστε styles3.css νωρίτερα, 1177 01:02:30,000 --> 01:02:34,000 Τώρα έχω πρόσβαση σε ένα αρχείο που ονομάζεται bootstrap.min.css. 1178 01:02:34,000 --> 01:02:37,000 Ελάχιστη σημαίνει ακριβώς αυτό που έχουν minified και έχουν πάρει απαλλαγούμε από όλα το λευκό χώρο και ούτω καθεξής 1179 01:02:37,000 --> 01:02:40,000 ακριβώς για να βεβαιωθείτε ότι δεν είστε να μου στείλει περισσότερα bytes από ό, τι πραγματικά χρειάζεται. 1180 01:02:40,000 --> 01:02:45,000 Αλλά υπάρχει ένα σωρό CSS, οπότε αν εγώ τώρα να ανοίξει την έκδοση 1 του Frosh ΔΥ 1181 01:02:45,000 --> 01:02:49,000 παρατηρήσετε ότι το αρχείο μου είναι σίγουρα πιο όμορφη. 1182 01:02:49,000 --> 01:02:54,000 Τώρα είναι ακόμα μόνο μαύρο και άσπρο, αλλά παρατηρώ ότι με τη χρήση μόνο φύλλο στυλ τους 1183 01:02:54,000 --> 01:02:58,000 και με τη χρήση ορισμένων δυνατοτήτων του στη φόρμα μου, δεν είναι εκπληκτικό, 1184 01:02:58,000 --> 01:03:01,000 αλλά είναι σίγουρα καθαρότερη από ό, τι ήταν πριν, και ο προβολέας δεν έχει κάνει δικαιοσύνη. 1185 01:03:01,000 --> 01:03:05,000 Υπάρχει λίγο γκρι γραμμές γύρω από τα κουμπιά και γύρω από το πεδίο κειμένου εδώ, 1186 01:03:05,000 --> 01:03:07,000 , αλλά είναι σίγουρα καθαρότερη από ό, τι ήταν πριν. 1187 01:03:07,000 --> 01:03:09,000 >> Τώρα, για να είμαστε δίκαιοι, θα έπρεπε να αλλάξει σήμανσης μου λίγο. 1188 01:03:09,000 --> 01:03:12,000 Αυτή είναι η έκδοση 1, και να παρατηρήσετε ότι έχω χρησιμοποιήσει μερικές νέες ετικέτες, 1189 01:03:12,000 --> 01:03:17,000 και ειλικρινά, δεν είχα ιδέα πώς να το κάνουμε αυτό μέχρι να διαβάσετε την τεκμηρίωση 1190 01:03:17,000 --> 01:03:20,000 για τη βιβλιοθήκη εκκίνησης του Twitter, και μου είπαν, αν θέλετε να χρησιμοποιήσετε τη βιβλιοθήκη μας 1191 01:03:20,000 --> 01:03:23,000 χρησιμοποιήσετε ένα στοιχείο πεδίων στο εσωτερικό της φόρμας σας, 1192 01:03:23,000 --> 01:03:27,000 βάλει τη λέξη που θέλετε να δείτε δίπλα σε ένα πεδίο μέσα από μια ταμπέλα, 1193 01:03:27,000 --> 01:03:30,000 στη συνέχεια να δώσει τη συμβολή σας ένα όνομα, όπως ακριβώς και πριν, 1194 01:03:30,000 --> 01:03:34,000 και στη συνέχεια για το πλαίσιο ελέγχου, όχι μόνο δεν θα το τυλίγουμε σε μια ετικέτα στοιχείου, 1195 01:03:34,000 --> 01:03:36,000 χρησιμοποιείτε κάτι που ονομάζεται μια τάξη, γι 'αυτό δεν έχουν ξαναδεί αυτό, 1196 01:03:36,000 --> 01:03:39,000 αλλά θα δείτε αυτό σε μία από τις ταινίες μικρού μήκους 7 PSET του. 1197 01:03:39,000 --> 01:03:43,000 Μια τάξη CSS σας επιτρέπει να κάνετε κάτι πολύ παρόμοιο με την ταυτότητα, 1198 01:03:43,000 --> 01:03:46,000 αλλά πριν όταν είχαμε ένα αναγνωριστικό με το σύμβολο # 1199 01:03:46,000 --> 01:03:48,000 που ήταν για ένα και μόνο ένα στοιχείο. 1200 01:03:48,000 --> 01:03:51,000 Τι είναι ωραίο για μια κατηγορία είναι ότι πολλά στοιχεία μπορεί να έχουν την ίδια τάξη 1201 01:03:51,000 --> 01:03:54,000 ή το ίδιο υλικό CSS εφαρμόζονται σε αυτό. 1202 01:03:54,000 --> 01:03:57,000 >> Αλλά και πάλι, περισσότερο σε εκείνους που, βραχυπρόθεσμα, και το υπόλοιπο αυτό είναι απλά να αντιγράψετε και να επικολλήσετε 1203 01:03:57,000 --> 01:04:00,000 από τα έγγραφα που τους έχω προσθέσει μια ετικέτα εδώ και εκεί. 1204 01:04:00,000 --> 01:04:03,000 Και στο τέλος, γιατί έχω την ετικέτα περιλαμβάνονται σύνδεσμο στην κορυφή, 1205 01:04:03,000 --> 01:04:06,000 ό, τι φαίνεται πιο όμορφη αυτόματα 1206 01:04:06,000 --> 01:04:10,000 με απλά να σημειώνονται μέχρι τη σελίδα μου με έναν τρόπο που 1207 01:04:10,000 --> 01:04:12,000 Twitter αναμένεται, και υπάρχει τόσο πολλούς διαφορετικούς τρόπους 1208 01:04:12,000 --> 01:04:14,000 για να γίνει αυτό, και αυτό είναι πράγματι πολύ κατάλληλο. 1209 01:04:14,000 --> 01:04:17,000 Σε αυτό το σημείο στο εξάμηνο, όπως θα δείτε στο spec PSET 7, η 1210 01:04:17,000 --> 01:04:20,000 Googling γύρω, ανάγνωση επάνω σε βιβλιοθήκες, χρησιμοποιώντας CSS άλλων ανθρώπων 1211 01:04:20,000 --> 01:04:23,000 και JavaScript για να λύσει τα προβλήματα βοηθητικές 1212 01:04:23,000 --> 01:04:26,000 στο σύνολο ίδιο πρόβλημα είναι ασφαλώς ενθαρρύνεται και είναι ο τρόπος 1213 01:04:26,000 --> 01:04:29,000 ο Παγκόσμιος Ιστός είναι χτισμένο αυτές τις μέρες, με στέκεται στους ώμους των άλλων ανθρώπων 1214 01:04:29,000 --> 01:04:32,000 έτσι ώστε να μπορείτε πραγματικά να επικεντρωθεί στις νέες και ενδιαφέρουσες προβλήματα. 1215 01:04:32,000 --> 01:04:34,000 Αλλά τώρα ας εστιάσουμε την προσοχή, και πάλι τη λογική. 1216 01:04:34,000 --> 01:04:38,000 >> Αυτό ήταν μια γρήγορη παράκαμψη στην αισθητική μόνο για να σας δείξει την κατεύθυνση προς την οποία μπορείτε να πάτε. 1217 01:04:38,000 --> 01:04:40,000 Πάω να επανέλθει στο πιο άσχημο ένα για τώρα μόνο και μόνο επειδή 1218 01:04:40,000 --> 01:04:44,000 δεν υπάρχει καμία απόσπαση της προσοχής με την ουσία Twitter, και επιτρέψτε μου να προχωρήσει και να ανοίξει 1219 01:04:44,000 --> 01:04:51,000 froshims2, η οποία, και πάλι, διαφέρει μόνο στην ενέργεια, register2.php, 1220 01:04:51,000 --> 01:04:55,000 και ας ρίξουμε μια ματιά σε αυτό το αποτέλεσμα είναι εδώ. 1221 01:04:55,000 --> 01:04:57,000 Επιτρέψτε μου να προχωρήσει και να πληκτρολογήσετε τον David. 1222 01:04:57,000 --> 01:04:59,000 Δεν θα είμαι καπετάνιος αυτή τη φορά. 1223 01:04:59,000 --> 01:05:01,000 Θα πω αρσενικό, Matthews, μητρώο. 1224 01:05:01,000 --> 01:05:05,000 Γαμώτο. Εντάξει, αυτό είναι μια βίδα πάνω από την πλευρά μου. 1225 01:05:05,000 --> 01:05:07,000 Stand by. 1226 01:05:07,000 --> 01:05:17,000 Register2, γραμμή 22, εάν άδειο ή-συγνώμη. 1227 01:05:17,000 --> 01:05:19,000 Ας reload. 1228 01:05:19,000 --> 01:05:22,000 Εντάξει, κατά την υποβολή αυτής της φόρμας τι ακριβώς συνέβη; 1229 01:05:22,000 --> 01:05:25,000 I δακτυλογραφημένα σε David, ελέγχεται άνδρες, κάνετε κλικ Matthews, μητρώο. 1230 01:05:25,000 --> 01:05:27,000 Έχετε εγγραφεί. (Καλά, δεν είναι πραγματικά.) 1231 01:05:27,000 --> 01:05:32,000 Αυτό είναι σαφώς ένα βήμα πέρα ​​από την απλή εκτύπωση από το περιεχόμενο κάποιων μεταβλητών, 1232 01:05:32,000 --> 01:05:34,000 αλλά τι είναι αυτό το αρχείο πραγματικά κάνει; 1233 01:05:34,000 --> 01:05:37,000 Σε register2.php 1234 01:05:37,000 --> 01:05:40,000 παρατηρήσετε ότι έχω κάποια νέα κώδικα. 1235 01:05:40,000 --> 01:05:44,000 Μέσα από την ετικέτα σώμα μου έχω ουσιαστικά ένα άλλο, αν κατασκευάσει, 1236 01:05:44,000 --> 01:05:47,000 αλλά επειδή είμαι συν-ανάμειξη με κάποια HTML 1237 01:05:47,000 --> 01:05:51,000 Έχω να εισέλθει και να εξέλθει PHP λειτουργία εμπρός και πίσω, οπότε ας δούμε τι κάνω. 1238 01:05:51,000 --> 01:05:55,000 >> Στην πρώτη γραμμή εδώ λέω αν είναι η περίπτωση 1239 01:05:55,000 --> 01:06:00,000 ότι η θέση σούπερ παγκόσμια είναι άδειο για το κλειδί του όνομα, 1240 01:06:00,000 --> 01:06:04,000 οπότε με άλλα λόγια, αν ο χρήστης δεν μου έδινε μια τιμή για το όνομα, με τη μορφή, 1241 01:06:04,000 --> 01:06:07,000 άδειο τότε θα επιστρέψει αλήθεια, επειδή η τιμή είναι άδειο. 1242 01:06:07,000 --> 01:06:11,000 Ή-παρατηρήσετε τις κάθετες μπάρες-αν το φύλο είναι άδειο 1243 01:06:11,000 --> 01:06:15,000 εσωτερικό της ειδικής αυτής σούπερ παγκόσμια, η οποία, και πάλι, αντιπροσωπεύει τα περιεχόμενα της φόρμας, 1244 01:06:15,000 --> 01:06:19,000 ή η κοιτώνα είναι άδειο, τότε θα πάω να προχωρήσει και να φωνάζω στο χρήστη. 1245 01:06:19,000 --> 01:06:22,000 Πώς; Λοιπόν, παρατηρήσετε Πάω να πω πρέπει να δώσετε το όνομά σας, το φύλο, και dorm. 1246 01:06:22,000 --> 01:06:24,000 Ας προκαλέσει πραγματικά αυτό το λάθος. 1247 01:06:24,000 --> 01:06:27,000 Επιτρέψτε μου να πάμε πίσω στη φόρμα μου. Επιτρέψτε μου να φορτώσετε εκ νέου σαφές. 1248 01:06:27,000 --> 01:06:30,000 Και είμαι απλώς πρόκειται να δώσει ο David, και δεν χρειάζεται να ξέρετε όπου ζω. 1249 01:06:30,000 --> 01:06:33,000 Εγγραφή. Προφανώς εγώ δεν χρειάζεται να τους πω όπου ζω. 1250 01:06:33,000 --> 01:06:35,000 Πρέπει να δώσετε το όνομά σας, το φύλο και dorm. Πηγαίνετε πίσω. 1251 01:06:35,000 --> 01:06:39,000 >> Και θα μπορούσα κλικ για να επιστρέψετε σε αυτή τη μορφή, αλλά γιατί συμβαίνει αυτό; 1252 01:06:39,000 --> 01:06:43,000 Λοιπόν, σε περίπτωση που αυτό το όνομα δεν ήταν άδειο, αλλά το φύλο ήταν, και ήταν dorm, 1253 01:06:43,000 --> 01:06:47,000 έτσι ώστε όλη αυτή η έκφραση να αξιολογούνται αλήθεια, και ακόμα κι αν η σύνταξη είναι ένα μικρό νέο, 1254 01:06:47,000 --> 01:06:51,000 πάλι, μπαίνουμε PHP λειτουργία, αν εξοικειωμένοι δήλωση, 1255 01:06:51,000 --> 01:06:54,000 αλλά το νέο μέρος εδώ είναι ακριβώς αυτή η άνω και κάτω τελεία, και είχα μαντάρα με παραλείποντας μια παρένθεση 1256 01:06:54,000 --> 01:06:57,000 από ατύχημα, αλλά παρατηρήσετε την άνω και κάτω τελεία, και αυτό σημαίνει ότι 1257 01:06:57,000 --> 01:07:00,000 ακόμα κι αν είμαστε πάντα έξοδο PHP λειτουργία 1258 01:07:00,000 --> 01:07:03,000 που ακολουθεί θα πρέπει να φτύσει επί λέξει στο πρόγραμμα περιήγησης 1259 01:07:03,000 --> 01:07:07,000 μέχρι να δείτε ένα άλλο μπλοκ, όπως κάνουμε εδώ, 1260 01:07:07,000 --> 01:07:10,000 στην οποία περίπτωση θα πρέπει να φτύνουν έξω αντί αυτό 1261 01:07:10,000 --> 01:07:13,000 μέχρι να δείτε το endif, έτσι κάποια ελαφρώς νέα σύνταξη 1262 01:07:13,000 --> 01:07:16,000 που μου δίνει τη δυνατότητα για εναλλαγή μεταξύ HTML και PHP. 1263 01:07:16,000 --> 01:07:19,000 Μπορούμε να καθαρίσει αυτό επάνω τελικά, αλλά για τώρα, 1264 01:07:19,000 --> 01:07:22,000 είναι το είδος του ένα συναρπαστικό τρόπο του ελέγχου σφαλμάτων τη φόρμα. 1265 01:07:22,000 --> 01:07:25,000 >> Τώρα, λέω δεν είστε εγγεγραμμένος πραγματικά γιατί προφανώς έχουμε κάνει τίποτα, αλλά τα δεδομένα, 1266 01:07:25,000 --> 01:07:28,000 οπότε ας πραγματικά να προσπαθήσουμε να κάνουμε κάτι δροσερό. 1267 01:07:28,000 --> 01:07:33,000 Σε froshims3 η μόνη διαφορά είναι Πάω να υποβάλει στο register3, 1268 01:07:33,000 --> 01:07:35,000 έτσι ώστε το HTML υπάρχει η ίδια. 1269 01:07:35,000 --> 01:07:38,000 Σε register3 παρατηρήσετε αυτό. 1270 01:07:38,000 --> 01:07:40,000 Αυτό είναι το είδος της σέξι. 1271 01:07:40,000 --> 01:07:44,000 Στην κορυφή Είμαι χρησιμοποιώντας ένα απαιτεί όπως στην κατάσταση, έτσι όπως αυτό είναι # include. 1272 01:07:44,000 --> 01:07:46,000 Αυτή τη φορά δεν είναι stdio.h ή κάτι τέτοιο. 1273 01:07:46,000 --> 01:07:50,000 Είναι μια βιβλιοθήκη της PHP, και αυτό ονομάζεται PHPMailer. 1274 01:07:50,000 --> 01:07:53,000 Πώς να ξέρω ακριβώς περιλαμβάνει αυτό το string με? 1275 01:07:53,000 --> 01:07:56,000 Το διάβασα στην τεκμηρίωση, έτσι όταν μου είπαν βάλει αυτό στην κορυφή του αρχείου 1276 01:07:56,000 --> 01:08:00,000 αν θέλετε να χρησιμοποιήσετε μια ειδική βιβλιοθήκη που ονομάζεται PHPMailer που κάνει ό, τι λέει. 1277 01:08:00,000 --> 01:08:03,000 Σας επιτρέπει να στείλετε email μέσω PHP. 1278 01:08:03,000 --> 01:08:05,000 Τώρα ας μετακινηθείτε προς τα κάτω περαιτέρω. 1279 01:08:05,000 --> 01:08:08,000 >> Προσέξτε να αρχίσει είμαι σε κατάσταση PHP όλο αυτό το χρονικό διάστημα, 1280 01:08:08,000 --> 01:08:11,000 έτσι και τώρα παρατηρούμε εδώ κάτω μετά την εισαγωγή ότι η βιβλιοθήκη, 1281 01:08:11,000 --> 01:08:13,000  να το πω έτσι, κάνω μερικούς ελέγχους λογική. 1282 01:08:13,000 --> 01:08:16,000 Αν είναι η υπόθεση ότι το όνομα δεν είναι άδειο 1283 01:08:16,000 --> 01:08:19,000 και το φύλο δεν είναι άδειο-παρατηρήσετε το επιφώνημα σημεία- 1284 01:08:19,000 --> 01:08:24,000 dorm και δεν είναι κενή, τότε ο χρήστης έχει λογικά συμπληρώσει τη φόρμα, τουλάχιστον αρκετά. 1285 01:08:24,000 --> 01:08:28,000 Δεν με νοιάζει αν είναι αρχηγός ή όχι. Απλά πρέπει το όνομά τους, το φύλο, και dorm. 1286 01:08:28,000 --> 01:08:31,000 Εάν έχουν γεμίσει από αυτές, έτσι ώστε κανένας από αυτούς τους τομείς είναι άδειο 1287 01:08:31,000 --> 01:08:33,000 αυτό είναι ελαφρώς νέα σύνταξη. 1288 01:08:33,000 --> 01:08:36,000 PHP, ως ένα μέρος, είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού 1289 01:08:36,000 --> 01:08:39,000 που κάποιοι από εσάς μπορεί να θυμάστε παιδιά από APCS ή παρόμοια. 1290 01:08:39,000 --> 01:08:42,000 Προς το παρόν, αν δεν είναι εξοικειωμένοι, απλά ξέρουν ότι για να χρησιμοποιήσετε αυτήν τη βιβλιοθήκη 1291 01:08:42,000 --> 01:08:45,000 θα πρέπει να γράψει μια γραμμή κώδικα, όπως αυτό χρησιμοποιώντας μια νέα λέξη-κλειδί, 1292 01:08:45,000 --> 01:08:47,000 κυριολεκτικά μια νέα λέξη-κλειδί που ονομάζεται νέα. 1293 01:08:47,000 --> 01:08:50,000 Αλλά πέρα ​​από αυτό, έχουμε κάποια εξοικειωμένοι σύνταξη. 1294 01:08:50,000 --> 01:08:54,000 Είναι ένας χειριστής βέλος, το οποίο είναι παρόμοιο με αυτό που χρησιμοποιείται για structs στο πλαίσιο των δεικτών. 1295 01:08:54,000 --> 01:08:57,000 Για σήμερα PHP δεν έχει δείκτες, 1296 01:08:57,000 --> 01:09:01,000 αλλά γνωρίζουμε τώρα ότι μέσα από τη μεταβλητή ταχυδρομείου 1297 01:09:01,000 --> 01:09:05,000 είναι ουσιαστικά είδος ενός δείκτη σε μια ειδική βιβλιοθήκη 1298 01:09:05,000 --> 01:09:08,000 ότι κάποιος άλλος έγραψε, και αν θέλω να έχουν πρόσβαση σε ειδικές λειτουργίες 1299 01:09:08,000 --> 01:09:12,000 στο εσωτερικό της βιβλιοθήκης κάνω, όπως σε C, χρησιμοποιήστε τον τελεστή βέλους, 1300 01:09:12,000 --> 01:09:14,000 ακόμη και αν αυτά δεν είναι πραγματικά δείκτες. 1301 01:09:14,000 --> 01:09:16,000 Είναι το είδος του τη δική του εκδοχή αυτής της PHP. 1302 01:09:16,000 --> 01:09:20,000 Αυτό σημαίνει ότι πάμε στη βιβλιοθήκη και να καλέσετε τον IsSMTP λειτουργία. 1303 01:09:20,000 --> 01:09:23,000 SMTP, ανάκληση, από πολεμιστές μας από το Δίκτυο αναφέρεται στο ηλεκτρονικό ταχυδρομείο, 1304 01:09:23,000 --> 01:09:28,000 και αυτό σημαίνει απλά χρησιμοποιήστε ένα e-mail server για αυτό το Frosh ΔΥ εγγραφή. 1305 01:09:28,000 --> 01:09:30,000 >> Τι υποδοχής μπορώ να θέλετε να χρησιμοποιήσετε; 1306 01:09:30,000 --> 01:09:34,000 Λοιπόν, το Χάρβαρντ, αν το Google γύρω, έχει ένα e-mail server που ονομάζεται smtp.fas.harvard.edu. 1307 01:09:34,000 --> 01:09:37,000 Αν παίζετε μαζί στο σπίτι ή ζείτε σε ένα δίκτυο Comcast 1308 01:09:37,000 --> 01:09:40,000 θα μπορούσε να είναι κάτι σαν smtp.comcast.net. 1309 01:09:40,000 --> 01:09:43,000 Εξαρτάται απόλυτα με το πού ζείτε και ποιος είναι ο ISP σας. 1310 01:09:43,000 --> 01:09:47,000 Μετά από αυτό θα πάω να μου από τη διεύθυνση αυθαίρετα να jharvard@cs50.net. 1311 01:09:47,000 --> 01:09:52,000 Είμαι στη συνέχεια, πρόκειται να θέσει το να αντιμετωπίσει είναι να jharvard@cs50.net. 1312 01:09:52,000 --> 01:09:55,000 Ο μόνος τρόπος που ήξερα ότι αυτές οι λειτουργίες κλήθηκαν SetFrom και AddAddress 1313 01:09:55,000 --> 01:09:57,000 είναι, και πάλι, διάβασα την τεκμηρίωση. 1314 01:09:57,000 --> 01:09:59,000 Αυτό δεν είναι το είδος της μαγείας είναι γνωστό σε όλους τους προγραμματιστές. 1315 01:09:59,000 --> 01:10:02,000 Στη συνέχεια, έθεσα ένα θέμα στο «εγγραφή». 1316 01:10:02,000 --> 01:10:07,000 Και τώρα αυτή η γραμμή είναι λίγο άσχημο, γιατί ό, τι κάνει ο χειριστής σημαίνει τελεία στην PHP; 1317 01:10:07,000 --> 01:10:09,000 Όποιος ξέρει; 1318 01:10:09,000 --> 01:10:11,000 Συνενώστε. 1319 01:10:11,000 --> 01:10:14,000 Στο C είναι ένας πόνος στο λαιμό για να ενώσετε 2 στοιχειοσειρές μαζί. 1320 01:10:14,000 --> 01:10:17,000 Θα πρέπει να ασχοληθεί με malloc ή realloc ή όλα από αυτά τα πράγματα 1321 01:10:17,000 --> 01:10:20,000 απλά να παρατείνει τη διάρκεια της μιας συμβολοσειράς. 1322 01:10:20,000 --> 01:10:22,000 Στην PHP, JavaScript και σε άλλες γλώσσες 1323 01:10:22,000 --> 01:10:24,000 μπορείτε να το κάνετε αυτό συνήθως με ένα μόνο χαρακτήρα. 1324 01:10:24,000 --> 01:10:28,000 Σε αυτή την περίπτωση, τελεία σημαίνει εκμεταλλευτώ αυτή την σειρά εδώ 1325 01:10:28,000 --> 01:10:30,000 και να προσθέσετε αυτό το string. 1326 01:10:30,000 --> 01:10:32,000 >> Α, και από τον τρόπο, επισυνάπτει σε αυτήν την σειρά, 1327 01:10:32,000 --> 01:10:34,000 η οποία συμβαίνει να είναι μια μεταβλητή μέσα από αυτό το σούπερ παγκόσμια. 1328 01:10:34,000 --> 01:10:37,000 Στη συνέχεια, για να προσθέσετε μια νέα γραμμή, έτσι ώστε όλα αυτά τα σημεία ακριβώς σημαίνει 1329 01:10:37,000 --> 01:10:39,000 συνεχίσει να κάνει ένα όλο και μεγαλύτερο και μεγαλύτερη συμβολοσειρά, 1330 01:10:39,000 --> 01:10:43,000 και δεν χρειάζεται να νοιάζονται καθόλου για malloc ή παρόμοια σε μια γλώσσα όπως αυτό, 1331 01:10:43,000 --> 01:10:46,000 και δεν υπάρχουν και άλλοι τρόποι για να γίνει αυτό, αλλά αυτό είναι ένα από τα πιο γρήγορος 1332 01:10:46,000 --> 01:10:48,000 τρόποι για να το βάλω έξω. 1333 01:10:48,000 --> 01:10:50,000 Τι κάνει αυτό; 1334 01:10:50,000 --> 01:10:55,000 Είναι η δημιουργία ενός ηλεκτρονικού οργάνου που πρόκειται να πω Όνομα: Captain: Φύλο: Dorm: 1335 01:10:55,000 --> 01:10:58,000 όλα σε ξεχωριστές γραμμές, και στη συνέχεια τέλος, 1336 01:10:58,000 --> 01:11:00,000 μία γραμμή κώδικα, και θα πάω να αγνοήσετε αυτό για τώρα. 1337 01:11:00,000 --> 01:11:02,000 Αν == ψευδής σημαίνει μόνο αν κάτι πήγε στραβά, 1338 01:11:02,000 --> 01:11:04,000 αλλά η μαγεία συμβαίνει εδώ. 1339 01:11:04,000 --> 01:11:08,000 Mail Αποστολή σημαίνει να στείλετε αυτό το email. 1340 01:11:08,000 --> 01:11:10,000 Για να δούμε ποιο είναι το καθαρό αποτέλεσμα είναι. 1341 01:11:10,000 --> 01:11:13,000 Στο κάτω μέρος του αρχείου, παρατηρήσετε ότι πρόκειται να πω είστε εγγεγραμμένος πραγματικά 1342 01:11:13,000 --> 01:11:15,000 αν πάρω τόσο πολύ. 1343 01:11:15,000 --> 01:11:18,000 Αν, όμως, ο χρήστης βίδες επάνω, παρατηρούμε ότι αρχίσαμε αυτό 1344 01:11:18,000 --> 01:11:21,000 Εάν η κατάσταση μέχρι εδώ, αν δεν είναι άδειο και δεν είναι κενή 1345 01:11:21,000 --> 01:11:24,000 και να μην αδειάσετε στέλνουμε το μήνυμα. 1346 01:11:24,000 --> 01:11:27,000 Διαφορετικά, θα πάμε να στείλει αυτή τη γραμμή του κώδικα, 1347 01:11:27,000 --> 01:11:30,000 η οποία θα έχει ως αποτέλεσμα, όπως θα δείτε στο PSET 7, του αναπροσανατολισμού του χρήστη 1348 01:11:30,000 --> 01:11:35,000 πίσω από εκεί που ήρθαν, froshims3.php. 1349 01:11:35,000 --> 01:11:38,000 >> Δάχτυλα διασχίσει, διαφορετικά αυτό θα είναι το πιο απογοητευτικό demo σήμερα. 1350 01:11:38,000 --> 01:11:40,000 Εδώ πάμε. 1351 01:11:40,000 --> 01:11:42,000 Επιτρέψτε μου να ανοίξει inbox μου για jharvard e-mail στο Gmail. 1352 01:11:42,000 --> 01:11:44,000 Δεν email αυτή τη στιγμή. Εντάξει. 1353 01:11:44,000 --> 01:11:53,000 Τώρα, επιτρέψτε μου να ανοίξει froshims3, το οποίο είναι το τρίτο και τελευταίο παράδειγμα θα εξετάσουμε εδώ. 1354 01:11:53,000 --> 01:11:55,000 Εντάξει, εδώ είμαστε. 1355 01:11:55,000 --> 01:12:00,000 Nate, αυτός θα είναι ο αρχηγός, αρσενικό, από, ας πούμε, Apley. 1356 01:12:00,000 --> 01:12:04,000 Εγγραφή. Εντάξει, έχετε εγγραφεί πραγματικά. 1357 01:12:04,000 --> 01:12:07,000 Τώρα, αν μετακινηθείτε πάνω στο e-mail μου, ω, Θεέ μου. 1358 01:12:07,000 --> 01:12:09,000 Έχω μόλις έστειλε ένα email δυναμικά στο Web. 1359 01:12:09,000 --> 01:12:11,000 >> Ας αφήσουμε στην εν λόγω σημείωση. 1360 01:12:11,000 --> 01:12:16,000 Ένα βίντεο είναι για την επικείμενη διάλεξη χάσαμε. Τα λέμε την επόμενη εβδομάδα. 1361 01:12:16,000 --> 01:12:18,000 [CS50.TV]