1 00:00:00,000 --> 00:00:02,538 >> [MUSIC CHƠI] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC Ouyang: Hey, tất cả mọi người. 4 00:00:12,390 --> 00:00:13,580 Chào mừng. 5 00:00:13,580 --> 00:00:16,860 Đây là tòa động Web Apps với Laravel. 6 00:00:16,860 --> 00:00:18,290 Tên tôi là Eric Ouyang. 7 00:00:18,290 --> 00:00:23,860 Tôi là một sinh viên năm hai nghiên cứu xã hội học với một thứ khoa học máy tính, 8 00:00:23,860 --> 00:00:27,290 và tôi sống trong Adams Nhà ở đây tại Harvard. 9 00:00:27,290 --> 00:00:33,340 >> Vì vậy, Laravel, cốt lõi nhất của nó, là một MVC framework ứng dụng web. 10 00:00:33,340 --> 00:00:38,265 Vì vậy, giống như những gì các bạn có được làm với CS50 Tài chính, 11 00:00:38,265 --> 00:00:42,480 Laravel là một khuôn khổ cho phép bạn xây dựng các ứng dụng web động. 12 00:00:42,480 --> 00:00:47,710 Vì vậy, bạn có thể nghĩ về nó trong một số giác quan như một phần mở rộng của các loại công cụ 13 00:00:47,710 --> 00:00:50,470 bạn đã làm trong CS50 Tài chính, nhưng một hệ thống đó là 14 00:00:50,470 --> 00:00:55,890 rất nhiều mạnh mẽ hơn, rất nhiều thanh lịch hơn trong một số giác quan, 15 00:00:55,890 --> 00:00:57,870 và cung cấp rất nhiều chức năng cho bạn 16 00:00:57,870 --> 00:01:03,060 để xây dựng khá phức tạp các ứng dụng web. 17 00:01:03,060 --> 00:01:05,010 Vì vậy, chúng ta hãy điểm qua một số trong những tính năng quan trọng, 18 00:01:05,010 --> 00:01:09,550 và sau đó chúng ta sẽ đi sâu vào một ví dụ về xây dựng một blog 19 00:01:09,550 --> 00:01:12,500 ứng dụng với Laravel. 20 00:01:12,500 --> 00:01:16,700 >> Vì vậy, một trong những điều đầu tiên mà khác biệt với kiểu MVC làm việc 21 00:01:16,700 --> 00:01:22,100 mà bạn đã làm với CS50 là nó bao gồm một công cụ ORM. 22 00:01:22,100 --> 00:01:27,410 Vì vậy, ORM là viết tắt của đối tượng bản đồ quan hệ. 23 00:01:27,410 --> 00:01:31,080 Vì vậy, điều này cho phép bạn xây dựng một lớp trừu tượng 24 00:01:31,080 --> 00:01:35,230 giữa các cơ sở dữ liệu và các bộ điều khiển của bạn. 25 00:01:35,230 --> 00:01:39,150 Vì vậy, không giống như trong CS50 Tài chính nơi bạn trực tiếp để thực hiện truy vấn, 26 00:01:39,150 --> 00:01:44,790 lớp ORM cho phép bạn trừu tượng đó đi và tạo ra 27 00:01:44,790 --> 00:01:48,085 mô hình mà còn mạnh hơn bạn có thể trực tiếp với các truy vấn SQL. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Một điều đó là thực sự hữu ích là mẫu di truyền. 30 00:01:53,510 --> 00:01:58,990 Vì vậy, bạn sẽ nhận thấy trong CS50 Tài chính, bạn kết thúc việc viết lại rất nhiều thứ, 31 00:01:58,990 --> 00:02:03,150 nơi những nơi bạn có thể có khả năng tái sử dụng những thứ, bạn không thể làm được. 32 00:02:03,150 --> 00:02:08,539 Vì vậy, ở đây trong Laravel, bạn có thể sử dụng những gì gọi là lưỡi mẫu động cơ 33 00:02:08,539 --> 00:02:10,530 để tạo ra một bố cục tổng thể. 34 00:02:10,530 --> 00:02:15,840 Và từ đó, bạn có thể kế thừa để phụ mẫu có thể thực sự 35 00:02:15,840 --> 00:02:21,210 bao gồm các yếu tố bên trong mà lớn hơn cơ sở mẫu. 36 00:02:21,210 --> 00:02:21,810 >> Migration. 37 00:02:21,810 --> 00:02:29,010 Vì vậy, đây là một tính năng khá chuẩn trên hầu hết các khung ứng dụng web hiện đại. 38 00:02:29,010 --> 00:02:32,710 Vì vậy, điều này cho phép bạn đại diện thay đổi giản đồ cơ sở dữ liệu trong mã. 39 00:02:32,710 --> 00:02:39,200 Vì vậy mà không đi đến nói, phpMyAdmin, bạn thực sự có thể tạo ra những cuộc di cư 40 00:02:39,200 --> 00:02:44,660 nơi bạn đại diện cho các cơ sở dữ liệu thay đổi giản đồ trong mã trực tiếp. 41 00:02:44,660 --> 00:02:48,070 Và điều này cho phép bạn với: đặc biệt nếu bạn có nhiều người làm việc 42 00:02:48,070 --> 00:02:52,650 trên application-- web cùng theo dõi những thay đổi này, 43 00:02:52,650 --> 00:02:55,380 nói trong GitHub, hoặc một số kho khác. 44 00:02:55,380 --> 00:03:00,880 >> Vì vậy, đây là thực sự hữu ích và giảm nhẹ nhu cầu 45 00:03:00,880 --> 00:03:04,580 đến, nói, vượt qua xung quanh rất nhiều SQL bãi. 46 00:03:04,580 --> 00:03:07,140 Và cuối cùng, Composer là một cái gì đó thực sự, thực sự hữu ích 47 00:03:07,140 --> 00:03:09,840 mà cho phép bạn sử dụng khác Mã của người dân để làm những điều tuyệt vời. 48 00:03:09,840 --> 00:03:14,020 Vì vậy, Laravel của cấu trúc như một số gói soạn nhạc. 49 00:03:14,020 --> 00:03:17,870 Vì vậy, nói rằng nếu bạn muốn mang trong một gói phần mềm xác thực 50 00:03:17,870 --> 00:03:23,440 hoặc nếu bạn muốn mang lại một số loại kịch bản phát hoặc một admin 51 00:03:23,440 --> 00:03:26,910 giao diện, bạn có thể cắm và chơi những thành phần với Composer. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Vì vậy, chúng ta hãy bắt đầu. 54 00:03:31,570 --> 00:03:35,185 Bất kỳ câu hỏi từ bạn kẻ trước khi chúng tôi bắt đầu? 55 00:03:35,185 --> 00:03:36,500 Không có câu hỏi? 56 00:03:36,500 --> 00:03:37,490 Cool. 57 00:03:37,490 --> 00:03:39,990 Vì vậy, bước đầu tiên là cài đặt Composer. 58 00:03:39,990 --> 00:03:43,590 Vì vậy, Composer cho phép bạn quản lý các gói phụ thuộc, 59 00:03:43,590 --> 00:03:47,770 cho dù đó là khuôn khổ Laravel hoặc một số phần mở rộng của bên thứ ba khác. 60 00:03:47,770 --> 00:03:50,400 Lệnh đầu tiên cho phép bạn tải về Composer, 61 00:03:50,400 --> 00:03:55,890 và lệnh thứ hai cho phép bạn di chuyển nó vào thư mục bin địa phương của bạn 62 00:03:55,890 --> 00:04:01,340 để bạn có thể chạy Composer trực tiếp thông qua các thiết bị đầu cuối. 63 00:04:01,340 --> 00:04:05,405 >> Sau đó, đi trước và tạo ra một dự án Laravel mới. 64 00:04:05,405 --> 00:04:07,280 Chúng tôi đang thực sự đi vào sử dụng một số mã ví dụ 65 00:04:07,280 --> 00:04:10,760 mà tôi đã đặt cùng để tạo ra blog này. 66 00:04:10,760 --> 00:04:14,420 Nhưng nếu bạn đang bắt đầu từ đầu, bạn sẽ sử dụng lệnh này 67 00:04:14,420 --> 00:04:18,160 ở đây, nhà soạn nhạc tạo dự án, laravel giảm laravel, và sau đó 68 00:04:18,160 --> 00:04:19,940 tên của dự án của bạn. 69 00:04:19,940 --> 00:04:22,275 Và đó sẽ bao gồm tất cả các mã phân phối 70 00:04:22,275 --> 00:04:23,733 để bắt đầu một dự án mới Laravel. 71 00:04:23,733 --> 00:04:28,870 Vì vậy, đối với các dự án chính thức CS50 của bạn, bạn sẽ thấy có thể muốn sử dụng lệnh đó. 72 00:04:28,870 --> 00:04:31,210 >> Nhưng chúng ta sẽ bắt đầu với điều này. 73 00:04:31,210 --> 00:04:34,630 Vì vậy, một khi bạn đã thực hiện đó, bạn sẽ nhận được 74 00:04:34,630 --> 00:04:40,190 một số lượng khá rộng của các tập tin trong blog50. 75 00:04:40,190 --> 00:04:43,840 Vì vậy, chúng ta hãy đi qua một số các thành phần này. 76 00:04:43,840 --> 00:04:49,060 Bạn sẽ nhận thấy tại tuyến đường này thư mục, có một thư mục ứng dụng. 77 00:04:49,060 --> 00:04:52,960 Bên trong thư mục ứng dụng, có một vài thư mục hữu ích. 78 00:04:52,960 --> 00:04:56,330 Đáng chú ý để bắt đầu với là thư mục cấu hình này. 79 00:04:56,330 --> 00:04:59,210 Vì vậy, điều này đặt ra như thế nào ứng dụng web của bạn 80 00:04:59,210 --> 00:05:04,350 đi đến, nói, xác thực người hay thứ tiền mặt hoặc kết nối với cơ sở dữ liệu. 81 00:05:04,350 --> 00:05:06,400 >> Và những gì là thực sự hữu ích là Laravel 82 00:05:06,400 --> 00:05:09,130 cho phép bạn thiết lập khác nhau môi trường phát triển. 83 00:05:09,130 --> 00:05:12,090 Vì vậy, những gì chúng tôi đã thực hiện ở đây là nếu chúng ta đi theo các thư mục địa phương, 84 00:05:12,090 --> 00:05:14,720 có một file database.php. 85 00:05:14,720 --> 00:05:18,320 Và bạn sẽ nhận thấy ở đây là chúng ta thiết lập một kết nối MySQL mà 86 00:05:18,320 --> 00:05:22,230 cho phép các cá nhân để kết nối đến máy chủ MySQL đó 87 00:05:22,230 --> 00:05:24,310 trực tiếp trên thiết bị CS50. 88 00:05:24,310 --> 00:05:26,980 Và chúng ta đang kết nối với một cơ sở dữ liệu mà tôi thiết lập được gọi là Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Vì vậy, chúng ta hãy thực sự đi trước và chạy các phiên bản làm việc này, 91 00:05:37,085 --> 00:05:39,710 chỉ để có được một cảm giác về những gì ứng dụng mà chúng ta đang xây dựng 92 00:05:39,710 --> 00:05:41,390 trông như thế nào. 93 00:05:41,390 --> 00:05:46,150 Vì vậy, tôi có một bản sao của Blog50 này hoàn thành. 94 00:05:46,150 --> 00:05:51,910 Vì vậy, Laravel thực đã được xây dựng trong một máy chủ 95 00:05:51,910 --> 00:05:53,910 mà bạn có thể chạy trực tiếp từ dòng lệnh. 96 00:05:53,910 --> 00:05:56,900 Vì vậy, đây là tương tự như các PSet trước khi bạn thực sự 97 00:05:56,900 --> 00:06:00,580 xây dựng máy chủ của riêng bạn trong C. Vì vậy, họ đã xây dựng trong một quá 98 00:06:00,580 --> 00:06:04,010 mà bạn có thể chạy các ứng dụng của bạn Laravel trực tiếp từ dòng lệnh. 99 00:06:04,010 --> 00:06:11,650 >> Vì vậy, nếu chúng ta làm php nghệ nhân phục vụ, điều này sẽ khởi động một máy chủ phát triển 100 00:06:11,650 --> 00:06:13,880 trên cổng 8000. 101 00:06:13,880 --> 00:06:18,250 Vì vậy, nếu chúng ta đi đến máy chủ của địa phương 8000, bạn sẽ nhận thấy rằng, hey. 102 00:06:18,250 --> 00:06:20,800 Chúng tôi có blog của chúng tôi lên và chạy. 103 00:06:20,800 --> 00:06:25,090 Vì vậy, ở đây là tạo Laravel các trang blog của chúng tôi. 104 00:06:25,090 --> 00:06:26,350 Ứng dụng rất đơn giản. 105 00:06:26,350 --> 00:06:28,610 Nhưng có một cặp vợ chồng tính năng thật sự tiện lợi 106 00:06:28,610 --> 00:06:31,346 mà nó cung cấp bên dưới mui xe. 107 00:06:31,346 --> 00:06:33,680 >> Vì vậy, các ứng dụng blog của đơn giản. 108 00:06:33,680 --> 00:06:36,430 Nếu chúng tôi muốn tạo ra một bài, chúng ta có thể nhấp vào nút đó. 109 00:06:36,430 --> 00:06:40,470 Chúng tôi có thể nói, "Hey, tất cả mọi người. 110 00:06:40,470 --> 00:06:44,530 Đây là một thực sự vui vẻ Hội thảo ", ví dụ. 111 00:06:44,530 --> 00:06:46,560 Và viết một cái gì đó ở đây. 112 00:06:46,560 --> 00:06:48,180 Văn bản ở đây. 113 00:06:48,180 --> 00:06:51,327 Nếu chúng ta nhấn Submit, bạn sẽ thấy nhận thấy rằng blog mới của chúng tôi 114 00:06:51,327 --> 00:06:53,410 Bài viết đã được thêm vào trang của blog. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Nếu chúng ta trở lại đây, bạn sẽ nhận thấy rằng đã có một số ý kiến ​​đã 117 00:06:59,970 --> 00:07:01,160 trên blog. 118 00:07:01,160 --> 00:07:03,630 Vì vậy, nếu chúng ta di chuyển xuống, bạn sẽ thấy nhận thấy rằng Jonathan Tan nói 119 00:07:03,630 --> 00:07:08,020 rằng ông đã rất hấp dẫn bởi bài này. 120 00:07:08,020 --> 00:07:11,570 >> Vì vậy, chúng ta sẽ đi vào như thế nào đối tượng bản đồ quan hệ cho phép 121 00:07:11,570 --> 00:07:16,668 bạn làm các mối quan hệ trong một cách khá liền mạch là tốt. 122 00:07:16,668 --> 00:07:17,660 Cool. 123 00:07:17,660 --> 00:07:20,290 Bất kỳ câu hỏi về chức năng về những gì chúng ta sẽ xây dựng? 124 00:07:20,290 --> 00:07:22,850 125 00:07:22,850 --> 00:07:23,840 Cool. 126 00:07:23,840 --> 00:07:28,170 Vì vậy, chúng ta hãy bắt đầu với thực tế tạo ra các bảng cơ sở dữ liệu. 127 00:07:28,170 --> 00:07:33,190 >> Vì vậy, nhớ lại rằng trong CS50 Tài chính, bạn đặt cùng một bảng cho người sử dụng 128 00:07:33,190 --> 00:07:37,100 cũng như cho cổ phiếu trong danh mục đầu tư của bạn. 129 00:07:37,100 --> 00:07:41,040 Vì vậy, như chúng tôi đã đề cập trước đó, những gì chúng tôi sử dụng trong Laravel 130 00:07:41,040 --> 00:07:43,090 là một cái gì đó gọi là sự di cư. 131 00:07:43,090 --> 00:07:48,570 Vì vậy, nếu chúng ta quay trở lại đang phân phối tại đây, 132 00:07:48,570 --> 00:07:51,790 lệnh đầu tiên là hữu ích mà Laravel cung cấp cho bạn 133 00:07:51,790 --> 00:07:54,240 là lệnh di cư này. 134 00:07:54,240 --> 00:07:59,220 Vì vậy, chúng ta có thể làm php nghệ nhân di cư: thực hiện. 135 00:07:59,220 --> 00:08:01,760 Vì vậy, điều này cho phép chúng ta tạo ra một sự chuyển đổi. 136 00:08:01,760 --> 00:08:03,710 >> Và sau đó chúng ta sẽ muốn để tạo ra một sự chuyển đổi 137 00:08:03,710 --> 00:08:07,050 gọi create_posts_table, mà là có 138 00:08:07,050 --> 00:08:11,521 là nơi mà chúng ta sẽ được lưu trữ bài viết trên blog của chúng tôi. 139 00:08:11,521 --> 00:08:14,690 Và bạn sẽ nhận thấy ở đây là nó chạy thông qua một số mã mà thực 140 00:08:14,690 --> 00:08:17,580 tạo ra một tập tin với một tem thời gian vào nó. 141 00:08:17,580 --> 00:08:22,260 Vì vậy, nếu chúng ta đi và nhìn vào cơ sở dữ liệu, chúng ta sẽ nhận thấy dưới Migrations 142 00:08:22,260 --> 00:08:24,830 mà nó được tạo ra một tập tin trống cho chúng ta mà 143 00:08:24,830 --> 00:08:30,100 có mã boilerplate với tên mà chúng tôi quy định, tạo ra bài viết bảng. 144 00:08:30,100 --> 00:08:31,670 >> Và nó có hai chức năng trong nó. 145 00:08:31,670 --> 00:08:40,539 Up là những gì chúng ta muốn chạy khi di cư được áp dụng đối với các cơ sở dữ liệu. 146 00:08:40,539 --> 00:08:46,380 Và xuống là những gì chúng tôi đang đi làm khi chúng ta muốn đảo ngược một di dân. 147 00:08:46,380 --> 00:08:49,890 Vì vậy, ở đây chúng ta hãy bắt đầu ra với văn bản di chuyển này. 148 00:08:49,890 --> 00:08:55,480 Vì vậy, có một lớp học hữu ích trong Laravel gọi Schema. 149 00:08:55,480 --> 00:08:57,910 >> Vì vậy, chúng tôi đang đi để chạy Schema :: tạo. 150 00:08:57,910 --> 00:09:01,080 Và chúng ta sẽ tạo ra một bảng gọi là bài viết. 151 00:09:01,080 --> 00:09:05,980 Và ở đây chúng tôi áp dụng điều này bằng cách sử dụng một chức năng. 152 00:09:05,980 --> 00:09:11,010 Và trong đây, chúng ta sẽ thực sự xác định nội dung của bảng của chúng tôi. 153 00:09:11,010 --> 00:09:14,860 Chúng ta sẽ tạo ra một ID, đó là tự động incrementing. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Ngoài ra, chúng ta sẽ để tạo ra một lĩnh vực 156 00:09:24,350 --> 00:09:27,060 đại diện cho các tiêu đề của bài viết trên blog của chúng tôi. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Chúng tôi cũng sẽ tạo ra một lĩnh vực để lưu trữ các văn bản của các bài viết trên blog của chúng tôi. 159 00:09:36,950 --> 00:09:40,600 Và cuối cùng, chúng ta sẽ để lưu trữ một số mốc thời gian 160 00:09:40,600 --> 00:09:44,690 khi bài của chúng tôi đã tạo ra và khi nó đã được cập nhật. 161 00:09:44,690 --> 00:09:46,240 Và cho xuống, nó khá đơn giản. 162 00:09:46,240 --> 00:09:53,974 Tất cả chúng tôi muốn làm là thả bảng mà chúng tôi đã tạo ra. 163 00:09:53,974 --> 00:09:54,930 >> Tuyệt vời. 164 00:09:54,930 --> 00:09:55,850 Bất kỳ câu hỏi? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Vì vậy, bây giờ nếu chúng tôi đi trước và- thực sự, chủ của địa phương, 167 00:10:07,110 --> 00:10:09,640 cho tôi xóa những gì chúng tôi đã có trước đó. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Tới Databases. 170 00:10:15,190 --> 00:10:17,640 Tôi sẽ xóa những gì chúng tôi đã có trước đó. 171 00:10:17,640 --> 00:10:22,870 Thả này và tạo ra một cơ sở dữ liệu mới Blog50. 172 00:10:22,870 --> 00:10:24,930 Vì vậy, bây giờ những gì kỳ diệu một phần là ở đây chúng tôi 173 00:10:24,930 --> 00:10:28,760 có thể áp dụng những cuộc di cư trực tiếp cơ sở dữ liệu bằng cách sử dụng dòng lệnh 174 00:10:28,760 --> 00:10:29,290 công cụ. 175 00:10:29,290 --> 00:10:35,100 Vì vậy, nếu chúng ta làm php nghệ nhân di cư, bạn sẽ nhận thấy rằng, hey. 176 00:10:35,100 --> 00:10:38,320 Nó tạo ra các bảng di cư, mà chúng ta sẽ có một cái nhìn tại trong một chút, 177 00:10:38,320 --> 00:10:40,540 và nó được áp dụng đầu tiên di cư này. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Vì vậy, chúng ta nhìn vào Blog50, bạn sẽ nhận thấy mà nó được tạo ra hai bảng cho chúng ta. 180 00:10:48,920 --> 00:10:50,300 Đầu tiên là bàn di cư này. 181 00:10:50,300 --> 00:10:54,130 Vì vậy, nếu chúng ta duyệt này, bạn sẽ nhận thấy rằng bảng này là khá đơn giản. 182 00:10:54,130 --> 00:10:55,490 Nó chỉ nói rằng, hey. 183 00:10:55,490 --> 00:10:58,960 Chúng tôi đã áp dụng sự chuyển đổi này. 184 00:10:58,960 --> 00:11:01,470 Chúng tôi quay trở lại và nhìn vào bài viết. 185 00:11:01,470 --> 00:11:05,720 Bạn sẽ nhận thấy rằng cấu trúc là chính xác những gì chúng tôi đã yêu cầu nó. 186 00:11:05,720 --> 00:11:07,350 Chúng tôi có một ID tự động incrementing. 187 00:11:07,350 --> 00:11:10,450 Chúng tôi có một chuỗi để lưu trữ tiêu đề, và một lĩnh vực văn bản 188 00:11:10,450 --> 00:11:11,450 để lưu trữ các nội dung. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Tuyệt vời. 191 00:11:14,706 --> 00:11:15,560 Cool. 192 00:11:15,560 --> 00:11:21,626 Bất kỳ câu hỏi về di cư công việc, làm thế nào chúng ta có thể áp dụng chúng? 193 00:11:21,626 --> 00:11:22,126 Không có? 194 00:11:22,126 --> 00:11:23,600 Cool. 195 00:11:23,600 --> 00:11:26,630 Vì vậy, bây giờ chúng ta sẽ đi trước và thực sự tạo ra các mô hình. 196 00:11:26,630 --> 00:11:33,100 Vì vậy, chúng tôi muốn tạo ra một mô hình bài viết đó lưu trữ một trừu tượng của cơ sở dữ liệu. 197 00:11:33,100 --> 00:11:41,040 Vì vậy, thay vì làm các truy vấn MySQL trực tiếp, chúng ta sẽ tạo ra. 198 00:11:41,040 --> 00:11:45,840 Vì vậy, chúng ta phải tạo ra một thư mục ở đây được gọi là mô hình. 199 00:11:45,840 --> 00:11:48,905 Và bên trong ở đây, chúng ta sẽ tạo ra một tập tin gọi là post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Bên trong file PHP này, chúng ta sẽ tạo ra 202 00:11:54,550 --> 00:12:00,590 một bài lớp mà kéo dài hùng hồn. 203 00:12:00,590 --> 00:12:08,950 Hùng hồn là tên của ORM cơ mà Laravel cung cấp. 204 00:12:08,950 --> 00:12:12,799 Và ở đây, chúng ta có thể mong đợi rằng bạn thực sự cần phải viết một số mã. 205 00:12:12,799 --> 00:12:14,840 Chúng ta sẽ viết một số chức năng trợ giúp sau đó. 206 00:12:14,840 --> 00:12:19,420 Nhưng ra khỏi hộp, điều này sẽ đã nhận ra những gì trong cơ sở dữ liệu 207 00:12:19,420 --> 00:12:24,770 và chúng ta có thể truy cập, nói rằng, các văn bản các bài viết trên blog của chúng tôi hoặc các tiêu đề, 208 00:12:24,770 --> 00:12:29,230 và tạo ra các công cụ trực tiếp với khá nhiều không có mã nào. 209 00:12:29,230 --> 00:12:31,110 >> Vì vậy, đó là một trong những thành phần kỳ diệu. 210 00:12:31,110 --> 00:12:34,980 Và gió một lần lớp này được đầy bản lĩnh hơn, 211 00:12:34,980 --> 00:12:40,480 chúng tôi sẽ bao gồm các thông tin về những gì nó liên quan đến, vì vậy các ý kiến. 212 00:12:40,480 --> 00:12:42,310 Cũng tạo ra một chức năng vì vậy chúng tôi có thể thực sự 213 00:12:42,310 --> 00:12:46,340 trực tiếp có được các URL của một trang blog. 214 00:12:46,340 --> 00:12:46,840 Cool. 215 00:12:46,840 --> 00:12:47,881 Mọi thắc mắc về điều đó? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 Không. 218 00:12:51,832 --> 00:12:54,100 Cool. 219 00:12:54,100 --> 00:12:57,860 >> Vì vậy bây giờ khi chúng tôi có mô hình của chúng tôi, chúng tôi muốn tạo ra một bộ điều khiển đó là 220 00:12:57,860 --> 00:13:02,340 khả năng giao tiếp với các mô hình này, Theo đó, các cơ sở dữ liệu. 221 00:13:02,340 --> 00:13:05,540 Vì vậy, nếu chúng ta có một cái nhìn tại BlogController, bạn sẽ thấy 222 00:13:05,540 --> 00:13:08,490 nhận thấy rằng có không nhiều ở đây ngay bây giờ. 223 00:13:08,490 --> 00:13:13,220 Tất cả có là một chức năng chỉ số mà tạo ra trang chủ, 224 00:13:13,220 --> 00:13:18,220 nhưng mà không có bất cứ điều gì có để hiển thị nào. 225 00:13:18,220 --> 00:13:20,560 >> Vì vậy, chức năng đầu tiên rằng chúng ta sẽ tạo ra 226 00:13:20,560 --> 00:13:25,790 là một trong đó cho phép chúng tôi để tạo ra một bài đăng blog. 227 00:13:25,790 --> 00:13:30,540 Vì vậy, chúng ta sẽ khai báo một chức năng mới được gọi là newPost. 228 00:13:30,540 --> 00:13:36,430 Và bên trong ở đây chỉ đơn giản là, chúng ta đang đi để thiết lập bố cục của trang này 229 00:13:36,430 --> 00:13:41,850 là một render phiên bản, nếu bạn nhớ lại từ CS50, 230 00:13:41,850 --> 00:13:48,020 của mẫu này được gọi là blog.new, mà chúng ta sẽ tạo ra một chút. 231 00:13:48,020 --> 00:13:53,170 >> Bạn sẽ nhận thấy đây trên dòng sáu mà chúng tôi xác định biến này, bố trí. 232 00:13:53,170 --> 00:13:55,820 Và nếu chúng ta có một cái nhìn tại thư mục Views, 233 00:13:55,820 --> 00:14:01,640 có một thư mục Layouts, mà bao gồm một tập tin HTML rất cơ bản. 234 00:14:01,640 --> 00:14:04,680 Và chú ý, bạn sẽ nhận thấy rằng chúng ta có chứa này 235 00:14:04,680 --> 00:14:06,800 ở đây rằng sản lượng nội dung. 236 00:14:06,800 --> 00:14:09,460 Vì vậy, bên trong mẫu của chúng tôi những gì chúng tôi đang đi làm 237 00:14:09,460 --> 00:14:16,180 đang tạo ra những gì đang xảy ra là thay thế trực tiếp trong cách bố trí này. 238 00:14:16,180 --> 00:14:20,060 >> Vì vậy, chúng ta nói rằng chúng ta muốn làm cho một mẫu gọi là blog.new. 239 00:14:20,060 --> 00:14:23,790 Nhưng bên trong của Blog, có chưa mẫu mới này. 240 00:14:23,790 --> 00:14:26,910 Vì vậy, chúng ta sẽ tạo ra một tập tin gọi là new.blade.php. 241 00:14:26,910 --> 00:14:29,860 Điều này cho rằng Laravel file PHP này nên 242 00:14:29,860 --> 00:14:31,720 được trả lại với các blade mẫu động cơ. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Vì vậy, đây là một cách khá tập tin đơn giản. 245 00:14:42,630 --> 00:14:46,690 Đó sẽ là hình thức mà chúng tôi thực sự thêm vào một bài đăng blog. 246 00:14:46,690 --> 00:14:49,220 >> Vì vậy, sự kỳ diệu ở đây từ thừa kế là, hey. 247 00:14:49,220 --> 00:14:52,950 Chúng tôi muốn xác định rằng phần, phần nội dung 248 00:14:52,950 --> 00:14:56,640 ở đây, đó là mô tả bởisection vàstop. 249 00:14:56,640 --> 00:15:02,260 Vậy điều gì ở giữa ở đây sẽ cho được thay thế vào cách bố trí tổng thể. 250 00:15:02,260 --> 00:15:07,000 Và ở đây những gì chúng tôi muốn làm là rất đơn giản là tạo ra một tập tin HTML mới. 251 00:15:07,000 --> 00:15:08,690 Bạn chỉ cần thêm một tiêu đề nhanh chóng. 252 00:15:08,690 --> 00:15:09,600 Thêm một bài đăng blog. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 Và trong đó, chúng tôi sẽ tạo ra một biểu mẫu. 255 00:15:15,390 --> 00:15:19,197 >> Hình thức này sẽ có một hành động. 256 00:15:19,197 --> 00:15:21,780 Và điều này là có được một cái gì đó rằng chúng ta thay thế trong sau, 257 00:15:21,780 --> 00:15:24,200 và chúng ta sẽ thấy như thế nào định tuyến phù hợp ở đây. 258 00:15:24,200 --> 00:15:33,600 Nhưng chúng tôi chỉ cần đi để xác định cho doanh nghiệp rằng điều này đi đến một URL với các tuyến đường 259 00:15:33,600 --> 00:15:34,860 từ createPost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 Và sau đó điều này sẽ có phương pháp bài. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 Trong đây, chúng ta đang đi có hai trường. 264 00:15:47,590 --> 00:15:49,170 Div class = "hình thức nhóm". 265 00:15:49,170 --> 00:15:55,806 >> Chúng tôi đang sử dụng các thư viện Bootstrap CSS ân cần cung cấp bởi Twitter. 266 00:15:55,806 --> 00:15:57,720 Vì vậy, chúng ta sẽ tạo ra hai trong số này. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Vì vậy, đầu vào đầu tiên này là sẽ là tiêu đề. 269 00:16:05,970 --> 00:16:08,437 Vì vậy, tên input = "title". 270 00:16:08,437 --> 00:16:09,270 Class = "formcontrol". 271 00:16:09,270 --> 00:16:13,540 272 00:16:13,540 --> 00:16:14,425 Type = "text". 273 00:16:14,425 --> 00:16:16,050 Tôi sẽ thêm một placeholder = "Title". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> Và sau đó là một thứ hai là sẽ là một vùng văn bản. 276 00:16:26,140 --> 00:16:27,827 Name = "nội dung". 277 00:16:27,827 --> 00:16:28,660 Class = "formcontrol". 278 00:16:28,660 --> 00:16:33,402 279 00:16:33,402 --> 00:16:34,610 Và placeholder = "Viết vào đây". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Hiện chúng tôi đi. 282 00:16:43,480 --> 00:16:46,760 Cuối cùng, chúng ta sẽ thêm một nút gửi nhanh. 283 00:16:46,760 --> 00:16:50,370 Type = "submit" class = "btn btn-chính". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Vì vậy, đây là tất cả tính năng của Bootstrap nên 286 00:16:55,340 --> 00:16:58,510 rằng điều này có thể được đặt ra trong một cách đó là 287 00:16:58,510 --> 00:17:03,730 con mồi cho người sử dụng, chứ không phải là HTML khỏa thân. 288 00:17:03,730 --> 00:17:06,250 >> Vì vậy, chúng tôi đã xác định bộ điều khiển ở đây. 289 00:17:06,250 --> 00:17:08,930 Chúng tôi đã xác định một quan điểm rất đơn giản. 290 00:17:08,930 --> 00:17:12,339 Nhưng điều còn thiếu là các mô liên kết. 291 00:17:12,339 --> 00:17:15,420 Vì vậy, tại thời điểm này, Laravel không có ý tưởng như thế nào 292 00:17:15,420 --> 00:17:18,312 chúng ta sẽ thực sự truy cập vào bộ điều khiển này. 293 00:17:18,312 --> 00:17:20,270 Vì vậy, đây được định nghĩa trong một tập tin gọi là routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 Và ngay bây giờ, chúng tôi có một tuyến đường. 296 00:17:24,310 --> 00:17:29,060 Đó là khi chúng tôi đi đến con đường về nhà cho trang web này, 297 00:17:29,060 --> 00:17:33,140 nó sẽ làm cho bộ điều khiển chỉ số. 298 00:17:33,140 --> 00:17:38,880 Vì vậy, ở đây những gì chúng ta cần làm là thực hiện một con đường mới cho chúng tôi để tạo ra một bài. 299 00:17:38,880 --> 00:17:41,910 >> Vì vậy, chúng tôi sử dụng phương pháp này có được, trong đó xác định 300 00:17:41,910 --> 00:17:48,650 rằng khi người dùng cố gắng có được điều này page-- đặc biệt 301 00:17:48,650 --> 00:17:52,850 những bài chém page-- mới những gì chúng tôi đang đi làm 302 00:17:52,850 --> 00:18:02,060 được sử dụng các bộ điều khiển được gọi là Bài mới BlogController. 303 00:18:02,060 --> 00:18:03,460 Người mà chúng ta vừa tạo ra. 304 00:18:03,460 --> 00:18:08,090 Và sau đó chúng ta sẽ bí danh để nó như newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Chúng ta sẽ tạo ra một chức năng trong một chút. 307 00:18:19,850 --> 00:18:23,520 Nhưng những gì ở đây dưới các chính "như" là gì 308 00:18:23,520 --> 00:18:28,195 chúng ta có thể thay thế trong vòng Blade mẫu của chúng tôi. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Vì vậy, bây giờ, chúng ta hãy thực sự cũng nói đường. 311 00:18:36,230 --> 00:18:38,380 Vì vậy, chúng tôi cũng đang đi để tạo ra một bộ điều khiển 312 00:18:38,380 --> 00:18:41,020 để chúng ta có thể tạo ra những bài viết. 313 00:18:41,020 --> 00:18:46,940 Vì vậy, nếu một người dùng đưa vào các bài trang giảm mới, những gì chúng tôi đang đi làm 314 00:18:46,940 --> 00:18:51,350 là sử dụng một bộ điều khiển chúng ta sẽ tạo ra một thời gian ngắn 315 00:18:51,350 --> 00:18:56,160 gọi BlogController tại createPost. 316 00:18:56,160 --> 00:19:01,929 Và chúng ta sẽ bí danh này với càng createPost. 317 00:19:01,929 --> 00:19:03,380 Cool. 318 00:19:03,380 --> 00:19:05,811 >> Bất kỳ câu hỏi? 319 00:19:05,811 --> 00:19:06,310 Cool. 320 00:19:06,310 --> 00:19:09,790 Vì vậy, chúng ta hãy chạy những gì chúng tôi có cho đến nay. 321 00:19:09,790 --> 00:19:16,930 Vì vậy, nếu chúng ta làm php nghệ nhân phục vụ, chúng ta sẽ thấy rất nhiều lỗi. 322 00:19:16,930 --> 00:19:20,385 Vì vậy, có vẻ như chúng ta có một lỗi cú pháp trên các tuyến đường 27. 323 00:19:20,385 --> 00:19:20,885 Ah. 324 00:19:20,885 --> 00:19:21,718 Thiếu một dấu chấm phẩy. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Vì vậy, nếu chúng ta đi đến 8.000, bạn sẽ thấy không có gì ở đây nào. 327 00:19:32,870 --> 00:19:34,740 Vì vậy, đây là trang chủ mặc định. 328 00:19:34,740 --> 00:19:37,730 >> Nhưng nếu chúng ta đi gửi giảm mới, hey. 329 00:19:37,730 --> 00:19:40,425 Nó sẽ là hình thức mà chúng ta vừa tạo. 330 00:19:40,425 --> 00:19:42,550 Ngay bây giờ, chúng tôi có không thực hiện các chức năng 331 00:19:42,550 --> 00:19:44,060 khi chúng ta nhấn nút Submit. 332 00:19:44,060 --> 00:19:47,110 Vì vậy, nếu chúng ta click vào Gửi nút, nó sẽ chạy một lỗi. 333 00:19:47,110 --> 00:19:49,840 Nhưng chúng ta sẽ mã ngay bây giờ, chính xác những gì chúng tôi 334 00:19:49,840 --> 00:19:54,840 muốn làm gì khi một người sử dụng nộp mẫu đơn này. 335 00:19:54,840 --> 00:19:55,770 >> Vì vậy, chúng ta hãy làm điều đó. 336 00:19:55,770 --> 00:19:57,380 Quay trở lại các tập tin điều khiển. 337 00:19:57,380 --> 00:20:00,180 Những gì chúng tôi sẽ làm là thực hiện chức năng này mới 338 00:20:00,180 --> 00:20:04,360 cho phép chúng ta tạo ra một bài. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Khai báo chức năng mới. 341 00:20:08,990 --> 00:20:11,527 Công chức năng createPost. 342 00:20:11,527 --> 00:20:14,610 Và chức năng này là có được một một chút phức tạp hơn nhiều so với những gì 343 00:20:14,610 --> 00:20:15,559 chúng tôi đã có trước đây. 344 00:20:15,559 --> 00:20:18,350 Nhưng bạn sẽ thấy ở đây mà chúng tôi không sẽ thực sự viết bất kỳ SQL. 345 00:20:18,350 --> 00:20:20,980 Các ORM, các hùng biện ORM, sẽ cho phép 346 00:20:20,980 --> 00:20:26,400 chúng ta phải làm điều này trong một số cách một cách thanh lịch hơn. 347 00:20:26,400 --> 00:20:29,140 >> Vì vậy, chúng ta sẽ tạo một bài mới. 348 00:20:29,140 --> 00:20:34,120 Và ở đây chúng tôi instantiating một đối tượng mới 349 00:20:34,120 --> 00:20:38,080 từ mô hình mà chúng ta chỉ tạo ra, các mô hình bài. 350 00:20:38,080 --> 00:20:44,450 Và những gì chúng ta sẽ làm là thiết lập thuộc tính tiêu đề của điều này bằng cách sử dụng một cái gì đó 351 00:20:44,450 --> 00:20:47,380 mà chúng tôi nhận được từ máy chủ. 352 00:20:47,380 --> 00:20:52,060 Vì vậy, điều này tương tự với những gì chúng tôi đã có trước đây trong CS50 Tài chính 353 00:20:52,060 --> 00:20:57,750 nơi mà chúng ta sẽ làm gì, bằng cách sử dụng siêu Toàn cầu bài tìm kiếm danh hiệu. 354 00:20:57,750 --> 00:21:01,600 >> Vì vậy, cung cấp một số Laravel vệ sinh và không có điều gì bằng cách sử dụng chức năng trợ giúp này. 355 00:21:01,600 --> 00:21:07,610 Vì vậy, chúng tôi muốn sử dụng này thay vì của nguyên mẫu này rất cơ bản từ PHP. 356 00:21:07,610 --> 00:21:17,430 Và sau đó những gì chúng ta sẽ làm là thiết lập nội dung của nó vào đầu vào có được nội dung. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Chúng tôi đang thực sự xảy ra để bọc này trong một chức năng hữu ích 359 00:21:22,720 --> 00:21:31,820 PHP cung cấp giao tiếp gọi là nl2br, mà biến dòng mới, nls, vào PN, nghỉ giải lao, 360 00:21:31,820 --> 00:21:35,822 để chúng tôi thực sự có thể có đoạn khác nhau bên trong nó. 361 00:21:35,822 --> 00:21:38,030 Và cuối cùng là những gì chúng ta đang đi làm là lưu bài này. 362 00:21:38,030 --> 00:21:41,686 Vì vậy, chúng ta gọi hàm cứu trên mô hình này. 363 00:21:41,686 --> 00:21:43,800 Chúng tôi sẽ lưu các bài viết. 364 00:21:43,800 --> 00:21:49,970 Và cuối cùng là những gì chúng tôi đang đi làm được chuyển hướng người dùng đặc biệt 365 00:21:49,970 --> 00:21:55,060 các tuyến đường mà chúng ta sẽ tạo ra trong thời gian ngắn, bí danh của viewPost. 366 00:21:55,060 --> 00:22:00,435 Và chúng ta sẽ vượt qua trong các đối số id, là id của bài mới này. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Tuyệt vời. 369 00:22:05,640 --> 00:22:09,090 Vì vậy, bây giờ nếu chúng ta thực sự đi và chạy này. 370 00:22:09,090 --> 00:22:11,370 Chúng ta sẽ thêm một bài mới. 371 00:22:11,370 --> 00:22:15,930 Hãy nói rằng đây là hội thảo 50. 372 00:22:15,930 --> 00:22:17,620 Và nói, chắc chắn. 373 00:22:17,620 --> 00:22:18,240 Asdl. 374 00:22:18,240 --> 00:22:18,740 Dù. 375 00:22:18,740 --> 00:22:20,320 Một số loại nội dung. 376 00:22:20,320 --> 00:22:21,180 Gửi và nó. 377 00:22:21,180 --> 00:22:23,850 Và chúng ta sẽ nhận thấy rằng, hey. tuyến đường không được xác định. 378 00:22:23,850 --> 00:22:32,340 Nhưng nếu chúng ta hãy nhìn vào phpMyAdmin và tìm kiếm hay không chức năng của chúng tôi 379 00:22:32,340 --> 00:22:34,370 đã làm bất cứ điều gì. 380 00:22:34,370 --> 00:22:36,670 Nhìn vào bài viết Blog50. 381 00:22:36,670 --> 00:22:37,720 Chúng ta sẽ nhận thấy rằng, hey. 382 00:22:37,720 --> 00:22:43,530 Trong thực tế, chúng tôi chỉ cần tạo blog gửi với các nhãn thời gian theo quy định. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Vì vậy bây giờ chúng ta hãy quay trở lại và thực sự tạo ra chức năng khác trong bộ điều khiển của chúng tôi, 385 00:22:51,630 --> 00:22:54,790 đặc biệt là bộ điều khiển viewPost. 386 00:22:54,790 --> 00:23:00,290 Vì vậy, công hàm viewPost. 387 00:23:00,290 --> 00:23:04,070 Vì vậy, ở đây chúng ta sẽ làm, thay vì của việc có dấu ngoặc rỗng, 388 00:23:04,070 --> 00:23:08,800 chúng tôi sẽ muốn vượt qua trong các ID của những bài mà chúng tôi đang tạo. 389 00:23:08,800 --> 00:23:12,800 Và từ đây những gì chúng tôi đang đi làm thực sự là truy vấn cơ sở dữ liệu cho nó. 390 00:23:12,800 --> 00:23:15,140 >> Vì vậy, nếu chúng tôi gửi, có một chức năng gọi là 391 00:23:15,140 --> 00:23:18,860 Tìm cho phép chúng ta truy vấn nó bằng ID. 392 00:23:18,860 --> 00:23:22,110 Cụ thể, trên thực tế, chúng ta sẽ sử dụng một phiên bản khác của việc này được gọi là 393 00:23:22,110 --> 00:23:27,880 Tìm hay thất bại, trong đó cho phép chúng tôi bỏ ra của chức năng này, 394 00:23:27,880 --> 00:23:34,700 ném một ngoại lệ nếu ID chúng tôi vượt qua trong không tồn tại. 395 00:23:34,700 --> 00:23:37,500 Và sau đó chúng ta sẽ làm điều gì đó tương tự như những gì chúng ta đã làm trước đó 396 00:23:37,500 --> 00:23:41,100 nơi mà chúng tôi thiết lập các nội dung của trang này để được 397 00:23:41,100 --> 00:23:47,950 phiên bản render nhìn mới này mà chúng ta sẽ tạo ra, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> Và chúng ta sẽ đi vào it-- giống như trong các CS50 làm 399 00:23:51,030 --> 00:23:56,645 function-- điển của các biến. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 Các phím của mảng kết này trở thành các biến trong các mẫu. 402 00:24:04,620 --> 00:24:06,830 Vì vậy, chúng tôi đang đi để làm bài viết. 403 00:24:06,830 --> 00:24:12,474 Vì vậy, vượt qua các bài viết đó gián tiếp chúng tôi đã truy vấn từ các cơ sở dữ liệu. . 404 00:24:12,474 --> 00:24:14,390 Bây giờ những gì chúng ta đang đi làm là tạo ra quan điểm này 405 00:24:14,390 --> 00:24:17,560 để chúng tôi thực sự có thể xem Các bài blog mà chúng tôi đã xây dựng. 406 00:24:17,560 --> 00:24:20,280 >> Vì vậy, chúng ta sẽ tạo ra một tập tin gọi là view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Vì vậy, bên trong các mẫu này, những gì chúng tôi đang đi làm 409 00:24:29,640 --> 00:24:39,700 được đặt cùng một trang đơn giản mà cho phép chúng tôi để hiển thị nội dung. 410 00:24:39,700 --> 00:24:44,280 Vì vậy, chúng tôi làm phần, đó là trước khi nội dung. 411 00:24:44,280 --> 00:24:46,800 Dừng. 412 00:24:46,800 --> 00:24:53,920 Và những gì chúng ta đang đi làm trong đây là 413 00:24:53,920 --> 00:24:56,930 viết một số HTML để hiển thị trang này. 414 00:24:56,930 --> 00:25:03,590 >> Vì vậy, chúng tôi đang đi để bọc nó với một ưa thích yếu tố HTML5 mới gọi là Điều. 415 00:25:03,590 --> 00:25:05,790 Và ở đây, chúng ta đang đi để có một tiêu đề nơi 416 00:25:05,790 --> 00:25:12,190 chúng ta sẽ chỉ đơn giản là có một h1, trong đó bao gồm các tiêu đề bài viết. 417 00:25:12,190 --> 00:25:17,120 Vì vậy, ở đây, nếu chúng ta nhìn vào điều này double ký hiệu ngoặc móc, 418 00:25:17,120 --> 00:25:21,690 điều này sẽ làm cơ bản PHP vang tiêu đề bài. 419 00:25:21,690 --> 00:25:25,630 Vì vậy, nó là một cách viết tắt hữu ích mà Laravel cung cấp cho chúng tôi. 420 00:25:25,630 --> 00:25:31,070 Vì vậy, chúng ta sẽ sử dụng ký hiệu này thay thế. 421 00:25:31,070 --> 00:25:40,220 >> Và ở đây, chúng ta sẽ còn in ra nội dung của nó. 422 00:25:40,220 --> 00:25:43,480 Và ở đây, chúng ta đang đi để làm nội dung bài viết. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 Và xuống ở dưới cùng những gì chúng tôi sẽ làm là tạo ra một chân. 425 00:25:50,660 --> 00:25:57,690 Và ở phần cuối trang, chúng ta sẽ màn hình đầu tiên khi điều này đã được đăng. 426 00:25:57,690 --> 00:26:01,320 Vì vậy, đây được đăng tại, tạo ra tại. 427 00:26:01,320 --> 00:26:07,996 >> Và Laravel sử dụng một thực sự tốt đẹp thư viện ngày gọi Carbon. 428 00:26:07,996 --> 00:26:11,120 Vì vậy, chúng tôi thực sự có thể làm một cái gì đó gọi là difforHumans, mà bạn đã thấy trước đó. 429 00:26:11,120 --> 00:26:14,360 Khi chúng tôi đăng. nó sẽ nói, như, năm giây. 430 00:26:14,360 --> 00:26:16,860 Vì vậy, đây là một thực sự tốt đẹp chức năng của Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 Và cuối cùng, chúng ta sẽ đóng chân này. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Vì vậy, bây giờ nếu chúng ta quay trở lại Trang chủ chúng ta đang đi 435 00:26:31,450 --> 00:26:34,490 để xem có gì ở đây nhưng vì chúng tôi đã không được mã hóa lên trang chủ. 436 00:26:34,490 --> 00:26:40,962 Nhưng nếu chúng ta đi gửi một dấu gạch chéo, chúng ta sẽ thấy một ngoại lệ. 437 00:26:40,962 --> 00:26:42,670 Có ai biết tại sao chúng ta thấy một ngoại lệ? 438 00:26:42,670 --> 00:26:44,516 Chúng ta đang thiếu gì? 439 00:26:44,516 --> 00:26:45,290 Bất cứ ý tưởng? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Vì vậy, những gì đã làm chúng tôi làm trước đó đối với chúng tôi thực sự 442 00:26:49,790 --> 00:26:52,285 để xác định như thế nào chúng tôi nhận được bộ điều khiển đặc biệt? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> SPEAKER 1: Các tuyến đường? 445 00:26:55,770 --> 00:26:56,519 ERIC Ouyang: Yeah. 446 00:26:56,519 --> 00:26:58,070 Vì vậy, chúng tôi vẫn còn phải xác định các tuyến đường. 447 00:26:58,070 --> 00:26:59,794 Vì vậy, chúng tôi quay trở lại đây để routes.php. 448 00:26:59,794 --> 00:27:01,710 Bạn sẽ nhận thấy rằng chúng tôi chưa thực sự được xác định 449 00:27:01,710 --> 00:27:05,010 làm thế nào chúng ta sẽ có được để điều khiển này. 450 00:27:05,010 --> 00:27:06,780 Vì vậy, bây giờ chúng ta sẽ xác định tuyến đường này. 451 00:27:06,780 --> 00:27:09,280 Đó là khá đơn giản, tương tự như những gì chúng ta đã làm trước đó. 452 00:27:09,280 --> 00:27:13,910 Nhưng những gì chúng ta sẽ nhận thấy ở đây là rằng chúng ta sẽ có một placeholder. 453 00:27:13,910 --> 00:27:18,730 >> Vì vậy, nếu chúng ta làm dấu gạch chéo bài route.get ID. 454 00:27:18,730 --> 00:27:24,290 Vì vậy, ID tại là những gì đang xảy đến được thông qua vào bộ điều khiển. 455 00:27:24,290 --> 00:27:27,820 Điều này sẽ sử dụng các bộ điều khiển mà chúng ta chỉ 456 00:27:27,820 --> 00:27:33,560 tạo, BlogController tại viewPost. 457 00:27:33,560 --> 00:27:36,420 Và chúng ta sẽ bí danh này như viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Tuyệt vời. 460 00:27:47,490 --> 00:27:49,470 Vì vậy, bây giờ chúng ta sẽ tạo ra tuyến đường này. 461 00:27:49,470 --> 00:27:52,100 >> Vì vậy, bây giờ nếu chúng ta đi đây và làm mới trang này, 462 00:27:52,100 --> 00:27:54,410 chúng ta thực sự không có bài đăng blog mới của chúng tôi. 463 00:27:54,410 --> 00:27:57,710 Vì vậy, đây là những gì chúng ta đã tạo trước đó. 464 00:27:57,710 --> 00:28:01,320 Rất trang đơn giản, nhưng hiển thị các bài blog mà chúng ta vừa tạo. 465 00:28:01,320 --> 00:28:04,210 466 00:28:04,210 --> 00:28:04,760 Cool. 467 00:28:04,760 --> 00:28:08,880 Và nếu chúng ta thực sự đi qua toàn bộ Quá trình tạo một bài đăng blog mới, 468 00:28:08,880 --> 00:28:11,700 chúng ta sẽ nhận thấy rằng tất cả mọi thứ chuyển hướng đúng. 469 00:28:11,700 --> 00:28:12,950 Nếu tôi nói, "Hi. 470 00:28:12,950 --> 00:28:15,710 Tôi Jonathan Tân. " 471 00:28:15,710 --> 00:28:18,550 Nói, "Đây là bài viết trên blog của tôi." 472 00:28:18,550 --> 00:28:22,830 Gửi và nó, điều này sẽ tạo ra bài đăng blog mới với ID 2, 473 00:28:22,830 --> 00:28:28,920 mà increments từ những gì chúng tôi đã có trước đây và nó sẽ hiển thị đúng. 474 00:28:28,920 --> 00:28:30,760 Awesome. 475 00:28:30,760 --> 00:28:32,930 >> Bất kỳ câu hỏi? 476 00:28:32,930 --> 00:28:33,430 Có? 477 00:28:33,430 --> 00:28:36,537 >> SPEAKER 2: Liệu Laravel xử lý vệ sinh và tất cả mọi thứ cho bạn? 478 00:28:36,537 --> 00:28:37,245 ERIC Ouyang: Yes. 479 00:28:37,245 --> 00:28:42,990 Vì vậy, khi chúng ta đã thấy trước khi chúng tôi đã làm đầu vào ruột kết tràng có được, 480 00:28:42,990 --> 00:28:47,720 mà sanitates bất kỳ SQL tiêm và không có điều gì 481 00:28:47,720 --> 00:28:51,660 rằng chúng ta có thể muốn thực hiện nếu chúng tôi là một người sử dụng độc hại của các trang web. 482 00:28:51,660 --> 00:28:54,115 Vì vậy, Laravel xử lý rất nhiều đó đằng sau hậu trường. 483 00:28:54,115 --> 00:28:57,030 Câu hỏi hay. 484 00:28:57,030 --> 00:29:00,390 >> Vì vậy, chúng ta hãy có một cái nhìn tại trang chủ. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Vì vậy, nếu chúng ta đầu tiên quay trở lại điều khiển cho trang chủ, 487 00:29:06,790 --> 00:29:08,740 bạn sẽ nhận thấy rằng nó không làm được gì nhiều ở đây. 488 00:29:08,740 --> 00:29:11,620 Bạn sẽ nhận thấy rằng chúng tôi không đi vào bộ điều khiển này 489 00:29:11,620 --> 00:29:13,830 bất cứ điều gì đặc biệt hữu ích. 490 00:29:13,830 --> 00:29:16,660 Nó chỉ là tập tin chỉ số này. 491 00:29:16,660 --> 00:29:18,770 >> Vì vậy, chúng ta hãy đi vào một cái gì đó hữu ích. 492 00:29:18,770 --> 00:29:21,450 Và đặc biệt, chúng tôi sẽ vượt qua trong bài viết. 493 00:29:21,450 --> 00:29:28,740 Và Laravel cho phép chúng tôi để làm bài tất cả, mà 494 00:29:28,740 --> 00:29:30,625 sẽ cho phép chúng tôi để nhận được tất cả các bài viết. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Bây giờ nếu chúng ta quay trở lại index.php, bạn sẽ thấy, hey. 497 00:29:35,730 --> 00:29:37,060 Không có gì ở đây nào. 498 00:29:37,060 --> 00:29:41,290 Nhưng những gì chúng tôi muốn làm ở đây thực sự là lặp qua, 499 00:29:41,290 --> 00:29:46,420 làm một vòng lặp foreach qua các bài viết mà cho phép chúng ta in ra các bài viết. 500 00:29:46,420 --> 00:29:53,180 >> Vì vậy, bài viết foreach như bài, những gì chúng tôi muốn làm 501 00:29:53,180 --> 00:29:57,252 được in ra nội dung của các bài đăng blog. 502 00:29:57,252 --> 00:30:00,210 Nhưng có một điều bạn sẽ nhận thấy là chúng tôi thực sự viết hầu hết các mã 503 00:30:00,210 --> 00:30:01,370 đã có, trong view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Vì vậy, những gì chúng ta sẽ thực sự làm là sử dụng một tính năng hữu ích tốt đẹp của Blade 506 00:30:08,640 --> 00:30:11,300 và yếu tố ra mã phổ biến này. 507 00:30:11,300 --> 00:30:12,570 Vì vậy, chúng tôi đi đây. 508 00:30:12,570 --> 00:30:16,210 >> Chúng tôi sẽ đưa nội dung này ngay tại đây, và những gì chúng tôi đang đi làm 509 00:30:16,210 --> 00:30:18,170 là tạo ra một thư mục mới. 510 00:30:18,170 --> 00:30:20,364 Chúng ta chỉ cần gọi nó Partials. 511 00:30:20,364 --> 00:30:22,530 Và ở đây, chúng ta đang đi để tạo ra một post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Vì vậy, ở đây, chúng ta yếu tố ra khỏi đường đi trong mà chúng ta muốn hiển thị những bài viết. 514 00:30:33,100 --> 00:30:38,690 Và ở đây chúng ta sẽ làm thay thực sự có HTML, trực tiếp 515 00:30:38,690 --> 00:30:41,530 chúng ta sẽ sử dụng chỉ thị này gọi bao gồm blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> Và những gì chúng ta sẽ làm gì đây là vượt qua trong các bài của các trang. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Vì vậy, bây giờ nếu chúng ta trở lại đây, chúng tôi sẽ nhận thấy rằng các chức năng vẫn là 520 00:31:01,050 --> 00:31:01,550 giống nhau. 521 00:31:01,550 --> 00:31:05,140 Nhưng bây giờ chúng tôi có điều này yếu tố ra mã HTML này. 522 00:31:05,140 --> 00:31:07,070 Vì vậy, chúng ta có thể sử dụng nó trong Index. 523 00:31:07,070 --> 00:31:09,090 Vì vậy, ở đây, điều này rất đơn giản. 524 00:31:09,090 --> 00:31:17,870 Tất cả chúng tôi làm là bao gồm blog.partials.post và mảng. 525 00:31:17,870 --> 00:31:20,845 Và nơi nào đó để trước đây, chúng tôi làm bài viết. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Vì vậy, bây giờ nếu chúng ta quay trở lại trang chủ, chúng ta sẽ thấy rằng, hey. 528 00:31:28,182 --> 00:31:30,515 Chúng tôi có một danh sách của tất cả các bài viết blog mà chúng tôi đã có trước đây. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Chúng tôi có thể muốn thêm một số "nếu" điều kiện và điều kiện "khác" 531 00:31:37,700 --> 00:31:39,979 nên nếu chúng ta không có bất cứ điều gì trên blog, 532 00:31:39,979 --> 00:31:41,520 chúng ta muốn hiển thị một cái gì đó hữu ích. 533 00:31:41,520 --> 00:31:42,570 Giống như, hey. 534 00:31:42,570 --> 00:31:44,340 Không có nội dung nào trên blog. 535 00:31:44,340 --> 00:31:47,670 Và nếu các bạn thực sự nhìn vào mã phân phối trên GitHub, 536 00:31:47,670 --> 00:31:50,100 bạn sẽ thấy một ví dụ về cách chúng tôi làm điều đó. 537 00:31:50,100 --> 00:31:52,770 538 00:31:52,770 --> 00:31:54,110 >> Cool. 539 00:31:54,110 --> 00:31:54,890 Bất kỳ câu hỏi? 540 00:31:54,890 --> 00:31:55,510 Vâng. 541 00:31:55,510 --> 00:31:57,468 >> SPEAKER 2: Tôi đoán chỉ một câu hỏi cơ bản. 542 00:31:57,468 --> 00:31:59,480 Trở lại con đường. 543 00:31:59,480 --> 00:32:00,230 ERIC Ouyang: Yeah. 544 00:32:00,230 --> 00:32:01,935 Nếu chúng ta có một cái nhìn tại các tuyến đường. 545 00:32:01,935 --> 00:32:06,018 >> SPEAKER 2: Trường hợp nào thì các uses.blogcontroller tại tạo bài, 546 00:32:06,018 --> 00:32:07,560 những gì mà đạo chúng ta? 547 00:32:07,560 --> 00:32:08,310 ERIC Ouyang: Yeah. 548 00:32:08,310 --> 00:32:08,550 Yeah. 549 00:32:08,550 --> 00:32:09,716 >> SPEAKER 2: Hoặc là that-- 550 00:32:09,716 --> 00:32:12,620 ERIC Ouyang: Vì vậy, có một cái nhìn, nói Ví dụ, tuyến đường này ngay tại đây. 551 00:32:12,620 --> 00:32:17,190 Phần đầu tiên là thực tế URL mà người dùng sẽ đi đến. 552 00:32:17,190 --> 00:32:19,930 Và mảng này ở đây, mảng kết hợp, định nghĩa 553 00:32:19,930 --> 00:32:24,520 làm thế nào chúng ta muốn có ứng dụng hành động để đối phó với nó. 554 00:32:24,520 --> 00:32:29,090 Vì vậy, sử dụng là bộ điều khiển, các chức năng mà chúng tôi 555 00:32:29,090 --> 00:32:31,610 muốn gọi khi một dùng đi vào URL này. 556 00:32:31,610 --> 00:32:35,190 Vì vậy viewPost ngay đây là một chức năng mà chúng ta định nghĩa bên trong 557 00:32:35,190 --> 00:32:36,100 của BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> SPEAKER 2: Tôi thấy. 559 00:32:37,160 --> 00:32:39,368 >> ERIC Ouyang: --so chúng tôi rằng thực sự có thể làm cho một cái nhìn, 560 00:32:39,368 --> 00:32:42,590 thực hiện một số tính toán, tương tác với cơ sở dữ liệu SQL. 561 00:32:42,590 --> 00:32:43,560 >> SPEAKER 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> ERIC Ouyang: Và sau đó các khác một phần, "như" là một bí danh mà chúng tôi sử dụng. 563 00:32:46,960 --> 00:32:50,714 Vì vậy, nếu chúng tôi nhận thấy khi chúng tôi tạo ra các hình thức, 564 00:32:50,714 --> 00:32:52,380 bạn sẽ nhận thấy rằng URL :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Vì vậy, nó sẽ thay thế trong thực tế URL để chúng ta không khó 567 00:32:58,330 --> 00:33:02,940 mã hóa này trong vì vậy chúng tôi có thể thay đổi nó một lần, nói rằng nếu chúng tôi muốn đổi tên. 568 00:33:02,940 --> 00:33:06,055 Thay vì bài slash mới, chúng tôi muốn làm như thế, p 569 00:33:06,055 --> 00:33:09,490 giảm mới chỉ để làm sạch URL của chúng ta lên một chút. 570 00:33:09,490 --> 00:33:14,740 Chúng tôi sẽ thay đổi nó ở một chỗ khá hơn trên tất cả các tập tin khác nhau. 571 00:33:14,740 --> 00:33:15,451 >> Cool. 572 00:33:15,451 --> 00:33:15,950 Đó là tốt. 573 00:33:15,950 --> 00:33:20,070 Vì vậy, bây giờ chúng tôi có một rất nền tảng blog cơ bản. 574 00:33:20,070 --> 00:33:24,260 Chúng tôi có thể muốn thêm vào một nút để rằng chúng ta thực sự có thể tạo bài viết mới. 575 00:33:24,260 --> 00:33:27,850 Vì vậy, nếu chúng ta có một cái nhìn tại Layout Master, 576 00:33:27,850 --> 00:33:31,280 chúng ta có một phần gọi là Header Ngay rằng chúng ta xác định lên ở đầu trang. 577 00:33:31,280 --> 00:33:34,820 Vì vậy, chúng ta có thể thêm các nút để đầu của tiêu đề. 578 00:33:34,820 --> 00:33:43,950 >> Vì vậy, nếu chúng ta đi index.blade.php, thực sự làm là xác định những gì diễn ra bên trong đây. 579 00:33:43,950 --> 00:33:46,970 Vì vậy, phần header phải này, những gì chúng tôi đang đi làm 580 00:33:46,970 --> 00:33:55,240 được thêm vào một nút để đi đến URL xác định bởi các bài tuyến mới. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Chỉ cần để làm sạch nó lên và đảm nó đẹp và tất cả Bootstrap, 583 00:34:01,660 --> 00:34:04,630 chúng ta sẽ làm cho nút này mặc định. 584 00:34:04,630 --> 00:34:07,794 Hãy chỉ làm cho nó lớn cho vui. 585 00:34:07,794 --> 00:34:09,969 >> Và bên trong nó, chúng ta có thể đặt một số văn bản. 586 00:34:09,969 --> 00:34:14,030 Nhưng những gì Bootstrap cung cấp là glyphicons. 587 00:34:14,030 --> 00:34:17,840 Vì vậy, chúng tôi thực sự có thể thêm vào đó bút chì tốt đẹp mà chúng ta đã thấy trước đó. 588 00:34:17,840 --> 00:34:20,570 589 00:34:20,570 --> 00:34:21,781 Glyphicon. 590 00:34:21,781 --> 00:34:22,489 Glyphicon bút chì. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Vì vậy, điều này sẽ cho phép chúng tôi để đặt trong một biểu tượng thay vì văn bản. 593 00:34:35,340 --> 00:34:38,960 Bây giờ nếu chúng ta dừng lại, điều này sẽ xác định phần này. 594 00:34:38,960 --> 00:34:39,460 Và, hey. 595 00:34:39,460 --> 00:34:45,000 Chúng tôi có một nút tốt đẹp mà chúng tôi liên kết trực tiếp đến việc thêm một trang blog. 596 00:34:45,000 --> 00:34:46,659 >> Vì vậy, chúng tôi có một blog khá đơn giản. 597 00:34:46,659 --> 00:34:49,710 Chúng ta có thể thêm các công cụ để nó. 598 00:34:49,710 --> 00:34:53,650 Nhưng những gì chúng ta thường mong đợi từ các blog được bình luận. 599 00:34:53,650 --> 00:34:57,340 Vì vậy, nó thực sự quan trọng đối với chúng tôi để có, nói, nếu ai đó ghé thăm một trang web 600 00:34:57,340 --> 00:35:00,620 và thực sự thích bài đó họ có thể tham gia thảo luận 601 00:35:00,620 --> 00:35:03,100 với những người khác, những người truy cập vào trang. 602 00:35:03,100 --> 00:35:07,050 Vì vậy, chúng ta sẽ đi và tạo ra một bảng cơ sở dữ liệu mới và một mô hình mới 603 00:35:07,050 --> 00:35:12,220 để chúng tôi có thể kết hợp Các bình luận với bài viết. 604 00:35:12,220 --> 00:35:17,370 >> Vì vậy, bước đầu tiên, giống như trước đây, là chúng ta cần phải chạy một di dân. 605 00:35:17,370 --> 00:35:21,982 Vì vậy, như trước đây, chúng tôi làm php nghệ nhân di cư: thực hiện. 606 00:35:21,982 --> 00:35:24,440 Và chúng ta sẽ tạo ra một gọi create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 Điều này sẽ tạo ra một tập tin có di dân mới của chúng tôi. 609 00:35:36,080 --> 00:35:40,170 Và chúng ta sẽ đến, như trước, xác định một bảng mới. 610 00:35:40,170 --> 00:35:42,773 Vì vậy, tạo một Schema :: bảng gọi là ý kiến. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Chức năng này tại đây. 613 00:35:48,430 --> 00:35:51,620 Và bên trong bảng này những gì chúng ta sẽ làm là đầu tiên, 614 00:35:51,620 --> 00:35:54,260 như trước đây, gán một ID. 615 00:35:54,260 --> 00:35:56,552 Gia số ID. 616 00:35:56,552 --> 00:36:05,440 >> Chúng tôi sẽ cho phép người sử dụng để liên kết tên của họ với một lời nhận xét cụ thể. 617 00:36:05,440 --> 00:36:10,080 Chúng ta sẽ có một số nội dung đi cùng với điều này, nội dung văn bản. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 Và ở đây những gì chúng ta sẽ làm là một cái gì đó khác nhau. 620 00:36:15,910 --> 00:36:23,620 Chúng ta sẽ tạo ra một số nguyên đó được gọi là post_id mà 621 00:36:23,620 --> 00:36:32,100 sẽ biểu những gì bài viết một lời nhận xét đặc biệt đi với. 622 00:36:32,100 --> 00:36:35,410 >> Ngoài ra, chúng tôi đang thực sự đi vào thiết lập một ràng buộc khoá ngoại trên này. 623 00:36:35,410 --> 00:36:37,750 Vì vậy, MySQL sẽ thi hành điều đó. 624 00:36:37,750 --> 00:36:39,840 Chúng tôi không cố gắng để gán số bình luận 625 00:36:39,840 --> 00:36:44,440 5 đến gửi 5000 nếu chúng ta không có đã có 5.000 bài viết trên đó. 626 00:36:44,440 --> 00:36:50,240 Vì vậy, những gì chúng tôi làm ở đây, chúng ta làm post_id nước ngoài 627 00:36:50,240 --> 00:37:02,046 sẽ được liên kết với ID lĩnh vực từ các bài viết bảng. 628 00:37:02,046 --> 00:37:05,900 Và chúng ta sẽ thực sự làm một cái gì đó khác hữu ích, là onDelete. 629 00:37:05,900 --> 00:37:11,180 >> Vì vậy, nếu chúng ta xóa một số gửi từ các cơ sở dữ liệu, 630 00:37:11,180 --> 00:37:15,507 mà chúng tôi muốn thác các xóa cho ý kiến ​​là tốt. 631 00:37:15,507 --> 00:37:18,090 Bởi vì nó không phải là rất hữu ích để chúng tôi có ý kiến ​​về bài viết 632 00:37:18,090 --> 00:37:19,900 không tồn tại. 633 00:37:19,900 --> 00:37:23,764 Và cuối cùng, như trước đây, chúng tôi sẽ đặt dấu thời gian này. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 Và cũng giống như trước đây, chúng ta sẽ có sự di cư ngược được 636 00:37:33,510 --> 00:37:37,920 thả bảng nhận xét. 637 00:37:37,920 --> 00:37:40,070 >> Vì vậy, bây giờ nếu chúng ta quay trở lại đến đây, chúng ta sẽ 638 00:37:40,070 --> 00:37:43,110 để chạy di cư này, nghệ nhân di cư. 639 00:37:43,110 --> 00:37:46,400 Và bây giờ nó được áp dụng này di cư mà chúng ta vừa tạo. 640 00:37:46,400 --> 00:37:50,080 Vì vậy, nếu chúng ta nhìn vào phpMyAdmin, chúng ta làm, trong thực tế, doanh nghiệp 641 00:37:50,080 --> 00:37:53,210 có một bảng nhận xét rằng có cấu trúc mà chúng ta vừa chỉ định. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Vì vậy, như trước đây, chúng tôi sẽ tạo ra một mô hình mới 644 00:37:59,610 --> 00:38:04,450 để tóm tắt các bảng SQL mà chúng ta vừa tạo. 645 00:38:04,450 --> 00:38:05,450 >> Vì vậy, hãy thêm một tập tin mới. 646 00:38:05,450 --> 00:38:06,908 Chúng tôi sẽ gọi nó là comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 Và điều này thực sự có được khá đơn giản với một thay đổi nhỏ 649 00:38:15,490 --> 00:38:17,520 từ những gì chúng ta có trước. 650 00:38:17,520 --> 00:38:22,790 Vì vậy, lớp học kéo dài Comment hùng biện. 651 00:38:22,790 --> 00:38:25,930 Và những gì chúng ta đang đi để làm ở đây được xác định 652 00:38:25,930 --> 00:38:31,360 một chức năng mà là mối quan hệ với các mô hình khác. 653 00:38:31,360 --> 00:38:39,250 Vì vậy, chúng ta sẽ có một chức năng bài ở đây mà trả về mối quan hệ này. 654 00:38:39,250 --> 00:38:43,330 Vì vậy, chúng tôi xác định rằng này thuộc về gửi, 655 00:38:43,330 --> 00:38:49,200 nói rằng có một bài rằng nhận xét này thuộc về. 656 00:38:49,200 --> 00:38:53,917 >> Điều này thực sự có được P vốn cho mô hình. 657 00:38:53,917 --> 00:38:56,500 Và bây giờ chỉ cần trên flip khác bên, chúng tôi phải nói rằng, hey. 658 00:38:56,500 --> 00:38:58,160 Bài viết có ý kiến. 659 00:38:58,160 --> 00:39:03,030 Vì vậy, những gì chúng ta sẽ làm là xác định chức năng bình luận nào. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 Và ở đây được trả về này có nhiều bình luận. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Vì vậy, tại kỳ diệu khi chúng ta có một bài, chúng ta có thể nhận được những ý kiến ​​thuộc tính 664 00:39:22,010 --> 00:39:25,615 và nó sẽ cư nó với thông tin từ các cơ sở dữ liệu. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Vì vậy, chúng ta hãy thực sự đi qua và thêm một tính năng mới để xem file của chúng tôi 667 00:39:38,220 --> 00:39:43,600 để chúng tôi có thể hiển thị cả và tạo ra ý kiến. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Vì vậy, chúng ta sẽ xác định một phần mới. 670 00:39:56,865 --> 00:39:59,890 Hãy chỉ riêng nó với một quy tắc ngang. 671 00:39:59,890 --> 00:40:04,065 Phần id = "ý kiến". 672 00:40:04,065 --> 00:40:06,990 Những gì chúng tôi đang đi làm ở đây là, như trước đây, 673 00:40:06,990 --> 00:40:09,880 lặp qua tất cả các ý kiến. 674 00:40:09,880 --> 00:40:12,960 Vì vậy, thực sự như thế nào chúng ta làm điều này là, như tôi đã đề cập, khá huyền diệu. 675 00:40:12,960 --> 00:40:14,440 >> Chúng tôi gửi ý kiến. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 Và sau đó chúng ta có thể làm điều này cho mỗi vòng lặp hơn so với từng ý kiến. 678 00:40:22,710 --> 00:40:25,740 Và những gì chúng ta đang đi làm là lớp div bình luận, 679 00:40:25,740 --> 00:40:29,240 và chúng ta sẽ thực sự in ra nhận xét này. 680 00:40:29,240 --> 00:40:34,150 Vì vậy, hiển thị rằng hey, bình luận name-- người 681 00:40:34,150 --> 00:40:38,080 đã đăng comment-- này nói dot dot dot. 682 00:40:38,080 --> 00:40:41,240 Chúng ta sẽ đặt điều này trong một khối quote, chỉ để làm cho nó trông đẹp. 683 00:40:41,240 --> 00:40:46,470 Và sau đó nhận xét nội dung block quote. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 Và foreach. 686 00:40:50,892 --> 00:40:53,100 Vì vậy, bây giờ điều này sẽ lặp qua tất cả các bình luận 687 00:40:53,100 --> 00:40:56,500 đó là liên kết với nhau của các bài viết 688 00:40:56,500 --> 00:41:00,960 và hiển thị mỗi người cảm nhận. 689 00:41:00,960 --> 00:41:05,120 Tôi sẽ thêm phần khác xuống ở đây, trong đó cho phép chúng tôi để thêm một bình luận. 690 00:41:05,120 --> 00:41:07,400 Vì vậy, lớp h3. 691 00:41:07,400 --> 00:41:09,580 Đặt một danh hiệu ở đây. 692 00:41:09,580 --> 00:41:10,934 Thêm một lời nhận xét. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 Và chúng ta sẽ xác định một hình thức mới. 695 00:41:15,700 --> 00:41:18,730 >> Vì vậy, như trước đây, chúng tôi sẽ làm form action. 696 00:41:18,730 --> 00:41:22,740 Và ở đây, các hành động mới là chúng tôi sẽ xác định một bộ điều khiển mới 697 00:41:22,740 --> 00:41:26,770 cho phép chúng tôi đáp ứng gửi yêu cầu đối với việc tạo ra ý kiến. 698 00:41:26,770 --> 00:41:33,365 Vì vậy, URL :: tuyến createComment. 699 00:41:33,365 --> 00:41:37,730 Tôi sẽ vượt qua trong các tham số ở đây. 700 00:41:37,730 --> 00:41:40,380 ID của bài đó chúng tôi đang tạo ra bình luận trên. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 Và sau đó phương pháp này hình thức là có được bài. 703 00:41:50,280 --> 00:41:57,240 >> Bây giờ chúng ta sẽ thêm vào một hai lĩnh vực, nhóm mẫu. 704 00:41:57,240 --> 00:42:04,670 Điều này là có được một đầu vào với các name "tên" và class = "hình thức kiểm soát", 705 00:42:04,670 --> 00:42:14,250 type = "text", và với placeholder = "tên của bạn." 706 00:42:14,250 --> 00:42:19,380 Chúng tôi cũng sẽ xác định một lĩnh vực hình thức, mà 707 00:42:19,380 --> 00:42:22,970 là có được một văn bản khu vực như chúng ta có trước đây. 708 00:42:22,970 --> 00:42:25,480 Cũng giống như trước, gọi nó là nội dung. 709 00:42:25,480 --> 00:42:31,160 Class = "hình thức kiểm soát." 710 00:42:31,160 --> 00:42:41,660 Placeholder = "Viết ở đây." 711 00:42:41,660 --> 00:42:44,100 >> Và chỉ để chúng tôi thực sự có thể gửi nó, 712 00:42:44,100 --> 00:42:55,740 gửi loại và class = "btn btn-chính." 713 00:42:55,740 --> 00:42:57,005 Đóng các hình thức. 714 00:42:57,005 --> 00:42:59,010 Đóng hành động này. 715 00:42:59,010 --> 00:43:06,580 Vì vậy, bây giờ nếu chúng tôi làm mới trang này, nơi chúng ta có, nói rằng, một bài cụ thể. 716 00:43:06,580 --> 00:43:10,310 Chúng tôi phải khởi động lại máy chủ. 717 00:43:10,310 --> 00:43:12,340 PHP nghệ nhân phục vụ. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 Khởi động lại máy này. 720 00:43:18,334 --> 00:43:19,500 Chúng ta phải xác định các tuyến đường. 721 00:43:19,500 --> 00:43:25,090 Nhưng bây giờ, chúng ta hãy chỉ thực hiện việc này ra để chúng ta thực sự có thể hiển thị cho bạn 722 00:43:25,090 --> 00:43:28,750 những gì trang trông giống như, và sau đó chúng ta sẽ thực sự tạo ra con đường đó. 723 00:43:28,750 --> 00:43:29,250 Vì vậy, hey. 724 00:43:29,250 --> 00:43:37,080 Chúng có hình thức mới này xuống đây để chúng ta có thể tạo ra ý kiến. 725 00:43:37,080 --> 00:43:39,950 Vì vậy, chúng ta hãy thực sự xác định một chức năng trong bộ điều khiển 726 00:43:39,950 --> 00:43:43,020 để chúng ta có thể thêm ý kiến. 727 00:43:43,020 --> 00:43:43,650 Hãy quay trở lại. 728 00:43:43,650 --> 00:43:48,420 Và trong blogcontroller.php, những gì chúng tôi đang đi làm 729 00:43:48,420 --> 00:43:51,620 là tạo ra một chức năng mới gọi là tạo ra nhận xét. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> Công chức năng createComment. 732 00:43:57,040 --> 00:44:00,130 Điều này sẽ có một đơn tham số, các ID của bài viết 733 00:44:00,130 --> 00:44:02,280 rằng chúng ta đang bình luận về. 734 00:44:02,280 --> 00:44:04,790 Và cũng giống như trước đây, chúng tôi đi đầu tiên nhận được bài. 735 00:44:04,790 --> 00:44:10,790 Vì vậy, đăng bài, findOrfail id. 736 00:44:10,790 --> 00:44:15,020 Sau đó, chúng ta sẽ để tạo ra một nhận xét mới. 737 00:44:15,020 --> 00:44:18,880 Vì vậy, bình luận = new luận. 738 00:44:18,880 --> 00:44:26,820 Bình luận name = Input :: có được tên. 739 00:44:26,820 --> 00:44:39,420 Nội dung comment = cùng một đường dây mới vào giờ nghỉ của Input :: có được nội dung. 740 00:44:39,420 --> 00:44:43,460 >> Và cuối cùng, chúng ta sẽ phải kết luận điều này với các bài. 741 00:44:43,460 --> 00:44:47,230 Vì vậy, chúng ta sẽ sử dụng chức năng này, ý kiến, 742 00:44:47,230 --> 00:44:50,260 cho phép chúng ta lưu lại mối quan hệ này. 743 00:44:50,260 --> 00:44:54,780 Vì vậy bây giờ nhận xét này sẽ có tự động các bài ID. 744 00:44:54,780 --> 00:44:57,640 Chúng tôi cũng có thể thiết lập nó bằng tay, nhưng điều này là 745 00:44:57,640 --> 00:45:02,490 dễ dàng hơn để đọc như xa như các chức năng đi. 746 00:45:02,490 --> 00:45:05,860 Và sau khi chúng tôi thực hiện này, những gì chúng tôi muốn làm 747 00:45:05,860 --> 00:45:10,840 là chuyển hướng người dùng đến tuyến đường theo quy định của viewPost 748 00:45:10,840 --> 00:45:16,010 với các mảng với tham số của bài viết ID. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> Và bây giờ để điều này thực sự chức năng, chúng ta cần phải xác định tuyến đường này. 751 00:45:24,660 --> 00:45:27,126 Route :: bài. 752 00:45:27,126 --> 00:45:32,800 Và bây giờ chúng ta sẽ gọi đây bài chém ID slash nhận xét. 753 00:45:32,800 --> 00:45:36,725 Mảng sử dụng các chức năng mới mà chúng ta vừa tạo. 754 00:45:36,725 --> 00:45:37,350 BlogController. 755 00:45:37,350 --> 00:45:40,820 756 00:45:40,820 --> 00:45:44,770 CreateComment như createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Tuyệt vời. 759 00:45:50,120 --> 00:45:56,150 >> Vì vậy bây giờ hy vọng nếu chúng tôi làm mới trang này và thêm vào trong một bình luận, nói rằng, David Malan. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Hy vọng rằng công trình này." 762 00:46:03,920 --> 00:46:05,216 Gửi. 763 00:46:05,216 --> 00:46:09,050 Chúng tôi, trên thực tế, có một bình luận về bài viết trên blog này. 764 00:46:09,050 --> 00:46:13,760 765 00:46:13,760 --> 00:46:14,260 Cool. 766 00:46:14,260 --> 00:46:16,790 767 00:46:16,790 --> 00:46:21,430 Vì vậy, bây giờ chúng ta có một cách khá bài blog của chức năng. 768 00:46:21,430 --> 00:46:23,180 Chúng tôi chỉ cần đi để thêm một vài tinh chỉnh để 769 00:46:23,180 --> 00:46:29,090 rằng chúng tôi có một số hữu dụng hơn thông tin về các bài viết. 770 00:46:29,090 --> 00:46:32,780 >> Vì vậy, nếu chúng ta quay trở lại Trang trước, chúng tôi không có ý nghĩa 771 00:46:32,780 --> 00:46:38,790 có bao nhiêu ý kiến ​​được trên mỗi bài viết. 772 00:46:38,790 --> 00:46:41,340 Vì vậy, những gì chúng tôi đang thực sự đi làm là, bên trong mô hình của chúng tôi, 773 00:46:41,340 --> 00:46:51,250 định nghĩa một hàm helper cho phép chúng ta phải xác định số lượng comment 774 00:46:51,250 --> 00:46:53,020 mà đi với một bài cụ thể. 775 00:46:53,020 --> 00:46:56,050 Vì vậy, chúng ta sẽ tạo ra một chức năng trợ giúp. 776 00:46:56,050 --> 00:46:58,020 >> Chức năng công cộng. 777 00:46:58,020 --> 00:46:58,770 GetNumCommentsStr. 778 00:46:58,770 --> 00:47:02,030 779 00:47:02,030 --> 00:47:07,180 Vì vậy, một chuỗi mà chỉ số các ý kiến ​​mà đi cùng với nó. 780 00:47:07,180 --> 00:47:12,850 Và những gì chúng ta sẽ làm là nói num = rằng ý kiến ​​này đếm. 781 00:47:12,850 --> 00:47:15,150 Vì vậy, chúng ta sẽ tính số lượng ý kiến. 782 00:47:15,150 --> 00:47:22,900 Và nếu con số này bằng 1, chúng tôi chỉ cần đi để trả lại 1 nhận xét. 783 00:47:22,900 --> 00:47:28,890 Và sau đó nếu không, chúng tôi muốn trở lại nối của num và ý kiến, 784 00:47:28,890 --> 00:47:31,890 Từ đó, có pluralization đúng. 785 00:47:31,890 --> 00:47:33,380 Chỉ cần thực hiện điều này một giá duy nhất. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 Một nhận xét. 788 00:47:37,640 --> 00:47:41,140 >> Và bây giờ chúng ta có thể sử dụng chức năng này trực tiếp bên trong các điểm của chúng tôi. 789 00:47:41,140 --> 00:47:44,510 Vì vậy, nếu chúng ta quay trở lại viết một phần mà chúng tôi tạo ra, 790 00:47:44,510 --> 00:47:49,370 bây giờ chúng tôi muốn thực sự hiển thị số ý kiến. 791 00:47:49,370 --> 00:47:52,660 Vì vậy, những gì chúng ta có thể làm là bài, sử dụng chức năng này 792 00:47:52,660 --> 00:47:57,230 mà chúng ta vừa tạo ra để hiển thị số ý kiến. 793 00:47:57,230 --> 00:48:00,440 Vì vậy, nếu bây giờ chúng ta làm mới, nó không có gì, trên thực tế, màn hình hiển thị 794 00:48:00,440 --> 00:48:02,240 các ý kiến ​​số mà đi cùng với nó. 795 00:48:02,240 --> 00:48:05,320 >> Nếu chúng tôi muốn được ưa thích nếu bạn thực sự nhìn vào các mã phân phối, 796 00:48:05,320 --> 00:48:07,800 chúng tôi thực sự có thể liên kết này cho ý kiến. 797 00:48:07,800 --> 00:48:17,040 Nếu bạn nhớ lại, chúng tôi xác định trong xem rằng điều này có ý kiến ​​phần ID. 798 00:48:17,040 --> 00:48:22,460 Vì vậy, nếu chúng ta thực sự muốn liên kết trực tiếp vào phần bình luận, những gì 799 00:48:22,460 --> 00:48:36,000 chúng tôi sẽ làm ở đây là một href URL của tuyến đường viewPost. 800 00:48:36,000 --> 00:48:40,550 Pass trong mảng ID của bài ID. 801 00:48:40,550 --> 00:48:46,140 Và sau đó chúng tôi muốn đi đến đặc biệt là phần bình luận. 802 00:48:46,140 --> 00:48:49,900 >> Ở đây chúng ta hãy đóng một thẻ. 803 00:48:49,900 --> 00:48:52,950 Vì vậy, bây giờ nếu chúng tôi làm mới này trang, chúng ta click vào đây. 804 00:48:52,950 --> 00:48:54,700 Chúng tôi sẽ đi thẳng tới phần ý kiến. 805 00:48:54,700 --> 00:48:57,580 Nếu chúng tôi đã có một bài viết dài hơn, bạn có thể thực sự thấy thư bị trả lại này xuống. 806 00:48:57,580 --> 00:49:02,668 Nhưng bạn sẽ nhận thấy rằng nó không ở trên cùng của trang. 807 00:49:02,668 --> 00:49:04,090 Cool. 808 00:49:04,090 --> 00:49:04,600 Tuyệt vời. 809 00:49:04,600 --> 00:49:08,582 Vì vậy, đó là một cách khá đơn giản ví dụ về một cái gì đó đơn giản 810 00:49:08,582 --> 00:49:09,790 mà bạn có thể làm với Laravel. 811 00:49:09,790 --> 00:49:13,230 >> Nhưng bạn có thể nhận thấy ở đây là chúng tôi đã làm được rất nhiều điều 812 00:49:13,230 --> 00:49:16,200 với khá ít số lượng mã. 813 00:49:16,200 --> 00:49:19,420 Laravel cho phép chúng ta làm Truy vấn SQL đằng sau hậu trường. 814 00:49:19,420 --> 00:49:21,960 Nó làm vệ sinh cho chúng ta đằng sau hậu trường. 815 00:49:21,960 --> 00:49:25,940 Cho phép chúng tôi làm các mối quan hệ rất dễ dàng mà không cần chúng tôi 816 00:49:25,940 --> 00:49:33,350 để làm bất kỳ SQL tham gia báo cáo để kết hợp với nhận xét những gì các bài viết. 817 00:49:33,350 --> 00:49:36,480 Cho phép chúng ta làm điều này thừa kế của các mẫu 818 00:49:36,480 --> 00:49:43,780 để chúng ta có thể xác định các tổ tập tin như vậy chúng ta không lặp lại chính mình, 819 00:49:43,780 --> 00:49:47,020 giống như khi chúng tôi đã có hiển thị các bài đăng trên blog 820 00:49:47,020 --> 00:49:50,770 rằng chúng ta không cần phải sao chép và dán mã. 821 00:49:50,770 --> 00:49:55,450 >> Và từ đây bạn có thể xây dựng ứng dụng ngày càng phức tạp. 822 00:49:55,450 --> 00:49:58,370 Bạn có thể tưởng tượng nếu chúng ta muốn thực hiện đăng nhập, 823 00:49:58,370 --> 00:50:05,532 chúng ta có thể nói, mang lại một bên thứ ba khuôn khổ cho phép chúng ta làm điều đó. 824 00:50:05,532 --> 00:50:07,490 Có một bó của họ đó là thực sự, thực sự 825 00:50:07,490 --> 00:50:09,970 tuyệt vời mà có thể làm như thế, khôi phục mật khẩu. 826 00:50:09,970 --> 00:50:14,450 Và nó sẽ gửi cho bạn một thiết lập lại mật khẩu email. 827 00:50:14,450 --> 00:50:18,260 Chúng tôi có thể thực hiện các phép vì vậy mà tôi có thể tạo ra một bài, 828 00:50:18,260 --> 00:50:20,350 nhưng người khác không thể chỉnh sửa nó. 829 00:50:20,350 --> 00:50:24,610 Chúng tôi có thể thực hiện chức năng để xóa bài viết. 830 00:50:24,610 --> 00:50:28,160 >> Nhưng bạn có thể thấy ở đây là chúng ta có khá nhiều tất cả các thành phần thô sơ 831 00:50:28,160 --> 00:50:31,640 xây dựng một số thực sự, thực sự, ứng dụng web năng động và thú vị. 832 00:50:31,640 --> 00:50:34,035 Vì vậy, với điều đó, tôi nghĩ rằng chúng tôi đang tốt. 833 00:50:34,035 --> 00:50:35,720 Các anh có bất kỳ câu hỏi? 834 00:50:35,720 --> 00:50:36,220 Có? 835 00:50:36,220 --> 00:50:38,090 >> SPEAKER 3: Làm thế nào để bạn có nội dung tĩnh? 836 00:50:38,090 --> 00:50:39,256 >> ERIC Ouyang: nội dung tĩnh. 837 00:50:39,256 --> 00:50:45,520 Vì vậy, bạn đã thấy trước đó khi chúng tôi đã có quyền này ở đây, nội dung cách bố trí này, 838 00:50:45,520 --> 00:50:49,625 view make, chúng tôi đã có điều này không có mảng này sau đó. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, chúng tôi đã có điều này như chỉ là một tập tin tĩnh. 841 00:50:59,152 --> 00:51:00,860 Vì vậy, nếu chúng ta không vượt qua bất cứ điều gì cùng với nó, 842 00:51:00,860 --> 00:51:03,340 nó sẽ chỉ làm cho trực tiếp vào HTML. 843 00:51:03,340 --> 00:51:09,240 Nhưng nếu chúng ta vượt qua trong liên kết này mảng các bài viết, mà là tự động 844 00:51:09,240 --> 00:51:12,950 kéo từ các cơ sở dữ liệu, chúng tôi có thể làm cho các trang năng động. 845 00:51:12,950 --> 00:51:13,450 Cool. 846 00:51:13,450 --> 00:51:14,830 Bất kỳ câu hỏi khác? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 SPEAKER 3: Làm thế nào bạn sẽ so sánh Laravel để có thể một số lựa chọn khác? 849 00:51:19,720 --> 00:51:20,525 ERIC Ouyang: Chắc chắn. 850 00:51:20,525 --> 00:51:21,025 Yeah. 851 00:51:21,025 --> 00:51:23,430 Vì vậy, Laravel is-- đó một question-- lớn 852 00:51:23,430 --> 00:51:26,190 một trong nhiều lựa chọn cho các khuôn khổ web. 853 00:51:26,190 --> 00:51:31,160 Vì vậy, Ruby on Rails là một trong đó là phổ biến. 854 00:51:31,160 --> 00:51:34,590 Tôi tin rằng Twitter đã từng là thực hiện với Ruby on Rails. 855 00:51:34,590 --> 00:51:37,600 Tôi nghĩ rằng họ đã kể từ khi chuyển sang. 856 00:51:37,600 --> 00:51:40,780 Có một số khác gọi là FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> Vì vậy, Ruby on Rails sử dụng ngôn ngữ Ruby và thực hiện rất nhiều các công cụ MVC 858 00:51:46,120 --> 00:51:48,200 mà chúng ta thấy ở đây. 859 00:51:48,200 --> 00:51:52,320 FuelPHP là một khuôn khổ PHP. 860 00:51:52,320 --> 00:51:54,490 Django là một trong những mục yêu thích của tôi. 861 00:51:54,490 --> 00:51:57,010 Đó là một khuôn khổ web cho Python. 862 00:51:57,010 --> 00:52:01,270 Vì vậy, bạn có thể viết ứng dụng web của bạn trong Python. 863 00:52:01,270 --> 00:52:03,760 Vì vậy, có một tấn các tùy chọn này. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, tôi nghĩ rằng, bởi và lớn là đúng yêu thích của tôi 865 00:52:06,170 --> 00:52:08,232 bây giờ cho PHP chỉ vì của các thành phần 866 00:52:08,232 --> 00:52:09,440 mà chúng tôi nói chuyện về trước. 867 00:52:09,440 --> 00:52:11,910 Nó Composer kích hoạt. 868 00:52:11,910 --> 00:52:15,750 Nó bao gồm một thực sự, thực sự hệ thống ORM biểu cảm. 869 00:52:15,750 --> 00:52:18,800 Cũng có một khuôn mẫu thực sự tuyệt vời ngôn ngữ mà một số người khác 870 00:52:18,800 --> 00:52:20,630 chỉ không cung cấp. 871 00:52:20,630 --> 00:52:21,400 Và di cư. 872 00:52:21,400 --> 00:52:23,432 Cuộc di cư này tuyệt vời là tốt. 873 00:52:23,432 --> 00:52:24,860 Mát mẻ? 874 00:52:24,860 --> 00:52:25,390 Awesome. 875 00:52:25,390 --> 00:52:27,560 Vâng, cảm ơn rất nhiều cho xem buổi hội thảo này, 876 00:52:27,560 --> 00:52:30,650 và may mắn trên dự án cuối cùng của bạn. 877 00:52:30,650 --> 00:52:31,616