1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Web Development] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Αυτό είναι CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> Σε αυτό το βίντεο, θα μάθουμε σχετικά με τη χρήση της PHP για την ανάπτυξη Ιστού. 5 00:00:11,000 --> 00:00:14,000 PHP είναι μια γλώσσα δέσμης ενεργειών που μπορεί να χρησιμοποιηθεί για την υλοποίηση 6 00:00:14,000 --> 00:00:17,000 ιστοσελίδες σε έναν web server. 7 00:00:17,000 --> 00:00:21,000 Ένας web server είναι ουσιαστικά μια μηχανή αφιερωμένο στην παροχή περιεχομένου 8 00:00:21,000 --> 00:00:24,000 που μπορεί να προσεγγιστεί μέσω του Διαδικτύου. 9 00:00:24,000 --> 00:00:30,000 Όταν περιηγείστε σε μια ιστοσελίδα όπως Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 ο κώδικας στο αρχείο που ονομάζεται home.php που ζει σε ένα Facebook web server κάπου 11 00:00:35,000 --> 00:00:38,000 θα εκτελεστεί σε αυτόν το διακομιστή. 12 00:00:38,000 --> 00:00:41,000 Ο κωδικός αυτός θα δημιουργήσει πιθανόν κάποια έξοδο 13 00:00:41,000 --> 00:00:43,000 η οποία με τη σειρά της θα πρέπει να σταλεί από τον server 14 00:00:43,000 --> 00:00:45,000 στο web browser σας. 15 00:00:45,000 --> 00:00:49,000 Θα πρέπει να χρησιμοποιείτε τη συσκευή CS50 ως web server. 16 00:00:49,000 --> 00:00:51,000 Το μηχάνημά σας κατά πάσα πιθανότητα δεν θα είναι σχεδόν τόσο ισχυρό όσο τα μηχανήματα 17 00:00:51,000 --> 00:00:57,000 σε ένα κέντρο δεδομένων του Facebook, αλλά δεν θα έχετε κανένα πρόβλημα με αυτό για την ανάπτυξη Ιστού. 18 00:00:57,000 --> 00:01:05,000 >> Όταν μεταβείτε σε μια διεύθυνση URL, όπως http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 έχουμε να ρυθμίσετε τη συσκευή μέσω μιας εφαρμογής που ονομάζεται ο διακομιστής Apache HTTP 20 00:01:10,000 --> 00:01:19,000 να ψάξουν για ένα αρχείο που ονομάζεται hello.php εσωτερικό του σπιτιού / jharvard / vhosts / localhosts / html από προεπιλογή. 21 00:01:19,000 --> 00:01:23,000 Αν υπάρχει αυτό το αρχείο, στη συνέχεια, Apache θα χρησιμοποιήσετε το PHP διερμηνέα 22 00:01:23,000 --> 00:01:27,000 να εκτελέσει τον κώδικα PHP σε hello.php. 23 00:01:27,000 --> 00:01:31,000 Αν αυτό το αρχείο δεν υπάρχει τότε Apache θα ρίξει ένα δεν βρέθηκε σφάλμα 24 00:01:31,000 --> 00:01:36,000 ή ένα σφάλμα 404, που πιθανώς έχετε δει κατά την περιήγηση στο Web. 25 00:01:36,000 --> 00:01:40,000 >> Ας ρίξουμε μια ματιά σε hello.php. 26 00:01:40,000 --> 00:01:45,000 Μπορούμε να δούμε εδώ ότι hello.php δημιουργεί μια γραμμή σήμα της εξόδου. 27 00:01:45,000 --> 00:01:51,000 Όταν τρέξαμε hello.php στη γραμμή εντολών μέσω php hello.php 28 00:01:51,000 --> 00:01:54,000 ότι η παραγωγή τυπώθηκε στο τερματικό. 29 00:01:54,000 --> 00:01:58,000 Τώρα, όταν έχουμε πρόσβαση σε αυτό το αρχείο μέσω μιας διεύθυνσης URL στο πρόγραμμα περιήγησης στο web 30 00:01:58,000 --> 00:02:01,000 παραγωγή της θα σταλεί στο πρόγραμμα περιήγησης στο Web, 31 00:02:01,000 --> 00:02:09,000 τόσο με κατεύθυνση προς το URL, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 μπορούμε να δούμε την έξοδο στο web browser μας. 33 00:02:12,000 --> 00:02:17,000 >> Ας δοκιμάστε να προσθέσετε ένα άλλο printf να hello world πρόγραμμα μας. 34 00:02:17,000 --> 00:02:23,000 Εντάξει, ας το κεφάλι πίσω στο πρόγραμμα περιήγησης στο Web και να δούμε τι έχουμε. 35 00:02:23,000 --> 00:02:25,000 Ενδιαφέρουσες. 36 00:02:25,000 --> 00:02:28,000 Αντί να εκτυπώνετε μια άλλη γραμμή στη δική της γραμμή, όπως θα έχετε δει 37 00:02:28,000 --> 00:02:32,000 στο τερματικό, φαίνεται σαν να πήρε smushed πάνω στην ίδια γραμμή 38 00:02:32,000 --> 00:02:36,000 ως την άλλη printf, οπότε ίσως νέες γραμμές δεν λειτουργούν σε PHP. 39 00:02:36,000 --> 00:02:38,000 Δεν είναι αρκετά. 40 00:02:38,000 --> 00:02:41,000 Να θυμάστε ότι η HTML χρησιμοποιείται συνήθως για τη δημιουργία ιστοσελίδων 41 00:02:41,000 --> 00:02:44,000 που μπορεί να εμφανιστούν από web browsers. 42 00:02:44,000 --> 00:02:49,000 Δεν είναι μόνο το string γεια από php δεν είναι έγκυρο HTML, 43 00:02:49,000 --> 00:02:53,000 αλλά υπενθυμίζουν ότι δεν μπορούμε να χρησιμοποιήσουμε τον χαρακτήρα \ n σε HTML 44 00:02:53,000 --> 00:02:55,000 για να δημιουργήσετε μια αλλαγή γραμμής. 45 00:02:55,000 --> 00:03:01,000 Αντί απλά έξοδο εξόδου έγκυρη HTML ενός let χορδών. 46 00:03:01,000 --> 00:03:04,000 Με τη χρήση της παραγράφου ετικέτες καθένα από printf κλήσεις μας 47 00:03:04,000 --> 00:03:07,000 θα εμφανίζεται στη δική της γραμμή, 48 00:03:07,000 --> 00:03:11,000 έτσι και τώρα, όταν επισκεπτόμαστε τον προσανατολισμό URL για να valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 βλέπουμε το αποτέλεσμα που ψάχνουμε. 51 00:03:19,000 --> 00:03:22,000 >> Τώρα, αν δείτε τον κώδικα αυτής της σελίδας 52 00:03:22,000 --> 00:03:25,000 μπορούμε να δούμε ότι είμαστε τώρα ψάχνουν σε έγκυρο HTML, 53 00:03:25,000 --> 00:03:28,000 που θα δημιουργηθούν από την PHP. 54 00:03:28,000 --> 00:03:31,000 Κάνοντας όλα τα HTML μας μέσα κλήσεις printf 55 00:03:31,000 --> 00:03:34,000 είναι, φυσικά, πρόκειται να πάρει πραγματικά ενοχλητικό. 56 00:03:34,000 --> 00:03:38,000 Ευτυχώς μπορούμε να αναμειγνύεται εύκολα HTML και PHP 57 00:03:38,000 --> 00:03:41,000 στο ίδιο αρχείο php.. 58 00:03:41,000 --> 00:03:47,000 Θυμηθείτε, όλοι μας κώδικα PHP πρέπει να περικλείεται εντός 00:03:49,000 και>. 60 00:03:49,000 --> 00:03:52,000 Τίποτα που δεν περικλείεται μέσα σε αυτά τα διαχωριστικά 61 00:03:52,000 --> 00:03:55,000 απλώς θα αποσταλεί ως έξοδο στο πρόγραμμα περιήγησης 62 00:03:55,000 --> 00:03:57,000 αντί να εκτελείται. 63 00:03:57,000 --> 00:04:01,000 Αυτό σημαίνει ότι μπορούμε να κάνουμε κάτι τέτοιο. 64 00:04:01,000 --> 00:04:05,000 Εμείς απλά να γράψετε HTML μέσα μας php αρχείο. 65 00:04:05,000 --> 00:04:11,000 και στη συνέχεια τοποθετήστε μπλοκ PHP όπου θα θέλαμε κάποια κώδικα php να εκτελεστεί. 66 00:04:11,000 --> 00:04:15,000 Εδώ ορίζουμε μερικές μεταβλητές στην αρχή του αρχείου, 67 00:04:15,000 --> 00:04:19,000 και αργότερα τα εκτυπώσετε μέσα από HTML μας. 68 00:04:19,000 --> 00:04:27,000 Τώρα, αν επισκεφτείτε αυτό το URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 μπορούμε να δούμε αξιολογηθεί PHP μας μέσα από HTML μας. 70 00:04:33,000 --> 00:04:36,000 >> Τώρα, ας ρίξουμε μια ματιά στο πώς μπορούμε να περάσουμε τα δεδομένα 71 00:04:36,000 --> 00:04:39,000 μεταξύ των διαφόρων σελίδες PHP μας. 72 00:04:39,000 --> 00:04:51,000 Αντί να λέει 73 00:04:51,000 --> 00:04:58,000 μπορούμε απλά να πούμε 00:05:01,000 και>. 75 00:05:01,000 --> 00:05:03,000 Ας ρίξουμε τώρα μια ματιά στο πώς μπορούμε να περάσουμε τα δεδομένα 76 00:05:03,000 --> 00:05:06,000 μεταξύ των διαφόρων σελίδες PHP μας. 77 00:05:06,000 --> 00:05:11,000 Ένας τρόπος να γίνει αυτό είναι να κωδικοποιήσει πληροφορίες στη διεύθυνση URL της σελίδας. 78 00:05:11,000 --> 00:05:14,000 Κατά την περιήγηση στο Web, μπορεί να έχετε παρατηρήσει ότι ορισμένες διευθύνσεις URL 79 00:05:14,000 --> 00:05:20,000 περιέχει ένα; ακολουθείται από μια σειρά που περιέχει συμπλεκτικά σύμβολα και σύμβολα ισότητας. 80 00:05:20,000 --> 00:05:23,000 Αυτό το τμήμα του URL που είναι γνωστό ως συμβολοσειράς ερωτήματος, 81 00:05:23,000 --> 00:05:29,000 και αυτό σας επιτρέπει να περάσετε αποτελεσματικά επιχειρήματα για PHP script σας. 82 00:05:29,000 --> 00:05:34,000 Η συμβολοσειρά ερωτήματος αποτελείται από βασικά ζευγάρια αξίας, ακριβώς όπως ένα πίνακα κατακερματισμού. 83 00:05:34,000 --> 00:05:38,000 Το σύμβολο του ίσον χωρίζει ένα κλειδί και την αντίστοιχη αξία του 84 00:05:38,000 --> 00:05:41,000 ενώ συμπλεκτικά σύμβολα χωρίζουν ζευγάρια. 85 00:05:41,000 --> 00:06:05,000 Μια διεύθυνση URL που μοιάζει με http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 έχει 2 βασικά ζευγάρια αξίας στο query string. 87 00:06:09,000 --> 00:06:12,000 Το κλειδί foo χάρτες στο μπαρ αξίας, 88 00:06:12,000 --> 00:06:16,000 και το κλειδί baz χάρτες στο QUX αξία. 89 00:06:16,000 --> 00:06:23,000 Μπορούμε εύκολα να έχουν πρόσβαση σε αυτά τα βασικά ζεύγη αξία χρησιμοποιώντας μια ειδική μεταβλητή στην PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Είναι ένας associative array 92 00:06:32,000 --> 00:06:36,000 που συμπληρώνεται αυτόματα με τα δεδομένα συμβολοσειράς ερωτήματος. 93 00:06:36,000 --> 00:06:46,000 Αυτό σημαίνει ότι με βάση αυτή τη διεύθυνση URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 θα είναι ίση με τη γραμμή χορδών. 95 00:06:49,000 --> 00:06:56,000 >> Ας ρίξουμε μια ματιά σε get.php να δείτε $ _GET σε δράση. 96 00:06:56,000 --> 00:07:00,000 Εδώ είμαστε χρησιμοποιώντας μια λειτουργία που ονομάζεται var_dump, 97 00:07:00,000 --> 00:07:03,000 η οποία όταν δίνεται μια σειρά ή άλλης μεταβλητής 98 00:07:03,000 --> 00:07:05,000 θα το εκτυπώσουν μας. 99 00:07:05,000 --> 00:07:12,000 Τώρα, αν απλώς πρόσβαση http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 Στη συνέχεια θα δούμε έναν άδειο πίνακα, επειδή δεν έχουμε προβλέψει μια σειρά ερωτημάτων. 101 00:07:17,000 --> 00:07:29,000 Αν το κάνουμε παρέχουν μια σειρά ερωτημάτων μέσω http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 τότε μπορούμε να δούμε ότι η μεταβλητή $ _GET θα περιέχει 103 00:07:34,000 --> 00:07:37,000 βασικά ζευγάρια αξίας της συμβολοσειράς ερωτήματος. 104 00:07:37,000 --> 00:07:42,000 Αλλά τι γίνεται αν δεν θέλουμε να βάλουμε τα στοιχεία μας μέσα στο URL της σελίδας; 105 00:07:42,000 --> 00:07:46,000 Για μεγάλες ποσότητες δεδομένων, αυτό μπορεί να οδηγήσει σε ορισμένες πολύ άσχημο URLs 106 00:07:46,000 --> 00:07:49,000 που πρόκειται να κάνει λαμπερό βλέμμα κουτσός ιστοσελίδα μας. 107 00:07:49,000 --> 00:07:52,000 Μπορούμε να βάλουμε αντί για το string ερώτημα στο σώμα 108 00:07:52,000 --> 00:07:57,000 των αιτήσεων HTTP αντί URL του αιτήματος. 109 00:07:57,000 --> 00:08:02,000 Στη συνέχεια, μπορούμε να χρησιμοποιήσουμε $ _POST μεταβλητή της PHP 110 00:08:02,000 --> 00:08:05,000 να έχουν πρόσβαση τα βασικά ζεύγη τιμών. 111 00:08:05,000 --> 00:08:10,000 Ένας τρόπος να γίνει αυτό είναι μέσω μιας φόρμας HTML. 112 00:08:10,000 --> 00:08:13,000 Εδώ έχουμε μια απλή μορφή HTML. 113 00:08:13,000 --> 00:08:17,000 Σημειώστε εδώ ότι η μέθοδος χαρακτηριστικό αυτής της μορφής είναι μετά. 114 00:08:17,000 --> 00:08:21,000 Αυτό λέει στον browser να θέσει βασικά ζευγάρια αξίας της φόρμας 115 00:08:21,000 --> 00:08:25,000 μέσα στο σώμα της αίτησης και όχι τη διεύθυνση URL. 116 00:08:25,000 --> 00:08:28,000 >> Αν ήταν να χρησιμοποιήσει την τιμή να πάρει για αυτό το χαρακτηριστικό 117 00:08:28,000 --> 00:08:32,000 τότε βασικά ζευγάρια αξίας της φόρμας θα αντί να πάει στο επερώτησης, 118 00:08:32,000 --> 00:08:36,000 έτσι θα μπορούσαμε να έχουν πρόσβαση σε αυτά μέσω του $ _GET και πάλι. 119 00:08:36,000 --> 00:08:42,000 Το χαρακτηριστικό δράση του εντύπου λέει στον browser πού να στείλει τα δεδομένα. 120 00:08:42,000 --> 00:08:46,000 Εδώ 2 στοιχεία εισόδου μας έχουν χαρακτηριστικά όνομα. 121 00:08:46,000 --> 00:08:51,000 Η αξία των ιδιοτήτων όνομα θα χρησιμεύσει ως κλειδιά σε δεδομένα μας, 122 00:08:51,000 --> 00:08:56,000 και οι τιμές των εισροών κείμενο θα γίνει τιμές αυτών των κλειδιών. 123 00:08:56,000 --> 00:08:59,000 Τώρα, ας ρίξουμε μια ματιά στο post.php, 124 00:08:59,000 --> 00:09:03,000 το αρχείο που αυτή η μορφή υποβολή. 125 00:09:03,000 --> 00:09:10,000 Ακριβώς όπως κάναμε και πριν, είμαστε απλά εμφανίζει τα περιεχόμενα της μεταβλητής $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> Ας πλοηγηθείτε στην φόρμα με http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Τώρα, όταν θα υποβάλει το έντυπο μπορούμε να δούμε ότι τα δεδομένα από form.php 128 00:09:23,000 --> 00:09:30,000 διοχετεύεται στο post.php χωρίς να προσαρτήσει μια σειρά ερωτημάτων προς τη διεύθυνση URL. 129 00:09:30,000 --> 00:09:35,000 Τώρα που έχουμε δει 2 διαφορετικούς τρόπους μετάδοσης δεδομένων μεταξύ των σελίδων PHP, 130 00:09:35,000 --> 00:09:37,000 πάρετε και μετά. 131 00:09:37,000 --> 00:09:41,000 Στα παραδείγματα μας, χρησιμοποιήσαμε 2 διαφορετικούς τύπους αιτήσεων HTTP. 132 00:09:41,000 --> 00:09:45,000 Όπως μπορείτε να φανταστείτε, ένα αίτημα get χρησιμοποιείται όταν κατοικήθηκε 133 00:09:45,000 --> 00:09:51,000 $ _GET Από το URL, και μετά από αίτημα χρησιμοποιήθηκε 134 00:09:51,000 --> 00:09:55,000 όταν κατοικήθηκε $ _POST. 135 00:09:55,000 --> 00:09:59,000 Κατά το σχεδιασμό web εφαρμογές σας είναι ένας καλός εμπειρικός κανόνας για να χρησιμοποιήσετε τα αιτήματα get 136 00:09:59,000 --> 00:10:03,000 όταν η εφαρμογή σας θα διαβάσει μόνο τα δεδομένα, και μετά τα αιτήματα 137 00:10:03,000 --> 00:10:05,000 όταν η εφαρμογή σας θα γράψετε δεδομένα. 138 00:10:05,000 --> 00:10:09,000 Για παράδειγμα, ένα ερώτημα αναζήτησης θα διαβάσει δεδομένα από την εφαρμογή σας, 139 00:10:09,000 --> 00:10:12,000 έτσι ένα αίτημα πάρει νόημα. 140 00:10:12,000 --> 00:10:17,000 Από την άλλη πλευρά, η εφαρμογή σας θα γράψει τα δεδομένα μέσω του κάτι σαν μια φόρμα εγγραφής, 141 00:10:17,000 --> 00:10:22,000 έτσι ένα αίτημα μετά θα ήταν πιο λογικό, και αυτό είναι μια επισκόπηση μερικών από τις τεχνικές 142 00:10:22,000 --> 00:10:26,000 θα πρέπει να χρησιμοποιούν το CS50 να δημιουργήσουν ιστοσελίδες που χρησιμοποιούν PHP. 143 00:10:26,000 --> 00:10:30,000 >> Το όνομά μου είναι ο Tommy, και αυτό είναι CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]