[Παίζει μουσική] ΟΜΙΛΗΤΗΣ 1: Αυτό είναι CS50 και αυτό είναι το τέλος του εβδομάδα επτά. Σήμερα είναι ίσως όπου Πραγματικά σας διδάσκει γλώσσες. Εμείς εισαχθεί στο παρελθόν δύο εβδομάδες HTML και CSS, κανένα από τα οποία Οι γλώσσες προγραμματισμού. Και πράγματι, ακόμα κι αν δεν είχαμε εξετάσουμε σχεδόν όλα τα tags ότι η HTML έρχεται με και σχεδόν όλοι από τις ιδιότητες που έρχεται με CSS, αυτό είναι το είδος του για HTML και CSS. Θα γενικά μόνο ξεκινήστε την προϋπόθεση ότι θα κατανοήσουν τις γενικές ιδέες του tag και χαρακτηριστικών, και αποστελλόμενων σελίδων από τον client στον server. Επειδή σήμερα έχουμε αρχίσει να κοιτάξουμε μια άλλη γλώσσα προγραμματισμού, PHP. Εμείς πάμε να κάνουμε αυτό το σούπερ γρήγορο. Εμείς δεν πρόκειται να σας διδάξει PHP per se, όπως και εμείς δεν φιλοδοξούμε να σας διδάξει C, per se, αλλά μάλλον προγραμματισμού. Και πράγματι, ένα από τα στόχοι για αυτό το μάθημα δεν είναι να σας διδάξει C, ή HTML, CSS ή, ή PHP, ή οποιοδήποτε αριθμό άλλων τσιτάτο ή αρκτικόλεξα, αλλά μάλλον την επιστήμη των υπολογιστών και πώς να προγραμματίσετε εκ βάθρων. Και πράγματι, σήμερα θα αρχίσουμε να λάβουν αυτές οι βοηθητικές ρόδες στα ανοικτά όλα τα περαιτέρω με ιπτάμενα μέσα από μια γλώσσα που ονομάζεται PHP, ως εξής. Εδώ είναι ό, τι αυτή η γλώσσα μοιάζει. Αποδεικνύεται ότι δεν υπάρχει ανάγκη για η κύρια λειτουργία σε ένα πρόγραμμα γραμμένο σε μια γλώσσα που ονομάζεται PHP. Έτσι ώστε να ακούγεται ήδη λίγο απλούστερη από C, με την οποία είμαστε εξοικειωμένοι. Αποδεικνύεται ότι αν θέλετε να δηλώσετε μια μεταβλητή, μπορείτε να κάνετε σχεδόν πανομοιότυπα με C. Αλλά υπάρχει σαφώς μια διαφορά εδώ όταν δηλώνω μια σειρά, ή ίσως δύο διαφορές. Τι μοιάζει διαφορετικό; Κοινό: Το σύμβολο του δολαρίου. ΟΜΙΛΗΤΗΣ 1: Ναι, υπάρχει δολάριο υπογράψει, που δεν έχουμε δει ποτέ πριν. Και τι λείπει; Ναι; Κοινό: [δεν ακούγεται] ΟΜΙΛΗΤΗΣ 1: Ναι, δεν υπάρχει τύπο δεδομένων. Έτσι αποδεικνύεται ότι η PHP είναι αυτό που καλέστε χαλαρά δακτυλογραφημένη γλώσσα, όπου C είναι έντονα δακτυλογραφημένη. Χαλαρά πληκτρολογήσει απλά σημαίνει ότι υπάρχουν διαφορετικοί τύποι δεδομένων, υπάρχουν χορδές, και ints, και επιπλέει. Αλλά τα στοιχεία υπολογιστή ότι έξω. Θα το ανθρώπινο προγραμματιστή Δεν χρειάζεται να το καταλάβω. Έτσι, το μόνο που έχετε να κάνετε να δηλώσει μια μεταβλητή είναι σύμβολο του δολαρίου, το όνομα σας μεταβλητή και, στη συνέχεια, για παράδειγμα, απόσπασμα εισαγωγικά, hello world. Καλά αυτό είναι ό, τι ένα κατάσταση μοιάζει με την PHP. Τυχόν διαφορές; Κανένα. Έτσι αποδεικνύεται αυτά είναι ταυτόσημα. Και ίσως να έχουν λιγότερες υποκαταστήματα ή περισσότερους κλάδους, αλλά οι στροφές σύνταξη ακριβώς το ίδιο. Boolean εκφράσεις μπορούν να να καταδικαστεί μαζί. Boolean εκφράσεις μπορεί να πολλαπλασιάζεται λογικά μαζί. Έχετε ακόμα διακόπτες. Ακόμα κι αν δεν έχετε χρησιμοποιήσει αυτά, αυτά υπάρχουν σε C και είναι λειτουργικά ισοδύναμο σε PHP. Και στην πραγματικότητα, στην PHP ότι είναι λίγο πιο ισχυρό. Στην C, μόνο μπορείτε να συγκρίνετε ορισμένες τύπους δεδομένων όπως ints και χαρακτήρες, ενώ σε PHP μπορείτε πραγματικά να συγκρίνετε πλήρη χορδές ανατρέφω χωρίς να ανησυχείτε για τους δείκτες και τα παρόμοια. Έτσι, εδώ είναι ένα για το βρόχο. Αυτό είναι ακριβώς ψευδοκώδικα κώδικα, αν θέλετε. Αλλά δομικά είναι πανομοιότυπες με C. Εδώ είναι ένα βρόχο while, ο ψευδοκώδικας therefore-- ταυτόσημη με C. Εδώ είναι ένα do ενώ loop-- πανομοιότυπα. Και έτσι υπάρχει το είδος του Αυτό το πρότυπο εδώ όπου υπάρχει μερικές άλλες συντακτικές χαρακτηριστικά είμαστε πραγματικά πρόκειται να δούμε. Στην πραγματικότητα, εδώ είναι ένα ωραίο τρόπο με τον οποίο PHP, αν θέλετε να μετακινηθείτε πάνω από μια συστοιχία, και Δεν θέλω να πηδούν μέσα από το ψυχική και συντακτικά στεφάνια που έχουν int i ισούται με 0, i λιγότερο από n, θ οποία συν plus-- είναι απλώς ένα πολύ ενοχλητικό σύνταξη. Μπορείτε να πείτε λίγο περισσότερο ρευστά για κάθε αριθμούς ως αριθμός, όπου σε αυτή την περίπτωση αριθμοί σύμβολο του δολαρίου, υποθέτω, Είναι σαν μια σειρά αριθμών που ονομάζεται. Και τότε υποθέτω αριθμό, ενικό, πρόκειται να είναι μια μεταβλητή. Και τι θα κάνει η PHP για μένα, όπως έχω επαναλάβει πάνω από αυτό βρόχου είναι, σε κάθε επανάληψη, πρόκειται να ενημερώσετε τη μεταβλητή αριθμό είναι το στοιχείο i-σε αριθμούς, πληθυντικό. Γι 'αυτό ακριβώς χειρίζεται όλα αυτά για μένα. Δεν αγκύλες, δεν σύμβολο του δολαρίου, υπάρχουν ερωτηματικά. Είναι λίγο πιο απλό. Λοιπόν, αν θέλετε ένα σειρά, αποδεικνύεται σας μπορεί να κάνει κάτι αρκετά παρόμοιο με C. Η σύνταξη είναι λίγο διαφορετική. Αλλά εδώ είναι μια σειρά που ονομάζεται δολαρίων υπέγραψε αριθμούς. Και μπορώ να χρησιμοποιήσω, σε PHP, πλατεία παρένθεση, αποδεικνύεται. Και θα πάμε να δούμε αυτά και πάλι σε JavaScript-- ακόμη μια άλλη γλώσσα. Απλά χρησιμοποιήστε πλατεία συμβολισμός βραχίονα να έχουν μια λίστα διαχωρισμένη με κόμμα ακεραίων, σε αυτή την περίπτωση. Αλλά αυτό μου δίνει μια σειρά. Αλλά ακόμη πιο ισχυρό σε PHP, έχουμε επίσης ό, τι είναι γενικά καλείται συνειρμική συστοιχίες. Και πολλές γλώσσες έχουν αυτά επίσης. Το πράγμα για τους πίνακες C είναι ότι οι δείκτες για μια σειρά, το πράγμα που χρήση σε αγκύλες, μέσω της οποίας έχετε πρόσβαση σε στοιχεία, πρέπει να είναι αυτό; Κοινό: [δεν ακούγεται] ΟΜΙΛΗΤΗΣ 1: Θα πρέπει να είναι αριθμοί ή ακέραιοι, ειδικά από το μηδέν προς τα πάνω. Λοιπόν, σε PHP, και, αποδεικνύεται έξω, και σε άλλες γλώσσες, μπορείτε να αρχίσετε να έχετε ευρετήρια που δεν είναι αριθμητικό. Αλλά στην πραγματικότητα είναι λέξεις ή φράσεις, έτσι ώστε αντί προσπαθήστε να θυμηθείτε πού κάτι είναι, ή αποθηκεύεται σε μια μεταβλητή i, μπορείτε να χρησιμοποιήσετε πραγματικά μια λέξη και να πω that-- μπορείς να πεις μια λέξη σαν αυτό. Έτσι, το σύμβολο του δολαρίου απόσπασμα είναι η το όνομα μιας μεταβλητής εδώ. Αυτό είναι κάπως funky σύνταξη αυτό είναι που συνδέει τα δύο βασικά αξίας ζεύγη για αυτή τη μεταβλητή. Συγκεκριμένα, αυτό μου δίνει μια σειρά που έχει μήκος 2. Αλλά οι δείκτες δεν είναι 0 και 1. Οι δείκτες είναι απόσπασμα unquote σύμβολο και προσφορά τιμής εισαγωγικά. Και οι τιμές αυτών των δεικτών, αντίστοιχα, είναι FB για το Facebook και $ 79.53, όταν θα διαρκέσει ελέγχονται τίμημα γι 'αυτό. Τι σημαίνει αυτό? Λοιπόν, αυτό σημαίνει ότι αντί του κώδικα γραφής όπως αυτό, όπου συνήθιζα να κάνω κάτι όπως δολαρίου sign-- ή μάλλον, σε C Εγώ δεν θα έχουν καν το σύμβολο του δολαρίου. Θα ήθελα να κάνω κάτι όπως εισαγωγικά και, στη συνέχεια, Θα ήθελα να κάνω εγώ στήριγμα για να πάρει σε μερικά αυθαίρετα αριθμητικά ευρετήριο αξία. Από σήμερα στην PHP, αν θέλετε να πάρετε κάποια αξία, Είμαστε είδος έχουν περισσότερα σημασιολογική εκφραστικότητα. Ακριβώς ένα φανταχτερό τρόπο λέγοντας μπορούμε ακριβώς λέμε τα πράγματα αυτό που είναι. Και αν θέλετε να πάρετε στο σύμβολο κάτι, Τώρα μπορείτε κυριολεκτικά κάνουμε αναφέρω εισαγωγικά σύμβολο σε αγκύλες αντί μιας απλής αριθμού. Γι 'αυτό είναι μια ωραία ευκολία. Και αυτό είναι το είδος του αυτό προς το παρόν. Υπάρχει ματσάκια άλλα χαρακτηριστικά της PHP. Και πράγματι, PHP έρχεται με η παροιμιώδης νεροχύτη της κουζίνας. Δεκάδες, εκατοντάδες λειτουργίες έρχονται με PHP-- τόσα πολλά περισσότερα από ό, τι ήρθε με C. Και αυτό δεν πρόκειται να συντρίψει αλλά μάλλον να βοηθήσουν έχετε συνειδητοποιήσει ότι δεν είμαστε έχουν πλέον να γράφουν κώδικα αυτό είναι το είδος του εδώ κάτω εννοιολογικά. Τώρα μπορούμε απλά να αρχίσετε να επωφελείστε πολύ πιο προηγμένα χαρακτηριστικά ότι οι γλώσσες όπως η PHP έχει. Γι 'αυτό και δεν χρειάζεται να ανησυχείτε για κινούνται γύρω από τα πράγματα στη μνήμη. Δεν χρειάζεται να ανησυχείτε για malloc και όλα αυτά τα χαμηλότερου επιπέδου, ισχυρά στοιχεία ότι θα παλέψει με, αν δεν αγωνίζονται με, pset5, αλλά μπορείτε να αρχίσετε να Μόλις λάβει ως δεδομένο. Στην πραγματικότητα, ας γράψουμε ένα σούπερ απλό πρόγραμμα σε PHP, ως εξής. Πάω να πάει το κεφάλι σε CS50 IDE εδώ, και τι πάω να κάνω είναι να δημιουργήσετε ένα νέο αρχείο, ότι πολύ απλά πρόκειται να κληθεί γεια dot PHP. Έτσι, αντί να dot γ, είναι πρόκειται να ονομάζεται dot PHP. Και στη συνέχεια, σε αυτό το αρχείο, Μπορώ να αρχίσετε να πληκτρολογείτε. Αλλά αποδεικνύεται ότι η ένα πράγμα που πρέπει να ξέρετε είναι ότι κάθε αρχείο PHP σε γενικές γραμμές, τις ανάγκες να ξεκινήσω με κάποια ειδική σύνταξη. Παρόμοια στο πνεύμα με την HTML, αλλά και πάλι, PHP είναι μια γλώσσα προγραμματισμού, δεν μια γλώσσα σήμανσης. Έτσι, κάθε αρχείο, και αυτό είναι το είδος ηλίθια που αναζητούν εγώ θα παραδεχτώ. Ανοίξτε βραχίονα, ερωτηματικό, PHP. Και αυτό είναι μόνο η τρόπος γλώσσα του λέγοντας, hey, ο υπολογιστής έρχεται εδώ λίγο κώδικα γραμμένο σε μια γλώσσα που ονομάζεται PHP. Και στη συνέχεια, στο τέλος του αρχείου σας, κάνετε το είδος του είδους το αντίθετο. Δεν γράψω και πάλι PHP, απλά κάνει ερωτηματικό, αγκύλη. Και τότε οτιδήποτε βρίσκεται στο εσωτερικό αυτών των δύο ετικέτες, να το πω έτσι, θα είναι, ή θα έπρεπε να είναι, κώδικα PHP. Έτσι, ας κάνουμε κάτι εξαιρετικά απλό. Πάω να πάει μπροστά και να κάνουμε εκτύπωσης def, γειά σου κόσμο, ανάστροφη κάθετο n, να αποθηκεύσετε. Και τώρα σε γραμμή μου, θα πάω να κάνετε, hello-- όχι, εγώ πάω να κάνω, dot κάθετος γεια. Όχι, τελεία κάθετος, χμ. Οπότε κάτι διαφορετικό. Και πράγματι, αυτή είναι μια βασική διαφορά μεταξύ PHP και γλώσσες όπως η C C. ήταν το λεγόμενο καταρτίζονται γλώσσα. Τι σήμαινε για το C θα πρέπει να καταρτιστούν; Ποια ήταν η επίπτωση; Ναι. Κοινό: έγραψε σε κώδικα μηχανής έτσι θα μπορούσε να εκτελεστεί από τον υπολογιστή. ΟΜΙΛΗΤΗΣ 1: Ακριβώς. Εμείς πρέπει να το μετατρέψετε πρώτα σε λεγόμενο κώδικα μηχανής, μηδενικά και μονάδες, πριν από πραγματικά θα είναι εκτελέσιμο και κατανοητές από τον υπολογιστή. Από την Intel στο εσωτερικό του. Με την CPU εσωτερικό του υπολογιστή. PHP, αντίθετα, είναι αυτό που ονομάζεται μια ερμηνευμένη γλώσσα, το οποίο σημαίνει ότι δεν έχετε να το υπολογίσουν σε μηδενικά και μονάδες, κώδικα μηχανής, που αντί να το αφήσουμε ως πηγαίο κώδικα. Και εσείς αντί να το περάσει ως πρώτη ύλη σε ένα πρόγραμμα, ένας διερμηνέας ότι κάποιος άλλος έγραψε χρόνια ότι αντιλαμβάνεται γραμμή προς γραμμή, χαρακτήρα για τον χαρακτήρα. Έτσι, με άλλα λόγια, οι άνθρωποι εκεί έξω έγραψε ένα πρόγραμμα που θα δούμε στη γραμμή κώδικα σας από τη γραμμή, και να καταλάβω τι ο υπολογιστής πρέπει να κάνει, χωρίς να το μετατρέψει άμεσα με μηδενικά και μονάδες. Έτσι, αν βλέπει ένα για το βρόχο, Αυτή η λεγόμενη διερμηνέα πρόκειται να είναι όπως, εντάξει, εγώ θα πρέπει να κάνουμε κάτι ξανά και ξανά και ξανά. Τι πρεπει να κανω? Επιτρέψτε μου να δούμε την επόμενη γραμμή. Επιτρέψτε μου να δούμε την επόμενη γραμμή. Και ερμηνεύει πραγματικά γραμμή προς γραμμή. Έτσι για να το εκτελέσει, δεν χρησιμοποιώ make. Δεν χρησιμοποιώ dot κάθετος σε αυτή την περίπτωση. Εγώ αντί να κάνει η PHP, η οποία είναι το όνομα ενός προγράμματος, γνωστός και ως Ένας διερμηνέας, ότι είναι προ-εγκατεστημένο σε CS50 IDE, και τώρα πρέπει να περάσει ένα το επιχείρημα της γραμμής εντολών, η οποία Είναι πολύ απλά το όνομα του αρχείο που θέλω να ερμηνεύσει. Ή πιο άνετα, που θέλω να τρέξει. Κι αν πατήσω το enter, εκεί έχουμε. Γειά σου Κόσμε. Τώρα αποδεικνύεται ότι μεταχειρισμένα def εκτύπωσης σκόπιμα να μας γεφυρωθεί από C σε PHP. Οι περισσότεροι προγραμματιστές PHP, όπως θα δείτε, δεν κάνουν καν τον κόπο χρησιμοποιώντας def εκτύπωσης. Απλώς χρησιμοποιήστε μια λειτουργία που ονομάζεται εκτύπωσης, η οποία δεν είχε C. Και έτσι αν μπορώ να επαναληφθεί τώρα, είναι στην πραγματικότητα συμπεριφέρεται λειτουργικά η ίδια. Δεν μπορώ να χρησιμοποιήσω το ποσοστό s και θ τοις εκατό και ούτω καθεξής, αλλά υπάρχουν και άλλοι τρόποι σε PHP για να γίνει αυτό. Αλλά αυτό είναι μόνο για να λένε ότι συντακτικά, εκτός από κάποια περίεργα πράγματα κορυφή, και κάποια περίεργα χαρακτήρες κάτω στο κάτω μέρος, οι έννοιες τώρα προγραμματισμού σε αυτή την άλλη γλώσσα πρόκειται να είναι ακριβώς το ίδιο. Στην πραγματικότητα, ας κάνουμε ένα άλλο παράδειγμα. Έτσι, Πάω να πάει μπροστά και κλείστε το αρχείο. Επιτρέψτε μου να δημιουργήσετε ένα άλλο που Θα καλέσω τους όρους 1 κουκίδα PHP. Έτσι, δεν το μηδέν, γιατί ό, τι έκανα ήταν Κοίταξα πίσω πριν από λίγες εβδομάδες, είχαμε ένα αρχείο με όνομα όροι 1 τελεία C. Και τι Έκανα ήταν να μετατραπεί στο μου το κεφάλι, και εδώ στο χαρτί, και σύντομα για την πορεία της ιστοσελίδα, γραμμή προς γραμμή μέσα στην PHP. Έτσι στην έκδοση C, κάναμε κάτι όπως εγχόρδων s παίρνει πάρει κορδόνι. Γι 'αυτό είναι λίγο διαφορετικό για να το κάνουμε αυτό σε PHP. Αντ 'αυτού, είμαι απλώς πρόκειται να κάνει, ή μάλλον, θα μπορούσε να γίνει int n παίρνει πάρει int, σε αυτό το παράδειγμα νωρίτερα. Έτσι, αντί αυτού, θα πάω να κάνω n παίρνει γραμμή ανάγνωσης, θα ήθελα έναν ακέραιο, παρακαλώ. Έτσι, αυτό είναι απλά προτροπή μου. Και έτσι αποδεικνύεται και Θα ήθελα να ξέρω μόνο αυτό από το να έχει διαβάσει ή δει την λειτουργία πριν, διαβάστε γραμμές λειτουργίας στην PHP παίρνει ένα επιχείρημα το οποίο είναι ένα μήνυμα για τον άνθρωπο, και τον σκοπό της ζωής είναι να διαβάσει μια γραμμή κειμένου ότι αυτός ή αυτή τύπων σε. Και στη συνέχεια αποθηκεύει ότι κείμενο στη μεταβλητή n. Και τώρα μπορώ να θέλετε να κάνετε κάτι όπως έκανα πριν μερικές εβδομάδες, όπως στην εβδομάδα μια της τάξης. Εάν το η είναι μεγαλύτερο από μηδέν, τότε, θα πάω δανειστεί το εν λόγω σύνταξη μόλις είδαμε, def εκτύπωσης, έχετε πάρει ένα θετικό αριθμό, ανάστροφη κάθετο n. Αλλιώς αν η ισούται ισούται με μηδέν, είμαι πρόκειται να προχωρήσει και να πω, def εκτύπωσης, Σας πήρε μηδέν ανάστροφη κάθετο n. Αλλιώς, στην προκειμένη περίπτωση θα πρέπει να Φυσικά είναι, def εκτύπωσης, επιλέξατε έναν αρνητικό αριθμό. Και μπορούμε σίγουρα να εφαρμόσουν η λογική αυτού του πράγματος σε μια δέσμη των διαφορετικών τρόπους, αλλά το σημείο εδώ είναι ότι συντακτικά, σχεδόν τίποτα είναι νέο. Είναι ακριβώς το σύμβολο του δολαρίου και μια νέα λειτουργία και διαβάστε γραμμή. Αλλά ουσιαστικά, τι νέο τώρα είναι είμαι ερμηνεία αυτή. Είμαι αυτό που περνά ως εισροή σε άλλο πρόγραμμα. Έτσι, αν θέλω να τρέξει αυτό, αν Εγώ δεν κάνω λάθη, Πάω να τρέξει PHP, της όροι 1 τελεία PHP, Enter, Πάω να πληκτρολογήσετε τον αριθμό 50, και ας υποθέσουμε ότι για τώρα δουλεύει. Επειδή η λογική είναι η ίδια πράγματα όπως μία εβδομάδα. Εντάξει, έτσι ώστε να είναι αρκετά απογοητευτικό, έτσι δεν είναι; Θα μπορούσαμε να το κάνουμε αυτό σε οποιαδήποτε αριθμός των γλωσσών. Ας κάνουμε κάτι πολύ πιο ισχυρό. Ας πρόβλημα φινίρισμα έθεσε πέντε. Έτσι, Πάω να προχωρήσει και να το κάνουμε αυτό. Πάω να δημιουργήσετε ένα αρχείο που ονομάζεται λεξικό dot PHP, και με κλίση όπως θα μπορούσε να είναι να αγωνίζομαι κάτω μέρη των σημειώσεων, οι σημειώσεις θα βοηθήσει μόνο σας εάν έχετε την άδεια να εφαρμόσουν τα προβλήματα που πέντε στην PHP. Αλλά θα δούμε πόσο γρήγορα τώρα μπορούν να εφαρμόσουν την ίδια δέσμη πρόβλημα. Έτσι στο λεξικό dot PHP, θα πάω να υποθέσουμε ότι υπάρχει ήδη ένα αρχείο στον κόσμο που ονομάζεται ορθογράφος. Και πράγματι, το έκανα αυτό εκ των προτέρων, και εμείς δεν θα περπατήσετε μέσα από αυτή τη γραμμή από τη γραμμή, αλλά αν είστε περίεργος αργότερα και θέλουν πραγματικά να τυλίξουν το μυαλό σας γύρω από το διαφορές μεταξύ των γ και PHP, κυριολεκτικά συγκρίνετε αυτού του αρχείου, ορθογράφος, από τον πηγαίο κώδικα του σήμερα ότι θα δημοσιεύσετε αργότερα Σήμερα, κατά σειρά σ πέντε ορθογράφος dot γ που σας δίνουμε, και είναι σχεδόν η ίδια γραμμή προς γραμμή. Υπάρχουν κάποια σημάδια πάνω του δολαρίου. Ένα ζευγάρι λειτουργίες είναι μια λίγο διαφορετική. Αλλά είναι ένας ωραίος τρόπος του είδους του να δει πώς να μεταφράσετε μία γλώσσα στην άλλη. Και είναι σχεδόν ταυτόσημη γραμμή για τη γραμμή. Αλλά Πάω να υποθέσουμε ότι υπάρχει, και τι πάω να κάνω εδώ είναι να προσπαθήσουμε να ανατινάξουν σας νου από reimplementing το σύνολο του προβλήματος έθεσε πέντε τρόπο ταχύτερα από ό, τι έχετε κάνει μέχρι σήμερα. Έτσι, για παράδειγμα, θα πάω στην πρώτη να κηρύξει μια παγκόσμια μεταβλητή που ονομάζεται μέγεθος, και να το θέσει ίσο με το μηδέν. Τώρα αυτό δεν είναι πολύ εξοικονόμηση. Οι πιθανότητες είναι εσείς υλοποιούνται μέγεθος λίγο πολύ το ίδιο, ή υπαινιγμό υπόδειξη, θα απόψε ή αύριο, χρησιμοποιώντας μόνο μια καθολική μεταβλητή που ονομάζεται το μέγεθος, και ότι αυτό ισούται με το μηδέν. Αυτό δεν είναι ένα ιδιαίτερα καταπληκτικό αεροτομή. Ποια ήταν λοιπόν τα δεδομένα σας δομές επιλογή, όσοι από εσάς έχετε βούτηξε και διαβάστε το spec, δομές δεδομένων ποιο Οι περισσότεροι από εσάς έχουν χρησιμοποιήσει; Ένας πίνακας κατακερματισμού ή δοκιμάστε, ίσως Μερικές παραλλαγές αυτών. Έτσι, την εφαρμογή ενός πίνακα κατακερματισμού τουλάχιστον, Είναι το είδος της μια μεγάλη γραμμές κώδικα, έτσι δεν είναι; Και όλα αυτά δεν θα μπορούσε να είναι λειτουργικά σε αυτό το σημείο την εβδομάδα, αλλά αυτό είναι εντάξει. Επειδή σε PHP, αν μου θέλουν ένα πίνακα κατακερματισμού, γίνεται. Σωστά; Έτσι, αυτή τη μεταβλητή που έχω μόλις κηρυχθεί προφανώς που ονομάζεται σύμβολο τραπέζι του δολαρίου, Σύμφωνα με την εισαγωγή πριν. Αλλά εγώ πραγματικά θέλουν απλά, σε το τέλος της ημέρας, μια συστοιχία. Αλλά δεν είναι μια αριθμητικά ευρετήριο σειρά, γιατί αυτό είναι σαν δύο εβδομάδες πράγματα, όταν μιλήσαμε για τους πίνακες. Θέλω ένα πίνακα κατακερματισμού. Αλλά ένα πίνακα κατακερματισμού είναι πραγματικά μόνο ένα συγκεκριμένο τρόπο για να πούμε, θέλετε μια associative πίνακα. Θέλετε να είναι σε θέση να συνεργάτης πλήκτρα με αξίες. Κλειδιά με τις τιμές. Τι είναι ένα λεξικό, πραγματικά; Καλά είναι ένα σωρό κλειδιά. Λέξεις όπως μήλο, αχλάδι, μπανάνα και, και όλα αυτά τα αγγλικών λέξεων ότι το χέρι σας. Και οι αξίες που είστε αποτελεσματικά εισαγωγή στο λεξικό σας είτε είναι αλήθεια, ή η απουσία, ψευδής. Με άλλα λόγια τοποθετείτε ένα σωρό βασικά ζευγάρια αξίας, μήλο, αλήθεια, αχλάδι, αλήθεια, μπανάνα, αλήθεια. Έτσι ώστε, όταν εσείς ανακτήσετε ή να δείτε μέχρι εκείνη στοιχεία του πίνακα κατακερματισμού σας με λειτουργία ελέγχου σας, είστε είτε να πάρει πίσω μια απάντηση, Ναι, το βρήκα στο συγκρότημα μου hash πίνακα, ή όχι, δεν είναι εκεί, έτσι ώστε να επιστρέφει false. Έτσι για να το κάνουμε αυτό, το μόνο που χρειάζεστε είναι το δεδομένα δομή, όπως είχα προτείνει πριν. Απλά πρέπει να είναι σε θέση να συνδέσει τις λέξεις όπως, παραθέτω χωρίς εισαγωγικά, σύμβολο, με αξία όπως, αλήθεια. Έτσι υπάρχει πίνακας κατακερματισμού μου. Ας πραγματικά να το χρησιμοποιήσετε. Έτσι, υπάρχει μερικές λειτουργίες Θα πρέπει να εφαρμόσουν. Πάω να πάει μπροστά και να δαγκώνουν έξω από μια λειτουργία που ονομάζεται μέγεθος. Δεν λαμβάνει επιχειρήματα. Δεν έχω να ασχοληθείτε με η λέξη, κενό, στην PHP. Είμαι απλώς πρόκειται να επιστρέψει μέγεθος. Και, παρεμπιπτόντως, PHP έχει Αυτό minorly ενοχλητικό λεπτομέρεια, όπου αν κάτι είναι παγκόσμιο, θα πρέπει να πείτε τη λειτουργία με την οποία χρησιμοποιείτε αυτό, hey, αυτό είναι μια καθολική μεταβλητή. Έτσι, ήσσονος σημασίας ανοησία, αλλά μπορείτε πρέπει να το κάνουμε, ωστόσο. Έτσι τι γίνεται με το φορτίο; Πάω να εφαρμόσουν μια λειτουργία που ονομάζεται φορτίο που παίρνει το όνομα ενός λεξικού, όπως ακριβώς και στο πρόβλημα που πέντε. Και πριν προχωρήσω, παρατηρήσετε ότι δεν έχω έχουν την πληκτρολόγηση πολύ τα ίδια πράγματα. Τι είναι προφανώς διαφορετικά στην PHP για πώς μπορείτε να κηρύξει μια λειτουργία σε σχέση με C; Ναι. Κοινό: [δεν ακούγεται] ΟΜΙΛΗΤΗΣ 1: Όχι τύπος επιστροφής. Και πράγματι, αυτή είναι η περίπτωση, PHP στο βαθμό που αυτό είναι χαλαρά δακτυλογραφημένες, είναι επίσης λίγο τσαπατσούλης με αυτή την έννοια. Δεν καθορίζετε ως προγραμματιστής τι επιστρέφει η λειτουργία αυτή. Θα πρέπει να δούμε πραγματικά τον κώδικα για να καταλάβω. Ή να διαβάσετε τα σχόλια ή την τεκμηρίωση. Έτσι συν και τα πλην της Αυτά τα είδη των αποφάσεων. Αλλά έχω να πω η λέξη κλειδί, λειτουργία. Και όταν μαθαίνουμε JavaScript σε μερικές εβδομάδες θα πάμε να δούμε το ίδιο πράγμα και πάλι, αλλά είναι η ίδια ιδέα. Το όνομα της συνάρτησης, το επιχείρημα της ή επιχειρήματα ή την έλλειψη αυτών, και τώρα εδώ είναι η εφαρμογή. Έτσι, Πάω να κόψετε μερικές γωνίες μόνο να είναι δραματικές για μια στιγμή. Αλλά Πάω να πάει μπροστά και να το πω αυτό. Αυτό είναι το πώς μπορώ να φορτώσει ένα αρχείο σε έναν πίνακα. Υπάρχει μια λειτουργία σε PHP που ονομάζεται αρχείο. Μπορείτε να το όνομα ενός αρχείου χέρι. Είναι τα χέρια σας πίσω μια σειρά, μέσα της οποίας είναι κάθε γραμμή από το αρχείο. Από το μηδέν, ένα, στο επάνω για ν μείον 1 γραμμές. Αυτό είναι, σωστά; Δεν υπάρχει στ ανάγνωσης. Δεν υπάρχει στ πάρουμε το s. Δεν υπάρχει τοις εκατό s. Δεν υπάρχει καμία πονοκεφάλους. Δεν υπάρχει feof. Όλα αυτά τα πράγματα με τα οποία έχετε ίσως πάλη, με π έθεσε τέσσερις και πέντε, πηγαίνει μακριά. Έτσι, μόλις διάβασα αυτές τις γραμμές σε το αρχείο, και στη συνέχεια, ξέρετε τι; Αν θέλω να μετακινηθείτε πάνω σε αυτές τις λέξεις, Που μπορώ να κάνω, για κάθε γραμμή γραμμές. Να θυμάστε ότι αυτό ήταν το είδος του ένας έξυπνος τρόπο η διάσχιση των στοιχείων ενός πίνακα, ο δείκτης σύμφωνα με το δείκτη, και σε κάθε επανάληψη κλήσης η τρέχουσα γραμμή, σημάδι γραμμής του δολαρίου. Και ακριβώς εδώ Πάω να πάει και λένε πίνακα, βραχίονα, γραμμή, γίνεται αλήθεια. Με άλλα λόγια, αυτό είναι το πώς θα εισαγωγής στον πίνακα κατακερματισμού μου στην PHP. Λέω σύμβολο του δολαρίου πίνακα, ο οποίος είναι προσεταιριστική σειρά μου, που ήταν Σύμφωνα με την κενή γραμμή κώδικα από πάνω. Στη συνέχεια ο δείκτης σε αυτό όχι, χρησιμοποιώντας έναν αριθμό, αλλά κυριολεκτικά τη χρήση του λέξη-κλειδί που με νοιάζει. Ίσως είναι το μήλο ή αχλάδι ή μπανάνα ή οτιδήποτε άλλο, αλλά ειδικά είμαι ευρετήριο σε αυτό όπως είχα προτείνει νωρίτερα. Παίρνω το όνομά του μου συνειρμική σειρά, και στη συνέχεια θα χρησιμοποιούν εισαγωγικά παραθέτω στην αγκύλες με ένα κορδόνι, αντί ενός πραγματικού αριθμού. Και έτσι αυτό είναι όλο. Η λειτουργία του φορτίου γίνεται. Από τη στιγμή που βρόχος επαναλαμβάνει, έχω βάλει τα πάντα στον πίνακα κατακερματισμού. Τώρα μικρή αποκήρυξη, υπάρχει μια ζευγάρι πράγματα που χρειάζεται να διορθώσετε. Και η έκδοση θα αναρτούν στο Διαδίκτυο θα έχουν όλες τις αποχρώσεις, αλλά είναι ως επί το πλείστον ακριβώς πρόκειται να υπάρξει κάποια ο έλεγχος σφαλμάτων και κάποιες μικρές tweaks. Αλλά αυτό είναι πράγματι η ουσία του. Αν τώρα θέλετε να υλοποιήσετε η λειτουργία που ονομάζεται ελέγξτε, η οποία αναμένει λέξη ως επιχείρημα, Πως θα πάτε για να κάνει αυτό; Λοιπόν, είμαι απλώς πρόκειται να πω, αν εσωτερικό του πίνακα μου, στη λέξη τοποθεσία, εάν έχει οριστεί. Έτσι, αν υπάρχει is-- στην πραγματικότητα, ξέρετε τι; Πάω να το κάνω σε ένα κομμάτι του ψευδοκώδικα. Αλλά η ιδέα είναι η ίδια. Αν αυτό ισούται αλήθεια, να επιστρέψει αλήθεια. Εντάξει. Else-- μπορείτε να δείτε το είδος της όπου αυτό going-- να επιστρέψει false. Έγινε. Έλεγχος γίνεται. Πολύ ωραία, έτσι δεν είναι; Και έτσι τι είναι αυτό πραγματικά να πάρει σε; Και αυτό το πάρα πολύ, έχω κόψει μερικές γωνίες. Δείτε την έκδοση σε απευθείας σύνδεση για όλες τις ελαφρές αποχρώσεις. Αλλά αυτή είναι η ουσία του. Δείκτης σε σας associative πίνακα, γνωστός και ως Πίνακας κατακερματισμού, να δούμε αν υπάρχει μια τιμή εκεί, αν είναι οριστεί σε true, και αν ναι, return true. Έτσι έχουμε μειώνονται όλα της πολυπλοκότητας. Έτσι, το είδος του μυαλού φυσώντας, σωστά; Εγώ δεν θα ενοχλεί τελειώνοντας με ξεφορτώσουν, επειδή σε fact-- OH, ξέρετε τι; Ναι, ας το τελειώσουμε με ξεφορτώσουν. Ξεφορτώνουν σε έναν πίνακα κατακερματισμού μπορεί να μοιάζει όπως ξεφορτώνουν λειτουργίας, επιστρέφετε. Εντάξει έτσι ώστε να είναι ξεφορτώσουν. Επειδή δεν υπάρχει τίποτα να ξεφορτώσουν, σωστά; Δεν υπάρχει malloc. Δεν είχα ζητήσει ρητά η το λειτουργικό σύστημα για τίποτα. Μόλις άρχισα χρησιμοποιώντας μεταβλητές. Και έτσι αυτό είναι πάρα πολύ μια εκδήλωση χαρακτηριστικά του υψηλότερου επιπέδου γλώσσες. Έτσι και πάλι, οι περισσότεροι από αυτού του όρου έχουμε ήδη ασχολούνται εδώ κάτω με Γ Σούπερ χαμηλό επίπεδο. Μπορείτε να δείτε τη μνήμη του υπολογιστή. Μπορείτε να αγγίξετε οτιδήποτε θέλετε στη μνήμη RAM του υπολογιστή σας, προς το καλύτερο ή προς το χειρότερο. Μέχρι εδώ, θα πάμε να εγκαταλείψει την εξουσία αυτή. Αλλά ο Θεός μου, κοίτα πώς πολύ λιγότερο κώδικα που έγραψα. Στην πραγματικότητα, αν δεν ήταν μιλάμε και μιλάμε για δακτυλογράφηση μου, θα έπρεπε να είχε γίνει με Αυτό το παράδειγμα πριν από πέντε λεπτά. Έτσι, τι καταβάλλεται το τίμημα; Λοιπόν ας ρίξουμε μια ματιά. Ας ρίξουμε μια ματιά. Πάω να πάει μπροστά και να τρέξει CS50. Επιτρέψτε μου πρώτα να πάω στο παραδείγματα όπου σήμερα Έχω τον κατάλογο κείμενα όπως και πριν. Πάω να εκτελέσετε τη λύση που έρχεται με το πρόβλημα που καλείται πέντε Ορθογράφος, που βρίσκεται στο λογαριασμό του CS50. Και Πάω να τρέξει σε κάτι είναι μεγάλο σαν το βασιλιά James Bible, ακριβώς έτσι ότι θα τεθεί πραγματικά η λύσεις προσωπικό για τη δοκιμή. Τώρα μερικές φορές το διαδίκτυο είναι ένα λίγο πιο αργά, λίγο πιο γρήγορα, μπορεί να πάρει λίγο χρόνο για να μετακινηθείτε. Αλλά χρειάστηκαν συνολικά 0,56 δευτερόλεπτα να ορθογραφικό έλεγχο του King James Αγία Γραφή χρησιμοποιώντας τη λύση του προσωπικού. Έτσι, αρκετά καλή. Δικός σου μπορεί να είναι πολύ πιο αργή, και αυτό είναι εντελώς καλά. Αλλά εδώ είναι σωστή. Έτσι, αυτή είναι η λύση του προσωπικού. Αν πάω και να καθαρίσει την έκδοση της PHP. Και Πάω να κάνω μια μικρή όπως δείχνουν ψήσιμο πράγμα. Εμείς πάμε για να πάρει τον κώδικα που έγραψα νωρίτερα, γι 'αυτό είναι απόλυτα σωστό. Επειδή ο κώδικας που έγραψα δεν πρόκειται να είναι απολύτως σωστό μόλις τώρα. Αλλά εάν εκτελέσετε την έκδοση της PHP, Τι πρέπει να εγκαταλείψουν σήμερα; Μου πήρε πέντε λεπτά για να εφαρμογή σ έθεσε πέντε, αξιώνω. Τι τιμή έχουν πληρώνομαι; Ναι. Κοινό: Ταχύτητα. ΟΜΙΛΗΤΗΣ 1: Ταχύτητα. Τι εννοείς? Κοινό: Δεν πρόκειται να διαρκέσει περισσότερο. ΟΜΙΛΗΤΗΣ 1: Εντάξει. Ας δούμε. Είναι πρόκειται να διαρκέσει περισσότερο, να μην γράψω, αλλά για να το τρέξει. Ναι. Οπότε ας προσπαθήσουμε αυτό. Έτσι, εδώ είμαι πρόκειται να πάει μπροστά και να κάνουμε PHP του Ορθογράφου, και επειδή το αρχείο του που ονομάζεται ορθογράφος. Έτσι, δεν είμαι τρέχει το λεξικό, ανάκληση, Τρέχω το πρόγραμμα που ονομάζεται ορθογράφος. Πάω να περάσετε με τον ίδιο αρχείο, King James το πέμπτο. Είναι πετούν από. Αυτό θα μπορούσε απλώς να είναι η ταχύτητα στο internet, έτσι δεν διαβάζει πάρα πολύ σε αυτό. Αλλά δεν αισθάνομαι πλέον σίγουρο. 1,26 δευτερόλεπτα. Τώρα που είναι ακόμα αρκετά βλασφημία γρήγορα, σωστά; Και ο μόνος λόγος που ένιωσα περισσότερο σαν τρεις, ή τέσσερις, ή πέντε δευτερόλεπτα, αυτό είναι μόνο και μόνο επειδή το διαδίκτυο είναι αργή. Ο χρόνος που πέρασε ήταν ο υπολογιστής 1,26 δευτερόλεπτα, έναντι 0,56 νομίζω. Έτσι, περισσότερο από δύο φορές τόσο αργή. Τώρα αυτό είναι ακόμα αρκετά καταριέται γρήγορα, αλλά αυτό είναι μια εκδήλωση της, μάλιστα, ότι η ακριβής τιμή. Επειδή είμαστε διερμηνείας στη γραμμή κώδικα από τη γραμμή, και ότι το πρόγραμμα PHP διαβάζει μου κωδικός πάνω προς τα κάτω, αριστερά προς τα δεξιά, έχει να κάνει περισσότερο σκέψης. Πρέπει να μετατρέψετε το είδος του το εσωτερικό της ίδιας της με το αντίστοιχο μηχάνημα Κωδικός on the fly, να το πω έτσι, έστω και αν οι μηχανικοί είναι λίγο διαφορετικά. Αντί ακριβώς σίτιση ο Η Intel CPU οι πρώτες μηδενικά και μονάδες ότι αντιλαμβάνεται εγγενώς. Έτσι απολύτως, τα χέρια κάτω, έχουμε πληρώσει ένα τίμημα. Και κώδικα γραμμένο σε μια γλώσσα όπως η PHP τείνει να είναι πιο αργή. Αλλά ο Θεός μου. Έτσι τώρα, όταν ορθογραφικό έλεγχο μου αρχείο, έχω δαπανήσει επιπλέον 0,7 ή έτσι δευτερόλεπτα vs 20 ώρας για την υλοποίηση μια ταχύτερη ορθογραφικό έλεγχο, σωστά; Είναι το είδος του ένα εμπόριο off. Και αν είστε λίγο ξεκινάμε σ έθεσε πέντε, μπορεί να μην είναι 20 ώρες. Μπορεί να είναι πολύ λιγότερα από αυτό. Αλλά είναι ένας συμβιβασμός, για την πραγματική. Και αν τρέχετε κώδικας για πραγματικά μεγάλο σύνολα δεδομένων, ή ακόμη και σε παλιότερο υλικό, Αυτά τα είδη των διαφορών σίγουρα μπορεί να προσθέσει επάνω. Οποιεσδήποτε ερωτήσεις μέχρι στιγμής; Ναι. Κοινό: [δεν ακούγεται] ΟΜΙΛΗΤΗΣ 1: Συγγνώμη, μπορεί να θα το πω για άλλη μια φορά; Κοινό: [δεν ακούγεται] ΟΜΙΛΗΤΗΣ 1: Δίνετε χρόνο. Λοιπόν, οπότε ναι. Είστε εξοικονόμηση χρόνου από την Δεν χρειάζεται να το υπολογίσουν, αν αυτό είναι αυτό που ζητάς. Και πράγματι, σε CS50, τα περισσότερα από τα προγράμματα, παρόλο που μπορεί να πάρει λίγο χρόνο να γράψει, είναι σχετικά μικρή. Μερικές δεκάδες, μερικές εκατοντάδες γραμμές κώδικα, και έτσι συγκεντρώνουν αρκετά γρήγορα. Αλλά όταν ξεκινάτε γράφετε μεγαλύτερα προγράμματα, όπως και αν είστε Microsoft ή είστε Google και το γράψιμο πραγματικά μεγάλα προγράμματα σε C ή C ++, ή παρόμοια καταρτίζονται γλώσσες, θα μπορούσε να πάρει πολλά δευτερόλεπτα, ή ακόμα και λεπτά ή περισσότερο για να συγκεντρώνει εκατομμύρια γραμμές κώδικα. Και επίσης εκεί, ότι διαφορά πρόκειται να προσθέσει επάνω. Και στην πραγματικότητα, τη στιγμή που θα μετάβαση σήμερα, την ίδια μέρα Σήμερα, σε web προγραμματισμό χρησιμοποιώντας PHP, είστε Θα το βρείτε ακριβώς τόσο πολύ πιο ευχάριστη για να γράφουν κώδικα όταν δεν έχετε να κάνετε αυτά τα ηλίθια μέτρα, όπως αλλαγή στο τερματικό σας παράθυρο, πληκτρολογήστε make Γεια σας, εκ νέου να τρέξει, τοποθετήστε ξανά το παράθυρο. Ακριβώς τόσα πολλά ηλίθια μηχανικά βήματα που απλά να πάρει με τον τρόπο του να κάνει Το ενδιαφέρον, η διασκέδαση εργασίας. Και πράγματι θα ρίξει μακριά ότι με την PHP. Και μπορούμε να αλληλεπιδράσουμε με πιο γρήγορα. Ναι. Κοινό: [δεν ακούγεται] ΟΜΙΛΗΤΗΣ 1: Σίγουρα. Μπορώ να διευκρινίσει τι σημαίνει να ερμηνευθεί; Κατά τη μεταγλώττιση μια γλώσσα όπως η C, κατεβαίνει όπως είπαμε στη μηχανή κώδικα, μηδενικά και μονάδες. Και η Intel αποφάσισε πριν από χρόνια ότι ορισμένα σχέδια από μηδενικά και μονάδες αντιπροσωπεύουν προσθήκη ή αφαίρεση, ή εκτύπωσης, ή άλλες βασικές λειτουργίες. Στον κόσμο του ερμηνευμένη γλώσσα όπως η PHP ή JavaScript ή Python, ή Ruby, ή τσαμπιά άλλοι, αντί κάποιος Έχει γράψει ένα interpreter-- σε αυτή την περίπτωση, είναι επίσης ονομάζεται PHP, ταυτίζεται με το το όνομα του language-- ότι, κατ 'ουσίαν έχει ένα μεγάλο βρόχο σε αυτό που επαναλαμβάνει πάνω από όλες τις γραμμές του κώδικα ότι ταΐζω ως πρώτη ύλη, όπως γειά σου dot PHP, ή λεξικό dot PHP. Και τότε μπορείτε να σκεφτείτε τους μεγάλους βρόχου όπως έχει πολλές προϋποθέσεις. Και οι όροι αυτοί λένε, αν η ανθρωπίνων έχει γράψει τη λέξη-κλειδί για την, να αρχίσει να κάνει του ή της κωδικό ξανά και ξανά. Ή αν ο άνθρωπος έχει γραπτή τη γραμμή του κώδικα, εάν, μόνο εκτελούν τους επόμενη γραμμή όρους. Έτσι είναι πραγματικά σαν διερμηνείας σε ένα ανθρώπινη αίσθηση, γραμμή από τη γραμμή, και ότι παίρνει ακριβώς το χρόνο. Παίρνει πάνω από το κεφάλι. Και έτσι αυτό είναι ένα price-- καλό question-- πληρώνουμε. Ας κάνουμε άλλο ένα demo Αυτό είναι λίγο πιο δραματική. Υπάρχει, θα έλεγα, μια εξέδρα σε αυτό μια πιθανότητα 90% των μη φρικτά, αλλά θα εκπλαγείτε με 10% πιθανότητα. Έτσι, κάθε χρόνο προσπαθούμε για να γίνει αυτό, με το οποίο προσπαθήστε να γράψετε ένα πρόγραμμα που περνά μέσα πρόβλημα που μηδέν, για το οποίο έχετε υποβάλλονται αριθμούς τηλεφώνου και σας πολλές άλλες δημογραφικές πληροφορίες, και προγραμματισμού μπορείτε να στείλετε ένα μήνυμα κειμένου. Και τότε το τηλέφωνο του καθενός θα αρχίσει να ηχεί ή δόνησης, και είναι απλά εκπληκτικό, επειδή καλά, να δούμε τι μπορούν να κάνουν οι υπολογιστές. Αυτή η σπάνια λειτουργεί σωστά φαίνεται, σε μεγάλο βαθμό γιατί συνήθως στη μαύρη λίστα από το Gmail ή κάποια άλλη υπηρεσία για πραγματικά προσπαθεί να κάνει αυτό σε κλίμακα. Αλλά αστείο πράγμα είναι πάρα πολύ, δεδομένου ότι Δεν έχουν όλοι εδώ σήμερα, διασκέδαση πραγματικότητα, η τελευταία φορά που δοκιμάσει αυτό πριν από δύο χρόνια, Νομίζω ότι έγραψα ένα πρόγραμμα ότι κάθισε σε μια θηλιά την επανάληψη πάνω από όλα τους μαθητές στην τάξη, και το καθένα από αυτά ένα μήνυμα κειμένου, και είπε κάτι σαν, γιατί δεν είσαι στη διάλεξη; Αγάπη, CS50 bot. Δεν έχεις ιδέα πόσα απολογητική και το είδος των επώδυνων e-mail Έχω λάβει απάντηση από το n μείον 100 ανθρώπους που δεν ήταν εδώ εκείνη την ημέρα. Και ακόμα πιο αστείο, πιο επαίσχυντη story-- ξέρετε, ας το βάλει εκεί έξω. Είναι ήδη σε βίντεο σε λίγα χρόνια πίσω. Έτσι, θα δείτε μου σύντομα γράφετε για το βρόχο, σύμφωνα με την οποία Είναι πολύ εύκολο να γράψει ένα σφάλμα στο ότι για το βρόχο, έτσι ώστε η πρώτη φορά μέσω του βρόχου, που στείλετε ένα μήνυμα κειμένου. Τη δεύτερη φορά μέσω του βρόχου μου θα πρέπει να έχουν στείλει ακόμα ένα μήνυμα κειμένου, και στη συνέχεια ένα ακόμη κείμενο μηνύματος, και ένα ακόμη. Αλλά τελικά, αν κάνετε ένα τυπογραφικό λάθος κατά τον προγραμματισμό, μερικές φορές σας μπορούν να γράψουν προγράμματα που στέλνουν ένα μήνυμα κειμένου, στη συνέχεια, δύο μηνύματα κειμένου, Στη συνέχεια τρία μηνύματα κειμένου σε όλους ο οποίος έχει ήδη λάβει ένα γραπτό μήνυμα. Και όπως ξέρετε, να κάνει κάτι, συν κάτι, συν κάτι, συν κάτι, είναι μεγάλο O παρτίδας των μηνυμάτων κειμένου, ή ν τετράγωνο, ή σε $ 0,10 το μήνυμα κειμένου, $ 20.000. Ευτυχώς έχω πατήστε Control-C πριν από αυτό συνέβη, αλλά είχα οφείλουμε τουλάχιστον ένα από τους προκατόχους σας $ 20 για το 200 ορισμένα περίεργα μηνύματα κειμένου ότι, όχι μόνο πήγε στο τηλέφωνό του, αλλά Επίσης, ήταν σαν ένα παλαιότερο flip τηλέφωνο γι 'αυτό ήθελε βγει έξω από του μνήμη κάθε άλλη προσωπική κείμενο μήνυμα που είχε πάρει πραγματικά. Έτσι έχουμε έναν στόχο σήμερα, για να μην το κάνουμε αυτό. Ίσως να ενεργοποιήσετε τη λειτουργία του αεροπλάνου. Εντάξει. Ας πάμε σε ένα το πρόγραμμα εδώ callled-- ότι θα καλέσω το κείμενο τελεία PHP. Και εκ των προτέρων, έχω δύο αρχεία εδώ. Έκανα ένα αρχείο μόνο για το προσωπικό, που πήρε το σύνολο των πληροφοριών του προσωπικού, όλα τα ονόματα από την ιστοσελίδα του μαθήματος. Και στη συνέχεια, για τώρα έβαλα μόνο μερικά ψεύτικο αριθμούς 555-1212. Έτσι, αυτά δεν θα ήταν στην πραγματικότητα πάει πουθενά. Αλλά παρατηρήσετε το εσωτερικό αυτού του αρχείου CSV, το οποίο μιλήσαμε λίγο πριν στο πλαίσιο του φακέλου IO. Τι είναι ένα αρχείο CSV; Διαχωρισμένες με κόμμα μεταβλητές. Και αυτό είναι το είδος του σαν ένα πολύ ελαφριά βάση δεδομένων, αν θέλετε. Υπάρχει το είδος του είδους τέσσερις στήλες σε αυτό το αρχείο, και εκεί οδοντωτές, αλλά τα κόμματα, κατ 'ουσίαν αντιπροσωπεύουν στήλες στο αρχείο. Η πρώτη στήλη είναι το TF ή το όνομα ΑΠ. Δεύτερη στήλη είναι το επώνυμό τους. Τρίτη στήλη είναι ο αριθμός τηλεφώνου τους. Και τέταρτη στήλη is-- προφανώς τέταρτη στήλη είναι προφανώς αυτό; Εντάξει, έτσι είναι φορέας τους. Έτσι, η Verizon, Sprint ή, ή τι όχι. Και αν έκανε λάθος νωρίτερα, CSV. Τιμές διαχωρισμένες με κόμμα είναι εδώ CSV. Λοιπόν, τι μπορώ να κάνω με αυτό; Λοιπόν αυτό είναι απλά ένα μεγάλο αρχείο κειμένου, και αυτό είναι το είδος των μεγάλων, έτσι δεν είναι; Όπως και αυτό πρόκειται να είναι το είδος των ενοχλητικό. Και αποδεικνύεται, όμως, ότι αν θέλετε να στείλετε ένα μήνυμα κειμένου σε, ας λένε Άλεξ εδώ. Επιτρέψτε μου να πάω στο πρόγραμμα περιήγησής μου και να βγείτε από την λειτουργία πλήρους οθόνης μόνο έτσι μπορώ να εναλλαγή και πίσω. Αποδεικνύεται, ας δούμε, αν πάω στην εδώ και συνδεθείτε στο Gmail, εντάξει. Μην κοιτάς αυτό το μέρος. Απλά έχω να δω. φυσικά το Livestream μπορεί εξακολουθούν να βλέπουν τι κάνω. Εντάξει. Τόσο εδώ είναι ακριβώς το Gmail με Λογαριασμό του Ιωάννη του Χάρβαρντ. Έτσι, αν θέλετε να στείλετε ένα μήνυμα κειμένου στον Alex, Μπορώ να συνθέσουν φυσικά ένα μήνυμα. Και αποδεικνύεται, και έχω δοκιμάσαμε με τον Alex πριν από εδώ, ώστε να μπορείτε να προσθέσετε ένα συγκεκριμένο τομέα αναφέρουμε τους αριθμούς τηλεφώνου των ανθρώπων, επειδή υπάρχει στον κόσμο πράγματα που ονομάζεται SMS στο ηλεκτρονικό ταχυδρομείο πύλες. Ποια είναι ένα φανταχτερό τρόπο λέγοντας όλων εμείς που έχουμε τα κινητά τηλέφωνα που έχουν αριθμούς τηλεφώνου, φυσικά, μάλλον υπάρχει για το φορέα σας, ένα συγκεκριμένο επίθημα όπως στο Vtext.com για την Verizon μήνυμα κειμένου dot com, που μπορείτε να προσθέσετε για να σας δική προσωπικό αριθμό τηλεφώνου, και στη συνέχεια εσείς ή οι φίλοι ή οι γονείς σας μπορεί να Σας κείμενο σε αυτή τη συγκεκριμένη διεύθυνση. Και η Verizon έχει ένα διακομιστή, ένα e-mail εξυπηρετητή, ότι με τη λήψη αυτό το email, κοιτάζει το αριθμητικό τμήμα και, στη συνέχεια, χρησιμοποιεί ανεξάρτητα βιομηχανία ειδικού μαγεία πρέπει να το στείλει στην πραγματικότητα πάνω τα ραδιοκύματα σε συγκεκριμένα κινητό σας τηλέφωνο. Τώρα αυτό είναι ωραίο, διότι εγώ δεν κάνω πραγματικά γνωρίζουν πώς να στείλετε ένα μήνυμα κειμένου ή να γράφουν κώδικα ακόμα για το κινητό μου τηλέφωνο, και μπορείτε να κάνετε ακριβώς αυτό για το ένα τελικό σχέδιο, αλλά προς το παρόν όλα Έχω laptop μου είναι εδώ. Θέλω, λοιπόν, να επαναλάβει τη διάρκεια αυτής της CSV αρχείο, γραμμή, γραμμή, γραμμή, γραμμή, αρπάξει κάθε ένα από τους αριθμούς τηλεφώνου του προσωπικού, και φορέα και programatically τους, συνένωση, δηλαδή, συνδέστε το τηλέφωνο αριθμό με το κατάλληλο όνομα τομέα και στη συνέχεια να στείλει ένα email. Οπότε αυτό είναι ένα πολλά βήματα. Και καλή τύχη το κάνουμε αυτό σε C. Είναι ένας εφιάλτης μιας κατάστασης για να ανοίξετε ένα αρχείο, για να το διαβάσετε γραμμή, γραμμή, γραμμή, όπως σας Βλέπουμε, ή μπορεί να δούμε σύντομα με το πρόβλημα που πέντε, αν όχι πρόβλημα έθεσε τέσσερις, και στη συνέχεια, να ενώσετε δυναμικά δύο χορδές μαζί, γιατί σε C, να λάβει δύο χορδές και να τα συνδυάσουν, τι κάνετε ελάχιστα Πρέπει να κάνουμε πιο πιθανό; Χρειάζεται να δηλώσει περισσότερη μνήμη, έτσι δεν είναι; Και να ρωτήσω, malloc, μπορώ να έχω περισσότερη μνήμη; Έτσι μπορώ να βάλω το μισό από αυτό Εδώ, το μισό από αυτό εδώ. Είναι ακριβώς τόσο πολλά βήματα. Και από εκείνο το σημείο που έχετε χάσει ενδιαφέρον για το ηλίθιο μικρό demo όπου μπορείτε να κάνετε το τηλέφωνό ήχος του καθενός. Ας κάνουμε αυτό το είδος της PHP στυλ, οπότε εμείς απλά αρχίσετε να χρησιμοποιείτε περισσότερα από ότι νεροχύτη της κουζίνας. Και οι ιδέες είναι ουσιαστικά το ίδιο, αλλά δεν χρειάζεται να ανησυχείτε πάρα πολύ πολύ για αυτό το κατώτερο επίπεδο. Ας δούμε λοιπόν πώς θα μπορούσα κάνετε για αυτό. Και ακριβώς έτσι ότι δεν επαναλάβετε τα λάθη του παρελθόντος, Έχω γράψει μερικές σημειώσεις για τον εαυτό μου εδώ. Και ας δούμε αν μπορώ να τα πόδια μας μέσα από μερικά από τα βασικά βήματα, και, στη συνέχεια, για χάρη του χρόνου θα ίσως κόψετε μερικές γωνίες στο τέλος. Πάω να πάει μπροστά και να κάνουμε ανοιχτό βραχίονα PHP για να αρχίσει αυτό το αρχείο. Και Πάω να προχωρήσει και να το κάνουμε αυτό. Χειρισμού αρχείων, όπως θα δείτε σύντομα, στην πραγματικότητα καλεί μια συνάρτηση f λέγεται ανοιχτή. Και να θυμάστε αυτό ανοίγει ένα αρχείο. Και το απόσπασμα, unquote, r σημαίνει αυτό, και πάλι; Απλά ανοίξτε για ανάγνωση. Τώρα στο σύνολο σ για, κάνατε αυτό. Και χειριστεί μπορούσε να είναι οτιδήποτε, fu, μπαρ, ανάγλυφο, το όνομα οποιασδήποτε μεταβλητής. Αλλά γενικά ένας υπολογιστής επιστήμονας θα αποκαλούσα ένα ανοικτό αρχείο, δίνοντάς σας μια λαβή αρχείο, κάτι για να κρατήσουν να το πω έτσι. Είμαι ακριβώς πρόκειται να κάνει μερικό έλεγχο σφαλμάτων. Έτσι, αν η λαβή είναι ψευδής, όπως ακριβώς σε C, Πάω να κάνω κάτι τέτοιο, Δεν θα μπορούσε να ανοίξει το αρχείο, ανάστροφη κάθετο n. Και τότε είμαι απλώς πρόκειται να προχωρήσει και έξοδο. Και αποδεικνύεται, σε PHP, Δεν είμαι μέσα σε μια συνάρτηση. Δεν υπάρχει καμία κύρια λειτουργία εδώ. Γι 'αυτό και δεν επιστρέφουν, per se. Θα βγείτε. Που είναι ουσιαστικά το ίδιο πράγμα. Και είμαι εξέρχονται με μία ομάδα πιθανώς. Ένας σημαίνει απλά ένα λάθος κάποιου είδους. Είναι μη-μηδενική, γι 'αυτό είναι ένα λάθος. Εντάξει, οπότε αν είμαι εδώ κάτω τώρα στο πρόγραμμά μου, έχω ανοίξει το αρχείο. Πάω να πάει μπροστά και να κηρύξει μια σειρά που ονομάζεται διευθύνσεις, και C θα πρέπει να γνωρίζουν το το μέγεθος της συστοιχίας των προτέρων, έτσι δεν είναι; Ή θα πρέπει να το δηλώσει είναι ένας δείκτης, και στη συνέχεια χρησιμοποιήστε malloc. Και στη συνέχεια, κάθε φορά που διαβάζω μέσα από μια άλλη σειρά στο αρχείο, Πάω να πρέπει να malloc περισσότερη μνήμη, malloc περισσότερη μνήμη. Αυτό είναι ένας πόνος στο λαιμό. Και ευτυχώς, PHP, και Ruby, και Python, και JavaScript, που θα αυξηθεί συστοιχίες σας για εσάς αυτόματα. Δεν υπάρχει πλέον η malloc. Δεν υπάρχει πλέον η διαχείριση μνήμης. Ο υπολογιστής φροντίζει για αυτό. Αλλά η τιμή που πληρώνετε. Είναι λίγο πιο αργά. Και για ένα πρόγραμμα όπως αυτό Εμείς δεν πρόκειται να παρατηρήσετε. Εμείς πάμε για να στείλει 100 μηνύματα κειμένου. Για παράδειγμα, δεν πρόκειται να το αισθανθούν. Είναι πραγματικά ξεκινά μόνο σε σημασία γλώσσα της επιλογής σας όταν τα δεδομένα σας ή τα προγράμματά σας να πάρει πραγματικά, πραγματικά αρκετά μεγάλη, ως θα είναι η περίπτωση περισσότερο με web-based πράγματά μας. Αλλά για τώρα ας προχωρήσουμε. Ενώ αποδεικνύεται ότι υπάρχει μια συνάρτηση σε C ονομάζεται στ πάρει CSV. Αρχείο πάρει CSV, ότι παίρνει μια αρχείο λαβή ως επιχείρημα, και προχωρεί στη συνέχεια, σειρά, από σειρά, από σειρά, να διαβάσει σε μια σειρά. Γι 'αυτό ακριβώς διαβάζει μια γραμμή του κειμένου από το αρχείο. Αλλά τι είναι καλό για τη λειτουργία αυτή, αυτό δεν είναι μόνο το χέρι μου μια γραμμή κειμένου. Φαίνεται για τα εν λόγω κόμματα, και αναλύει τη γραμμή. Και για να αναλύσει τη γραμμή σημαίνει να χωρίσει αυτό σε ορισμένες τιμές σε αυτό το πλαίσιο. Με άλλα λόγια, το σύμβολο του δολαρίου σειρά είναι μια μεταβλητή που είναι πρόκειται να μου δώσει μια δέσμη των δεικτών. Αυτό πρόκειται να είναι η πρώτη στήλη CSV μου. Αυτό θα είναι το δεύτερο στήλη, αυτό θα είναι το τρίτο, και αυτό πρόκειται να είναι το τέταρτο. Επειδή ανάκληση, το Excel και το όχι συνεργάζεται, η τελευταία φορά που το έκανε αυτό, αλλά αν μπορώ να κατεβάσω το προσωπικό dot CSV. Ωχ, δεν μετονομάσετε. Αν μπορώ να κατεβάσω dot προσωπικό CSV, και δοκιμάστε να το ανοίξετε, Έχω ήδη registered-- Ω δεν ενημέρωσε το Excel από την τελευταία φορά. Θα δείτε ότι στην κουκίδα του προσωπικού CSV, έχω τέσσερις στήλες. Έτσι, όταν διάβασα στο πρώτη γραμμή για Abby εδώ, σύμβολο του δολαρίου γραμμή 0 είναι Άμπι, σύμβολο του δολαρίου μία σειρά είναι Λυών, σύμβολο του δολαρίου σειρά δύο είναι ο αριθμός της, και, στη συνέχεια, τηλέφωνο μεταφορέα της. Έτσι, αυτό είναι όλο. Και αυτό είναι καλό, γιατί Δεν χρειάζεται να καταλάβω τώρα όπου όλα αυτά τα κόμματα είναι στην πραγματικότητα. Έτσι, Πάω να πάει μπροστά και να να το κάνετε αυτό, δεδομένου ότι ο ορισμός αυτός, Πάω να πω ότι το όνομά της είναι στο βραχίονα σειρά μηδέν, όπως είχε υποσχεθεί. Και Πάω να grab-- και στην πραγματικότητα, ξέρετε τι; Είμαι δεν πρόκειται να ανησυχείτε για το όνομά της, σε αυτή την περίπτωση. Πάω να κρατήσει το απλούστερο. Πάω να κάνω το νούμερό της είναι στο βραχίονα σειρά δύο, νομίζω. Και την καριέρα της ήταν στο πού; Row τρία, το ένα πάνω. Έτσι, τίποτα νέο εκεί. Είναι ακριβώς μηδέν ευρετηρίαση σε μια σειρά. Και τώρα, πάω να κάνω το εξής. Αν ο φορέας ισούται ισούται με την AT & T-- Είμαι ακριβώς πρόκειται να έχουν μια loop-- Θέλω να δημιουργήσω ένα e-mail διεύθυνση που μοιάζει με αυτό. Είναι πρόκειται να είναι 617-555-1212 σε, τι είναι αυτό, text.ATT.net, είναι ό, τι θέλω να κάνω. Λοιπόν, πώς μπορώ να το κάνω αυτό; Πάω να κάνω το εξής. Η διεύθυνσή του θα είναι τον αριθμό της, και τώρα, επιτρέψτε μου να προχωρήσει και να το κάνουμε αυτό. Αυτό είναι ένα funky σύνταξη. Θα μπορούσα να κάνω το ποσοστό s τέχνασμα, αλλά στην πραγματικότητα μπορώ να κάνω ακριβώς αυτό. Έτσι, αυτό είναι ένα PHP πράγμα, αλλά Ας εξετάσουμε τι κάνω. Δολάρια υπογράψει τη διεύθυνση στην το αριστερό, μόνο μια μεταβλητή. Δώσε μου μια μεταβλητή. Δεν έχω να καθορίσετε τον τύπο. PHP θα το καταλάβω. Στη δεξιά πλευρά, τι είναι ο τύπος δεδομένων της όλο αυτό το πράγμα για η δεξιά πλευρά; Μοιάζει με ένα κορδόνι, επειδή υπάρχει διπλό αναφέρει σχετικά με την άκρα αριστερά και την άκρα δεξιά. Τώρα υπάρχει κάποια funky νέα σύνταξη εδώ. Υπάρχουν τα άγκιστρα, και ο αριθμός σύμβολο του δολαρίου. Αλλά να μαντέψετε τι είναι αυτό το συντακτικό πιθανώς λέει PHP να κάνει για μένα; Ναι. Απλά τοποθετήστε την τιμή εκεί. Έτσι, δεν έχει τοις εκατό s. Θα μπορούσαμε να χρησιμοποιήσουμε εκτύπωσης στ, ή s στ εκτύπωσης ή κάτι σαν αυτό, αλλά PHP και πολλά υψηλότερου επιπέδου γλώσσες, θα πάμε να δούμε ότι θα μπορούσατε κάνουν το ίδιο πράγμα λειτουργικά, ίσως έξι διαφορετικούς τρόπους. Και έτσι αρχίζει να γίνεται ένα θέμα σχεδιασμού ή το στυλ. Έτσι, αυτό είναι απλά ένα κρυπτικό τρόπο που κοιτάζει της λέει, να μου δώσει μια διεύθυνση ηλεκτρονικού ταχυδρομείου, αλλά plug-in στον αριθμό μεταξύ αυτών αγκύλες. Και τα άγκιστρα δεν θα καταλήξουν στην τελική διεύθυνση. Τώρα μπορούμε να υπερπηδήσει ορισμένα από τα Αυτές οι γραμμές για το καλό του χρόνου του. Έτσι, αν ένας φορέας ισούται ισούται με verHorizon-- κραυγών, Verizon-- θέλω να κάνω κάτι πολύ παρόμοια, στο οποίο η διεύθυνση παίρνει, παραθέτω, εισαγωγικά, σε αριθμό text.ATT.net. Και τότε μπορώ να κάνω το ίδιο είδος πράγμα για το υπόλοιπο των μεταφορέων. Αλλά θα το κάνω μόνο τελεία, τελεία, τελεία για τώρα. Και τώρα ας υποθέσουμε ότι Θέλω να προσθέσω σειρά, πιέστε. Θέλω να προσθέσω στην σειρά, που ονομάζεται διευθύνσεις. Αυτή η διεύθυνση, αυτό είναι το πώς θα προσθέσω κάτι σε μια σειρά στην PHP. Δεν χρειάζεται να κάνετε malloc. Δεν χρειάζεται να αλλάξετε το μέγεθος του πίνακα. Μπορείτε απλώς να πω σειρά, πιέστε. Τι θέλετε να push-- τι σειρά θέλετε να ωθήσει κάτι επάνω; Διευθύνσεις. Τι θέλετε να ωθήσει επάνω διευθύνσεις; Διεύθυνση. Και στην πραγματικότητα, αν θέλουν πραγματικά να είναι έξυπνος, κάποια συντακτική ζάχαρη γι 'αυτό, να το πω έτσι, που απλά σημαίνει πως μπορείτε να το κάνετε αυτό σε η πιο όμορφη τρόπο, θα ήταν να το κάνετε αυτό. Αυτό έχει επίσης ως αποτέλεσμα την αυξανόμενη η συστοιχία διευθύνσεις από το μέγεθος ενός, και, στη συνέχεια, ότι η πρόσθετη γδούπο διεύθυνση ηλεκτρονικού ταχυδρομείου σε αυτό. Ναι. Κοινό: [δεν ακούγεται] ΟΜΙΛΗΤΗΣ 1: Ένα τυπογραφικό λάθος σχετικά με την άλλο if-- OH, φορέα. Δεν πειράζει. Επίσης, δεν θα ήθελα να μου αποτυχία την υλοποίηση μέρους του προγράμματος αυτού αργότερα. Αλλά σας ευχαριστώ για την αλίευση. Ένα ακόμη bug. Ευχαριστώ. Θέλουμε αυτό να είναι Vtext.com. Ναι. Εντάξει. Έτσι, όταν το κάνει αυτό μας αφήνουν; Έχουμε γράψει τον κώδικα για να ανοίξετε το αρχείο. Έχουμε ένα βρόχο για να μετακινηθείτε πάνω από τις γραμμές του αρχείου. Έχουμε κωδικό που προσθέτει μου συστοιχίας, ένα κάθε φορά, το σωστά διαμορφωμένη διεύθυνση ηλεκτρονικού ταχυδρομείου. Έτσι το μόνο που απομένει είναι πραγματικά για να στείλετε Ένα μήνυμα ηλεκτρονικού ταχυδρομείου σε κάθε ένα από αυτούς τους ανθρώπους. Έτσι έχω πάει μπροστά και να ετοιμάζεται εαυτό μου ως εξής. Τι Πάω να κάνω εδώ is-- και ας να προχωρήσει και να παραλείψετε σε κάποιο πραγματικό κώδικα, το οποίο μοιάζει με αυτό. Έτσι εδώ είναι η προ-ψημένο έκδοση έγραψα νωρίτερα. Και παρατηρήσετε Τελείωσα εφαρμογή της Sprint. Τελείωσα την εφαρμογή της T-Mobile. Τελείωσα την εφαρμογή της Virgin Mobile. Και εγώ θα ζητήσω συγγνώμη εκ των προτέρων. Υπάρχουν μερικά φορέων που κάποιοι μαθητές στην τάξη έχουν ότι δεν έκαναν τον κόπο απαριθμώντας στο αν η κατάσταση εδώ. Έτσι, δεν είναι όλα τα κείμενα θα βγούμε έξω. Αλλά ας δούμε τι άλλο πρέπει να κάνω. Κλείνω το αρχείο, απλά όπως στο σ έθεσε τέσσερις. Και αυτό είναι το νέο σύνταξη. Και θα δούμε μια μικρή λίγο αυτή την πάροδο του χρόνου, ειδικά με ρ που επτά και οκτώ. Αλλά αυτό είναι σύνταξη για τη δημιουργία ένας ειδικός τύπος της δομής. Αποδεικνύεται ότι υπάρχει μια βιβλιοθήκη που έρχεται με την PHP, που ονομάζεται PHP πρόγραμμα ηλεκτρονικής αλληλογραφίας. Ο σκοπός του στη ζωή είναι να προγραμματισμού στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου. Είναι κώδικας κάποιος άλλος έγραψε ότι καθιστά πιο εύκολο για εμάς να στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου, έτσι δεν έχουμε να κρατήσει πηγαινοέρχονται στο Gmail, και επικόλληση σε διευθύνσεις ηλεκτρονικού ταχυδρομείου των ανθρώπων. Υπάρχει ένα σωρό γραμμές εδώ ότι ειλικρινά, έχω ακριβώς το είδος της αντιγραφεί και επικολληθεί από την τεκμηρίωση. Και στην πραγματικότητα, εάν είστε περίεργο, έφυγα από όλα από τις διευθύνσεις URL των εγγράφων στον κώδικα που θα δημοσιεύσετε αργότερα. Και παρατηρώ ότι μεταξύ των τα πράγματα που κάνω είναι, λέω ότι αυτή η βιβλιοθήκη, χρησιμοποιήσετε το διακομιστή του Gmail, σωστά; SMTP μιλήσαμε για λίγο για το πότε θα ήταν στο Yale για να είναι απλό ταχυδρομείο πρωτόκολλο μεταφοράς. Είναι το πρωτόκολλο που servers που χρησιμοποιούνται για να στείλετε e-mail, και that's-- Gmail έχει ένα από αυτά. Ένα λιμάνι, αυτός είναι ο αριθμός θύρας TCP. Είναι καλό, αν σας Δεν έχω δει πριν 587. Απλά ξέρω ότι από την τεκμηρίωση. Εδώ είναι το ψευδώνυμο μου. Πάω να χρησιμοποιήσετε το bot CF50. Και σε μια στιγμή, είμαι απλώς πρόκειται να πληκτρολογήσετε του bot πραγματική κωδικό πρόσβασης. Και στη συνέχεια, εδώ κάτω, παρατηρήστε τι παραμένει. Έθεσα μου από τη διεύθυνση να bot στο CS50.net. Νομίζω ότι δεν θα μετανιώσετε την αποστολή ενός μήνυμα κειμένου σε 800 ανθρώπους που λέει, λείπεις, αγάπη CS50 bot, ίσως για εκείνους που δεν μπορούσε να το κάνει σήμερα. Και στη συνέχεια της γραμμής 76, τι μπορώ να κάνω; Αυτό το είδος της μοιάζει Γ Οπότε για i ισούται με 0, n equals-- τώρα μετράνε είναι νέο. Αποδεικνύεται ότι αν θέλετε να πάρετε ο αριθμός των πράγματα σε μια σειρά, που δεν πρέπει να το θυμόμαστε πια. Μπορείτε να ζητήσετε απλά μια συνάρτηση που ονομάζεται μέτρηση, και θα σας πω πόσα διευθύνσεις βρίσκονται σε αυτή την σειρά. Και στη συνέχεια, Πάω να προσθέσετε η διεύθυνση στο μήνυμα. Και το ξέρω αυτό από χρησιμοποιώντας την τεκμηρίωση. Υπάρχει μια λειτουργία διεύθυνση πρόσθετο. Και σήμερα παρατηρούμε ότι υπάρχει Είναι ένα κομμάτι της σύνταξης. Το έχουμε δει αυτό πριν στο Γ συναφείς στο πνεύμα. Μπορείτε να σκεφτείτε το σύμβολο του δολαρίου mail και ένα μεταβλητό, το οποίο είναι. Αλλά είναι ένα struct στο εσωτερικό της η οποία δεν είναι μόνο ιδιότητες, μεταβλητές αν θέλετε. Αλλά αποδεικνύεται ότι στην PHP, της οποίας είναι μια αντικειμενοστραφή προγραμματισμό γλώσσας, όπως η Java αν πήρε APC. Σύμβολο του δολαρίου ταχυδρομείου, αν θέλετε to-- έχει επίσης λειτουργίες στο εσωτερικό του, ή μεθόδους. Έτσι, αυτό είναι να πούμε ότι ειδικές PHP πρόγραμμα ηλεκτρονικής αλληλογραφίας βιβλιοθήκη, αν έχω μια μεταβλητή αυτού, αν θέλω να καλέσω μια λειτουργία που έρχεται με την εν λόγω βιβλιοθήκη, για τους σκοπούς της σήμερα, μόλις ξέρετε ότι χρησιμοποιούμε τον συμβολισμό βέλος. Δεν υπάρχει συμβολισμό με την τελεία. Είναι ακριβώς το βέλος. Αλλά αυτό δεν είναι ένας δείκτης. Είναι απλά δανείστηκε από τη σύνταξη Γ. Έτσι καλέστε προσθέσετε τη διεύθυνση εσωτερικό του αντικειμένου ή μεταβλητής αυτής της βιβλιοθήκης. Εντάξει. Αυτή είναι η μαγική γραμμή. Αυτό είναι το πώς μπορώ να στείλω ένα μήνυμα ηλεκτρονικού ταχυδρομείου. Αυτό είναι το ισοδύναμο του ανοίγματος Το Gmail, το δακτυλογράφηση, και το χτύπημα να στείλετε. Αλλά πρόκειται να στείλει ένα αντί email σε αυτή τη διεύθυνση, με αυτό το σώμα, από το bot CS50. Και τώρα το κλειδί γραμμή. Η γραμμή αυτή απουσιάζει από το 2011, όπως όταν σκέφτομαι δοκίμασα για τελευταία φορά αυτό. Αυτή η γραμμή υπάρχει, φυσικά, καθαρίζει τις διευθύνσεις. Έτσι, λογικά, αν μου δεν ξεκαθαρίσουν τη διεύθυνση μετά από κάθε επανάληψη, η πρώτη e-mail ή μήνυμα κειμένου πηγαίνει στην Alice, η δεύτερη πηγαίνει στο Alice και ο Bob, ο τρίτος πηγαίνει στην Alice και ο Bob και ο Τσάρλι, εξ ου και η πολύ ακριβό λάθος Έκανα εκείνο το έτος. Ας δούμε λοιπόν. Υπάρχουν ερωτήσεις πριν σας αποστείλουμε όλοι ένα κείμενο Μήνυμα με 10 τοις εκατό πιθανότητα; Καμιά ερώτηση? Εντάξει. Ας μου να πάω εδώ και αλλαγή τον κωδικό πρόσβασης για το τι θα πρέπει να εργαστεί, κατά πάσα πιθανότητα θα πάρει στη μαύρη λίστα από το Gmail. Έτσι, μπορεί να μην πάμε όλοι έξω, διότι πιθανώς Δεν μας αρέσει η αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου 800 σε ένα βρόχο για όλα με τη μία. Δεδομένου ότι δεν είναι ιδιαίτερα την ανθρώπινη συμπεριφορά. Ω, είμαι πρόκειται να αλλάξει κάτι άλλο. Πάνω στην κορυφή, Πάω να sent-- αλλάξετε το αρχείο σε φοιτητές dot CSV. Και εγώ δεν θα ανοίξει αυτό, αλλά αυτό είναι ένα πανομοιότυπο αρχείο CSV με όχι 100 άτομα προσωπικό, αλλά 800 φοιτητές, από το Harvard, το Yale, διότι έχει εσοχή Οκτωβρίου του τρέχοντος εβδομάδα. Και φαίνεται σαν το είδος του πράγματος τράνταγμα να κάνει στο κείμενο όλα αυτά ως προς το γιατί ότι δεν είναι σε τάξη για διακοπές. Δεν πειράζει. Απλά φοιτητές του Χάρβαρντ Σήμερα στο εσωτερικό του εν λόγω αρχείου. Και τώρα ας πάμε πίσω στο τερματικό παράθυρό μου. Είμαι το είδος του νευρικού. Εντάξει έτσι τώρα είμαι πρόκειται να πάει στο κατάλογο, το κείμενο και PHP PHP τελεία. Τι θα λέγατε για ένα γενναίο εθελοντής; Έτσι, δεν θέλω αυτό για μένα. Εντάξει, έλα επάνω. Ποιο είναι το όνομά σου? MAYA: Μάγια. ΟΜΙΛΗΤΗΣ 1: Μάγια. Ελάτε επάνω, Μάγια. Εντάξει. Ας δούμε αν αυτό λειτουργεί. Έβαλα το δικό μου διεύθυνση e-mail στο file-- το δικό μου αριθμό τηλεφώνου στο αρχείο, έτσι ώστε να ελπίζω ότι θα πάρω ένα επίσης. Χάρηκα για τη γνωριμία. MAYA: Ομοίως. ΟΜΙΛΗΤΗΣ 1: Έτσι το μόνο που έχετε να κάνετε είναι να πατήστε Enter για να στείλει 800 μηνύματα κειμένου, αν δεν είχα βίδα. Νίκαιας. Θα μπορούσε να πάρει λίγο χρόνο, στατιστικά, μέχρι να φτάσουμε σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου address-- ένα μήνυμα κειμένου που είναι στην αίθουσα αυτή τη στιγμή. Ας σταθώ και να δούμε. Κοινό: [σφύριγμα] ΟΜΙΛΗΤΗΣ 1: Ω, ναι. Κοινό: Ω, gotcha. ΟΜΙΛΗΤΗΣ 1: Για βρόχους are-- αυτό Δεν είναι αργή, λόγω της PHP. Αυτό είναι αργή, επειδή το Gmail μας στραγγαλισμού και όχι να μας στείλετε περισσότερες από σαν ένα email ανά δευτερόλεπτο. Οτιδήποτε; Αυτό ήταν ένα δύσκολο πράγμα για μένα να δοκιμάσει σε σπίτι μόνο με μένα και μου ένα τηλέφωνο, έτσι. Είναι ότι ελπίζουμε από το bot; Ναι; Κανένα? Πες ναι. Κανένα? Είναι από έναν φίλο; Αδέξιος. ΕΝΤΆΞΕΙ. Αρκετά βέβαιος ότι λειτουργεί όμως. Ωχ. Οι black-- Ω, περιμένετε ένα λεπτό. Ω, ξέρετε τι; Μια στιγμή παρακαλώ. Μόνο Μάγια και I-- Mia, ήταν; MAYA: Μάγια. ΟΜΙΛΗΤΗΣ 1: Μάγια, πρόκειται να ξέρω τι έκανα λάθος εδώ. Περίμενε ένα λεπτό. Νομίζω ότι μόλις έστειλε 100 μηνύματα κειμένου σε 555-1212. Αναμονή. Δεν μπορώ να κερδίσω κάποιο χρόνο. ΕΝΤΆΞΕΙ. Μάγια; Fix ότι στο post production. Διάολε! Μετά από τη διεύθυνση. Εντάξει, να σταθεί με. Λυπάμαι. Είναι οδυνηρό κάθε χρόνο. Εντάξει, μια στιγμή. Αυτό είναι καλό. Είμαι αντί πρόκειται να το κάνουμε αυτό. Διεύθυνση Εκτύπωση. Εντάξει, να σταθεί με. Εκτύπωση διευθύνσεις, βραχίονα i. Ναι, μου αρέσει αυτό. Δολάριο sign-- OK Θα εξηγήσω τι είμαι κάνει σε μια στιγμή, αφού έχω τρέξει αυτό. Κάθε χρόνο. Εντάξει, εδώ πηγαίνουμε. Έχω just-- και δεν θέλω να εμφανίζεται ο αριθμός τηλεφώνου του καθενός, αλλά Μάγια μπορεί να επιβεβαιώσει με ένα νεύμα του κεφαλιού, ότι βλέπει ο καθένας είναι τον αριθμό τηλεφώνου στην κατηγορία ότι Πάω να αντιγράψετε στο ένα πρόγραμμα που ονομάζεται Gmail. Και αν στο Gmail, τι θέλουμε να πούμε; Μου λείπεις. Love-- ότι δεν είναι από μένα. Δεν έχω ακόμα χτύπημα αποστολή ακόμα. Ας πάμε μπροστά και να κάνουμε αυτό, αν μπορώ να μεγεθύνετε. ΕΝΤΆΞΕΙ. Έτσι είμαι χρησιμοποιώντας ένα πρόγραμμα που ονομάζεται Gmail τώρα. Αν Μάγια, θέλετε να κάντε κλικ στο κουμπί Αποστολή, θα μιμηθεί αυτό που κώδικας θα πρέπει να έχουν κάνει. Οτιδήποτε; [ΜΠΙΠ] Κοινό: Ναι. ΟΜΙΛΗΤΗΣ 1: Ναι; Η σωτηρία; Κοινό: Ναι. ΟΜΙΛΗΤΗΣ 1: Δεσποινίς σας. Και Πάω να στείλει το υπόλοιπο. Έστειλα το ήμισυ, επειδή δεν είχα σκεφτεί Το Gmail θα αφήσει εκείνους περάσει. Έτσι απλά να θυμάστε, σήμερα είναι η μέρα ότι μάθατε ότι μπορώ να χρησιμοποιήσω το Gmail. Αυτό ήταν τρομακτικό. Ένα μεγάλο χειροκρότημα για την Μάγια. Ευχαριστώ. Εντάξει, έτσι. τι [ΜΠΙΠ] Πήραμε μερικά ηχητικά σήματα, ναι; Εντάξει. Τώρα είμαι πρόκειται να πάρει πραγματικά 700 δυστυχισμένος emails πίσω από τους συμμαθητές. Έτσι τουλάχιστον θα δούμε αν αυτό ήταν αξίζει τον κόπο. Έτσι, τι πήγε στραβά; Θα καταλάβω τι πήγε λάθος μετά το γεγονός, αλλά μόλις δούμε πόσο εύκολο ήταν να το κάνουμε αυτό σε PHP. Τι μπορούμε λοιπόν να κάνουμε πραγματικότητα τώρα που έχουμε αυτή την εκφραστικότητα της PHP. Αυτό was-- που ήταν φρικτό. Εντάξει. Έτσι, αυτό ήταν ό, τι θα έπρεπε να πάει έξω. Αυτό τον έλεγχο μου σήμερα το πρωί στο μου τηλέφωνο, η πραγματική εικόνα του τηλεφώνου μου. Αλλά τώρα ας εξετάσουμε γιατί είμαστε στην πραγματικότητα την εισαγωγή όλα αυτά τα πράγματα στην πρώτη θέση. Έτσι, ο στόχος δεν είναι να γράφουν αυτά τα προγράμματα που είναι γραμμένα στη γραμμή εντολών, έτσι δεν είναι; Έτσι, έγραψα ένα απλό Γεια σας πρόγραμμα, έγραψα ένα μικρό πρόγραμμα που κάνει υποθετικά, και χρησιμοποιήθηκε μια γραμμή ανάγνωσης και ούτω καθεξής. Και στη θεωρία, έγραψα μόνο ένα πρόγραμμα που έστειλε 800 μηνύματα κειμένου, ή να δώσει 800. Και αυτό ήταν όλο το πρόγραμμα εξακολουθούν να τρέχουν στη γραμμή εντολών. Και αυτό, φυσικά, είναι Δεν το διαδίκτυο, έτσι δεν είναι; Ο στόχος τώρα είναι να αρχίσετε να χρησιμοποιείτε που ισχυρίζομαι είναι ένα εύκολο στη χρήση γλώσσας, daresay μια πιο ισχυρή γλώσσα από την άποψη από τα χαρακτηριστικά που έρχονται με αυτό, για να ξεκινήσετε γράφοντας κώδικα που δημιουργεί ιστοσελίδες. Έτσι, τον περασμένο χρόνο και την περασμένη εβδομάδα, μιλήσαμε για HTTP και HTML. Και τι είναι ωραίο για την HTML είναι ότι είναι μόνο απλό κείμενο. Και το κείμενο είναι ασφαλώς κάτι που μπορείτε να εκτύπωση με κυριολεκτικά καλώντας την εκτύπωση στ λειτουργία, ή η λειτουργία εκτύπωσης. Και πράγματι, αυτό είναι ό, τι είναι η PHP Τώρα θα μας επιτρέψει να κάνουμε. Έτσι, μεταξύ των παραδειγμάτων που έχουν τον πηγαίο κώδικα του σήμερα, εκτός από μερικά από κώδικα ότι έβαλα εκεί πριν από λίγο, έχουμε προγράμματα όπως αυτό για παράδειγμα. Froshims, ή πρωτοετών φοιτητών Αθλητισμός Τειχών, ήταν στην πραγματικότητα ένα από τα πρώτα extracurriculars Ασχολήθηκα με χρόνια πριν. Και ο συγκάτοικός μου και εγώ, με κάποια άλλα παιδιά στην πανεπιστημιούπολη, χρησιμοποιείται για να τρέξει το πρόγραμμα froshims. Παίρνω μηνύματα κειμένου μου τώρα. Τώρα γι 'αυτό, πίσω στην ημέρα, οπότε αυτό ήταν το 1996 ή έτσι, υπήρχε ένα internet, αλλά δεν υπήρχε εκεί process-- δεν ήταν για την ιστοσελίδα froshims. Και έτσι αν θέλετε να εγγραφείτε ποδόσφαιρο ή βόλεϊ ή οτιδήποτε άλλο, θα συμπληρώσετε αυτό το πράγμα ονομάζεται ένα κομμάτι χαρτί, και θα περπατήσετε κατά μήκος του Χάρβαρντ αυλή, και θα το σύρετε στην υποδοχή αλληλογραφίας του Proctor, ο οποίος ήταν σε Wigglesworth, έναν από τους κοιτώνες. Και αυτό θα ήταν ονομαστικές. Και αυτός ή αυτή θα ήταν τότε συνθέτουν ένα e-mail για να σας με το χέρι, όπως και εγώ ακριβώς κάναμε εδώ με τη Μάγια, και στη συνέχεια θα πρέπει να επιβεβαιωθεί όπως έχει εγγραφεί. Έτσι, αυτό ήταν σαν χαμηλή κρέμονται τα φρούτα, να το πω έτσι. Ήταν χαζό ότι ήμασταν χρησιμοποιώντας χαρτί γι 'αυτό. Ήθελα μας να είναι σε θέση να πήγαινε σε ένα δικτυακό τόπο, ή έχουν τις πρωτοετών φοιτητών πάει σε ένα ιστοσελίδα, εγγραφείτε για τον αθλητισμό, και απλά να αυτοματοποιήσει πολλά από αυτά τα πράγματα βάζοντας τα ονόματα και τα ηλεκτρονικά ταχυδρομεία τους και ούτω καθεξής σε μια βάση δεδομένων. Και στην πραγματικότητα, το πρώτο εκδοχή του δικτυακού τόπου, με τη χρήση σούπερ άσχημο HTML, μπορεί να έμοιαζε κάτι σαν αυτό. Ήταν στην πραγματικότητα, κατά ειρωνεία της τύχης, πιο ντροπιαστική εμφάνιση από αυτή πίσω έπειτα. Αλλά χρησιμοποίησα μια γλώσσα προγραμματισμού. Δεν PHP, αλλά μάλλον ονομάζεται Perl, η οποία είναι μια παλαιότερη γλώσσα, αλλά πολύ παρόμοια στο πνεύμα. Και εγώ απλά εντελώς δίδαξε για τον εαυτό μου. Και μου πήρε λίγο χρόνο για να το καταλάβω, ζητώντας πολλές ερωτήσεις των φίλων. Αλλά οι ιδέες εκεί ήταν ακριβώς το ίδιο. Διότι αυτό PHP σχεδιάστηκε πραγματικά για να μην είναι η ουσία της γραμμής εντολών εμείς απλά έπαιξε με, αλλά για web προγραμματισμό. Είναι πραγματικά δεμένα σε λειτουργία του ρυθμιστεί στο διαδίκτυο, ως ακολούθως. Αυτό είναι froshims. Και αν ήθελα να εγγραφή σε αυτή τη μορφή, Αυτό είναι πολύ άσχημο, Σίγουρα, αλλά επιτρέψτε μου να πάει μπροστά και είναι λιγότερο άνετα φοιτητής, και ανεξάρτητα από τον αθλητισμό για Matthews, κάντε κλικ στο κουμπί Εγγραφή. Αυτό που θέλω να είναι σε θέση να κάνουμε είναι να να υποβάλουν πληροφορίες από μια φόρμα, να μην σέρβερ της Google, όπως κάναμε την τελευταία φορά, εντελώς εξαπάτηση μέσω backend τους, θα θέλουν να εφαρμόσουν το δικό μου κώδικα backend. Πράγμα που σημαίνει PHP εγγραφής κωδικό που ζει σε μια διεύθυνση URL ότι τα δεδομένα της φόρμας μπορεί να υποβληθεί. Και στη συνέχεια τον κωδικό σας, γραμμένο σε PHP σε ένα διακομιστή, μπορεί στη συνέχεια να απαντήσει σε αυτό που εισάγει ο χρήστης. Όπως και το όνομά του, ή το επίπεδο άνεσης, ή κοιτώνα, και στη συνέχεια να κάνει κάτι με αυτό. Στην περίπτωση αυτή, θα ήθελα απλώς βλακωδώς να εκτυπωθεί ως κείμενο, το οποίο δεν είναι καθόλου όμορφο. Αλλά θα μπορούσε σίγουρα φανταστείτε, αν γνωρίζετε HTML, και σύντομα θα ξέρετε πώς να δημιουργήσετε HTML με εκτύπωση στ, και εκτύπωσης, και παρόμοιες λειτουργίες, μπορείτε σίγουρα δημιουργούν μια όμορφη ιστοσελίδα που λέει, Γεια σου David, που έχουν καταχωρηθεί. Είσαι λιγότερο άνετα φοιτητής από Matthews, σωστά; Μπορείτε να χρησιμοποιήσετε μόνο ένα σωρό% ses, ή τα άγκιστρα και το σύμβολο του δολαρίου συμβολισμός θα χρησιμοποιηθεί πριν από λίγο, για να παράγουν το κείμενο που είναι πιο φιλική προς το χρήστη από αυτό. Έτσι, ας ρίξουμε μια ματιά σε αυτό το αρχείο. Froshim μηδέν τελεία PHP μοιάζει με αυτό. Όταν reload CS50 IDE, froshim μηδέν μοιάζει με αυτό. Αυτό είναι froshim μηδέν τελεία PHP. Και τι θα παρατηρήσετε σχετικά με αυτό το αρχείο; Κοινό: [δεν ακούγεται] ΟΜΙΛΗΤΗΣ 1: Συγγνώμη, λίγο πιο δυνατά; Κοινό: [δεν ακούγεται] Είναι όλα σε μορφή HTML. Και στην πραγματικότητα, είναι, επειδή Το ενδιαφέρον για την PHP είναι ότι σχεδιάστηκε να είναι, για την καλύτερη ή για το χειρότερο, ανακατεμένες με κώδικα HTML. Και στην πραγματικότητα, ακόμα κι αν αυτό αρχείο, froshim μηδέν dot PHP, Έχει ένα σχόλιο PHP στην κορυφή από αυτό, είναι όλα απλά HTML. Αλλά αντίθετα, αν θα ανοίξει, ας ας πούμε, εγγραφείτε μηδέν τελεία PHP, η οποία απλά έχει ένα μεγάλο σχόλιο στην αρχή. Αυτό φαίνεται πάρα πολύ σχεδόν εξ ολοκλήρου όπως HTML, εκτός από τι; Line, τι, 21 φαίνεται λίγο περίεργο. Να σημειωθεί όμως είμαι εισέλθετε στη λειτουργία PHP με ανοικτό στήριγμα ερωτηματικό PHP. Στη συνέχεια, έχω κάποια πράγματα. Και στη συνέχεια στο τέλος της εν λόγω γραμμής Έχω σχεδόν, ερωτηματικό PHP. Και αυτό είναι ό, τι εννοώ με ανακατεμένες. Μπορείτε να γράψετε HTML που μπορείτε απλά θέλετε ο διακομιστής να φτύσει. Αλλά αν θέλετε να κάνετε κάτι δυναμική partway μέσω της σελίδας, όπως εισάγετε το όνομά μου ή dorm ή το επίπεδο άνεσης, Μπορώ να χρησιμοποιήσω μια λειτουργία όπως εκτύπωση R, η οποία είναι εκτύπωση αναδρομικών, που σημαίνει απλά εκτυπώσετε αυτήν τη μεταβλητή, μορφοποίηση αυτό ωστόσο θέλετε. Δεν είναι πραγματικά για ανθρώπινους σκοπούς, είναι ακριβώς για τον εντοπισμό σφαλμάτων ή διαγνωστικούς σκοπούς. Έτσι, αυτό είναι το πώς το έκανα αυτό. Αν εγώ αντί να πάει froshims δύο dot PHP, παρατηρήσετε ότι η δράση αυτής της μορφής Δεν έχει καταχωρηθεί μηδέν dot PHP, όπως η old-- το προηγούμενο ήταν στην πραγματικότητα. Αλλά είναι εγγεγραμμένοι δύο dot PHP. Οπότε ας δούμε πώς αυτό συμπεριφέρεται λίγο διαφορετικά. Αν πάω σε έκδοση δύο. Αν εδώ, αν μπορώ να εγγραφώ όπως ο David, λιγότερο άνετα, από κοιτώνα του Mathews, εγγραφείτε. Έτσι, αυτή τη φορά είπε, Τα εγγεγραμμένοι, δεν είναι πραγματικά. Ας δούμε τι έκανα εδώ. Αν κοιτάξω μητρώου δύο dot PHP, αυτό έχει λίγο περισσότερο κώδικα PHP. Είναι λίγο πιο καθαρά, αν και εξακολουθεί να αναδιπλώνεται λίγο καιρό σε αυτή τη γραμμή. Παρατηρήστε εδώ. Τυπώσω ετικέτα HTML μου, ετικέτα κεφάλι μου, ετικέτα τίτλο μου, το κεφάλι, το σώμα. Και τότε άρχισα να πω πράγματα όπως εισέλθετε σε λειτουργία PHP. Και έτσι αυτή την ετικέτα, ανοιχτό βραχίονα PHP-- ερωτηματικό PHP λέει, hey, διακομιστής, execute-- ερμηνεύσει τα ακόλουθα πράγματα όπως PHP μέχρι να εμφανιστεί η ετικέτα τέλους. Και ακόμα κι αν δεν μπορεί να γνωρίζει οποιαδήποτε PHP άλλα από ό, τι έχω δει μέχρι στιγμής, μπορείτε να διαβάσετε το είδος του είναι αρκετά διαισθητικά. Εάν το όνομα είναι άδειο, ή άνεση είναι άδειο, ή dorm είναι άδειο, τι μπορώ να κάνω; Τι μπορώ να πω για το χρήστη; Πρέπει να δώσετε το όνομά σας, άνεση, και dorm, και ούτω καθεξής. Αλλιώς, θα λέγατε ότι είστε εγγραφεί, και δεν είναι πραγματικά. Και μπορώ να πω πραγματικά γιατί δεν υπάρχει βάση δεδομένων. Εγώ δεν κάνω τίποτα με τα δεδομένα. Είμαι ακριβώς πετάμε για σκοπούς επίδειξης. Τώρα έχω το είδος του τσιγκουνευτήκαμε μέσω της γραμμής 22. Υπάρχει περισσότερο σύνταξη εκεί, αλλά το σύμβολο του δολαρίου υπογραμμίζουν θέση είναι είδος ενδιαφέρον. Και αυτό είναι ό, τι είναι καλό για την PHP. Στην PHP, έχετε τι καλείται μερικά σούπερ καθολικές μεταβλητές. Είναι το είδος του ακόμα πιο σημαντική από καθολικές μεταβλητές. Και αυτά, όλα κεφαλαιοποιημένη ως εκ τούτου, έρχονται με την PHP. Έτσι, εάν έχετε ένα διακομιστή που έχει εγκαταστήσει τον web server, όπως Apache, και μπορείτε να εγκαταστήσετε τη γλώσσα υποστήριξη για την PHP, ξαφνικά σας να αρχίσετε να χρησιμοποιείτε αυτά τα σούπερ global μεταβλητές στον κώδικά σας. Και τι είναι ωραίο για PHP είναι ότι αν απλά γράφετε ένα αρχείο που τελειώνει σε τελεία PHP, το έβαλε σε έναν web server, και στη συνέχεια να υποβάλετε μια φόρμα μέσω του εν λόγω ετικέτα δράσης και μια ετικέτα μορφή, ότι χαρακτηριστικό δράσης στον τομέα της μορφή ετικέτας, PHP και το διαδίκτυο στοιχεία εντελώς έξω πώς να αρπάξει όλα αυτά τα ζεύγη κλειδιών αξία από του URL, όπως η ερώτηση σήμα q ισούται με γάτες, θα καταλάβω πώς να το q και γάτες. Αν υποβάλλετε μια φωτογραφία ή ένα όνομα χρήστη, ή έναν κωδικό πρόσβασης για να αρέσει στο Facebook, PHP θα καταλάβω για σας όπου όλα αυτά τα δεδομένα είναι. Και θα παραδώσει μόνο Είσαι ένας συνειρμική σειρά που ονομάζεται δολάριο μετά σύμβολο υπογράμμισης, ή το σύμβολο του δολαρίου υπογραμμίζουν πάρει, ανάλογα με το αν είστε χρησιμοποιώντας GET ή POST υποβολές. Και θα σας δώσουν μόνο ένα σούπερ καθολική μεταβλητή, έτσι ώστε αν θέλετε να πάρετε στο όνομα ότι ο χρήστης υπέβαλε μέσω του εν λόγω web μορφή, μπορείτε κυριολεκτικά να πει το όνομα του σούπερ παγκόσμια μεταβλητή, απόσπασμα, εισαγωγικά, το όνομα. Και παραθέτω, εισαγωγικά άνεση, και παραθέτω, εισαγωγικά κοιτώνα. Και θα πάμε να είναι σε θέση να κάνει αυτό και πολύ περισσότερα με την PHP. Και παρόλο που αυτό ήταν ένας ανεμοστρόβιλος ματιά σε αυτό, θα βουτήξει σε πολλά άλλα επόμενη εβδομάδα. Θα εισαγάγει μια βάση δεδομένων έτσι ώστε να είστε πραγματικά πρόκειται να αρχίσει η εφαρμογή το δικό σας e-εμπόριο based-- όπως ιστοσελίδα σε μόλις μία εβδομάδα. Γι 'αυτό και θα σας δούμε την επόμενη φορά, και Ελπίζω να έχεις τα μηνύματα κειμένου. Αντίο. [Παίζει μουσική] [ΑΝΟΙΓΜΑ ΠΟΡΤΑΣ] ΟΜΙΛΗΤΗΣ 2: Γεια σου. ΟΜΙΛΗΤΗΣ 3: Τι συμβαίνει; ΟΜΙΛΗΤΗΣ 2: Τι κάνεις; ΟΜΙΛΗΤΗΣ 3: Δουλεύοντας σε ένα σύνολο πρόβλημα. ΟΜΙΛΗΤΗΣ 2: Ωραία. Κολλα πεντε. [ΚΟΛΛΑ ΠΕΝΤΕ] Τι are-- εεε, τι κάνεις εδώ; ΟΜΙΛΗΤΗΣ 3: Μόλις παρέα. Μόλις επέστρεψα από το γυμναστήριο. Δεν θα μπορούσα να βοηθήσει, αλλά παρατηρήσετε όταν έχουμε υψηλή fived, ότι έχετε πολύ τραχιά χέρια. Να πάτε στο γυμναστήριο; ΟΜΙΛΗΤΗΣ 2: Όχι. Κανένα. ΟΜΙΛΗΤΗΣ 3: Φίλε, θα δούμε αρκετά μεγάλο. Ποια είναι κακό, γιατί όλοι γνωρίζουν 8-μπάλα είναι ο μεγάλος άνθρωπος στην πανεπιστημιούπολη. Κολλα πεντε. ΟΜΙΛΗΤΗΣ 2: Χμ, όχι. Όχι, νομίζω ότι είμαι καλός. Νομίζω ότι είμαι καλός.