1 00:00:00,000 --> 00:00:02,150 >> [Σεμινάριο] [Kohana: Ένα ελαφρύ πλαίσιο PHP] 2 00:00:02,150 --> 00:00:04,000 [Brandon Liu] [Πανεπιστήμιο του Χάρβαρντ] 3 00:00:04,000 --> 00:00:07,270 [Αυτό είναι CS50.] [CS50.TV] 4 00:00:07,270 --> 00:00:09,130 >> Γεια σε όλους. Το όνομά μου είναι Μπράντον. 5 00:00:09,130 --> 00:00:11,000 Είμαι μια junior εδώ στο κολέγιο κάνει επιστήμη των υπολογιστών, και σήμερα θα πάμε να μιλήσουμε για 6 00:00:11,000 --> 00:00:14,460 Kohana, το οποίο είναι ένα PHP-πλαίσιο ανάπτυξης ιστοσελίδων. 7 00:00:14,460 --> 00:00:17,260 Σήμερα πρόκειται να είναι ένα ζωντανό σεμινάριο κωδικοποίησης, 8 00:00:17,260 --> 00:00:21,000 έτσι είμαι βασικά πρόκειται να περάσουν 5-10 λεπτά εξηγώντας τι Kohana είναι, 9 00:00:21,000 --> 00:00:25,000 και, στη συνέχεια, είμαι κυριολεκτικά πρόκειται να χτίσει ένα σούπερ απλό blog 10 00:00:25,000 --> 00:00:28,570 για σας εδώ κυριολεκτικά από το μηδέν. 11 00:00:28,570 --> 00:00:32,229 Εμείς πάμε για να κατεβάσετε τον κώδικα από την ιστοσελίδα Kohana, 12 00:00:32,229 --> 00:00:35,000 και θα πάμε για να αρχίσει η δημιουργία ενός blog, και ελπίζω ότι θα είναι πολύ διδακτική, 13 00:00:35,000 --> 00:00:37,000 γιατί θα δείτε ίσως ίσως θα κάνουν κάποια λάθη, 14 00:00:37,000 --> 00:00:39,000 και θα δεις να ανακάμψει από αυτούς, 15 00:00:39,000 --> 00:00:42,040 ή θα δείτε την διαδικασία της σκέψης μου, όπως έχω χτίσει μέσα από αυτό το blog, 16 00:00:42,040 --> 00:00:44,000 και εν τω μεταξύ, θα πάρετε επίσης εξοικειωμένοι με το ίδιο το πλαίσιο. 17 00:00:44,000 --> 00:00:48,000 Ας ελπίσουμε ότι αυτό θα είναι ένα πολύ διδακτική άσκηση. 18 00:00:48,000 --> 00:00:51,370 >> Πρώτον, τι ακριβώς είναι το πλαίσιο; 19 00:00:51,370 --> 00:00:54,000 Εάν έχετε ήδη λάβει CS50 μέχρι στιγμής, δεν έχουν πραγματικά δουλέψει με οποιοδήποτε 20 00:00:54,000 --> 00:00:56,000 πλαισίων ακόμα, και το θέμα είναι αυτό. 21 00:00:56,000 --> 00:01:00,000 Πιθανόν να έχετε κάνει 1 ανάπτυξης ιστοσελίδων από το chipset ήδη, 22 00:01:00,000 --> 00:01:03,000 και ας πούμε ότι θα συνεχίσει να οικοδομήσουμε ιστοσελίδες και να κρατήσει ιστοσελίδες κτίριο. 23 00:01:03,000 --> 00:01:05,000 Θα αρχίσετε να παρατηρήσετε μερικά πράγματα. 24 00:01:05,000 --> 00:01:07,000 Το πρώτο πράγμα που θα παρατηρήσετε είναι ότι είστε πιθανώς να κάνει τα ίδια πράγματα 25 00:01:07,000 --> 00:01:09,150 ξανά και ξανά όλη την ώρα, 26 00:01:09,150 --> 00:01:13,000 πράγματα όπως τον καθαρισμό των δεδομένων που εισάγει ο χρήστης, 27 00:01:13,000 --> 00:01:17,250 πράγματα όπως την οργάνωση των αρχείων σας σε ένα συγκεκριμένο τρόπο. 28 00:01:17,250 --> 00:01:19,000 Το άλλο πράγμα που θα παρατηρήσετε πιθανώς, επίσης, είναι ότι ο κωδικός σας 29 00:01:19,000 --> 00:01:21,000 μπορεί να αρχίσει να γίνεται πολύ, πολύ βρώμικο, 30 00:01:21,000 --> 00:01:24,000 και μπορείτε να το αφήσετε ακατάστατο και να έχουμε μόνο ένα πολύ σκληρό χρόνο διατηρώντας το, 31 00:01:24,000 --> 00:01:26,000 ή μπορείτε να αρχίσετε να δομήσει τον κωδικό σας και καθιστώντας το modular 32 00:01:26,000 --> 00:01:28,510 με συγκεκριμένους τρόπους για να καταστεί πιο διατηρήσιμη. 33 00:01:28,510 --> 00:01:31,020 >> Αυτό είναι όπου πλαισίων web ουσιαστικά ήρθε in 34 00:01:31,020 --> 00:01:33,680 Αυτοί οι άνθρωποι που έχτισαν πολλές ιστοσελίδες, όπως είπαν, 35 00:01:33,680 --> 00:01:35,820 «Δεν πρέπει να επαναλάβετε αυτό κάθε φορά που θα οικοδομήσουμε μια ιστοσελίδα." 36 00:01:35,820 --> 00:01:39,050 «Γιατί δεν πρέπει απλά να κάνουμε ένα πακέτο που κάνει όλα αυτά τα πράγματα για εσάς 37 00:01:39,050 --> 00:01:41,250 κάθε φορά που θέλετε να οικοδομήσουμε μια ιστοσελίδα; " 38 00:01:41,250 --> 00:01:43,030 Και, έτσι ώστε όταν κάνετε μια νέα ιστοσελίδα, 39 00:01:43,030 --> 00:01:45,880 μπορείτε απλά να επικεντρωθεί σε αυτό ακριβώς η συγκεκριμένη ιστοσελίδα είναι περίπου. 40 00:01:45,880 --> 00:01:48,630 Δεν χρειάζεται να επαναλάβω όλα τα διάφορα διαμόρφωση 41 00:01:48,630 --> 00:01:53,070 και ο διαχωρισμός των κωδικών και ξαναγράφοντας κώδικα 42 00:01:53,070 --> 00:01:56,180 ότι συχνά πρέπει να κάνετε όταν θέλετε να κάνετε ιστοσελίδες. 43 00:01:56,180 --> 00:01:59,410 Η ιδέα είναι ότι ένα πλαίσιο σας επιτρέπει να γράφετε κώδικα υψηλότερου επιπέδου 44 00:01:59,410 --> 00:02:01,030 χωρίς να χρειάζεται να ανησυχείτε για τις λεπτομέρειες κατώτερου επιπέδου. 45 00:02:01,030 --> 00:02:03,670 Μια λεπτομέρεια χαμηλότερου επιπέδου θα μπορούσε να είναι κάτι σαν 46 00:02:03,670 --> 00:02:07,250 που ασχολούνται με τον καθαρισμό των δεδομένων που εισάγει ο χρήστης. 47 00:02:07,250 --> 00:02:09,320 Αυτό είναι κάτι που δεν πρέπει να πρέπει πραγματικά να ανησυχούν. 48 00:02:09,320 --> 00:02:12,370 Θα πρέπει να επικεντρωθεί σε ό, τι κατανομή ιστοσελίδα σας είναι πραγματικά περίπου. 49 00:02:12,370 --> 00:02:14,790 Εξαλείφει πολύ κώδικα στερεότυπο. 50 00:02:14,790 --> 00:02:16,640 Πρόκειται για μια αρχιτεκτονική για το έργο σας. 51 00:02:16,640 --> 00:02:18,680 >> Η πιο δημοφιλής θα ήταν Model-View-Controller, 52 00:02:18,680 --> 00:02:20,380 που Πάω να μιλήσω για σε ένα δευτερόλεπτο. 53 00:02:20,380 --> 00:02:22,790 Και πολλές φορές αυτά τα πλαίσια ενσωματώνουν μια σειρά από διαδικασίες, 54 00:02:22,790 --> 00:02:25,750 κανόνες και τις βέλτιστες πρακτικές για να μπορείτε να χρησιμοποιήσετε 55 00:02:25,750 --> 00:02:28,190 έτσι ώστε όταν θα εγκρίνει το πλαίσιο web 56 00:02:28,190 --> 00:02:30,050 θα πρέπει να γράψετε τον κωδικό σας σε ένα συγκεκριμένο τρόπο, 57 00:02:30,050 --> 00:02:32,430 και είναι γενικά ένα συμφωνημένο σύνολο αρχών 58 00:02:32,430 --> 00:02:34,290 από την κοινότητα που είναι γενικά αποδεκτό ότι είναι 59 00:02:34,290 --> 00:02:36,230 ένας καλός τρόπος συγγραφής κώδικα. 60 00:02:36,230 --> 00:02:38,260 Κάνει τον κωδικό σας πιο διατηρήσιμη, πιο εύχρηστο, 61 00:02:38,260 --> 00:02:40,030 ούτω καθεξής και ούτω καθεξής. 62 00:02:40,030 --> 00:02:42,740 Και τέλος, το πράγμα που θέλω να τονίσω για πλαίσια 63 00:02:42,740 --> 00:02:45,980 σε σχέση με τις βιβλιοθήκες είναι η ιδέα για την αντιστροφή του ελέγχου, και το πράγμα είναι αυτό. 64 00:02:45,980 --> 00:02:48,430 Η διαφορά μεταξύ ενός βιβλιοθήκη και ένα πλαίσιο είναι ότι με μια βιβλιοθήκη 65 00:02:48,430 --> 00:02:51,990 είστε ακόμα γράφει το κύριο πρόγραμμα, 66 00:02:51,990 --> 00:02:54,460 και είστε το είδος επίκλησης της βιβλιοθήκης 67 00:02:54,460 --> 00:02:56,810 και καλείται η βιβλιοθήκη για να κάνω κάτι για σένα. 68 00:02:56,810 --> 00:02:58,180 Η διαφορά μεταξύ ενός βιβλιοθήκη και ένα πλαίσιο 69 00:02:58,180 --> 00:03:01,620 είναι ότι το πλαίσιο αρχίζει με τον έλεγχο, 70 00:03:01,620 --> 00:03:03,260 και επικαλείται τον κωδικό σας, 71 00:03:03,260 --> 00:03:06,190 ώστε να μπορείτε να σκεφτείτε από το ως - γι 'αυτό λέγεται ένα πλαίσιο - 72 00:03:06,190 --> 00:03:09,700 το πλαίσιο παρέχει αυτό το πλαίσιο και τη δομή για τον κωδικό σας, 73 00:03:09,700 --> 00:03:11,320 και να συμπληρώσετε τις τρύπες, 74 00:03:11,320 --> 00:03:13,990 και αυτό θα γίνουν περισσότερο εμφανή σε ένα δευτερόλεπτο 75 00:03:13,990 --> 00:03:16,670 όταν με βλέπετε να αρχίσετε να γράφετε κώδικα μέσα στο πλαίσιο της. 76 00:03:16,670 --> 00:03:19,130 Θα δείτε ότι είμαι συμπληρώνοντας τα κενά, 77 00:03:19,130 --> 00:03:22,450 και το πλαίσιο είναι το είδος του ελέγχου όλα τα κινούμενα κομμάτια, 78 00:03:22,450 --> 00:03:27,420 και πρέπει να θέσει τα κομμάτια στις σωστές θέσεις. 79 00:03:27,420 --> 00:03:29,360 >> Σήμερα θα πάμε να μιλήσουμε για Kohana, 80 00:03:29,360 --> 00:03:31,610 η οποία είναι μία από τις πολλές PHP πλαισίων. 81 00:03:31,610 --> 00:03:34,550 Υπάρχουν πλαίσια web, και υπάρχουν και αυτοί σχεδόν σε κάθε γλώσσα, 82 00:03:34,550 --> 00:03:38,330 και είμαι πάρει Kohana επειδή Kohana είναι αναμφισβήτητα 83 00:03:38,330 --> 00:03:43,250 και γενικά αναγνωρίζεται ως ο πιο εύκολος πλαίσιο PHP για να πάρει. 84 00:03:43,250 --> 00:03:45,940 Είναι το πιο ελαφρύ. 85 00:03:45,940 --> 00:03:48,470 Υπάρχουν και άλλοι εκεί έξω που έρχονται με πολλά, πολλά άλλα χαρακτηριστικά, 86 00:03:48,470 --> 00:03:51,590 αλλά τείνουν να είναι πιο δύσκολο να πάρει. 87 00:03:51,590 --> 00:03:54,920 Και τέλος, Kohana χρησιμοποιεί την αρχιτεκτονική MVC. 88 00:03:54,920 --> 00:03:57,780 Είναι αρκετά ελαφρύ ώστε να μπορέσουμε να οικοδομήσουμε κυριολεκτικά ένα έργο 89 00:03:57,780 --> 00:03:59,620 ακριβώς εδώ μπροστά από τα μάτια σας, και μπορείτε λίγο πολύ 90 00:03:59,620 --> 00:04:02,780 ακολουθήστε κατά μήκος αρκετά εύκολα. 91 00:04:02,780 --> 00:04:04,420 >> Ποια είναι η αρχιτεκτονική MVC; 92 00:04:04,420 --> 00:04:06,540 Ξεχωρίζει για Model-View-Controller, 93 00:04:06,540 --> 00:04:09,560 και ίσως αν νομίζετε σχετικά με τον κώδικα που έχετε γράψει μέχρι στιγμής 94 00:04:09,560 --> 00:04:11,280 για ορισμένες από psets ανάπτυξης ιστοσελίδων σας 95 00:04:11,280 --> 00:04:14,710 ενδέχεται να μπορείτε να δείτε μερικά από αυτά, αλλά συνήθως όταν αρχίσετε να γράφετε 96 00:04:14,710 --> 00:04:16,500 μια πιο σύνθετη εφαρμογή web, 97 00:04:16,500 --> 00:04:21,209 η διαίρεση μεταξύ αυτών των 3 τμημάτων γίνεται όλο και πιο εμφανής. 98 00:04:21,209 --> 00:04:26,740 Εγώ που το MVC εδώ είδους, όπως μια στοίβα, 99 00:04:26,740 --> 00:04:29,920 και συχνά θα ακούσετε άνθρωποι μιλούν για στοίβες στην ανάπτυξη ιστοσελίδων, 100 00:04:29,920 --> 00:04:33,760 και αυτό είναι για να απεικονίσουν την ιδέα ότι 101 00:04:33,760 --> 00:04:37,510 κάθε στρώμα, κάθε συστατικό πραγματικά προσπαθεί να επικοινωνεί μόνο 102 00:04:37,510 --> 00:04:40,750 μεταξύ 2 άλλα συστατικά. 103 00:04:40,750 --> 00:04:44,550 Κάποιος πρόσβαση την ιστοσελίδα σας ως πελάτης ή ένα πρόγραμμα περιήγησης. 104 00:04:44,550 --> 00:04:48,870 Αλληλεπιδρούν με το πρόγραμμά σας με τον κωδικό του άποψη. 105 00:04:48,870 --> 00:04:50,500 Ο κωδικός θέα αλληλεπιδρά με τον ελεγκτή. 106 00:04:50,500 --> 00:04:52,400 Ο ελεγκτής αλληλεπιδρά με το μοντέλο, 107 00:04:52,400 --> 00:04:55,090 και το μοντέλο αλληλεπιδρά με τη βάση δεδομένων SQL. 108 00:04:55,090 --> 00:04:59,670 Και δεν υπάρχει hopping στο μεταξύ αν γράψετε τον κωδικό σας σωστά. 109 00:04:59,670 --> 00:05:01,670 >> Τι σημαίνουν αυτά τα πράγματα να κάνω; 110 00:05:01,670 --> 00:05:06,020 Το μοντέλο είναι ουσιαστικά το κομμάτι του κώδικα που ασχολείται με τα δεδομένα σας. 111 00:05:06,020 --> 00:05:09,100 Κάτι που ασχολείται με τη βάση δεδομένων σας, με τα αντικείμενα που μπορείτε να αποθηκεύσετε, 112 00:05:09,100 --> 00:05:11,280 ή κατά την ανάκτηση των εν λόγω αντικειμένων στη βάση δεδομένων, 113 00:05:11,280 --> 00:05:13,450 ότι είναι όλα από το μοντέλο. 114 00:05:13,450 --> 00:05:15,290 Ίσως έχετε αντικείμενα της βάσης δεδομένων σας. 115 00:05:15,290 --> 00:05:17,700 Εμείς πάμε για να δημιουργήσει ένα μοντέλο που έχουν να κάνουν με τις θέσεις, 116 00:05:17,700 --> 00:05:19,760 έτσι μια θέση μπορεί να έχει κάποια χαρακτηριστικά σε αυτό. 117 00:05:19,760 --> 00:05:23,900 Μπορεί να έχετε λειτουργίες γύρω από την αποθήκευση των μηνυμάτων ή κατά την ανάκτηση των μηνυμάτων 118 00:05:23,900 --> 00:05:26,270 ή να φιλτράρουν τα μηνύματα και ούτω καθεξής και ούτω καθεξής, 119 00:05:26,270 --> 00:05:28,880 και αυτό είναι όλος ο κώδικας που χειρίστηκε από το μοντέλο. 120 00:05:28,880 --> 00:05:31,780 Ο ελεγκτής είναι το είδος της λογικής της εφαρμογής, 121 00:05:31,780 --> 00:05:37,910 και πολλά διαφορετικά πράγματα μπορούν να πάνε στη λογική της εφαρμογής. 122 00:05:37,910 --> 00:05:39,790 Αν μιλάμε για ένα διαφορετικό API, 123 00:05:39,790 --> 00:05:42,310 ότι μπορεί να είναι όταν έχεις να κάνεις με την λογική της εφαρμογής. 124 00:05:42,310 --> 00:05:47,990 Εάν προσπαθείτε να πρέπει να φέρει σε δεδομένα από πολλαπλές διαφορετικά μοντέλα 125 00:05:47,990 --> 00:05:51,540 και πρέπει να τα συνδυάσετε με κάποιο τρόπο, που συχνά μπορεί να γίνεται από τον ελεγκτή. 126 00:05:51,540 --> 00:05:53,820 Για παράδειγμα, στο Facebook, αν κάποιος φίλος, 127 00:05:53,820 --> 00:05:58,500 τότε ίσως η πράξη της δημιουργίας αυτής της σχέσης 128 00:05:58,500 --> 00:06:00,490 μπορεί να γίνει από τον ελεγκτή. 129 00:06:00,490 --> 00:06:04,350 >> Και τέλος, η θέα είναι ο κώδικας που παράγει είναι ό, τι μπορείτε πραγματικά να δείτε. 130 00:06:04,350 --> 00:06:07,410 Πολλές φορές νομίζω ότι στα psets CS50 131 00:06:07,410 --> 00:06:10,050 δεν πραγματικά να σας ενθαρρύνουμε τα παιδιά να διαχωρίσετε αυτά τα 3 πράγματα. 132 00:06:10,050 --> 00:06:12,430 Θα πρέπει πιθανώς να έχουν αυτό το μεγάλο, μεγάλο αρχείο, όπου στην κορυφή 133 00:06:12,430 --> 00:06:15,130 κάνετε κάποιο ερώτημα SQL και ίσως να κάνουμε κάποια επεξεργασία 134 00:06:15,130 --> 00:06:17,020 σχετικά με τα δεδομένα που ανακτώνται από τη βάση δεδομένων, 135 00:06:17,020 --> 00:06:19,370 και στη συνέχεια να έχετε όλα σας HTML στο κάτω μέρος. 136 00:06:19,370 --> 00:06:22,840 Και μπορείτε να διαπιστώσετε ότι έχετε δημιουργήσει όλο και περισσότερες σελίδες 137 00:06:22,840 --> 00:06:25,790 ότι θα πάμε να έχουν κάποια επανάληψη κώδικα, και επίσης, 138 00:06:25,790 --> 00:06:29,600 το θέμα είναι το αρχείο σας είναι πραγματικά μεγάλη και μακρά 139 00:06:29,600 --> 00:06:32,370 και γίνεται δυσκίνητο να διαχειριστεί. 140 00:06:32,370 --> 00:06:34,500 Ο λόγος για τον οποίο MVC είναι τόσο καλά θεωρηθεί 141 00:06:34,500 --> 00:06:36,120 είναι για πολλούς λόγους. 142 00:06:36,120 --> 00:06:38,110 Το πρώτο πράγμα είναι κάτι που ονομάζεται διαχωρισμός των ανησυχιών 143 00:06:38,110 --> 00:06:40,370 η οποία είναι η ιδέα ότι όταν έχεις - 144 00:06:40,370 --> 00:06:43,520 ιδανικά 1 κομμάτι του κώδικα πρέπει να κάνει 1 πράγμα και να το κάνουμε πολύ καλά, 145 00:06:43,520 --> 00:06:47,210 και δεν πρέπει να συνδυάζουν κομμάτια κώδικα που κάνουν ανόμοια πράγματα. 146 00:06:47,210 --> 00:06:49,230 Για παράδειγμα, να προβάλετε και κωδικός μοντέλου, 147 00:06:49,230 --> 00:06:51,040 δεν έχουν πραγματικά να σχετίζονται. 148 00:06:51,040 --> 00:06:53,290 Δεν χρειάζεται να είναι στα ίδια αρχεία, οπότε όταν μπορείτε, να διαχωριστούν από 149 00:06:53,290 --> 00:06:55,300 έτσι είναι εύκολο να διατηρηθεί. 150 00:06:55,300 --> 00:06:57,130 >> Το άλλο πράγμα είναι η επαναχρησιμοποίηση κώδικα. 151 00:06:57,130 --> 00:06:59,770 Μπορείτε να βρείτε τον εαυτό σας γραπτώς το ίδιο ερώτημα SQL ή να κάνει 152 00:06:59,770 --> 00:07:03,060 παρόμοια ερωτήματα που θα μπορούσε να αντληθεί σε 1 λειτουργία, 153 00:07:03,060 --> 00:07:05,440 και αυτή είναι η ιδέα πίσω από τα μοντέλα και των ελεγκτών, 154 00:07:05,440 --> 00:07:09,690 έχοντας σε ξεχωριστή λειτουργία που μπορείτε να χρησιμοποιήσετε ξανά σε διαφορετικά σημεία στο έργο σας. 155 00:07:09,690 --> 00:07:12,420 Και, τέλος, ότι είναι συνδεδεμένη με την ξήρανση τον κωδικό σας, 156 00:07:12,420 --> 00:07:14,700 ή όχι επαναλαμβάνοντας τον εαυτό σας, μην επαναλάβει τον εαυτό σας. 157 00:07:14,700 --> 00:07:18,090 Αυτό είναι πολύ κατανοητό στην ανάπτυξη. 158 00:07:18,090 --> 00:07:20,110 Όποτε μπορείτε, δεν θέλετε να επαναλάβει τον εαυτό σας, γιατί αν εσείς οι ίδιοι επαναλαμβάνω, 159 00:07:20,760 --> 00:07:23,400  είναι πολύ πιο δαπανηρό να διατηρηθούν. 160 00:07:23,400 --> 00:07:26,040 Αν θέλετε να αλλάξετε 1 πράγμα, θα πρέπει να το αλλάξετε παντού, 161 00:07:26,040 --> 00:07:30,230 και που οδηγεί σε σφάλματα, και είναι φρικτό. 162 00:07:30,230 --> 00:07:32,010 >> Εντάξει. 163 00:07:32,010 --> 00:07:37,270 Οποιεσδήποτε ερωτήσεις μέχρι τώρα για Kohana καθόλου; 164 00:07:37,270 --> 00:07:39,200 Μεγάλη. 165 00:07:39,200 --> 00:07:42,300 Τώρα θα πάμε να βουτήξει στην ζωντανή συνεδρία κωδικοποίησης, 166 00:07:42,300 --> 00:07:48,050 και ελπίζουμε ότι όλα θα πάνε καλά. 167 00:07:57,200 --> 00:08:00,050 Πάω να χτίσει ουσιαστικά αυτή την ιστοσελίδα 168 00:08:00,050 --> 00:08:03,910 σε έναν από τους απομακρυσμένους διακομιστές μου, και αυτόν τον τρόπο εσείς μπορούν επίσης να 169 00:08:03,910 --> 00:08:06,310 δείτε την ιστοσελίδα και την πρόσβαση στην ιστοσελίδα, 170 00:08:06,310 --> 00:08:10,990 καθώς επίσης και το περιβάλλον είναι καλύτερη Ρυθμίζεται από απομακρυσμένο υπολογιστή μου, 171 00:08:10,990 --> 00:08:14,580 επειδή τρέχει Linux αντί του OS X. 172 00:08:14,580 --> 00:08:16,260 Είμαστε κυριολεκτικά πρόκειται να ξεκινήσει. 173 00:08:16,260 --> 00:08:18,110 KohanaFramework.org. 174 00:08:18,110 --> 00:08:21,350 Πάω να κατεβάσετε τον κώδικα από το δικτυακό τόπο. 175 00:08:21,350 --> 00:08:24,610 Πάω να αντιγράψετε τη διεύθυνση του συνδέσμου, 176 00:08:24,610 --> 00:08:29,770 πηγαίνετε στο server μου, να το κατεβάσετε, 177 00:08:29,770 --> 00:08:33,000 και πάω να το εξαγάγετε. 178 00:08:38,330 --> 00:08:45,710 >> [Φοιτητής] Ποιο είναι το μεγαλύτερο που μπορείτε να κάνετε το κείμενο; 179 00:08:45,710 --> 00:08:47,330 [Brandon Liu] είναι ότι η καλύτερη; 180 00:08:47,330 --> 00:08:50,070 [Φοιτητής] Είναι αυτό εφικτό; >> [Brandon Liu] Ναι, αυτό είναι εντάξει. 181 00:08:50,070 --> 00:08:54,500 Έχω κατεβάσει ένα αρχείο ZIP και αποσυμπιεστούν ότι σε έναν κατάλογο που ονομάζεται Kohana, 182 00:08:54,500 --> 00:08:58,820 και θα πάμε για να μετονομάσετε αυτό το CS50-Kohana, 183 00:08:58,820 --> 00:09:01,140 και ας πάμε μέσα 184 00:09:01,140 --> 00:09:03,610 Awesome. 185 00:09:03,610 --> 00:09:06,870 Εδώ θα δείτε ένα σωρό από διαφορετικά αρχεία. 186 00:09:06,870 --> 00:09:10,140 Οι περισσότεροι από εσάς μπορεί να αγνοήσει - Μπήκαμε δεν πρόκειται να περάσουν από κάθε αρχείο που είναι εδώ 187 00:09:10,140 --> 00:09:13,130 λόγω του περιορισμένου χρόνου μας, 188 00:09:13,130 --> 00:09:16,310 αλλά γενικά όταν εγκαθιστάτε Kohana, το πρώτο πράγμα που κάνετε 189 00:09:16,310 --> 00:09:23,210 είναι να πάτε στον κατάλογο, 190 00:09:23,210 --> 00:09:26,050 και θα κάνει ουσιαστικά κάποιες δοκιμές περιβάλλοντος και εταζέρα 191 00:09:26,050 --> 00:09:28,640 για να βεβαιωθείτε ότι το περιβάλλον σας έχει ρυθμιστεί σωστά για να τρέξει Kohana 192 00:09:28,640 --> 00:09:31,450 και βεβαιωθείτε ότι όλα είναι εντάξει. 193 00:09:31,450 --> 00:09:35,510 Μπορείτε να δείτε τα περισσότερα πράγματα που πέρασαν, αλλά γενικά μπορείτε πάντα να αντιμετωπίσετε αυτό το πρόβλημα 1 194 00:09:35,510 --> 00:09:38,180 όπου καταγγέλλει ότι ορισμένοι δεν είναι εγγράψιμος, 195 00:09:38,180 --> 00:09:40,410 και αυτό γιατί ορισμένα δικαιώματα. 196 00:09:40,410 --> 00:09:43,080 Δεν ξέρω πόσο εσείς έχετε μάθει σχετικά με τα δικαιώματα του αρχείου σε CS50, 197 00:09:43,080 --> 00:09:47,920 αλλά αν το κάνετε web development, θα πάμε να τρέξει σε αυτό το θέμα πολύ. 198 00:09:47,920 --> 00:09:58,340 Πάω να καταστεί εγγράψιμος 199 00:09:58,340 --> 00:10:03,390 και νομίζω ότι πρέπει επίσης να - εκεί πάμε. 200 00:10:03,390 --> 00:10:07,040 >> Εντάξει, έτσι τώρα μπορείτε να δείτε όλα πέρασαν, 201 00:10:07,040 --> 00:10:10,000 και τώρα θα σας πω για να μετονομάσετε το αρχείο install.php. 202 00:10:10,000 --> 00:10:15,630 Πάω να μετακινήσετε το αρχείο install.php να installed.php, 203 00:10:15,630 --> 00:10:19,610 και τώρα αν μου ανανεώσετε, 204 00:10:19,610 --> 00:10:22,810 μου δίνει κάποιο λάθος, και αυτό είναι όπου η debugging μπαίνει 205 00:10:22,810 --> 00:10:25,610 Αυτό είναι όπου μπορείτε να δείτε τι πραγματικά πρόκειται να συμβεί. 206 00:10:25,610 --> 00:10:28,460 Το πράγμα είναι, από προεπιλογή, Kohana υποθέτει ότι 207 00:10:28,460 --> 00:10:31,480 το έργο σας είναι στο ριζικό κατάλογο του τομέα σας, 208 00:10:31,480 --> 00:10:35,920 γι 'αυτό σας περιμένει για να είναι σε demo.brandonkliu.com. 209 00:10:35,920 --> 00:10:37,540 Έχουμε να πω ότι είναι πραγματικά σε έναν υποφάκελο. 210 00:10:37,540 --> 00:10:39,820 Είναι σε έναν υποφάκελο που ονομάζεται CS50 Kohana. 211 00:10:39,820 --> 00:10:42,640 Το πράγμα είναι, είναι παρερμηνεύοντας CS50-Kohana 212 00:10:42,640 --> 00:10:45,680 ως κάτι άλλο, το οποίο εγώ θα σας εξηγήσω σε ένα δευτερόλεπτο. 213 00:10:45,680 --> 00:10:49,910 Αλλά πρέπει να σας πω ότι είναι κάτι που είναι αναμενόμενο. 214 00:10:49,910 --> 00:10:53,700 Τι θα πάμε να κάνουμε είναι να πάμε σε αυτό το φάκελο που ονομάζεται bootstrap.php, 215 00:10:53,700 --> 00:10:59,260 που είναι ο φάκελος διαμόρφωση όπου πολλά διαφορετικά πράγματα που έχουν συσταθεί. 216 00:10:59,260 --> 00:11:01,570 Ανοίγω το επάνω. 217 00:11:01,570 --> 00:11:09,790 Τότε ίσως ένα από τα πρώτα πράγματα που θα κάνετε είναι να αλλάξετε τη ζώνη ώρας. 218 00:11:09,790 --> 00:11:13,910 >> Και τότε ας δούμε. 219 00:11:13,910 --> 00:11:15,180 Aha! Ακριβώς εδώ. 220 00:11:15,180 --> 00:11:18,690 Υπάρχουν ένα σωρό διαφορετικά λόγια διαμόρφωσης εδώ, 221 00:11:18,690 --> 00:11:21,700 αλλά το ένα που ψάχνω είναι αυτό το πράγμα που ονομάζεται URL βάσης, 222 00:11:21,700 --> 00:11:24,570 και εξ ορισμού να πάρω το θέσετε σε Kohana, 223 00:11:24,570 --> 00:11:29,020 αλλά Πάω να αλλάξει αυτό για να CS50-Kohana, 224 00:11:29,020 --> 00:11:32,880 και νομίζω ότι πρέπει να το διορθώσετε. 225 00:11:32,880 --> 00:11:34,150 Ναι, μεγάλη. 226 00:11:34,150 --> 00:11:39,530 Από προεπιλογή, για να δείτε ότι λειτουργεί, λέει, "Hello World". 227 00:11:39,530 --> 00:11:42,930 Πού ότι προέρχονται από? Πώς φτάσαμε στο Hello World; 228 00:11:42,930 --> 00:11:47,640 Πού ακριβώς είναι ο κωδικός που πραγματικά το έγραψε αυτό; 229 00:11:47,640 --> 00:11:50,240 Να κατανοήσουν ότι, εγώ θα εισαγάγει την έννοια αυτή ονομάζεται δρομολόγηση. 230 00:11:50,240 --> 00:11:52,590 Λίγο πολύ όλα τα πλαίσια Ιστού έχουν την έννοια που ονομάζεται δρομολόγηση, 231 00:11:52,590 --> 00:11:57,230 το οποίο είναι το κομμάτι του λογισμικού που θα χαρτογραφήσει μια συγκεκριμένη διεύθυνση URL 232 00:11:57,230 --> 00:12:01,550 σε ένα συγκεκριμένο κομμάτι του κώδικα στο πλαίσιό σας. 233 00:12:01,550 --> 00:12:07,510 Για παράδειγμα, αν έχετε κάποια διεύθυνση URL και να πάτε σε κάποια διεύθυνση URL, όπως foo.com / blog / all 234 00:12:07,510 --> 00:12:11,170 τότε τι είναι το πλαίσιο πρόκειται να κάνει - ή τουλάχιστον ό, τι Kohana πρόκειται να κάνει - 235 00:12:11,170 --> 00:12:15,540 είναι ότι πρόκειται να βρείτε μια κατηγορία που ονομάζεται blog ελεγκτή, 236 00:12:15,540 --> 00:12:18,720 και πρόκειται να εκτελέσετε τη λειτουργία που ονομάζεται δράση όλων. 237 00:12:18,720 --> 00:12:20,160 Ξέρω ότι είμαι μιλάμε για τάξη και τις λειτουργίες, 238 00:12:20,160 --> 00:12:23,860 και ξέρω ότι εσείς δεν αφορά τις κλάσεις και τις λειτουργίες 239 00:12:23,860 --> 00:12:26,470 ακόμα CS50, αλλά για τώρα, 240 00:12:26,470 --> 00:12:29,800 μπορείτε να σκεφτείτε τις κατηγορίες ως απλά μια ομάδα λειτουργιών, 241 00:12:29,800 --> 00:12:32,900 ένας τρόπος ομαδοποίησης των λειτουργιών μαζί. 242 00:12:32,900 --> 00:12:37,690 Αυτό είναι πραγματικά όλα όσα χρειάζεται να ξέρετε. 243 00:12:37,690 --> 00:12:43,120 >> Τώρα, αν κοιτάξουμε τη δομή του φακέλου μας, 244 00:12:43,120 --> 00:12:47,110 μέσα στο φάκελο της εφαρμογής υπάρχει και ένα άλλο φάκελο που ονομάζεται τάξεις, 245 00:12:47,110 --> 00:12:49,200 και οι άλλοι φάκελοι που ονομάζεται ελεγκτή και μοντέλο. 246 00:12:49,200 --> 00:12:52,530 Αν κοιτάξετε μέσα στο φάκελο ελεγκτή, 247 00:12:52,530 --> 00:12:56,330 βλέπουμε ότι υπάρχει ένα αρχείο που λέγεται Καλώς ήρθατε, 248 00:12:56,330 --> 00:13:00,370 και μπορείτε να δείτε εδώ είναι μια κατηγορία που ονομάζεται ελεγκτής Καλώς ήρθατε, 249 00:13:00,370 --> 00:13:02,340 και υπάρχει μια λειτουργία που ονομάζεται Δράση Index, 250 00:13:02,340 --> 00:13:06,360 και αυτό που κάνει είναι να θέτει το σώμα του την ανταπόκρισή σας στο Hello World. 251 00:13:06,360 --> 00:13:08,730 Αυτός είναι όπου ο κώδικας έχει αρχίσει να γράφεται. 252 00:13:08,730 --> 00:13:11,610 Το άλλο ερώτημα είναι, καλά, εγώ δεν πάω να 253 00:13:11,610 --> 00:13:13,680 μπλα, μπλα, μπλα, / welcome / index. 254 00:13:13,680 --> 00:13:16,250 Πώς μπορώ να καταλήγουν εδώ; 255 00:13:16,250 --> 00:13:20,410 Λοιπόν, αυτό είναι απλώς και μόνο επειδή 256 00:13:20,410 --> 00:13:22,410 εδώ στο κάτω μέρος της εκκίνησης αρχείο μας 257 00:13:22,410 --> 00:13:24,550 όπου θέσαμε διαδρομές μας 258 00:13:24,550 --> 00:13:26,570 μπορείτε να δείτε ότι θέτουν ορισμένες ρυθμίσεις για σας. 259 00:13:26,570 --> 00:13:28,990 Η προεπιλεγμένη ελεγκτής είναι Καλώς ήρθατε. Η προεπιλεγμένη ενέργεια είναι ο Δείκτης. 260 00:13:28,990 --> 00:13:31,600 Γι 'αυτό όταν βάζουμε τίποτα εκεί αυτόματα πήγε στο Welcome ελεγκτή 261 00:13:31,600 --> 00:13:33,940 και η Δράση του δείκτη. 262 00:13:33,940 --> 00:13:37,460 >> Πάντα νόημα μέχρι στιγμής; 263 00:13:37,460 --> 00:13:40,850 Τώρα, μπορείτε να κάνετε περισσότερα από ό, τι πήγαινε να Controller 264 00:13:40,850 --> 00:13:43,670 και μια συγκεκριμένη δράση. 265 00:13:43,670 --> 00:13:48,480 Μπορείτε επίσης να περάσετε παραμέτρους στον ελεγκτή. 266 00:13:48,480 --> 00:13:56,390 Ακριβώς όπως ένα παράδειγμα, 267 00:13:56,390 --> 00:14:04,070 Πάω να προσθέσετε και άλλη ενέργεια σε αυτόν τον ελεγκτή για να σας δείξω. 268 00:14:04,070 --> 00:14:09,130 Ας το ονομάσουμε αυτή την ενέργεια Echo, επειδή πρόκειται να σας πω ό, τι σας το δώσει, 269 00:14:09,130 --> 00:14:17,510 και έτσι είμαι βασικά πρόκειται να αρπάξει 270 00:14:17,510 --> 00:14:20,960 μια παράμετρος που πρόκειται να αποσταλούν μέσω εμού στο πρόγραμμα δρομολόγησης, 271 00:14:20,960 --> 00:14:24,440 και όπως μπορείτε να δείτε εδώ, 272 00:14:24,440 --> 00:14:28,440 αυτή τη γραμμή εδώ, μπορείτε να δείτε ότι 273 00:14:28,440 --> 00:14:31,270 Αυτό σημαίνει βασικά έχετε ελεγκτή, και έχετε ένα /, 274 00:14:31,270 --> 00:14:33,480 και έχετε ενέργεια, και έχετε μια άλλη /, 275 00:14:33,480 --> 00:14:39,140 και ότι πρόκειται να είναι παραμέτρους, και επειδή έχουμε αυτό το αναγνωριστικό όνομα 276 00:14:39,140 --> 00:14:42,450 μέσα σε παρένθεση γωνία, αυτό σημαίνει ότι είμαστε ονομάζοντας αυτό το αναγνωριστικό παραμέτρου. 277 00:14:42,450 --> 00:14:45,490 Αργότερα στον κώδικα ελεγκτή μου αν θέλετε να πάρετε μια λαβή αυτής της παραμέτρου, 278 00:14:45,490 --> 00:14:51,790 Μπορώ να χρησιμοποιήσω τον κώδικα που έγραψα, βρείτε την παράμετρο που ονομάζεται ID. 279 00:14:51,790 --> 00:14:59,290 Αυτό είναι ό, τι έκανα εδώ, και είμαι πρόκειται να επιστρέψει και να πει, 280 00:14:59,290 --> 00:15:07,090 «Είπατε ότι". 281 00:15:07,090 --> 00:15:10,760 Και έτσι τώρα αν πάω στην ιστοσελίδα μας, 282 00:15:10,760 --> 00:15:19,550 Πάω να cs50-kohana/welcome/echo/Helloooo-- 283 00:15:19,550 --> 00:15:21,420 Ω, αυτό είναι σωστό. 284 00:15:21,420 --> 00:15:23,930 Υπάρχει 1 βήμα άφησα έξω. 285 00:15:23,930 --> 00:15:27,020 Αυτό είναι μέρος της ζωντανής ιδέα κωδικοποίησης. 286 00:15:27,020 --> 00:15:36,100 >> Εδώ είναι 1 πράγμα. Ας δούμε. 287 00:15:36,100 --> 00:15:38,870 Έτσι, συνήθως από προεπιλογή με πολλές από αυτές τις εφαρμογές web 288 00:15:38,870 --> 00:15:42,820 θα πρέπει να συμπεριλάβετε αυτό το index.php πράγμα στη διεύθυνση URL σας, 289 00:15:42,820 --> 00:15:46,410 επειδή η ιδέα index.php είναι το είδος του σημείου εισόδου 290 00:15:46,410 --> 00:15:48,250 της αίτησής σας, αλλά φυσικά, 291 00:15:48,250 --> 00:15:50,110 αυτό είναι το είδος ενοχλητικό να έχουν. 292 00:15:50,110 --> 00:15:53,790 Δεν θέλετε να έχετε index.php εμφανίζεται στη διεύθυνση URL σας, 293 00:15:53,790 --> 00:15:56,080 και λίγο πολύ κάθε web πλαίσιο έξω από το κουτί 294 00:15:56,080 --> 00:15:58,440 έχει αυτό το πρόβλημα index.php, 295 00:15:58,440 --> 00:16:03,370 και έτσι θα πρέπει να λάβουν κάποια μέτρα για να είναι σε θέση να καταργήσετε αυτό. 296 00:16:03,370 --> 00:16:07,540 Και στην προκειμένη περίπτωση, 297 00:16:07,540 --> 00:16:11,450 τι θα πάμε να κάνουμε είναι να πάμε να χρησιμοποιήσετε ένα αρχείο που ονομάζεται. htaccess, 298 00:16:11,450 --> 00:16:13,900 και αυτό είναι κάτι που είναι ειδικά για το web server Apache, 299 00:16:13,900 --> 00:16:16,290 και μπορεί να κάνει τα πράγματα όπως ξαναγράψει URLs 300 00:16:16,290 --> 00:16:19,350 και τις διευθύνσεις URL ανακατεύθυνσης και ούτω καθεξής και ούτω καθεξής, 301 00:16:19,350 --> 00:16:24,280 και Kohana είναι αρκετά καλό για να παρέχουν ένα πρότυπο. htaccess αρχείο που μπορούμε να χρησιμοποιήσουμε. 302 00:16:24,280 --> 00:16:28,300 >> Όπως μπορείτε να δείτε, υπάρχει ένα αρχείο που ονομάζεται εκεί example.htaccess, 303 00:16:28,300 --> 00:16:33,410 και θα πάμε για να αντιγράψετε ότι για να. htaccess. 304 00:16:33,410 --> 00:16:36,950 Πάω να ανοίξει αυτό και να το επεξεργαστείτε, 305 00:16:36,950 --> 00:16:40,840 και ουσιαστικά να κάνει ένα σωρό διαφορετικά πράγματα. 306 00:16:40,840 --> 00:16:45,320 Η βασική γραμμή μπορεί να θέλετε να εξετάσουμε είναι ακριβώς εδώ. 307 00:16:45,320 --> 00:16:49,840 Η ιδέα είναι ότι αυτό δημιουργεί έναν κανόνα που λέει, 308 00:16:49,840 --> 00:16:56,400 "Εντάξει, ό, τι πληκτρολογείτε, βάλε index.php σε αυτό." 309 00:16:56,400 --> 00:16:58,710 Μπορείτε να δείτε ότι. 310 00:16:58,710 --> 00:17:00,370 Η. * Σημαίνει τίποτα, ταιριάζει με τίποτα, 311 00:17:00,370 --> 00:17:03,300 και στη συνέχεια το δεύτερο μέρος είναι index.php / $ 0, 312 00:17:03,300 --> 00:17:07,410 και $ 0 αναφέρεται σε ό, τι ταιριάστηκε στο παρελθόν. 313 00:17:07,410 --> 00:17:09,500 Μήπως αυτό έχει νόημα; 314 00:17:09,500 --> 00:17:12,190 Αλλά το πραγματικά βασικό πράγμα που θέλετε να αλλάξετε είναι η αλλαγή αυτής της βάσης ξαναγράψει, 315 00:17:12,190 --> 00:17:14,300 η οποία είναι η βάση URL. 316 00:17:14,300 --> 00:17:17,780 Το είδος του προϋποθέτει όπου εργάζεστε από το. 317 00:17:17,780 --> 00:17:22,560 Πάω να προσθέσετε CS50 Kohana σε αυτό, 318 00:17:22,560 --> 00:17:26,530 και με αυτόν τον τρόπο τώρα αν μπορώ να αφαιρέσω το index.php, 319 00:17:26,530 --> 00:17:32,110 θα πρέπει να λειτουργεί, και πάω να προσθέσω κάποιους αριθμούς 320 00:17:32,110 --> 00:17:36,380 να σας δείξω, ότι όντως το έργο. 321 00:17:36,380 --> 00:17:38,130 Ακούγεται καλό. 322 00:17:38,130 --> 00:17:40,260 >> Οποιεσδήποτε ερωτήσεις μέχρι τώρα; 323 00:17:40,260 --> 00:17:42,300 [Φοιτητής] Πως ήξερε να κάνει το 123; 324 00:17:42,300 --> 00:17:44,120 Είναι ότι ένα επιχείρημα; 325 00:17:44,120 --> 00:17:46,560 Ακριβώς. Μπορείτε να σκεφτείτε ότι ακριβώς όπως ένα επιχείρημα. 326 00:17:46,560 --> 00:17:52,410 Αλλά το παράξενο πράγμα, όμως, είναι ότι ο τρόπος που το κάνει Kohana 327 00:17:52,410 --> 00:17:54,910 είναι ότι δεν το κάνουν ακριβώς όπως ένα επιχείρημα. 328 00:17:54,910 --> 00:17:56,930 Θα πρέπει να το αρπάξει σαν αυτό. 329 00:17:56,930 --> 00:18:01,030 Θα πρέπει να πάρετε το αντικείμενο αίτησης και να ζητήσει την παράμετρο που το όνομά του ID, 330 00:18:01,030 --> 00:18:03,240 και ότι η ID όνομα προέρχεται από το αρχείο εκκίνησης 331 00:18:03,240 --> 00:18:06,990 ότι έδειξα νωρίτερα, και το αναγνωριστικό του όνομα ήταν σε αυτές τις γωνιακές αγκύλες, 332 00:18:06,990 --> 00:18:11,580 και αυτό είναι το πώς θα αρπάξει αυτές τις παραμέτρους. 333 00:18:11,580 --> 00:18:14,010 Awesome. 334 00:18:14,010 --> 00:18:17,550 Οποιεσδήποτε άλλες ερωτήσεις; 335 00:18:17,550 --> 00:18:20,500 Όπως είπα, οι ελεγκτές, που χειρίζονται λογική της εφαρμογής, 336 00:18:20,500 --> 00:18:22,980 έτσι ώστε να είναι 1 παράδειγμα, όπου μπορείτε να δείτε that's - 337 00:18:22,980 --> 00:18:24,830 Είναι πολύ βασικό, αλλά είναι ακόμα λογική της εφαρμογής, 338 00:18:24,830 --> 00:18:27,980 η ιδέα της αρπαγής της παραμέτρου και δημιουργώντας μια νέα σειρά 339 00:18:27,980 --> 00:18:31,920 που λέει, «Είπατε μπλα," και στη συνέχεια φτύσιμο ότι πίσω σε σας. 340 00:18:31,920 --> 00:18:34,030 Και γενικά αυτό που κάνετε είναι να δημιουργήσετε διαφορετικούς ελεγκτές. 341 00:18:34,030 --> 00:18:36,450 Μπορείτε να δημιουργήσετε διαφορετικούς ελεγκτές για τα διαφορετικά μέρη του δικτυακού σας τόπου. 342 00:18:36,450 --> 00:18:38,160 >> Σήμερα θα πάμε για να κάνει μια πολύ απλή ιστοσελίδα, 343 00:18:38,160 --> 00:18:40,420 και αυτό πρόκειται να είναι ένα πολύ βασικό blog. 344 00:18:40,420 --> 00:18:43,780 Εμείς πάμε για να κάνει ένα νέο χειριστήριο μόνο για τις θέσεις σε ένα blog. 345 00:18:43,780 --> 00:18:47,060 Στη συνέχεια, όμως, αν επρόκειτο να προσθέσω επίσης τις παρατηρήσεις στο blog post, 346 00:18:47,060 --> 00:18:50,140 τότε θα μπορούσε πιθανότατα να θέλουν να κάνουν ένα νέο χειριστήριο για τις παρατηρήσεις αυτές. 347 00:18:50,140 --> 00:18:53,380 Αν ήθελα να προσθέσω τους χρήστες, θα ήθελα να προσθέσω πιθανώς ένα νέο χειριστήριο για τους χρήστες, 348 00:18:53,380 --> 00:18:57,000 και σε γενικές γραμμές, η ιδέα είναι ότι κάθε φορά που έχετε ένα νέο μοντέλο, 349 00:18:57,000 --> 00:18:59,630 ένα νέο αντικείμενο δεδομένων που έχουμε να κάνουμε με, 350 00:18:59,630 --> 00:19:02,970 έχετε έναν ελεγκτή για το αντικείμενο δεδομένων. 351 00:19:02,970 --> 00:19:04,370 Σήμερα είμαστε μόνο πρόκειται να συνεργαστεί με 1 αντικείμενο δεδομένων, 352 00:19:04,370 --> 00:19:06,250 και ότι πρόκειται να είναι θέσεις, 353 00:19:06,250 --> 00:19:08,710 και, επίσης, μπορείτε να σκεφτείτε αντικείμενα δεδομένων που αντιστοιχούν στα τραπέζια. 354 00:19:08,710 --> 00:19:12,160 Γενικά κάθε πίνακας αντιστοιχεί σε 1 τύπο αντικειμένου δεδομένων, 355 00:19:12,160 --> 00:19:15,160 έτσι ώστε ο πίνακας μετά θα έχει 1 δημοσίευση μοντέλο, 356 00:19:15,160 --> 00:19:18,230 η οποία θα έχει 1 θέση ελεγκτή που αντιστοιχεί σε αυτό, 357 00:19:18,230 --> 00:19:22,190 και το ίδιο για τις παρατηρήσεις, το ίδιο για τους χρήστες, και ούτω καθεξής και ούτω καθεξής. 358 00:19:22,190 --> 00:19:24,070 Και αυτό είναι ένας γενικός κανόνας. 359 00:19:24,070 --> 00:19:27,460 Υπάρχουν πρόκειται να είναι ειδικές περιπτώσεις όπου μπορεί να διαφέρει από εκείνη, 360 00:19:27,460 --> 00:19:29,300 αλλά το 90% του χρόνου που είναι ό, τι πρόκειται να κάνει, 361 00:19:29,300 --> 00:19:32,810 και εγώ θα σας δείξω ότι είναι ό, τι θα πάμε να κάνουμε σήμερα. 362 00:19:32,810 --> 00:19:35,490 1 περισσότερα ιδέα πριν βουτήξει πίσω στον κώδικα, 363 00:19:35,490 --> 00:19:37,710 αυτή η ιδέα του αντικειμένου σχεσιακή χαρτογράφηση. 364 00:19:37,710 --> 00:19:41,200 >> Εσείς έχετε ήδη κάνει μια ανάπτυξη ιστοσελίδων από το chipset, 365 00:19:41,200 --> 00:19:43,820 και έχετε δει ότι κάνετε ένα ερώτημα SQL, 366 00:19:43,820 --> 00:19:46,510 και ό, τι να επιστρέφει σε εσάς είναι σειρές. 367 00:19:46,510 --> 00:19:50,040 Μπορείτε να πάρετε αυτές τις σειρές, και το δείκτη σας τους με κάποιο όνομα, 368 00:19:50,040 --> 00:19:55,480 το όνομα της στήλης και του πίνακα, 369 00:19:55,480 --> 00:19:57,630 και αυτό είναι το πώς μπορείτε να εργαστείτε με αυτό, 370 00:19:57,630 --> 00:19:59,290 και μπορεί να είναι λίγο περίπλοκη. 371 00:19:59,290 --> 00:20:01,810 Αλλά επιπλέον, αν έχετε σχέσεις στη βάση δεδομένων σας, 372 00:20:01,810 --> 00:20:05,280 όπως, για παράδειγμα, αν έχω σχόλια και τις δημοσιεύσεις, 373 00:20:05,280 --> 00:20:11,240 τότε ίσως να θέλω να αρπάξει τη μητρική μετά από ένα σχόλιο. 374 00:20:11,240 --> 00:20:14,350 Αν μπορώ να χρησιμοποιήσω μόνο σειρές σε SQL, τότε το μόνο που μπορώ να πάρω είναι το αναγνωριστικό 375 00:20:14,350 --> 00:20:19,310 της μητρικής μετά και όχι το πραγματικό ίδια θέση. 376 00:20:19,310 --> 00:20:21,680 Αλλά όταν είμαστε κωδικοποίησης, αυτό που πραγματικά θέλουμε είναι να αρπάξει πραγματικά 377 00:20:21,680 --> 00:20:23,550  η μητρική δημοσιεύσετε το ίδιο μερικές φορές. 378 00:20:23,550 --> 00:20:25,730 Τι αντικείμενο σχεσιακή χαρτογράφηση δεν είναι 379 00:20:25,730 --> 00:20:29,480 παίρνει τα αποτελέσματα του ερωτήματος βάσης 380 00:20:29,480 --> 00:20:32,420 και το θέτει σε αντικείμενα για σας, τα οποία είναι πολύ καλύτερο να συνεργαστεί με 381 00:20:32,420 --> 00:20:34,770 από απλό πίνακες και σειρές. 382 00:20:34,770 --> 00:20:37,550 >> Για παράδειγμα, τώρα που έχω ένα σχόλιο, ίσως, 383 00:20:37,550 --> 00:20:40,900 και θέλω να αρπάξει μητρική μετά της, 384 00:20:40,900 --> 00:20:43,440 και εγώ ίσως να σχολιάσω βέλος μετά, 385 00:20:43,440 --> 00:20:45,230 τότε θα μου δώσει πραγματικά τη θέση αντικειμένου 386 00:20:45,230 --> 00:20:47,940 που αντιστοιχεί στο πραγματικό γονέα μετά, όχι μόνο κάποια ταυτότητα, 387 00:20:47,940 --> 00:20:52,210 που διαφορετικά δεν θα πρέπει να χρησιμοποιούν και να κάνει άλλο ένα ερώτημα SQL για να αρπάξει τη θέση, 388 00:20:52,210 --> 00:20:57,430 η οποία είναι επαχθής και περιττή. 389 00:20:57,430 --> 00:21:01,840 Και επιπλέον, με τη χαρτογράφηση όλων αυτών των σειρών δεδομένων σε αντικείμενα, 390 00:21:01,840 --> 00:21:03,760 μπορείτε επίσης να συνδέσετε περισσότερες λειτουργίες σε αντικείμενα, 391 00:21:03,760 --> 00:21:09,700 Έτσι, για παράδειγμα, μίλησα για το πώς οι τάξεις είναι ουσιαστικά ομάδες λειτουργιών. 392 00:21:09,700 --> 00:21:11,620 Μπορείτε να σκεφτείτε από το όπως αυτό. 393 00:21:11,620 --> 00:21:15,290 Για παράδειγμα, ίσως δεν έχω αυτή τη θέση αντικειμένου, 394 00:21:15,290 --> 00:21:17,830 και ίσως θα ήθελα να έχουν κάποιο είδος της λειτουργίας που συνδέονται με το 395 00:21:17,830 --> 00:21:20,300 αυτό μου λέει ουσιαστικά ήταν αυτό δημοσιεύτηκε πρόσφατα; 396 00:21:20,300 --> 00:21:23,570 Ήταν δημοσιεύτηκε την τελευταία εβδομάδα, αληθής ή ψευδής; 397 00:21:23,570 --> 00:21:27,320 Και αυτό είναι μια λειτουργία που μπορεί να συνδεθεί σε αυτό το αντικείμενο, 398 00:21:27,320 --> 00:21:31,300 και είναι πολύ βολικό για να το έχετε στην ίδια θέση, 399 00:21:31,300 --> 00:21:33,820 και υπάρχουν μια σειρά από διαφορετικές λειτουργίες που μπορείτε να δημιουργήσετε 400 00:21:33,820 --> 00:21:37,990 για αυτά τα αντικείμενα, και είναι πραγματικά ωραίο να είναι σε θέση να το συνδέσετε σε μια τάξη, 401 00:21:37,990 --> 00:21:41,700 σε ένα αντικείμενο, ενώ αν είχε μόλις σειρές που προέρχονται από τη βάση δεδομένων σας, 402 00:21:41,700 --> 00:21:43,790 τότε δεν μπορείτε να επισυνάψετε πραγματικά καμία λειτουργικότητα σε αυτό. 403 00:21:43,790 --> 00:21:47,850 Είναι κυριολεκτικά απλώς δεδομένα. 404 00:21:47,850 --> 00:21:50,550 Οποιεσδήποτε ερωτήσεις σχετικά με αυτό καθόλου; 405 00:21:50,550 --> 00:21:52,710 ΝΤΥΠΑ είναι πολύ κοινή ανάπτυξη ιστοσελίδων, 406 00:21:52,710 --> 00:21:56,330 και υπάρχουν πολλά διαφορετικά είδη των ΝΤΥΠΑ, 407 00:21:56,330 --> 00:21:58,450 και Kohana έχει το δικό του ORM. 408 00:21:58,450 --> 00:22:05,050 Είναι πολύ βασικό, αλλά θα πάρετε μια γεύση του τι μοιάζει. 409 00:22:05,050 --> 00:22:08,780 >> Ας δημιουργήσουμε ένα μοντέλο για τις θέσεις blog μας, 410 00:22:08,780 --> 00:22:12,350 και το πρώτο πράγμα που προφανώς χρειάζεται να κάνετε είναι να δημιουργήσετε ένα πραγματικό τραπέζι 411 00:22:12,350 --> 00:22:16,680 στη βάση δεδομένων μας για να αποθηκεύουν στην πραγματικότητα τα δεδομένα μας για τις θέσεις αυτές. 412 00:22:16,680 --> 00:22:19,260 Το πρώτο πράγμα που θα κάνω είναι να πάτε στο phpMyAdmin. 413 00:22:19,260 --> 00:22:21,410 Έχετε παιδιά χρησιμοποιούνται phpMyAdmin πριν; 414 00:22:21,410 --> 00:22:23,400 Εντάξει, φοβερό, έτσι ώστε εσείς ήδη ξέρετε τι είναι αυτό, 415 00:22:23,400 --> 00:22:32,200 και πάω να δημιουργήσετε έναν νέο πίνακα που ονομάζεται Kohana Δημοσιεύσεις, 416 00:22:32,200 --> 00:22:37,820 και πρόκειται να είναι πραγματικά απλή. 417 00:22:37,820 --> 00:22:40,190 Θα πρέπει να συνδεθείτε ξανά 418 00:23:02,620 --> 00:23:04,640 Όλα θα πάμε να κάνουμε σήμερα είναι να έχει ένα συγγραφέα και ένα σώμα, 419 00:23:04,640 --> 00:23:11,930 Απλά κρατήστε το απλό. 420 00:23:11,930 --> 00:23:15,620 Πάω να δημιουργήσει εκείνο το τραπέζι, 421 00:23:15,620 --> 00:23:19,620 και τώρα έχουμε μόνο έναν πίνακα που αντιπροσωπεύουν θέσεις μας 422 00:23:19,620 --> 00:23:23,370 με 2 πεδία για συγγραφέα μας και το σώμα μας. 423 00:23:23,370 --> 00:23:26,290 Το άλλο πράγμα που εγώ είμαι πρόκειται να κάνουμε τώρα είναι 424 00:23:26,290 --> 00:23:29,820 ρυθμίστε την εφαρμογή web μου, ώστε να ξέρει πώς να συνδεθεί με τη βάση δεδομένων, 425 00:23:29,820 --> 00:23:31,950 και αυτό, πάλι, είναι κάτι που θα έχετε να κάνετε με όλες τις εφαρμογές web. 426 00:23:31,950 --> 00:23:34,790 Θα πρέπει να πω το όνομα χρήστη και τον κωδικό πρόσβασης 427 00:23:34,790 --> 00:23:36,990 και το όνομα της βάσης δεδομένων και ούτω καθεξής και ούτω καθεξής 428 00:23:36,990 --> 00:23:40,000 να καταλάβω πώς να συνδεθεί πραγματικά με τη βάση δεδομένων σας. 429 00:23:40,000 --> 00:23:58,710 >> Στην Kohana, έχουμε κάτι που ονομάζεται μονάδα βάσης δεδομένων, 430 00:23:58,710 --> 00:24:02,690 και στο φάκελο ρυθμίσεων που έχουμε αυτόν το φάκελο που ονομάζεται Database, 431 00:24:02,690 --> 00:24:07,330 και όπως μπορείτε να δείτε, υπάρχουν ένα σωρό των ρυθμίσεων θα πρέπει να ορίσετε εδώ 432 00:24:07,330 --> 00:24:09,860 για να το πω ποιο είναι το όνομα χρήστη και τον κωδικό πρόσβασης 433 00:24:09,860 --> 00:24:13,110 για τη βάση δεδομένων ώστε να μπορώ να συνδεθεί πραγματικά με αυτό. 434 00:24:13,110 --> 00:24:15,010 Και επειδή δεν θέλω εσείς να ξέρει πραγματικά 435 00:24:15,010 --> 00:24:17,190 το όνομα χρήστη και τον κωδικό πρόσβασης της βάσης δεδομένων μου, 436 00:24:17,190 --> 00:24:23,840 Έχω ένα αρχείο που έχω ήδη όλα που έχει συσταθεί, και πάω να αντιγράψετε και να επικολλήσετε πάνω. 437 00:24:33,080 --> 00:24:36,870 Awesome. 438 00:24:36,870 --> 00:24:39,880 Εντάξει. Νομίζω ότι όλες οι ρυθμίσεις που πρέπει να κάνω, 439 00:24:39,880 --> 00:24:41,070 αλλά ας δούμε. 440 00:24:41,070 --> 00:24:43,720 Θα συνεχίσουμε να εργαζόμαστε σε αυτό, και αν κάτι κολλάει, 441 00:24:43,720 --> 00:24:47,490 τότε θα το διορθώσουμε. 442 00:24:47,490 --> 00:24:51,830 Τώρα τι Πάω να κάνουμε είναι να πάω να δημιουργήσετε ένα νέο ελεγκτή. 443 00:24:51,830 --> 00:24:53,190 Ή στην πραγματικότητα, συγγνώμη. 444 00:24:53,190 --> 00:24:55,080 Πρώτα πρέπει να δημιουργήσουμε ένα νέο μοντέλο. 445 00:24:55,080 --> 00:25:01,620 Θα δημιουργήσει ένα νέο μοντέλο που ονομάζεται Post.php, 446 00:25:01,620 --> 00:25:12,440 και τι θα πάμε να κάνουμε είναι να πάμε να το ονομάσουμε κατηγορία Model_Post. 447 00:25:12,440 --> 00:25:15,390 Πάρτε κάποια επισήμανση σύνταξης για, 448 00:25:15,390 --> 00:25:19,750 και έτσι όταν λέω, "επεκτείνεται ORM," αυτό είναι βασικά 449 00:25:19,750 --> 00:25:21,210 λίγο περισσότερο αντικειμενοστρεφή προγραμματισμό, 450 00:25:21,210 --> 00:25:23,340 η οποία, δυστυχώς, εσείς δεν έχετε μάθει ακόμα σε CS50, 451 00:25:23,340 --> 00:25:25,290 αλλά είναι αρκετά εύκολο να πάρει. 452 00:25:25,290 --> 00:25:27,950 Αυτό μου δίνει όλη αυτή την επιπλέον λειτουργικότητα που έρχεται σε αυτό το πακέτο ORM, 453 00:25:27,950 --> 00:25:31,120 και έτσι έχω ένα σωρό επιπλέον λειτουργίες και εταζέρα για δωρεάν, 454 00:25:31,120 --> 00:25:34,810 το οποίο θα δείτε ένα κομμάτι του σε ένα δευτερόλεπτο. 455 00:25:34,810 --> 00:25:37,670 >> Αυτή τη στιγμή στην πραγματικότητα το μόνο που χρειάζεται να κάνετε είναι να δημιουργήσετε αυτή την κατηγορία. 456 00:25:37,670 --> 00:25:39,160 Δεν χρειάζεται καν να κάνει οποιαδήποτε λειτουργία ή οτιδήποτε άλλο, 457 00:25:39,160 --> 00:25:41,770 αλλά έχω δημιουργήσει μια κατηγορία που αντιπροσωπεύει τον πίνακα, 458 00:25:41,770 --> 00:25:44,140 και επειδή έχω επεκταθεί αυτή την κατηγορία ORM, 459 00:25:44,140 --> 00:25:51,080 Παίρνω ένα σωρό πράγματα για δωρεάν, έτσι για τώρα δεν έχετε να ρυθμίσετε τίποτε πιο πάνω. 460 00:25:51,080 --> 00:25:53,530 Και τώρα τι Πάω να κάνουμε είναι να πάω για να δημιουργήσετε ένα νέο χειριστήριο, 461 00:25:53,530 --> 00:25:58,480 που Πάω να αναφέρουμε blog.php, 462 00:25:58,480 --> 00:26:04,350 και πάω να αντιγράψετε πάνω από το Welcome ελεγκτή 463 00:26:04,350 --> 00:26:11,950 έτσι δεν χρειάζεται να πληκτρολογείτε ξανά κάποια πράγματα, 464 00:26:11,950 --> 00:26:20,720 και τώρα έχω να μετονομάσετε αυτό. 465 00:26:20,720 --> 00:26:24,710 Τώρα τι Πάω να κάνω για να ελέγξετε για να βεβαιωθείτε ότι όλα λειτουργούν έξω, 466 00:26:24,710 --> 00:26:27,820 Πάω να αρπάξει την πρώτη θέση από τη βάση δεδομένων μου 467 00:26:27,820 --> 00:26:32,680 και να εκτυπώσετε το σώμα του τη θέση στην οθόνη. 468 00:26:32,680 --> 00:26:37,920 Για να γίνει αυτό, τι Πάω να κάνουμε πρώτα είναι Πάω να σώσει τις θέσεις 469 00:26:37,920 --> 00:26:48,770 σε μια μεταβλητή, ώστε ό, τι θα πάμε να κάνουμε είναι - 470 00:26:48,770 --> 00:26:52,090 Kohana σε αυτό που κάνετε είναι να αρπάξει τη θέση αντικειμένου 471 00:26:52,090 --> 00:26:55,380 Είναι το είδος της περίπλοκη, αλλά θα πρέπει να κάνετε αυτό το πράγμα που ονομάζεται ORM :: εργοστάσιο, 472 00:26:55,380 --> 00:26:57,750 και στη συνέχεια να περάσει στο όνομα του μοντέλου που θέλετε, 473 00:26:57,750 --> 00:27:00,490 και επιστρέφει το αντικείμενο ORM που αντιπροσωπεύει αυτό το μοντέλο. 474 00:27:00,490 --> 00:27:04,860 Και τότε, όπως είπα, όταν επεκτείνουμε το αντικείμενο ORM, 475 00:27:04,860 --> 00:27:07,320 παίρνουμε όλων αυτών των μεθόδων για δωρεάν, έτσι για παράδειγμα, 476 00:27:07,320 --> 00:27:09,200 έχουμε πάρει αυτή η νέα λειτουργία που ονομάζεται "βρείτε όλα" 477 00:27:09,200 --> 00:27:12,160 η οποία επιστρέφει αυτόματα σε κάθε ενιαία θέση στη βάση δεδομένων, 478 00:27:12,160 --> 00:27:14,850 το οποίο είναι αρκετά βολικό. 479 00:27:14,850 --> 00:27:17,480 >> Και τώρα στο σώμα Πάω να επιστρέψει 480 00:27:17,480 --> 00:27:24,860 η πρώτη θέση και να επιστρέψει το σώμα του. 481 00:27:24,860 --> 00:27:27,930 Και φυσικά, θα πρέπει να δημιουργήσετε μια θέση, 482 00:27:27,930 --> 00:27:31,880 οπότε ας προσθέσουμε μια νέα θέση. 483 00:27:31,880 --> 00:27:37,870 Θα πω, "Brandon, το πρώτο μου post." 484 00:27:37,870 --> 00:27:40,010 Awesome. 485 00:27:40,010 --> 00:27:45,910 Και τώρα πάμε για τα blogs 486 00:27:45,910 --> 00:27:50,960 και αν όλα λειτουργούν σωστά - ω, πρόκειται και πάλι για κάποιο άλλο πράγμα χαζή δικαιωμάτων στο αρχείο. 487 00:27:50,960 --> 00:27:56,090 Περίμενε 1 δευτερόλεπτο. Είναι το είδος του παραλόγου. 488 00:28:06,700 --> 00:28:08,490 Εκεί πάμε. Εντάξει. 489 00:28:08,490 --> 00:28:10,040 Έφτιαξα αυτό το πρόβλημα άδεια. 490 00:28:10,040 --> 00:28:12,040 Θα προσπαθούσε να δημιουργήσει κάποια αρχεία και κάποια καταγραφής, 491 00:28:12,040 --> 00:28:15,400 και τα δικαιώματα, και πάλι, δεν είχαν ρυθμιστεί σωστά, έτσι το έκανα 492 00:28:15,400 --> 00:28:18,320 έτσι ώστε αυτά τα αρχεία ήταν εγγράψιμο και εκτελέσιμο 493 00:28:18,320 --> 00:28:21,090 γι 'αυτό θα μπορούσε πραγματικά να συνδεθείτε με τα πράγματα. 494 00:28:21,090 --> 00:28:24,220 Τώρα είναι που μου έδωσε ένα άλλο ρητό εξαίρεση, "τάξη ORM δεν βρέθηκε" 495 00:28:24,220 --> 00:28:26,960 και αυτό γιατί ξέχασα ένα ακόμη βήμα. 496 00:28:26,960 --> 00:28:37,010 Αυτό είναι πολύ κακό. 497 00:28:37,010 --> 00:28:40,270 Στο αρχείο φάκελο εκκίνησης, υπάρχουν οι ενότητες αυτές εδώ, 498 00:28:40,270 --> 00:28:42,480 το οποίο μπορείτε να επιλέξετε να ενεργοποιήσετε ή να απενεργοποιήσετε. 499 00:28:42,480 --> 00:28:44,340 Πρόκειται για ένα σωρό διαφορετικά χαρακτηριστικά που μπορείτε να επιλέξετε να χρησιμοποιήσετε 500 00:28:44,340 --> 00:28:46,180 εντός Kohana, η οποία είναι είδος ωραία. 501 00:28:46,180 --> 00:28:49,090 >> Για παράδειγμα, έχουν ένα δομοστοιχείο ταυτότητας 502 00:28:49,090 --> 00:28:51,170 το οποίο μπορείτε να χρησιμοποιήσετε για τον έλεγχο ταυτότητας των χρηστών. 503 00:28:51,170 --> 00:28:53,390 Έχουν μια μονάδα caching, αν θέλετε να υλοποιήσετε 504 00:28:53,390 --> 00:28:57,870 κάποια προσωρινή αποθήκευση πίσω τέλος να κάνουν το έργο πιο γρήγορα εφαρμογής και εταζέρα. 505 00:28:57,870 --> 00:29:02,140 Χρειάζεται να ενεργοποιήσετε την βάση δεδομένων και τη μονάδα Διαχείρισης Λειτουργικού Κινδύνου, 506 00:29:02,140 --> 00:29:04,280 επειδή, όπως είπα, είμαστε με τη βάση δεδομένων, προφανώς, 507 00:29:04,280 --> 00:29:08,200 και θα πρέπει επίσης να ενεργοποιήσετε τη μονάδα Διαχείρισης Λειτουργικού Κινδύνου, 508 00:29:08,200 --> 00:29:12,220 γιατί θα θέλαμε να έχουμε την επιπλέον λειτουργικότητα, το οποίο είναι ωραίο να έχουμε. 509 00:29:12,220 --> 00:29:14,240 Το μόνο που έχω να κάνω είναι uncomment αυτά τα 2 γραμμές, 510 00:29:14,240 --> 00:29:18,760 και τώρα αν μου ανανεώσετε, μου έδωσε ένα άλλο λάθος. 511 00:29:18,760 --> 00:29:22,100 Λέει, "Class Model_Post δεν βρέθηκε." 512 00:29:22,100 --> 00:29:30,210 Τώρα αυτό είναι ένα καλό πρόβλημα να έχει. 513 00:29:30,210 --> 00:29:37,660 Ας δούμε. 514 00:29:37,660 --> 00:29:42,200 Κάντε το κοινό. 515 00:29:42,200 --> 00:29:46,450 Όχι Περίμενε. 516 00:30:11,610 --> 00:30:13,160 Ω, αγαπητέ. 517 00:30:13,160 --> 00:30:18,590 Δεν ξέρω γιατί δεν είναι σε θέση να βρείτε αυτό. 518 00:30:18,590 --> 00:30:21,030 Αυτό είναι πραγματικά περίεργο. 519 00:30:21,030 --> 00:30:23,820 Έχω αυτή την κατηγορία εδώ. 520 00:30:23,820 --> 00:30:28,650 Υποθέτω ότι μπορεί να χρειαστεί να - oh. 521 00:30:28,650 --> 00:30:32,010 Είμαι τόσο χαζή. Ξέχασα να προσθέσω ένα tag της PHP. 522 00:30:32,010 --> 00:30:34,670 Αυτός είναι ο λόγος. 523 00:30:34,670 --> 00:30:41,260 Τώρα έχω να ανατρέψουμε 1 αλλαγή μόλις έκανα. 524 00:30:41,260 --> 00:30:44,270 >> Εντάξει. Εκεί πάμε. 525 00:30:44,270 --> 00:30:47,500 Αυτό ήταν πραγματικά ανόητο. Δεν είχα ένα άνοιγμα PHP tag. 526 00:30:47,500 --> 00:30:49,900 Αλλά, όπως μπορείτε να δείτε, τώρα δουλεύει σωστά, σωστά; 527 00:30:49,900 --> 00:30:51,240 Έχουμε 1 θέση. 528 00:30:51,240 --> 00:30:54,730 Εμείς άρπαξε την πρώτη θέση, και τώρα τυπωθούν σώμα της. 529 00:30:54,730 --> 00:30:58,010 Μεγάλη. Fantastic. 530 00:30:58,010 --> 00:31:01,470 Οποιεσδήποτε ερωτήσεις μέχρι τώρα; 531 00:31:01,470 --> 00:31:04,100 Όχι; Οποιεσδήποτε ερωτήσεις; 532 00:31:04,100 --> 00:31:08,340 Εντάξει, έτσι ώστε να δημιουργηθεί μόνο τη θέση μοντέλο, πολύ βασικό, 533 00:31:08,340 --> 00:31:10,930 και θα πάμε για να προσθέσετε κάποιες λειτουργίες αργότερα. 534 00:31:10,930 --> 00:31:13,600 Μπορούμε να προσθέσουμε επικυρώσεις και το φιλτράρισμα. 535 00:31:13,600 --> 00:31:15,650 Επικυρώσεις είναι ένα από τα πράγματα 536 00:31:15,650 --> 00:31:18,150 ότι τα πλαίσια για να λύσει πραγματικά, πολύ καλά, 537 00:31:18,150 --> 00:31:21,310 και δεν νομίζω ότι εσείς έπρεπε να το κάνουμε αυτό για το chipset CS50 σας, 538 00:31:21,310 --> 00:31:24,000 αλλά αν το κάνετε ανάπτυξης ιστοσελίδων για την τελική του έργου σας, 539 00:31:24,000 --> 00:31:26,280 είστε πιθανό θα θέλετε να κάνετε κάποιο είδος της διαδικασίας επικύρωσης, 540 00:31:26,280 --> 00:31:28,290 σαν να μην έχουν κενές ονόματα χρηστών, 541 00:31:28,290 --> 00:31:31,950 ίσως έχει έναν κωδικό πρόσβασης με τουλάχιστον κάποια μήκος, τέτοια πράγματα. 542 00:31:31,950 --> 00:31:34,750 Και είναι πραγματικά δυσεφάρμοστες αυτά τα πράγματα από τον εαυτό μας, 543 00:31:34,750 --> 00:31:37,390 και λίγο πολύ κάθε ενιαίο πλαίσιο web το κάνει για σας 544 00:31:37,390 --> 00:31:41,140 και σας επιτρέπει να το κάνουμε με έναν πολύ καθαρό τρόπο. 545 00:31:41,140 --> 00:31:44,340 Και το μοντέλο είναι όπου μπορείτε γενικά εκφράζουν αυτούς τους κανόνες επικύρωσης, 546 00:31:44,340 --> 00:31:48,790 επειδή είναι επικύρωση αν ένα μοντέλο είναι έγκυρη ή όχι. 547 00:31:48,790 --> 00:31:51,350 >> Αλλά για τώρα, θα πάμε να θέσει ότι αργότερα, 548 00:31:51,350 --> 00:31:53,520 και τώρα θα πάμε να εργαστούν σε άλλο μέρος, 549 00:31:53,520 --> 00:31:55,400 και θα πάμε για να προσπαθήσουμε και να κάνουμε μια νέα άποψη 550 00:31:55,400 --> 00:31:59,580 που απαριθμεί όλες τις θέσεις. 551 00:31:59,580 --> 00:32:02,490 Τα βήματα που εμπλέκονται στην παραγωγή μιας νέας δράσης για την καταγραφή όλων των μηνυμάτων 552 00:32:02,490 --> 00:32:04,810 είναι να αρπάξει μια λίστα με όλες τις δημοσιεύσεις 553 00:32:04,810 --> 00:32:11,990 και στη συνέχεια να αχρηστεύσουν τον κατάλογο όλων των μηνυμάτων σε μια προβολή. 554 00:32:11,990 --> 00:32:16,420 Ακριβώς εδώ, αρκετά ευτυχώς, έχουμε ήδη άρπαξε όλες τις δημοσιεύσεις 555 00:32:16,420 --> 00:32:20,310 χρησιμοποιώντας αυτή την πρώτη γραμμή, το βρείτε όλη τη λειτουργία, 556 00:32:20,310 --> 00:32:22,520 και τώρα τι θα πάμε να κάνουμε είναι μέχρι στιγμής 557 00:32:22,520 --> 00:32:25,350 Έχω άμεση ρύθμιση το σώμα της απόκρισης 558 00:32:25,350 --> 00:32:29,090 με το πέρασμα των χορδών, αλλά τώρα θέλω να χρησιμοποιήσετε μια προβολή, 559 00:32:29,090 --> 00:32:31,870 και η διαφορά ανάμεσα σε ένα σκοπό και μόνο να γίνει αυτό 560 00:32:31,870 --> 00:32:35,330 είναι με μια άποψη που μπορεί να έχει ένα ωραίο, μεγάλο πρότυπο HTML, 561 00:32:35,330 --> 00:32:37,710 και τι μπορώ να κάνω είναι να περάσει ορισμένες μεταβλητές 562 00:32:37,710 --> 00:32:42,200 και στη συνέχεια να έχουν την άποψη συμπληρώσετε αυτόματα το πρότυπο της 563 00:32:42,200 --> 00:32:44,690 χρησιμοποιώντας αυτές τις μεταβλητές. 564 00:32:44,690 --> 00:32:50,780 Αυτό που θα κάνουμε είναι ότι θα δημιουργήσει μια νέα προβολή, 565 00:32:50,780 --> 00:32:55,940 και θα αναφέρουμε την άποψη κάτι σαν "blog / index» 566 00:32:55,940 --> 00:33:08,480 και πάω να δεσμεύουν βασικά αυτό - ω, τι γράφω; 567 00:33:08,480 --> 00:33:12,910 Το μυαλό μου είναι κάπου αλλού. 568 00:33:12,910 --> 00:33:16,600 Πάω να δεσμεύσει τις θέσεις μεταβλητή για την προβολή, 569 00:33:16,600 --> 00:33:19,950 έτσι ώστε με αυτόν τον τρόπο η άποψη έχει πρόσβαση σε αυτήν την ανάρτηση μεταβλητή. 570 00:33:19,950 --> 00:33:26,140 >> Και έτσι τώρα πρέπει να δημιουργήσουμε αυτή την άποψη, 571 00:33:26,140 --> 00:33:28,500 έτσι και εδώ έχουμε αυτό το φάκελο που ονομάζεται "Προβολές" 572 00:33:28,500 --> 00:33:32,150 και το πρώτο, Πάω να δημιουργήσετε ένα νέο φάκελο κάτω από αυτό το ονομάζεται "Blog". 573 00:33:32,150 --> 00:33:35,810 Αυτό είναι ωραίο. Με αυτόν τον τρόπο μπορούμε να έχουμε ένα ωραίο ιεραρχία για τις απόψεις μας. 574 00:33:35,810 --> 00:33:43,910 Και στη συνέχεια, Πάω να δημιουργήσει ένα άλλο αρχείο εκεί ονομάζεται "index.php". 575 00:33:43,910 --> 00:33:45,780 Awesome. 576 00:33:45,780 --> 00:33:52,930 Στην πραγματικότητα, ας και τους δύο εδώ. 577 00:33:52,930 --> 00:33:56,760 Κάνοντας ένα αρχείο άποψη είναι ίσως το πιο απλό μέρος όλων αυτών, 578 00:33:56,760 --> 00:33:59,090 και αυτά είναι πιθανώς τα πράγματα είστε ήδη εξοικειωμένοι με. 579 00:33:59,090 --> 00:34:01,240 Εμείς πάμε για να κάνουμε κάτι πραγματικά απλό, 580 00:34:01,240 --> 00:34:05,360 αρχίσουμε να λέμε, «Η λίστα μου blog θέσεις." 581 00:34:05,360 --> 00:34:14,860 Στη συνέχεια μπορούμε να πάμε μέσα, 582 00:34:14,860 --> 00:34:17,920 και μπορούμε να επαναλάβει μέσω του πίνακα μηνυμάτων, 583 00:34:17,920 --> 00:34:21,760 αρπάξει κάθε ενιαία θέση και να πει κάτι σαν - 584 00:34:21,760 --> 00:34:25,290 ίσως να προσθέσετε μια γραμμή 585 00:34:25,290 --> 00:34:42,460 και στη συνέχεια να εκτυπώσετε το συγγραφέα και το σώμα. 586 00:34:42,460 --> 00:34:44,480 Αυτό έχει νόημα μέχρι στιγμής; 587 00:34:44,480 --> 00:34:50,870 Και ας δούμε αν αυτό δουλεύει. 588 00:34:50,870 --> 00:34:53,489 Τίποτα δεν έγινε. 589 00:34:53,489 --> 00:34:55,090 Αναρωτιέμαι γιατί. 590 00:34:55,090 --> 00:34:58,760 Ω, έχασα 1 βήμα. Πολύ ανόητο εκ μέρους μου. 591 00:34:58,760 --> 00:35:01,640 Δημιούργησα μια άποψη, αλλά δεν ρυθμίσετε την προβολή και την απάντηση, 592 00:35:01,640 --> 00:35:03,190 έτσι πρέπει να κάνετε 1 ακόμα πράγμα. 593 00:35:03,190 --> 00:35:12,610 Θα πρέπει να κάνουμε "αυτό το σώμα απάντηση" και ρυθμίστε το να είναι η άποψη. 594 00:35:12,610 --> 00:35:14,760 Εκεί πάμε. 595 00:35:14,760 --> 00:35:17,200 Έχουμε τίτλο μας, και τότε θα έχουμε μια θέση, 596 00:35:17,200 --> 00:35:20,500 και μόνο για πλάκα, ας προσθέσουμε άλλη θέση 597 00:35:20,500 --> 00:35:23,390 έτσι μπορούμε να δούμε μια λίστα. 598 00:35:31,800 --> 00:35:36,650 Και τοποθετήστε αυτά τα 2 θέσεις, 599 00:35:36,650 --> 00:35:39,500 και τώρα αν μου ανανεώσετε τη σελίδα, 600 00:35:39,500 --> 00:35:42,060 βλέπουμε όλες αυτές τις θέσεις εδώ. 601 00:35:42,060 --> 00:35:44,250 >> Μήπως αυτό έχει νόημα μέχρι στιγμής; 602 00:35:44,250 --> 00:35:46,400 Ναι, μια ερώτηση; Ω, εντάξει. 603 00:35:46,400 --> 00:35:51,440 Όπως μπορείτε να δείτε, είμαστε σε θέση να διαχωρίσει όλα αυτά κωδικούς έξω 604 00:35:51,440 --> 00:35:53,920 σε διαφορετικά τμήματα, και στη συνέχεια μπορείτε να δείτε ότι είναι πιο σαφής με τον κωδικό θέα. 605 00:35:53,920 --> 00:35:57,810 Αυτό το αρχείο εδώ που αντιπροσωπεύει την άποψη, 606 00:35:57,810 --> 00:36:01,220 να νοιάζεται μόνο για την αναπαράσταση των δεδομένων, την εμφάνιση των δεδομένων. 607 00:36:01,220 --> 00:36:04,310 Παίρνει περάσει κάποιο είδος των δεδομένων, και το μόνο που κάνει είναι απλά να σας το δείξω. 608 00:36:04,310 --> 00:36:07,660 Σε όλα τα άλλα μέρη του κώδικά σας, δεν θα έχετε να ανησυχείτε για τίποτα από αυτά, 609 00:36:07,660 --> 00:36:10,480 και, ομοίως, κωδικό άποψή σας, δεν έχετε να ανησυχείτε για τίποτα 610 00:36:10,480 --> 00:36:13,390 πώς να έχουν πρόσβαση στη βάση δεδομένων και ούτω καθεξής και ούτω καθεξής, 611 00:36:13,390 --> 00:36:19,950 η οποία είναι πολύ καλή και κάνει τον κωδικό σας πολύ πιο εύκολο να συντηρηθεί. 612 00:36:19,950 --> 00:36:23,390 Όπως είπα, θέα, είναι δυναμική σε ότι 613 00:36:23,390 --> 00:36:27,080 είναι 1 αρχείο, αλλά θα δημιουργήσει διαφορετικές απόψεις 614 00:36:27,080 --> 00:36:29,940 με βάση τις μεταβλητές που πραγματικά περάσει, 615 00:36:29,940 --> 00:36:32,370 και επιπλέον, υπάρχουν πολλές διαφορετικές λειτουργίες βοηθού 616 00:36:32,370 --> 00:36:34,230 που μπορείτε να χρησιμοποιήσετε για να σας βοηθήσουν να γράψετε τον κωδικό σας πιο γρήγορα, 617 00:36:34,230 --> 00:36:36,320 το οποίο θα σας παρουσιάσω σε μόλις ένα δευτερόλεπτο. 618 00:36:36,320 --> 00:36:38,050 Ναι. 619 00:36:38,050 --> 00:36:42,490 >> [Student] Έτσι, το $ 0, είναι ένας ελεγκτής, σωστά; 620 00:36:42,490 --> 00:36:44,000 Αυτό το δεύτερο πράγμα. 621 00:36:44,000 --> 00:36:46,090 Το ερώτημα είναι είναι $ 0 ένας ελεγκτής; 622 00:36:46,090 --> 00:36:48,610 $ 0 είναι μια μεταβλητή που δημιουργήθηκε εδώ. 623 00:36:48,610 --> 00:36:51,320 Δημιούργησα μια άποψη που πρώτος. Μου έχουν ανατεθεί σε κάποια μεταβλητή. 624 00:36:51,320 --> 00:36:54,960 Τότε πέρασε σε αυτή τη λειτουργία, ρυθμίστε το όπως το σώμα της απάντησης. 625 00:36:54,960 --> 00:36:57,260 Μήπως αυτό έχει νόημα; 626 00:36:57,260 --> 00:37:02,200 [Φοιτητής] Έτσι είναι η άποψη :: εργοστάσιο, είναι η άποψη σαν μια κατηγορία 627 00:37:02,200 --> 00:37:06,610 ή μια βιβλιοθήκη [ακούγεται] λειτουργία του εργοστασίου; 628 00:37:06,610 --> 00:37:10,640 Το ερώτημα είναι σχετικά με τη λειτουργία άποψη :: εργοστάσιο, 629 00:37:10,640 --> 00:37:14,020 και βασικά αυτό είναι λίγο περισσότερο αντικειμενοστρεφή προγραμματισμό, κατ 'ουσίαν. 630 00:37:14,020 --> 00:37:18,000 View είναι η τάξη θέα, και έχει μια μέθοδο που ονομάζεται «Εργοστάσιο», 631 00:37:18,000 --> 00:37:24,170 και αυτό είναι ένας τρόπος για να αρπάξει το αντικείμενο που το όνομά του "blog / index." 632 00:37:24,170 --> 00:37:27,140 Και αυτό είναι λίγο περισσότερο object-oriented προγραμματισμό πράγματα 633 00:37:27,140 --> 00:37:33,010 ότι εγώ δεν πρόκειται να μπω σε πάρα πολύ εδώ. 634 00:37:33,010 --> 00:37:36,400 Τώρα, προφανώς, θέλουμε να δημιουργήσουμε νέες θέσεις εργασίας, 635 00:37:36,400 --> 00:37:38,790 αλλά δεν θέλουμε να πρέπει να το κάνουμε μέσω μιας βάσης δεδομένων, 636 00:37:38,790 --> 00:37:41,280 έτσι θα πάμε να δημιουργήσουμε μια νέα δράση για τη δημιουργία μιας νέας θέσης, 637 00:37:41,280 --> 00:37:43,050 και υπάρχουν πολλά πράγματα που πρέπει να κάνουμε. 638 00:37:43,050 --> 00:37:45,910 >> Το πρώτο πράγμα που θα πάμε να κάνουμε - ας αντιμετωπίσουμε αυτά τα πράγματα ένα προς ένα. 639 00:37:45,910 --> 00:37:48,320 Το πρώτο πράγμα που θα κάνουμε είναι να έχουμε για να δημιουργήσετε μια φόρμα 640 00:37:48,320 --> 00:37:54,460 για την εισαγωγή μια νέα θέση, 641 00:37:54,460 --> 00:37:57,360 αλλά είμαι επίσης πρόκειται να προσθέσετε ένα νέο δράση πρώτα, 642 00:37:57,360 --> 00:38:01,050 προσθέτοντας έτσι μια νέα δράση είναι εξίσου εύκολη όσο και 643 00:38:01,050 --> 00:38:03,490 προσθέτοντας μια νέα λειτουργία με τον ελεγκτή σας, 644 00:38:03,490 --> 00:38:13,710 και τώρα πάω να κάνω κάτι πολύ βασικό, 645 00:38:13,710 --> 00:38:20,850 απλά αρπάξτε την άποψη αυτή και μετά, απλά να εμφανιστεί για εσάς. 646 00:38:20,850 --> 00:38:26,220 Και στη συνέχεια, τώρα Πάω να δημιουργήσετε ένα νέο αρχείο προβολής, 647 00:38:26,220 --> 00:38:33,690 και Πάω να αρχίσετε να γράφετε κάποια πράγματα. 648 00:38:33,690 --> 00:38:36,540 Τι είναι ωραίο για Kohana είναι ότι παρέχουν πολλές διαφορετικές λειτουργίες βοηθού 649 00:38:36,540 --> 00:38:38,790 για να μπορείτε να γράψετε προβολή κώδικα πιο εύκολα, 650 00:38:38,790 --> 00:38:41,970 και 1 από αυτές τις λειτουργίες βοηθού ή ενότητες βοηθός 651 00:38:41,970 --> 00:38:45,860 είναι γύρω από την εγγραφή μορφών. 652 00:38:45,860 --> 00:38:49,460 Για τη σύνταξη των μορφών, δεν έχω πραγματικά να γράψετε απευθείας οποιοδήποτε HTML εαυτό μου. 653 00:38:49,460 --> 00:38:51,100 Εσείς έχετε γραπτή μορφή HTML. 654 00:38:51,100 --> 00:38:54,850 Ξέρετε πώς μπορεί να είναι πραγματικά, πραγματικά οδυνηρό και δύσκολο να γραφούν μορφές. 655 00:38:54,850 --> 00:38:59,970 Δεν είναι διασκέδαση, έτσι ευτυχώς, 656 00:38:59,970 --> 00:39:04,860 μπορούμε να γράψουμε βάση μιας φόρμας με χρήση του Kohana 657 00:39:04,860 --> 00:39:11,190 σχηματίζουν βοηθητικών λειτουργιών για να το κάνει για εμάς. 658 00:39:11,190 --> 00:39:17,340 Εμείς πάμε για να έχουν βασικά πεδία για κάθε πράγμα που έχουμε, 659 00:39:17,340 --> 00:39:23,160 έτσι ώστε ένα για τους δημιουργούς και μία για τους οργανισμούς. 660 00:39:23,160 --> 00:39:27,090 Εμείς πάμε για να έχουν μια ετικέτα, και θα πάμε να έχουν μια είσοδο. 661 00:39:37,450 --> 00:39:41,360 >> Και τελικά, θα πάμε να έχουν μια υποβολή. 662 00:39:49,350 --> 00:39:52,230 Και όπως μπορείτε να δείτε, αυτό είναι πολύ καθαρότερο να γράψω 663 00:39:52,230 --> 00:39:58,150 από ό, τι όλο αυτό το βρώμικο HTML, το οποίο είναι το είδος της Νίκαιας. 664 00:39:58,150 --> 00:40:00,930 Σύμφωνοι, υπάρχουν άλλα πλαίσια web που έχουν ακόμη καθαρότερο από αυτό, 665 00:40:00,930 --> 00:40:04,440 αλλά τουλάχιστον αυτό είναι καλύτερο από ό, τι γράφει το HTML σας. 666 00:40:09,400 --> 00:40:11,130 Awesome, έτσι αυτό είναι αυτό που βλέπετε. 667 00:40:11,130 --> 00:40:13,530 Αυτό είναι το είδος του βρώμικο, 668 00:40:13,530 --> 00:40:19,720 έτσι είμαι πρόκειται να προσθέσετε μια αλλαγή γραμμής εκεί 669 00:40:19,720 --> 00:40:21,180 να κάνουν ότι φαίνονται λίγο καλύτερο. 670 00:40:21,180 --> 00:40:23,330 Λοιπόν, φυσικά, εξακολουθεί να φαίνεται πραγματικά, πραγματικά κακή, αλλά είμαστε απλώς επικεντρώθηκε 671 00:40:23,330 --> 00:40:26,050 σχετικά με τη λειτουργικότητα για τώρα και όχι στην αισθητική. 672 00:40:26,050 --> 00:40:28,010 Δεν έχω χρόνο να κάνω τα πάντα. 673 00:40:28,010 --> 00:40:30,600 Και όπως μπορείτε να δείτε, τώρα έχουμε ένα σούπερ βασική μορφή, 674 00:40:30,600 --> 00:40:32,080 το οποίο είναι το είδος της Νίκαιας. 675 00:40:32,080 --> 00:40:36,730 Αυτός ο κωδικός θα ήθελα να πω είναι καθαρότερα από ό, τι προσπαθεί να γράψει ένα HTML σχηματίζουν τον εαυτό σας, 676 00:40:36,730 --> 00:40:40,290 έτσι ώστε να είναι ωραία. 677 00:40:40,290 --> 00:40:42,030 Ποιο είναι το επόμενο; 678 00:40:42,030 --> 00:40:49,260 Τώρα πρέπει να κάνουμε τα πράγματα με τη δράση. 679 00:40:49,260 --> 00:40:51,240 Κανονικά, όταν γράφετε φόρμες HTML, 680 00:40:51,240 --> 00:40:54,070 θα πρέπει να το πω, όπου πρόκειται να υποβάλει τη φόρμα. 681 00:40:54,070 --> 00:40:56,050 Από προεπιλογή στα περισσότερα πλαίσια web, 682 00:40:56,050 --> 00:40:58,200 υποβάλλει στο ακριβώς την ίδια διεύθυνση URL, έτσι το πράγμα είναι, 683 00:40:58,200 --> 00:41:01,310 εάν στείλετε ένα αίτημα για να πάρει / blog / νέες, 684 00:41:01,310 --> 00:41:03,240 θα πρέπει να σας εμφανιστεί η φόρμα, 685 00:41:03,240 --> 00:41:06,810 αλλά αν στείλετε ένα αίτημα μετά στο / blog / νέο με τα δεδομένα, 686 00:41:06,810 --> 00:41:10,000 θα πρέπει πραγματικά να προσπαθήσει να σώσει τη θέση αυτή 687 00:41:10,000 --> 00:41:13,300 και να κάνουμε κάτι με αυτό. 688 00:41:20,630 --> 00:41:22,180 >> Τι θα πάμε να κάνουμε είναι να 689 00:41:22,180 --> 00:41:25,320 βασικά το μόνο που έχουμε να κάνουμε για να ελέγξετε αν είναι ένα αίτημα μετά ή αίτημα get 690 00:41:25,320 --> 00:41:29,350 είναι να ελέγξετε ποιες είναι οι μεταβλητές μετά μπορείτε να ρυθμίσετε. 691 00:41:29,350 --> 00:41:34,560 Και αν η θέση μεταβλητή έχει οριστεί, τότε θα πάμε για να προσπαθήσουμε και να δημιουργήσετε ένα νέο μήνυμα. 692 00:41:34,560 --> 00:41:38,440 Και πάλι, το κάνουμε μόνο αυτό, 693 00:41:38,440 --> 00:41:41,090 και αυτό δημιουργεί μια νέα θέση, και είμαστε κυριολεκτικά πρόκειται να 694 00:41:41,090 --> 00:41:51,150 ορίσετε τα πεδία της, όπως αυτό, 695 00:41:51,150 --> 00:41:55,640 και στη συνέχεια θα πάμε για να το αποθηκεύσετε. 696 00:41:55,640 --> 00:41:59,200 Και στη συνέχεια, Πάω να ανακατευθύνει 697 00:41:59,200 --> 00:42:07,660 στην αρχική σελίδα, ώστε να μπορείτε να δείτε τη λίστα με τα μηνύματα και πάλι. 698 00:42:07,660 --> 00:42:09,620 Ας το δοκιμάσουμε. 699 00:42:09,620 --> 00:42:15,160 Θα πω, "Brandon" 700 00:42:15,160 --> 00:42:18,140 και στη συνέχεια να υποβάλει τη θέση, και αν όλα πάνε καλά, 701 00:42:18,140 --> 00:42:21,390 όπως μπορείτε να δείτε, μου μεταφερθείτε στην αρχική σελίδα, 702 00:42:21,390 --> 00:42:24,140 και αν μετακινηθείτε προς τα κάτω, έχουμε ένα πρόσφατα εισαχθεί μετά. 703 00:42:24,140 --> 00:42:26,430 Yay! 704 00:42:26,430 --> 00:42:28,430 Ναι, το ερώτημα. 705 00:42:28,430 --> 00:42:31,760 >> [Φοιτητής] Τι θα συμβεί αν είχε μπει ακριβώς το ίδιο πράγμα 706 00:42:31,760 --> 00:42:33,380 έχετε εγγραφεί πριν; 707 00:42:33,380 --> 00:42:36,950 Μήπως να το ελέγξετε για να βεβαιωθείτε ότι δεν έχετε διπλές 708 00:42:36,950 --> 00:42:38,810 το ίδιο υποβολής; 709 00:42:38,810 --> 00:42:41,660 Να προεπιλογή, όχι, επειδή, από προεπιλογή - 710 00:42:41,660 --> 00:42:46,470 Συγγνώμη, το ερώτημα είναι αν μπείτε στα ίδια ακριβώς δεδομένα, με τη μορφή 711 00:42:46,470 --> 00:42:50,180 και υποστηρίζουν ότι, θα σας επιτρέψει να εισάγετε ένα αντίγραφο αντικείμενο, 712 00:42:50,180 --> 00:42:52,550 ένα αντίγραφο εισόδου, κατ 'ουσίαν; 713 00:42:52,550 --> 00:42:54,070 Αυτή τη στιγμή, ναι, αυτό θα σας επιτρέψει να το κάνουμε αυτό, 714 00:42:54,070 --> 00:42:58,860 γιατί σε βάσεις δεδομένων είναι απολύτως έγκυρο να έχουν εντελώς διπλές σειρές, 715 00:42:58,860 --> 00:43:02,260 αλλά αν αυτό είναι μια ανησυχία, τότε μπορείτε να προσθέσετε επικυρώσεις, για παράδειγμα, 716 00:43:02,260 --> 00:43:06,430 για να βεβαιωθείτε ότι εάν αυτή είναι ακριβώς η ίδια ως κάτι που ήδη υπάρχει, 717 00:43:06,430 --> 00:43:08,720 στη συνέχεια να πω ότι είναι μια μη έγκυρη αντικείμενο, 718 00:43:08,720 --> 00:43:11,200 και, στη συνέχεια, μπορείτε να ορίσετε ακόμη και το μήνυμα λάθους σας 719 00:43:11,200 --> 00:43:14,390 και να πω, "Invalid επειδή αυτό υπάρχει ήδη" ή κάτι τέτοιο. 720 00:43:14,390 --> 00:43:22,420 Αλλά στην περίπτωση αυτή, θα μπορούσα να δημιουργήσω κάτι διπλούν. 721 00:43:22,420 --> 00:43:26,010 Τώρα, ας προσπαθήσουμε και να προσθέσετε κάποια επικυρώσεις. 722 00:43:26,010 --> 00:43:30,400 Το πρόβλημα με αυτή τη στιγμή είναι ότι 723 00:43:30,400 --> 00:43:34,220 Θα μπορούσα να υποβάλει κυριολεκτικά μια εντελώς κενή θέση. 724 00:43:34,220 --> 00:43:37,500 Μπορώ να κάνετε κλικ σε αυτό το κουμπί τώρα, και εκεί πάμε. 725 00:43:37,500 --> 00:43:40,290 Δεν μπορείτε να δείτε πραγματικά, αλλά αυτή η επιπλέον γραμμή εδώ 726 00:43:40,290 --> 00:43:43,830 δείχνει ότι Έχω κυριολεκτικά μια νέα θέση. 727 00:43:43,830 --> 00:43:46,050 Έχει μόνο ένα κενό συγγραφέα και ένα κενό σώμα, 728 00:43:46,050 --> 00:43:48,630 και δεν θέλουμε να επιτρέπουν στους ανθρώπους να το κάνουμε αυτό. 729 00:43:48,630 --> 00:43:52,550 Αυτό είναι όπου η επικύρωση μπαίνει 730 00:43:52,550 --> 00:43:57,540 >> Μπορώ να πάω στο αντικείμενο το μοντέλο μου, 731 00:43:57,540 --> 00:43:59,530 και τώρα μπορώ να προσθέσω μια νέα λειτουργία που καθορίζει 732 00:43:59,530 --> 00:44:02,000 τι κανόνες επικύρωσης θα ήθελα να προσθέσω σε αυτό το μοντέλο 733 00:44:02,000 --> 00:44:06,840 για να βεβαιωθείτε ότι είναι έγκυρη ή να διευκρινίσει τι σημαίνει να είναι μια έγκυρη θέση; 734 00:44:06,840 --> 00:44:10,210 Και θέλω να πω ότι είναι μόνο μια έγκυρη θέση, αν και ο συγγραφέας και το σώμα 735 00:44:10,210 --> 00:44:15,150 δεν είναι κενό, και αυτό είναι το πώς θα το κάνετε με Kohana. 736 00:44:15,150 --> 00:44:18,750 Μπορείτε να δημιουργήσετε μια νέα λειτουργία που ονομάζεται "Κανόνες" 737 00:44:18,750 --> 00:44:20,210 και στη συνέχεια να επιστρέψει ουσιαστικά ένα associative array 738 00:44:20,210 --> 00:44:24,230 που καθορίζει τους κανόνες επικύρωσης για αυτό το αντικείμενο. 739 00:44:24,230 --> 00:44:27,530 Εμείς πάμε για να επιστρέψει τον πίνακα, και στη συνέχεια, τι θα πάμε να κάνουμε είναι να 740 00:44:27,530 --> 00:44:32,820 λένε "συγγραφέας", πηγαίνει σε μια σειρά, 741 00:44:32,820 --> 00:44:37,720 η οποία πηγαίνει σε μια άλλη σειρά που ονομάζεται "δεν είναι κενό." 742 00:44:37,720 --> 00:44:41,480 Και στη συνέχεια, Πάω να πω "το σώμα." 743 00:44:50,980 --> 00:44:54,120 Εντάξει, και η σύνταξη γι 'αυτό και τη δομή για το σκοπό αυτό 744 00:44:54,120 --> 00:44:56,530 μπορεί να φαίνεται λίγο περίπλοκη και λίγο περίπλοκο. 745 00:44:56,530 --> 00:44:59,330 Αν διαβάσει την τεκμηρίωση, είναι αρκετά εύκολο να καταλάβω, 746 00:44:59,330 --> 00:45:02,500 Αλλά κατ 'ουσίαν, αυτό είναι ό, τι πρέπει να κάνετε για να καθορίσετε 747 00:45:02,500 --> 00:45:04,130 ορισμένοι κανόνες επικύρωσης, και υπάρχουν πολλά διαφορετικά κανόνες 748 00:45:04,130 --> 00:45:06,810 Kohana ότι θα σας δώσει δωρεάν, όπως μπορείτε να προσθέσετε κανόνες να πω 749 00:45:06,810 --> 00:45:08,410 θα πρέπει να είναι τουλάχιστον το μήκος αυτό. 750 00:45:08,410 --> 00:45:11,800 Ίσως θα πρέπει να είναι αριθμητικό. Ίσως θα πρέπει να είναι άλφα αριθμητικό. 751 00:45:11,800 --> 00:45:14,410 Ίσως θα πρέπει να είναι το πολύ το μήκος αυτό, ούτω καθεξής και ούτω καθεξής. 752 00:45:14,410 --> 00:45:17,730 Υπάρχουν πολλοί διαφορετικοί κανόνες που προβλέπει Kohana για σας, 753 00:45:17,730 --> 00:45:19,610 και μπορείτε να πάτε στην ιστοσελίδα τους, να δούμε την τεκμηρίωση, 754 00:45:19,610 --> 00:45:23,150 και μπορείτε να δείτε όλα τα διαφορετικά πράγματα που μπορείτε να κάνετε. 755 00:45:23,150 --> 00:45:25,650 >> Αλλά αυτό είναι το μόνο που έχω να κάνω, 756 00:45:25,650 --> 00:45:30,490 και τώρα ας δούμε τι θα συμβεί 757 00:45:30,490 --> 00:45:34,060 αν μπορώ να υποβάλω μια κενή θέση. 758 00:45:34,060 --> 00:45:36,960 Τι πρόκειται να συμβεί; Ω, όχι, παίρνω ένα λάθος. 759 00:45:36,960 --> 00:45:39,440 Παίρνω μια εξαίρεση επικύρωσης. 760 00:45:39,440 --> 00:45:41,070 Λοιπόν, αυτό είναι καλό. 761 00:45:41,070 --> 00:45:43,200 Μου είπε ότι το μοντέλο μου είναι άκυρη, 762 00:45:43,200 --> 00:45:45,780 αλλά δεν θέλω να εμφανίσετε μια εξαίρεση 763 00:45:45,780 --> 00:45:48,720 στους χρήστες μου, όταν προσπαθούν να υποβάλουν κάτι άκυρο, έτσι δεν είναι; 764 00:45:48,720 --> 00:45:51,560 Θέλω να τους δώσει κάποιο είδος της φιλικό μήνυμα λάθους 765 00:45:51,560 --> 00:45:53,610 όταν κάτι πάει στραβά. 766 00:45:53,610 --> 00:46:01,830 Τι θα πάμε να κάνουμε είναι να πάμε να 767 00:46:01,830 --> 00:46:04,490 τυλίξτε τα πάντα σε ένα βρόχο δοκιμή αλιευμάτων. 768 00:46:04,490 --> 00:46:06,750 Στην πραγματικότητα, νομίζω ότι αυτό είναι επίσης κάτι που δεν έχουν μάθει ακόμα 769 00:46:06,750 --> 00:46:10,820 σε CS50, επειδή C, η γλώσσα προγραμματισμού C, 770 00:46:10,820 --> 00:46:14,000 δεν έχει εξαιρέσεις, αλλά σχεδόν σε κάθε ενιαία άλλη γλώσσα 771 00:46:14,000 --> 00:46:16,700 έχει εξαιρέσεις, τόσο πραγματικά, πραγματικά εν συντομία, 772 00:46:16,700 --> 00:46:19,430 εξαίρεση είναι κάτι που ένα κομμάτι του κώδικα μπορεί να 773 00:46:19,430 --> 00:46:21,430 ρίξει μια εξαίρεση, όταν κάτι πάει στραβά, 774 00:46:21,430 --> 00:46:23,410 αλλά τότε ίσως κάποιο άλλο κομμάτι του κώδικα ψηλά 775 00:46:23,410 --> 00:46:25,810 μπορεί να πιάσει την εξαίρεση αυτή και να κάνουμε κάτι με αυτό. 776 00:46:25,810 --> 00:46:27,710 >> Για παράδειγμα, στην περίπτωση αυτή, 777 00:46:27,710 --> 00:46:29,940 το κομμάτι του κώδικα που προσπαθεί να σώσει ένα μοντέλο, 778 00:46:29,940 --> 00:46:33,170 επικυρώνει το μοντέλο, και αν λέει, "Εντάξει, αυτό το μοντέλο είναι άκυρη," 779 00:46:33,170 --> 00:46:36,150 πρόκειται να ρίξει μια εξαίρεση, και αυτό είναι το είδος που αντιστοιχεί σε 780 00:46:36,150 --> 00:46:39,870 σε C μπορεί να επιστρέψει ένα -1 ή κάτι τέτοιο. 781 00:46:39,870 --> 00:46:42,320 Και στη συνέχεια, για μένα, αυτή η λειτουργία, τον κωδικό μου 782 00:46:42,320 --> 00:46:46,310 σε υψηλότερο επίπεδο, μπορώ να προσπαθήσω και να πιάσει την εξαίρεση αυτή 783 00:46:46,310 --> 00:46:49,330 και βασικά λένε, "Εντάξει, αν πιάσει την εξαίρεση, τι θα πάω να κάνω;" 784 00:46:49,330 --> 00:46:51,570 Ή θα μπορούσε να επιλέξει να μην πιάσει η εξαίρεση και να αφήσει κάποιον πιο ψηλά 785 00:46:51,570 --> 00:46:54,400 πιάσει την εξαίρεση, ή αν κανείς δεν το πιάνει, 786 00:46:54,400 --> 00:46:56,820 τότε ολόκληρο το πρόγραμμα κολλάει και λέει, 787 00:46:56,820 --> 00:46:59,170 "Κάτι πήγε στραβά, και εγώ δεν μπορούσα να το αντέξω." 788 00:46:59,170 --> 00:47:04,490 >> Αλλά αυτό που κάνουμε είναι να σας τυλίξτε ένα κομμάτι του κώδικα σε ένα μπλοκ try, 789 00:47:04,490 --> 00:47:09,030 και, στη συνέχεια, μπορείτε επίσης να προσθέσετε κάτι που ονομάζεται μπλοκ των αλιευμάτων, 790 00:47:09,030 --> 00:47:17,300 το οποίο είναι το είδος του κώδικα που θα προσπαθήσει και να πιάσει εξαιρέσεις που μπορεί να προκύψουν. 791 00:47:17,300 --> 00:47:20,430 Και έτσι, αν έχω πιάσει το συγκεκριμένο εξαίρεση 792 00:47:20,430 --> 00:47:23,110 ή ακύρωση εξαίρεση, τότε τι Πάω να κάνουμε είναι να 793 00:47:23,110 --> 00:47:31,210 Πάω να θέσει τα λάθη - Νομίζω ότι είναι το πώς θα το κάνουμε - 794 00:47:31,210 --> 00:47:35,370 και είμαι πρόκειται να θέσει τα λάθη σε κάποιο αντικείμενο. 795 00:47:35,370 --> 00:47:40,920 Και τότε τι Πάω να κάνουμε είναι αν χτυπήσει την εξαίρεση αυτή, 796 00:47:40,920 --> 00:47:43,090 δεν πρόκειται να ανακατευθύνει, και αν δεν ανακατευθύνει, 797 00:47:43,090 --> 00:47:46,160 πρόκειται να βγει από το αν το blog 798 00:47:46,160 --> 00:47:49,920 και να χτυπήσει αυτό το blog / νέο, το οποίο θέλουν θέλω να κάνω. 799 00:47:49,920 --> 00:47:53,190 Αν υπάρχει κάποιο λάθος, τότε θέλω να πάω πίσω στη φόρμα 800 00:47:53,190 --> 00:47:55,100 και να εμφανίσει αυτά τα σφάλματα. 801 00:47:55,100 --> 00:48:00,780 Τώρα αυτό που θέλω να κάνω είναι που θέλω να περάσει τα σφάλματα αυτά 802 00:48:00,780 --> 00:48:07,010 στην προβολή. 803 00:48:07,010 --> 00:48:10,360 Εντάξει, νομίζω ότι έχω την άποψη εδώ, 804 00:48:10,360 --> 00:48:14,660 και βασικά θέλω να εμφανίσετε τα λάθη, αν υπάρχουν. 805 00:48:14,660 --> 00:48:19,740 Πριν γράψει το HTML γι 'αυτό, θα πάω πραγματικά γρήγορα 806 00:48:19,740 --> 00:48:21,720 σας δείξει ποια είναι η δομή αυτής της μεταβλητής εμφάνιση σφαλμάτων αρέσει, 807 00:48:21,720 --> 00:48:23,080 και αυτό είναι μια καλή πρακτική σε γενικές γραμμές. 808 00:48:23,080 --> 00:48:25,070 Πολλές φορές μπορείτε να πάρετε κάτι πίσω από κάποια μέθοδο, 809 00:48:25,070 --> 00:48:27,250 κάποια λειτουργία στο πλαίσιο ιστό, 810 00:48:27,250 --> 00:48:29,410 και δεν ξέρετε ποια είναι η μεταβλητή μοιάζει, 811 00:48:29,410 --> 00:48:31,210 έτσι ώστε να μην ξέρουν πώς να εργαστεί με αυτό. 812 00:48:31,210 --> 00:48:37,790 Πάω να χρησιμοποιούν μια μέθοδο εκτύπωσης r για να εκτυπώσετε ουσιαστικά έξω. 813 00:48:37,790 --> 00:48:41,100 >> Και όπως μπορείτε να δείτε, αυτό μου λέει ότι είναι συγγενής σειρά, 814 00:48:41,100 --> 00:48:44,880 και έχετε ένα κλειδί, συγγραφέας, σημεία σε αυτή τη σειρά, 815 00:48:44,880 --> 00:48:47,050 συγγραφέας δεν πρέπει να είναι κενή, και ένα άλλο κλειδί, το σώμα, 816 00:48:47,050 --> 00:48:49,680 σημεία σε μια άλλη σειρά, το σώμα δεν πρέπει να είναι κενό. 817 00:48:49,680 --> 00:48:52,130 Είμαι όπως, εντάξει, δροσερό. 818 00:48:52,130 --> 00:48:56,230 Τότε μπορώ να επαναλάβει μέσω της συστοιχίας και να εκτυπώσετε κάθε μήνυμα. 819 00:48:56,230 --> 00:49:02,150 Είναι βασικά σαν ένα associative array με μια δέσμη των μηνυμάτων. 820 00:49:02,150 --> 00:49:13,500 Τι Πάω να κάνουμε είναι "αν τα λάθη," 821 00:49:13,500 --> 00:49:17,140 και πάω να δημιουργήσει μια μη διατεταγμένη λίστα, 822 00:49:17,140 --> 00:49:20,860 και πάω να μετακινηθείτε μέσα από όλα τα λάθη. 823 00:49:33,730 --> 00:49:38,710 Και αυτό, και τώρα Πάω να προσπαθήστε να υποβάλλετε αυτό και πάλι, 824 00:49:38,710 --> 00:49:41,200 και ας δούμε τι έχουμε. 825 00:49:41,200 --> 00:49:45,370 Τώρα έχουμε αυτό το ωραίο λίστα των σφαλμάτων, 826 00:49:45,370 --> 00:49:48,630 και αυτό εξακολουθεί να είναι αρκετά άσχημη, αλλά αυτό προφανώς μπορεί να διαμορφωθεί για να φαίνονται ωραία, 827 00:49:48,630 --> 00:49:51,620 αλλά η βασική ιδέα είναι μόνο σε λίγες γραμμές κώδικα, 828 00:49:51,620 --> 00:49:53,720 ήμασταν σε θέση να επικυρώσει το μοντέλο μας, 829 00:49:53,720 --> 00:49:56,510 βεβαιωθείτε ότι ορισμένα πεδία δεν ήταν κενά, 830 00:49:56,510 --> 00:49:59,740 και αν κάτι πάει στραβά, τότε επιστρέφουν κάποιο είδος του μηνύματος λάθους 831 00:49:59,740 --> 00:50:01,760 Θα μπορούσε στη συνέχεια να παρουσιάσει πίσω στο χρήστη. 832 00:50:01,760 --> 00:50:03,910 Μπορείτε επίσης να προσαρμόσετε την επικύρωση σας 833 00:50:03,910 --> 00:50:07,590 έτσι ώστε να μπορείτε να έχετε πραγματικά ένα μήνυμα σφάλματος 834 00:50:07,590 --> 00:50:09,620 ότι είναι πιο συγκεκριμένη εφαρμογή ή κάτι τέτοιο σας. 835 00:50:09,620 --> 00:50:14,600 Όλα αυτά είναι γενικά προσαρμόσιμη. 836 00:50:14,600 --> 00:50:17,150 >> Δυστυχώς, είμαστε ο χρόνος, 837 00:50:17,150 --> 00:50:20,040 έτσι είμαι πρόκειται να πρέπει να κόψει τη ζωντανή συνεδρία κωδικοποίησης εδώ. 838 00:50:20,040 --> 00:50:22,980 Υπάρχουν ένα σωρό άλλα χαρακτηριστικά που θέλω να αποδείξει για σας 839 00:50:22,980 --> 00:50:25,650 σε αυτό το παράδειγμα. 840 00:50:25,650 --> 00:50:27,620 Για παράδειγμα, μπορείτε να προσθέσετε πρότυπα στο site σας, 841 00:50:27,620 --> 00:50:31,110 οπότε ίσως υπάρχει κάποιο είδος κώδικα HTML που θέλετε να εφαρμόσετε 842 00:50:31,110 --> 00:50:35,190 σε κάθε σελίδα στην ιστοσελίδα σας, και αντί για επικόλληση που 843 00:50:35,190 --> 00:50:40,630 σε κάθε αρχείο άποψη που έχετε, η οποία προφανώς θα είναι μια κακή πρακτική, 844 00:50:40,630 --> 00:50:43,020 μπορείτε να ορίσετε ουσιαστικά αυτά τα πρότυπα, 845 00:50:43,020 --> 00:50:46,660 και στη συνέχεια στον ελεγκτή σας λένε, "Εντάξει, είμαι χρησιμοποιώντας αυτό το πρότυπο." 846 00:50:46,660 --> 00:50:50,130 "Έχουν όλες μου τις απόψεις χρησιμοποιήσετε αυτό το πρότυπο." 847 00:50:50,130 --> 00:50:52,470 Και το ένα τελευταίο πράγμα που θέλω να αποδείξει σε σας, καθώς και 848 00:50:52,470 --> 00:50:57,800 ότι δεν έχουμε χρόνο για είναι cross-site scripting, 849 00:50:57,800 --> 00:51:01,430 και βασικά νομίζω ότι εσείς έχετε πιθανότατα δει σε CS50 - 850 00:51:01,430 --> 00:51:03,770 Νομίζω ότι ο David Malan πιθανώς μίλησε για το πώς μπορείτε συνήθως να κάνετε την ένεση 851 00:51:03,770 --> 00:51:08,040 JavaScript κώδικα σε - έχετε μιλήσει γι 'αυτό; 852 00:51:08,040 --> 00:51:10,220 Ίσως; Ίσως όχι; 853 00:51:10,220 --> 00:51:12,670 >> Αλλά πολλές φορές μπορείτε να κάνετε την ένεση κακόβουλο κώδικα JavaScript 854 00:51:12,670 --> 00:51:15,630 στη βάση δεδομένων κάποιου, και αν δεν μπορούν να αποφύγουν αυτό σωστά, 855 00:51:15,630 --> 00:51:18,280 στη συνέχεια, όταν παρουσιάζουν ότι τα δεδομένα πίσω στο χρήστη, 856 00:51:18,280 --> 00:51:21,310 τότε μπορεί να τρέξει κάποια τυχαία κώδικα JavaScript δεν θέλετε να συμβεί αυτό, 857 00:51:21,310 --> 00:51:23,050 και ήμουν έτοιμος να αποδείξει πώς θα το κάνουμε αυτό μέσα Kohana. 858 00:51:23,050 --> 00:51:25,380 Είναι πραγματικά πολύ, πολύ εύκολο. 859 00:51:25,380 --> 00:51:31,920 Θα μπορούσα να το κάνω τώρα μέσα σε 2 δευτερόλεπτα κυριολεκτικά. 860 00:51:31,920 --> 00:51:34,560 Το μόνο που έχετε να κάνετε είναι βασικά τυλίξτε αυτά τα πράγματα 861 00:51:34,560 --> 00:51:46,920 σε αυτό το πράγμα που ονομάζεται HTML οντότητες. 862 00:51:46,920 --> 00:51:51,180 Και ότι θα ξεφύγουν από αυτόματα όλους τους χαρακτήρες σωστά 863 00:51:51,180 --> 00:51:54,730 και βεβαιωθείτε ότι δεν έχετε αυτό το πρόβλημα. 864 00:51:54,730 --> 00:51:57,220 [Φοιτητής] Μπορείτε γράφονται το πρώτο τεστ σωστά. 865 00:51:57,220 --> 00:52:01,030 [Brandon Liu] Ω, ουπς. 866 00:52:01,030 --> 00:52:06,420 >> Εντάξει, αυτό είναι το μόνο που είχα να μοιραστώ μαζί σας σήμερα. 867 00:52:06,420 --> 00:52:09,930 Αυτές οι διαφάνειες πρόκειται να αναρτηθεί, αλλά αυτά είναι γενικά 868 00:52:09,930 --> 00:52:13,900 οι μόνοι πόροι θα πρέπει να πρέπει πραγματικά να ξεκινήσετε με Kohana. 869 00:52:13,900 --> 00:52:16,770 Μπορείτε να πάτε στην ιστοσελίδα. Έχουν ένα εγχειρίδιο, και έχουν επίσης μια εξερευνητής API. 870 00:52:16,770 --> 00:52:20,630 Μπορούμε να διερευνήσει όλες τις διαφορετικές λειτουργίες και βοηθητικών λειτουργιών που έχουν για σας. 871 00:52:20,630 --> 00:52:22,070 Έχουν γενικά αρκετές πληροφορίες σχετικά με το δικτυακό τόπο 872 00:52:22,070 --> 00:52:25,310 που μπορείτε να χρησιμοποιήσετε για να ξεκινήσετε και να προχωρήσουμε με Kohana. 873 00:52:25,310 --> 00:52:30,840 Δεν υπάρχουν ότι πολλά tutorials, νομίζω, για Kohana, εκτός από 874 00:52:30,840 --> 00:52:33,880 τι έχουν στην ιστοσελίδα εδώ, έτσι αυτό είναι πιθανώς το καλύτερο στοίχημά σας. 875 00:52:33,880 --> 00:52:35,600 Αλλά αν θέλετε να πάτε με το πλαίσιο web 876 00:52:35,600 --> 00:52:37,120 και δεν θέλετε να πρέπει να πάρει μια νέα γλώσσα, 877 00:52:37,120 --> 00:52:39,780 και θέλετε κάτι που είναι σχετικά ελαφρύ και έχει μια εύκολη καμπύλη εκμάθησης, 878 00:52:39,780 --> 00:52:41,570 Θα ήθελα να προτείνω σίγουρα Kohana. 879 00:52:41,570 --> 00:52:44,040 Αυτή είναι ίσως η καλύτερη προσφορά για αυτό. 880 00:52:44,040 --> 00:52:46,830 Το αστείο πράγμα, όμως, είναι αν ήμασταν χρήση Ruby on Rails, 881 00:52:46,830 --> 00:52:48,550 θα μπορούσαμε να αναπαραχθεί αυτό που μόλις έκανε 882 00:52:48,550 --> 00:52:51,430 και ίσως περισσότερο σε λιγότερο από 3 λεπτά. 883 00:52:51,430 --> 00:52:54,710 Δεν πρόκειται για φάρσα, αλλά η μάθηση Ruby on Rails παίρνει πολύ περισσότερο χρόνο 884 00:52:54,710 --> 00:52:56,780 από ό, τι θα χρειαζόταν για να μάθουν Kohana. 885 00:52:56,780 --> 00:52:58,840 Είναι βασικά η επιλογή σας για το τι θέλετε να επιλέξετε για να μάθουν, 886 00:52:58,840 --> 00:53:01,260 αλλά αν θέλετε να ιδρυθεί και να λειτουργήσει γρήγορα, 887 00:53:01,260 --> 00:53:03,870 Kohana είναι σίγουρα μια πολύ καλή επιλογή. 888 00:53:03,870 --> 00:53:06,730 >> Οι τελευταίες ερωτήσεις πριν καταλήξουμε; Ναι. 889 00:53:06,730 --> 00:53:08,020 [Φοιτητής] Πώς θα ενσωματώσει ότι 890 00:53:08,020 --> 00:53:13,120 σε ένα πλαίσιο CSS σαν να χρησιμοποιούσατε όταν ήσασταν καθοδήγηση; 891 00:53:13,120 --> 00:53:16,700 Το ερώτημα είναι πώς θα ενσωματώσουν ότι με ένα πλαίσιο CSS; 892 00:53:16,700 --> 00:53:18,740 Αυτό που θα κάνουμε είναι πιθανότατα θα περιλαμβάνει κατά πάσα πιθανότητα 893 00:53:18,740 --> 00:53:21,090 ένα νέο φάκελο όπου θα πετάξει όλα τα CSS αρχεία μας, 894 00:53:21,090 --> 00:53:23,010 και στη συνέχεια είχαμε επίσης να προσθέσετε ένα νέο πρότυπο. 895 00:53:23,010 --> 00:53:26,090 Στο πρότυπο που θα περιλαμβάνει αυτά τα αρχεία CSS 896 00:53:26,090 --> 00:53:28,410 για να βεβαιωθείτε ότι είστε αναφέρονται σε κάθε σελίδα, 897 00:53:28,410 --> 00:53:32,220 και στη συνέχεια, όταν είστε πραγματικά γράφοντας HTML, 898 00:53:32,220 --> 00:53:34,010 Απλά προσθέστε τα κατάλληλα μαθήματα και εταζέρα, 899 00:53:34,010 --> 00:53:36,100 και, για παράδειγμα, όταν χρησιμοποιείτε κάτι σαν τη μορφή 900 00:53:36,100 --> 00:53:40,710 λειτουργία βοηθός, μπορείτε να προσθέσετε περισσότερες παραμέτρους αργότερα 901 00:53:40,710 --> 00:53:42,830 να διευκρινίσει ποια μαθήματα θέλετε να συνδέονται με διάφορα πράγματα 902 00:53:42,830 --> 00:53:47,820 ώστε να μπορούν να το στυλ σωστά, και αυτό είναι βασικά το πώς θα πάει. 903 00:53:47,820 --> 00:53:50,100 >> Οποιεσδήποτε άλλες ερωτήσεις; 904 00:53:50,100 --> 00:53:52,090 Awesome. 905 00:53:52,090 --> 00:53:58,540 Σας ευχαριστούμε για το χρόνο σας, και σας ευχαριστώ που ήρθατε. 906 00:53:58,540 --> 00:54:05,170 Εγώ δεν πρόκειται να προσθέσει πάρα πολύ αλλού, 907 00:54:05,170 --> 00:54:08,560 1 αλλά πραγματικά γρήγορο πράγμα είναι δεν έχουμε μια σύνδεση 908 00:54:08,560 --> 00:54:12,590 στη φόρμα. 909 00:54:12,590 --> 00:54:14,310 Πραγματικά ηλίθιος. 910 00:54:14,310 --> 00:54:20,110 Ας προσθέσουμε ένα - στην πραγματικότητα κατά την άποψη, το blog, δείκτης, 911 00:54:20,110 --> 00:54:23,890 ας πολύ γρήγορα να προσθέσετε ένα σύνδεσμο που πηγαίνει στη νέα σελίδα, 912 00:54:23,890 --> 00:54:26,770 η σελίδα όπου μπορούμε να εισάγουμε μια νέα θέση. 913 00:54:26,770 --> 00:54:29,950 Εμείς πάμε για να το κάνουμε αυτό. 914 00:54:29,950 --> 00:54:34,020 Τι ωραία που είναι όλη αυτή η ομάδα των βοηθητικών λειτουργιών HTML 915 00:54:34,020 --> 00:54:37,090 που κάνουν διαφορετικά πράγματα για σας, έτσι ώστε να έχει ήδη είδε τις οντότητες 916 00:54:37,090 --> 00:54:41,980 λειτουργούν εδώ, αλλά έχουν επίσης μια λειτουργία που ονομάζεται «άγκυρα», 917 00:54:41,980 --> 00:54:45,400 το οποίο μπορείτε να πληκτρολογήσετε στο blog / νέα 918 00:54:45,400 --> 00:54:49,550 και λένε, "Δημοσίευση ένα νέο blog." 919 00:54:49,550 --> 00:54:51,850 Και αυτό θα μπορούσε να δημιουργήσει το σύνδεσμο για σας, 920 00:54:51,850 --> 00:54:54,120 και αυτό φαίνεται πολύ ασήμαντο για να το κάνετε, αλλά αυτό είναι ωραίο, 921 00:54:54,120 --> 00:54:58,720 γιατί ας υποθέσουμε ότι είστε σε κίνηση την ιστοσελίδα σας από το 1 τομέα σε κάποιον άλλο. 922 00:54:58,720 --> 00:55:01,390 Και αν απλά έγραψε από τις διευθύνσεις URL σας, 923 00:55:01,390 --> 00:55:04,350 τότε θα πρέπει να αλλάξετε όλες τις διευθύνσεις URL. 924 00:55:04,350 --> 00:55:06,850 Ή ίσως να μετακινηθεί από 1 υποφάκελο σε άλλο υποφάκελο. 925 00:55:06,850 --> 00:55:08,790 Θα πρέπει να αλλάξουμε όλα εκείνα τα URLs τον εαυτό σας, 926 00:55:08,790 --> 00:55:12,180 και αυτό δεν είναι διασκέδαση. 927 00:55:12,180 --> 00:55:14,510 Μπορείτε να χρησιμοποιήσετε αυτήν την άγκυρα εδώ, 928 00:55:14,510 --> 00:55:18,950 και μπορείτε να αλλάξετε τον τομέα ή το πρόθεμα υποφάκελο 929 00:55:18,950 --> 00:55:20,640 στο αρχείο ρυθμίσεων φορά, 930 00:55:20,640 --> 00:55:22,980 και στη συνέχεια θα εφαρμόσει ότι παντού, και αυτό είναι, και πάλι, 931 00:55:22,980 --> 00:55:26,930 ένα μεγάλο παράδειγμα δεν επαναλαμβάνουν τον εαυτό σας, την ξήρανση τον κωδικό σας έξω. 932 00:55:26,930 --> 00:55:30,370 Όπου κι αν είστε επαναλαμβάνοντας τον εαυτό σας, να προσπαθήσουμε και να εξαγάγετε σε κάποιο είδος του αρχείου ρυθμίσεων 933 00:55:30,370 --> 00:55:34,160 ή σε μια διαφορετική λειτουργία και να το χειριστεί αυτό για σας. 934 00:55:34,160 --> 00:55:42,930 >> Και το τελευταίο πράγμα που θα ήθελα να σας δείξω ήταν 935 00:55:42,930 --> 00:55:50,250 ας υποθέσουμε ότι είμαστε πίσω σε αυτή τη θέση, και είχε συνθέσει κάποια πραγματικά μεγάλο δοκίμιο, 936 00:55:50,250 --> 00:55:52,670 αλλά ξέχασα να συμπεριλάβει μου συγγραφέα. 937 00:55:52,670 --> 00:55:55,210 Τώρα, όταν κάνετε κλικ στο "Υποβολή Post," 938 00:55:55,210 --> 00:55:57,270 Μόλις έχασα τα πάντα. 939 00:55:57,270 --> 00:56:00,000 Όχι! Πραγματικά λυπηρό. 940 00:56:00,000 --> 00:56:03,870 Τόσο πώς μπορείτε να ασχοληθεί με αυτό; 941 00:56:03,870 --> 00:56:06,070 Αυτό είναι αυτό που κάνουμε. 942 00:56:06,070 --> 00:56:09,340 Αυτό που κάνουμε είναι εδώ για αυτές τις λειτουργίες εισόδου και περιοχή κειμένου, 943 00:56:09,340 --> 00:56:12,700 αν περιλαμβάνουν μια δεύτερη παράμετρο, τότε η τιμή της εν λόγω δεύτερης παραμέτρου 944 00:56:12,700 --> 00:56:16,620 Είναι πρόκειται να είναι αυτό το πεδίο θα πρέπει να συμπληρωθεί με αρχικά. 945 00:56:16,620 --> 00:56:23,570 Τι θα μπορούσαμε να κάνουμε είναι στο blog μας ελεγκτή, 946 00:56:23,570 --> 00:56:25,360 θα μπορούσε να συνδεθεί με μια άλλη μεταβλητή. 947 00:56:25,360 --> 00:56:27,050 Καλέστε το "αξίες" ίσως. 948 00:56:27,050 --> 00:56:30,620 Και να περάσει στην μετά array, κυριολεκτικά. 949 00:56:30,620 --> 00:56:32,620 Αυτό σημαίνει ότι εάν η επικύρωση αποτύχει, 950 00:56:32,620 --> 00:56:36,570 περάσει για μένα η θέση συστοιχίας που έχουν υποβληθεί από την τελευταία αίτηση, 951 00:56:36,570 --> 00:56:38,420 και με αυτόν τον τρόπο μπορώ να χρησιμοποιήσω τις τιμές από την τελευταία υποβολή μου 952 00:56:38,420 --> 00:56:44,540 να συμπληρώσουν εκ νέου τα πεδία. 953 00:56:44,540 --> 00:56:49,600 Τώρα μπορώ να κάνω κάτι σαν τιμές συγγραφέα 954 00:56:49,600 --> 00:56:55,180 και τις αξίες του σώματος, και με αυτόν τον τρόπο τώρα αν κάνω κάποια τυχαία πράγματα 955 00:56:55,180 --> 00:57:01,490 και κάντε κλικ στο "Υποβολή Post," τότε μένει εκεί. 956 00:57:01,490 --> 00:57:03,830 Αλλά θα πάμε να τρέχει σε ένα άλλο πρόβλημα. 957 00:57:03,830 --> 00:57:07,670 Αυτό λειτουργεί, αλλά αν πάω στην σελίδα την πρώτη φορά, 958 00:57:07,670 --> 00:57:09,720 πρόκειται να καταρρεύσει, και αυτό γιατί η πρώτη φορά 959 00:57:09,720 --> 00:57:13,730 πάμε στη σελίδα, η θέση αυτή η μεταβλητή δεν έχει οριστεί ακόμα. 960 00:57:13,730 --> 00:57:18,170 Είναι null. Δεν υπάρχει. 961 00:57:18,170 --> 00:57:21,630 >> Και αυτό που θέλω να πω είναι αν υπάρχει αυτό το κλειδί, 962 00:57:21,630 --> 00:57:27,750 απόδοση, τότε η αξία αυτού του πίνακα, 963 00:57:27,750 --> 00:57:30,450 αλλά αν το κλειδί δεν υπάρχει, τότε επιστρέφει μια κενή συμβολοσειρά. 964 00:57:30,450 --> 00:57:32,150 Αυτή είναι η λειτουργικότητα που θέλουμε εδώ. 965 00:57:32,150 --> 00:57:34,690 Θέλουμε να ελέγξετε αν υπάρχει το κλειδί πριν προσπαθήσετε να αποκτήσετε πρόσβαση στο φάσμα, 966 00:57:34,690 --> 00:57:36,580 και αρκετά ευτυχώς, 967 00:57:36,580 --> 00:57:38,570 Kohana μας δίνει επίσης μια λειτουργία βοηθού για αυτό. 968 00:57:38,570 --> 00:57:41,040 Έχουν όλη αυτή η σουίτα των λειτουργιών 969 00:57:41,040 --> 00:57:43,660 με το όνομα ARR, μικρή παράταξη, 970 00:57:43,660 --> 00:57:45,800 και έχουν 1 λειτουργία που ονομάζεται "πάρει" 971 00:57:45,800 --> 00:57:48,690 και μπορείτε να περάσετε στη συστοιχία, 972 00:57:48,690 --> 00:57:50,740 και μπορείτε να περάσετε το όνομα του κλειδιού. 973 00:57:50,740 --> 00:57:54,330 Στη συνέχεια, βασικά αυτό που θα κάνουμε είναι ότι θα προσπαθήσει να πάρει το κλειδί, 974 00:57:54,330 --> 00:57:56,470 αλλά αν αυτό το κλειδί δεν υπάρχει στον πίνακα, 975 00:57:56,470 --> 00:58:00,900 Στη συνέχεια θα επιστρέψει κενό, ή μπορούμε επίσης να ορίσετε μια προεπιλεγμένη τιμή, πιστεύω, 976 00:58:00,900 --> 00:58:03,500 το οποίο είναι ωραίο. 977 00:58:09,740 --> 00:58:13,150 Τώρα, αν κάνουμε το ίδιο πράγμα ξανά, 978 00:58:13,150 --> 00:58:15,970 τότε θα δείτε τώρα δουλεύει την πρώτη φορά, 979 00:58:15,970 --> 00:58:18,080 και πάλι, αν πληκτρολογήσετε κάποια τυχαία πράγματα 980 00:58:18,080 --> 00:58:23,210 και να προσπαθήσουμε και να υποβάλει, τότε μένει εκεί. 981 00:58:23,210 --> 00:58:31,640 >> Και υποθέτω ότι μπορώ να σας δείξει πώς να προσθέσετε ένα πρότυπο πολύ γρήγορα. 982 00:58:31,640 --> 00:58:36,140 Τι μπορούμε να κάνουμε πρώτα είναι ότι μπορεί να προσθέσει μια νέα άποψη που ονομάζεται "template.php" 983 00:58:36,140 --> 00:58:38,890 μέσα στο φάκελο Προβολές, 984 00:58:38,890 --> 00:58:44,730 και τι Πάω να κάνουμε είναι να πάω να εκτυπώσετε κάτι που ονομάζεται "περιεχόμενο" 985 00:58:44,730 --> 00:58:49,130 η οποία πρόκειται να είναι κύριο περιεχόμενο μου. 986 00:58:49,130 --> 00:58:51,380 Και ίσως στο κάτω μέρος Πάω να προσθέσει, ας πούμε, 987 00:58:51,380 --> 00:58:53,340 πνευματικών δικαιωμάτων. 988 00:58:53,340 --> 00:58:56,150 [Δεν ακούγεται η ερώτηση του φοιτητή] 989 00:58:56,150 --> 00:58:58,050 [Brandon Liu] Ίσως αυτό είναι ένα εξαιρετικά βασικό πρότυπο που θέλετε να χρησιμοποιήσετε. 990 00:58:58,050 --> 00:59:02,840 Θέλω να έχω ένα φάκελο με τα πνευματικά μου δικαιώματα σε κάθε σελίδα, 991 00:59:02,840 --> 00:59:05,560 και τώρα τι Πάω να κάνουμε μέσα στον ελεγκτή μου 992 00:59:05,560 --> 00:59:07,740 είναι τώρα, αντί να λέει, "επεκτείνει Controller" 993 00:59:07,740 --> 00:59:11,870 Πάω να πω, «επεκτείνει Controller_Template" 994 00:59:11,870 --> 00:59:15,890 και τώρα, αντί να λέει, "το σώμα απάντηση είναι ίση με την άποψη αυτή," 995 00:59:15,890 --> 00:59:24,110 Πάω να πω, "το περιεχόμενο αυτό πρότυπο είναι -" 996 00:59:24,110 --> 00:59:27,690 και νομίζω - μπορώ να τοποθετήσω ένα σύμβολο του ίσον; 997 00:59:27,690 --> 00:59:32,710 Ξεχάσω. Ναι, σκέφτηκα έτσι. 998 00:59:32,710 --> 00:59:37,710 Και τώρα μπορώ να ορίσω ότι το περιεχόμενο της μεταβλητής να ισούται με την προβολή. 999 00:59:37,710 --> 00:59:40,960 Μπορώ να κάνω το ίδιο και εδώ. 1000 00:59:49,620 --> 00:59:57,170 Και τώρα, αν μου ανανεώσετε, μπορείτε να δείτε τώρα αυτό το δικαίωμα του δημιουργού προστίθεται εκεί, 1001 00:59:57,170 --> 01:00:00,350 και μόλις κάνει κάποια τυχαία θέση, 1002 01:00:00,350 --> 01:00:06,760 και, στη συνέχεια, και πάλι, θα πρέπει να δούμε ότι η πνευματική ιδιοκτησία είναι στο κάτω μέρος της σελίδας. 1003 01:00:06,760 --> 01:00:10,730 >> Great. Αυτό είναι το μόνο που ήθελα να σας δείξω παιδιά. 1004 01:00:10,730 --> 01:00:14,970 [Χειροκροτήματα] 1005 01:00:14,970 --> 01:00:18,950 Οποιεσδήποτε ερωτήσεις; 1006 01:00:18,950 --> 01:00:21,000 [CS50.TV]