1 00:00:00,000 --> 00:00:02,538 >> [音乐播放] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC欧阳:嘿,大家好。 4 00:00:12,390 --> 00:00:13,580 欢迎。 5 00:00:13,580 --> 00:00:16,860 这是构建动态 Web应用程序与Laravel。 6 00:00:16,860 --> 00:00:18,290 我的名字是埃里克·欧阳。 7 00:00:18,290 --> 00:00:23,860 我是一名大二的学生学习社会研究 在计算机科学的辅助, 8 00:00:23,860 --> 00:00:27,290 我住在亚当斯 这里的房子在哈佛。 9 00:00:27,290 --> 00:00:33,340 >> 所以Laravel,其最核心的, 是一个MVC Web应用程序框架。 10 00:00:33,340 --> 00:00:38,265 所以喜欢你们有 一直在做与CS50金融, 11 00:00:38,265 --> 00:00:42,480 Laravel是一个框架,允许 你建立动态Web应用程序。 12 00:00:42,480 --> 00:00:47,710 所以,你可以认为它在某种意义上 作为填充的类型的延伸 13 00:00:47,710 --> 00:00:50,470 你一直在做CS50 财政部,而是一个系统的 14 00:00:50,470 --> 00:00:55,890 很多更强大的,很多 在某种意义上更优雅, 15 00:00:55,890 --> 00:00:57,870 并提供了大量的 为你的功能 16 00:00:57,870 --> 00:01:03,060 建立相当复杂 Web应用程序。 17 00:01:03,060 --> 00:01:05,010 所以,让我们通过一些 的主要特点, 18 00:01:05,010 --> 00:01:09,550 然后我们将深入到 例如建立一个博客的 19 00:01:09,550 --> 00:01:12,500 应用程序Laravel。 20 00:01:12,500 --> 00:01:16,700 >> 所以第一件事情之一是 从MVC类型的工作,它的区别 21 00:01:16,700 --> 00:01:22,100 你一直在做与CS50 是它包括一个ORM引擎。 22 00:01:22,100 --> 00:01:27,410 所以ORM代表对象 关系映射。 23 00:01:27,410 --> 00:01:31,080 因此,这可以让你打造 一个抽象层 24 00:01:31,080 --> 00:01:35,230 数据库之间 和你的控制器。 25 00:01:35,230 --> 00:01:39,150 因此,在CS50财务不像的地方 您可以直接进行查询, 26 00:01:39,150 --> 00:01:44,790 ORM层可以让你 抽象的路程,创造 27 00:01:44,790 --> 00:01:48,085 模型是比更强大的 您可以直接用SQL查询。 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> 另一件事是真的 乐于助人是可继承模板。 30 00:01:53,510 --> 00:01:58,990 所以,你会发现在CS50金融, 你最终改写了很多东西, 31 00:01:58,990 --> 00:02:03,150 其中,地方你可能 重复使用的东西,你不能够。 32 00:02:03,150 --> 00:02:08,539 所以,在这里Laravel,你可以使用什么 被称为刀片模板引擎 33 00:02:08,539 --> 00:02:10,530 创建一个总纲。 34 00:02:10,530 --> 00:02:15,840 从那里,你可以继承 这样子的模板其实可以 35 00:02:15,840 --> 00:02:21,210 包括内的元素 这更大的基础模板。 36 00:02:21,210 --> 00:02:21,810 >> 迁移。 37 00:02:21,810 --> 00:02:29,010 因此,这是一个相当标准的特点 大多数现代Web应用程序框架。 38 00:02:29,010 --> 00:02:32,710 因此,这可以让你代表 代码数据库模式的变化。 39 00:02:32,710 --> 00:02:39,200 因此,没有会说,phpMyAdmin的, 实际上你可以创建这些迁移 40 00:02:39,200 --> 00:02:44,660 在那里你代表数据库 架构在代码中直接改变。 41 00:02:44,660 --> 00:02:48,070 这可以让你to--特别是 如果你有多个工作的人 42 00:02:48,070 --> 00:02:52,650 在同一个网络application-- 跟踪这些变化, 43 00:02:52,650 --> 00:02:55,380 说,在GitHub上,或者一些其他存储库。 44 00:02:55,380 --> 00:03:00,880 >> 所以这是非常有帮助 并减轻需要 45 00:03:00,880 --> 00:03:04,580 ,比方说,通过身边的很多SQL转储。 46 00:03:04,580 --> 00:03:07,140 最后,作曲是 东西真的,真的有用 47 00:03:07,140 --> 00:03:09,840 这使您可以使用其他 人的代码做的真棒事情。 48 00:03:09,840 --> 00:03:14,020 所以Laravel的结构如下 一些作曲家的包。 49 00:03:14,020 --> 00:03:17,870 所以说,如果你想带 在身份验证程序包 50 00:03:17,870 --> 00:03:23,440 或者,如果你想带来一些 排序生成脚本或管理员的 51 00:03:23,440 --> 00:03:26,910 接口,可以即插即用 这些组件与作曲。 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> 因此,让我们开始吧。 54 00:03:31,570 --> 00:03:35,185 你的任何问题 我们之前的家伙开始了吗? 55 00:03:35,185 --> 00:03:36,500 没问题吗? 56 00:03:36,500 --> 00:03:37,490 酷。 57 00:03:37,490 --> 00:03:39,990 所以,第一步是 安装作曲家。 58 00:03:39,990 --> 00:03:43,590 所以作曲家可以让你 管理这些依赖关系, 59 00:03:43,590 --> 00:03:47,770 无论是在Laravel框架 或一些其它第三方延伸。 60 00:03:47,770 --> 00:03:50,400 第一个命令允许 您下载作曲家, 61 00:03:50,400 --> 00:03:55,890 第二个命令可以让你 移动到你的本地bin文件夹 62 00:03:55,890 --> 00:04:01,340 这样您就可以运行作曲 直接通过端子。 63 00:04:01,340 --> 00:04:05,405 >> 在此之后,继续前进, 创建一个新的Laravel项目。 64 00:04:05,405 --> 00:04:07,280 我们究竟要 使用一些示例代码 65 00:04:07,280 --> 00:04:10,760 我已经把 创建这个博客。 66 00:04:10,760 --> 00:04:14,420 但如果你从开始 从头开始,你可以使用这个命令 67 00:04:14,420 --> 00:04:18,160 在这里,作曲家创建项目, laravel斜线laravel,然后 68 00:04:18,160 --> 00:04:19,940 你的项目的名称。 69 00:04:19,940 --> 00:04:22,275 而这将包括 所有的分销代码 70 00:04:22,275 --> 00:04:23,733 用于启动一个新的Laravel项目。 71 00:04:23,733 --> 00:04:28,870 因此,对于你CS50最后的项目,你会 可能需要使用该命令。 72 00:04:28,870 --> 00:04:31,210 >> 但是,我们要开始了。 73 00:04:31,210 --> 00:04:34,630 所以,一旦你做到 这一点,你会得到 74 00:04:34,630 --> 00:04:40,190 一个相当广泛的数 在blog50文件。 75 00:04:40,190 --> 00:04:43,840 因此,让我们刚刚经历 其中的一些组件。 76 00:04:43,840 --> 00:04:49,060 你会发现,在这条线路 目录中,有一个应用程序的文件夹。 77 00:04:49,060 --> 00:04:52,960 里面的应用程序文件夹中,有 一对夫妇有用的文件夹。 78 00:04:52,960 --> 00:04:56,330 注意,开始与 是这样的config文件夹。 79 00:04:56,330 --> 00:04:59,210 所以这个设置是如何 你的web应用程序是 80 00:04:59,210 --> 00:05:04,350 去,比方说,验证人们或 现金事物或连接到数据库。 81 00:05:04,350 --> 00:05:06,400 >> 什么是真正 乐于助人是Laravel 82 00:05:06,400 --> 00:05:09,130 允许您设置不同 开发环境。 83 00:05:09,130 --> 00:05:12,090 因此,我们在这里所做的是,如果 我们走在了本地文件夹, 84 00:05:12,090 --> 00:05:14,720 有一个为database.php文件。 85 00:05:14,720 --> 00:05:18,320 你会发现在这里,我们 建立一个MySQL连接的 86 00:05:18,320 --> 00:05:22,230 允许个人连接 到MySQL服务器的 87 00:05:22,230 --> 00:05:24,310 直接在CS50器具。 88 00:05:24,310 --> 00:05:26,980 我们正在连接到数据库 我成立了一个名为Blog50。 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> 因此,让我们真正去前进, 运行的这个工作版本, 91 00:05:37,085 --> 00:05:39,710 只是为了得到一个什么样的感 应用程序,我们正在建设 92 00:05:39,710 --> 00:05:41,390 看起来像。 93 00:05:41,390 --> 00:05:46,150 所以我有一个副本 这Blog50完成。 94 00:05:46,150 --> 00:05:51,910 居然如此Laravel 已建成的一台服务器 95 00:05:51,910 --> 00:05:53,910 您可以直接运行 在命令行。 96 00:05:53,910 --> 00:05:56,900 因此,这是类似于 前PSET实际上,当你 97 00:05:56,900 --> 00:06:00,580 打造C.你自己的服务器 因此,他们有一个内置的等 98 00:06:00,580 --> 00:06:04,010 你可以运行你的应用程序Laravel 直接在命令行。 99 00:06:04,010 --> 00:06:11,650 >> 因此,如果我们做的PHP工匠服务,这 将推出开发服务器 100 00:06:11,650 --> 00:06:13,880 在端口8000。 101 00:06:13,880 --> 00:06:18,250 因此,如果我们去本地主机 8000,你会发现,哎。 102 00:06:18,250 --> 00:06:20,800 我们有我们的博客和运行。 103 00:06:20,800 --> 00:06:25,090 所以Laravel这里产生 我们的博客的头版。 104 00:06:25,090 --> 00:06:26,350 非常简单的应用程序。 105 00:06:26,350 --> 00:06:28,610 但有一对夫妇 真正漂亮的功能 106 00:06:28,610 --> 00:06:31,346 它提供的罩的下方。 107 00:06:31,346 --> 00:06:33,680 >> 因此,博客的应用程序的 简单。 108 00:06:33,680 --> 00:06:36,430 如果我们想创造一个帖子, 我们可以点击该按钮。 109 00:06:36,430 --> 00:06:40,470 我们可以说,“嗨,大家好。 110 00:06:40,470 --> 00:06:44,530 这是一个非常有趣的 研讨会上,“例如。 111 00:06:44,530 --> 00:06:46,560 写下来的东西在这里。 112 00:06:46,560 --> 00:06:48,180 这里文本。 113 00:06:48,180 --> 00:06:51,327 如果我们点击提交,你会 请注意,我们的新博客 114 00:06:51,327 --> 00:06:53,410 交的已被添加到该 博客的头版。 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 如果我们回到这里,你会发现, 出现了一些评论已经 117 00:06:59,970 --> 00:07:01,160 在博客上。 118 00:07:01,160 --> 00:07:03,630 因此,如果我们向下滚动,你会 请注意,乔纳森说谭 119 00:07:03,630 --> 00:07:08,020 他是非常受这一职位感兴趣。 120 00:07:08,020 --> 00:07:11,570 >> 因此,我们将进入怎样的对象 关系映射允许 121 00:07:11,570 --> 00:07:16,668 你在做这些关系 一个相当无缝的方式为好。 122 00:07:16,668 --> 00:07:17,660 酷。 123 00:07:17,660 --> 00:07:20,290 有关功能的任何问题 什么我们要打造? 124 00:07:20,290 --> 00:07:22,850 125 00:07:22,850 --> 00:07:23,840 酷。 126 00:07:23,840 --> 00:07:28,170 因此,让我们开始与实际 创建数据库表。 127 00:07:28,170 --> 00:07:33,190 >> 所以,记得在CS50金融,你 把一个表的用户 128 00:07:33,190 --> 00:07:37,100 以及用于 大盘在你的投资组合。 129 00:07:37,100 --> 00:07:41,040 所以,正如我们前面所提到的, 我们Laravel用什么 130 00:07:41,040 --> 00:07:43,090 是一些被称为迁移。 131 00:07:43,090 --> 00:07:48,570 因此,如果我们回到 这里分布代码, 132 00:07:48,570 --> 00:07:51,790 这是第一个命令 乐于助人的Laravel为您提供 133 00:07:51,790 --> 00:07:54,240 这是迁移命令。 134 00:07:54,240 --> 00:07:59,220 所以,我们可以做的PHP工匠迁移:让。 135 00:07:59,220 --> 00:08:01,760 因此,这使我们能够创建一个迁移。 136 00:08:01,760 --> 00:08:03,710 >> 然后我们会想 创建一个迁移 137 00:08:03,710 --> 00:08:07,050 所谓create_posts_table, 这是怎么回事 138 00:08:07,050 --> 00:08:11,521 我们将要在哪里 可以存储我们的博客帖子。 139 00:08:11,521 --> 00:08:14,690 而且你会发现这里运行 实际上是通过一些代码, 140 00:08:14,690 --> 00:08:17,580 生成与文件 在其上的时间标记。 141 00:08:17,580 --> 00:08:22,260 因此,如果我们去看看数据库, 在迁移,我们会发现 142 00:08:22,260 --> 00:08:24,830 ,它的创建 空白文件为我们这 143 00:08:24,830 --> 00:08:30,100 有一个名为样板代码 我们规定,建立职位表。 144 00:08:30,100 --> 00:08:31,670 >> 并且它具有在其两个功能。 145 00:08:31,670 --> 00:08:40,539 最多就是我们要运行时 迁移应用到数据库。 146 00:08:40,539 --> 00:08:46,380 上下就是我们要做的 当我们想要扭转迁移。 147 00:08:46,380 --> 00:08:49,890 所以在这里,让我们开始了 有写这个迁移。 148 00:08:49,890 --> 00:08:55,480 所以这是一个有益的类 在Laravel称为模式。 149 00:08:55,480 --> 00:08:57,910 >> 因此,我们要运行模式::创建。 150 00:08:57,910 --> 00:09:01,080 我们要创建 表名为职位。 151 00:09:01,080 --> 00:09:05,980 这里使用的功能,我们应用此。 152 00:09:05,980 --> 00:09:11,010 而在这里,我们要真正 我们指定表的内容。 153 00:09:11,010 --> 00:09:14,860 我们要创建一个ID, 这是自动递增。 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> 此外,我们将 创建一个字段 156 00:09:24,350 --> 00:09:27,060 代表我们的博客文章的标题。 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 我们也将创造一个字段 用于存储我们的博客文章的文本。 159 00:09:36,950 --> 00:09:40,600 最后,我们要 存放一些时间戳 160 00:09:40,600 --> 00:09:44,690 创建我们的帖子的时候了 而且,当它被更新。 161 00:09:44,690 --> 00:09:46,240 而对于下去,这是非常简单的。 162 00:09:46,240 --> 00:09:53,974 所有我们想要做的是降 我们已经创建了表。 163 00:09:53,974 --> 00:09:54,930 >> 大。 164 00:09:54,930 --> 00:09:55,850 有问题吗? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 所以现在,如果我们继续 还有 - 实际上,本地主机, 167 00:10:07,110 --> 00:10:09,640 让我删除我们前面了。 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 进入数据库。 170 00:10:15,190 --> 00:10:17,640 我要删除我们前面了。 171 00:10:17,640 --> 00:10:22,870 放弃这一创造 一个新的数据库Blog50。 172 00:10:22,870 --> 00:10:24,930 所以,现在是什么神奇 部分在这里,我们 173 00:10:24,930 --> 00:10:28,760 可以直接应用这些迁移 使用命令行数据库 174 00:10:28,760 --> 00:10:29,290 工具。 175 00:10:29,290 --> 00:10:35,100 因此,如果我们做的PHP工匠迁移, 你会发现,哎。 176 00:10:35,100 --> 00:10:38,320 它的创建迁移表, 我们将看看在一个位, 177 00:10:38,320 --> 00:10:40,540 和它的应用这个第一次迁移。 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> 所以我们看Blog50,你会发现 它的创建两个表我们。 180 00:10:48,920 --> 00:10:50,300 首先是这种迁移表。 181 00:10:50,300 --> 00:10:54,130 因此,如果我们浏览,你会发现, 此表是相当简单的。 182 00:10:54,130 --> 00:10:55,490 它只是说,哎。 183 00:10:55,490 --> 00:10:58,960 我们应用这个迁移。 184 00:10:58,960 --> 00:11:01,470 我们回去看看帖子。 185 00:11:01,470 --> 00:11:05,720 你会发现结构 这正是我们在问它。 186 00:11:05,720 --> 00:11:07,350 我们有一个自动递增的ID。 187 00:11:07,350 --> 00:11:10,450 我们有一个字符串,用于存储 标题和文本字段 188 00:11:10,450 --> 00:11:11,450 用于存储的内容。 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 大。 191 00:11:14,706 --> 00:11:15,560 酷。 192 00:11:15,560 --> 00:11:21,626 有关迁移的任何问题 工作中,我们如何应用它们? 193 00:11:21,626 --> 00:11:22,126 不是吗? 194 00:11:22,126 --> 00:11:23,600 酷。 195 00:11:23,600 --> 00:11:26,630 所以,现在我们要继续前进 实际上创建模型。 196 00:11:26,630 --> 00:11:33,100 因此,我们要创建一个职位模型 存储在数据库的抽象。 197 00:11:33,100 --> 00:11:41,040 因此,而不是做的MySQL查询 直接,我们要创建。 198 00:11:41,040 --> 00:11:45,840 因此,我们必须创建一个 夹在这里所说的模型。 199 00:11:45,840 --> 00:11:48,905 而在这里里面,我们要 创建一个名为post.php中的文件。 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> 在这个PHP文件, 我们要创建 202 00:11:54,550 --> 00:12:00,590 一类岗位延伸侃侃而谈。 203 00:12:00,590 --> 00:12:08,950 口才是ORM的名字 引擎,Laravel提供。 204 00:12:08,950 --> 00:12:12,799 而在这里,我们可以预期, 你真正需要编写一些代码。 205 00:12:12,799 --> 00:12:14,840 我们要去写一些 辅助功能后。 206 00:12:14,840 --> 00:12:19,420 但开箱,这将已经 认识到什么是数据库 207 00:12:19,420 --> 00:12:24,770 我们可以访问,说,文本 ,我们的博客文章或标题 208 00:12:24,770 --> 00:12:29,230 并直接与创造的东西 几乎没有任何代码。 209 00:12:29,230 --> 00:12:31,110 >> 这就是神奇的组成部分之一。 210 00:12:31,110 --> 00:12:34,980 风一旦该类 更完全成熟, 211 00:12:34,980 --> 00:12:40,480 我们将包括有关的信息是什么 它的相关,所以注释。 212 00:12:40,480 --> 00:12:42,310 还创建一个函数 所以我们实际上可以 213 00:12:42,310 --> 00:12:46,340 直接获取URL 博客文章页面。 214 00:12:46,340 --> 00:12:46,840 酷。 215 00:12:46,840 --> 00:12:47,881 关于什么问题吗? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 第 218 00:12:51,832 --> 00:12:54,100 酷。 219 00:12:54,100 --> 00:12:57,860 >> 所以现在一旦我们有我们的模型,我们 要创建一个控制器的 220 00:12:57,860 --> 00:13:02,340 能够与这些模型的接口, 随后该数据库。 221 00:13:02,340 --> 00:13:05,540 因此,如果我们看一看 BlogController,你会 222 00:13:05,540 --> 00:13:08,490 注意到,有没有 很多现在在这里。 223 00:13:08,490 --> 00:13:13,220 所有有一个索引功能 生成首页, 224 00:13:13,220 --> 00:13:18,220 但没有任何东西 有显示呢。 225 00:13:18,220 --> 00:13:20,560 >> 所以第一功能 我们要创建 226 00:13:20,560 --> 00:13:25,790 是一个可以让我们 创建一个博客帖子。 227 00:13:25,790 --> 00:13:30,540 所以,我们要声明 新的函数调用newPost。 228 00:13:30,540 --> 00:13:36,430 和里面这里简单,我们要去 设置此页面的布局 229 00:13:36,430 --> 00:13:41,850 要渲染的版本, 如果从CS50还记得, 230 00:13:41,850 --> 00:13:48,020 该模板被称为blog.new,哪 我们要创造一点点。 231 00:13:48,020 --> 00:13:53,170 >> 你会发现这里六号线的 我们指定这个变量,布局。 232 00:13:53,170 --> 00:13:55,820 如果我们看一看 在浏览文件夹, 233 00:13:55,820 --> 00:14:01,640 有一种版式文件夹,里面 包括一个非常基本的HTML文件。 234 00:14:01,640 --> 00:14:04,680 值得注意的同时,你会发现 我们有这个容器 235 00:14:04,680 --> 00:14:06,800 在这里,产生的内容。 236 00:14:06,800 --> 00:14:09,460 所以,我们的模板里面 我们将做什么 237 00:14:09,460 --> 00:14:16,180 正在创造什么将是 这种布局内直接取代。 238 00:14:16,180 --> 00:14:20,060 >> 因此,我们说,我们要呈现 所谓的模板blog.new。 239 00:14:20,060 --> 00:14:23,790 但博客里面,有 没有这种新的模板。 240 00:14:23,790 --> 00:14:26,910 因此,我们要创建一个 所谓的文件new.blade.php。 241 00:14:26,910 --> 00:14:29,860 这告诉Laravel了 这个PHP文件应该 242 00:14:29,860 --> 00:14:31,720 将与所绘制的 刀模板引擎。 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 因此,这是一个相当 简单的文件。 245 00:14:42,630 --> 00:14:46,690 这将是由形式 我们实际上添加的博客文章。 246 00:14:46,690 --> 00:14:49,220 >> 所以,这里的魔法从 继承是,哎。 247 00:14:49,220 --> 00:14:52,950 我们要指定 部分,所述内容部分 248 00:14:52,950 --> 00:14:56,640 在这里,这是划定 通过@section和@stop。 249 00:14:56,640 --> 00:15:02,260 那么,什么是介于两者之间这里将 代入的总体布局。 250 00:15:02,260 --> 00:15:07,000 在这里,我们想要做的是 很简单的创建一个新的HTML文件。 251 00:15:07,000 --> 00:15:08,690 让我们只需添加一个快速称号。 252 00:15:08,690 --> 00:15:09,600 添加一个博客帖子。 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 并在其中,我们 要创建一个表单。 255 00:15:15,390 --> 00:15:19,197 >> 这种形式将会有一个动作。 256 00:15:19,197 --> 00:15:21,780 这将是什么 我们后来的替代, 257 00:15:21,780 --> 00:15:24,200 我们将看到如何 路由适合这里。 258 00:15:24,200 --> 00:15:33,600 但我们只是要确定现在 这去的URL与路线 259 00:15:33,600 --> 00:15:34,860 从createPost。 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 然后这将 有方法后。 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 在这里,我们要 有两个字段。 264 00:15:47,590 --> 00:15:49,170 DIV CLASS =“形组”。 265 00:15:49,170 --> 00:15:55,806 >> 我们使用的引导CSS库 由Twitter提供的慷慨。 266 00:15:55,806 --> 00:15:57,720 因此,我们要创建两个这样的。 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 所以这第一个输入 将是标题。 269 00:16:05,970 --> 00:16:08,437 因此,输入名称=“称号”。 270 00:16:08,437 --> 00:16:09,270 类=“formcontrol”。 271 00:16:09,270 --> 00:16:13,540 272 00:16:13,540 --> 00:16:14,425 类型=“文本”。 273 00:16:14,425 --> 00:16:16,050 我要添加一个占位符=“标题”。 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> 然后,第二个是 将是一个文本区域。 276 00:16:26,140 --> 00:16:27,827 NAME =“内容”。 277 00:16:27,827 --> 00:16:28,660 类=“formcontrol”。 278 00:16:28,660 --> 00:16:33,402 279 00:16:33,402 --> 00:16:34,610 和占位符=“写到这里”。 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 在那里,我们走了。 282 00:16:43,480 --> 00:16:46,760 最后,我们要 添加快速提交按钮。 283 00:16:46,760 --> 00:16:50,370 类型=“提交”级=“BTN BTN-小学”。 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 所以这些都是 引导的功能,所以 286 00:16:55,340 --> 00:16:58,510 这可敷设 出的方式,是 287 00:16:58,510 --> 00:17:03,730 猎物的用户, 而不是赤裸裸的HTML。 288 00:17:03,730 --> 00:17:06,250 >> 所以,我们在这里所定义的控制器。 289 00:17:06,250 --> 00:17:08,930 我们定义了一个非常简单的看法。 290 00:17:08,930 --> 00:17:12,339 但缺少的是 结缔组织。 291 00:17:12,339 --> 00:17:15,420 所以在这一点上, Laravel不知道如何 292 00:17:15,420 --> 00:17:18,312 我们要以实际 访问该控制器。 293 00:17:18,312 --> 00:17:20,270 因此,这是在一个确定的 所谓的文件routes.php。 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 而现在,我们有一个路线。 296 00:17:24,310 --> 00:17:29,060 这是当我们去 家路径这个网站, 297 00:17:29,060 --> 00:17:33,140 它会呈现 该指数控制器。 298 00:17:33,140 --> 00:17:38,880 所以在这里我们需要做的是落实 我们的一个新的途径创造一个职位。 299 00:17:38,880 --> 00:17:41,910 >> 因此,我们使用这种方法 得到的,其中规定 300 00:17:41,910 --> 00:17:48,650 当用户尝试该 得到这个page--专 301 00:17:48,650 --> 00:17:52,850 后斜线新page-- 我们将做什么 302 00:17:52,850 --> 00:18:02,060 是使用名为控制器 BlogController新的岗位。 303 00:18:02,060 --> 00:18:03,460 我们刚刚创建的。 304 00:18:03,460 --> 00:18:08,090 然后我们要去 别名它作为newPost。 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 我们将创造另一个 功能一点点。 307 00:18:19,850 --> 00:18:23,520 但是,什么是在这里下 关键“为”是什么 308 00:18:23,520 --> 00:18:28,195 我们可以在替代 我们的刀片模板。 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 所以现在,让我们 居然还说路线。 311 00:18:36,230 --> 00:18:38,380 因此,我们也将 创建一个控制器 312 00:18:38,380 --> 00:18:41,020 这样我们就可以创建这些职位。 313 00:18:41,020 --> 00:18:46,940 所以,如果一个用户帖子的网页后 新的削减,我们要做的 314 00:18:46,940 --> 00:18:51,350 是使用一个控制器 我们将在短期内创造 315 00:18:51,350 --> 00:18:56,160 所谓BlogController在createPost。 316 00:18:56,160 --> 00:19:01,929 我们要去的别名 这与作为createPost。 317 00:19:01,929 --> 00:19:03,380 酷。 318 00:19:03,380 --> 00:19:05,811 >> 有问题吗? 319 00:19:05,811 --> 00:19:06,310 酷。 320 00:19:06,310 --> 00:19:09,790 因此,让我们运行我们所拥有的这么远。 321 00:19:09,790 --> 00:19:16,930 因此,如果我们做的PHP工匠服务, 我们会看到很多的错误。 322 00:19:16,930 --> 00:19:20,385 所以看起来我们有一个 航线语法错误行27。 323 00:19:20,385 --> 00:19:20,885 啊。 324 00:19:20,885 --> 00:19:21,718 缺少一个分号。 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 因此,如果我们去到8000, 你会看到什么在这里呢。 327 00:19:32,870 --> 00:19:34,740 因此,这是默认的主页。 328 00:19:34,740 --> 00:19:37,730 >> 但是,如果我们去张贴大幅削减新的,嘿嘿。 329 00:19:37,730 --> 00:19:40,425 这将是我们刚刚创建的窗体。 330 00:19:40,425 --> 00:19:42,550 现在,我们还没有 实现的功能 331 00:19:42,550 --> 00:19:44,060 当我们按​​下的提交按钮。 332 00:19:44,060 --> 00:19:47,110 因此,如果我们点击提交 按钮,它会运行一个错误。 333 00:19:47,110 --> 00:19:49,840 但是,我们将代码 现在,正是我们 334 00:19:49,840 --> 00:19:54,840 想要做的,当用户 提交此表。 335 00:19:54,840 --> 00:19:55,770 >> 因此,让我们做到这一点。 336 00:19:55,770 --> 00:19:57,380 回到控制器文件。 337 00:19:57,380 --> 00:20:00,180 我们现在要做的是 实施这一新功能 338 00:20:00,180 --> 00:20:04,360 这使我们能够创建一个职位。 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 申报新功能。 341 00:20:08,990 --> 00:20:11,527 公共职能createPost。 342 00:20:11,527 --> 00:20:14,610 并且这个功能将是一个 点点比更复杂的是什么 343 00:20:14,610 --> 00:20:15,559 我们以前有。 344 00:20:15,559 --> 00:20:18,350 但是你会看到这里,我们是不是 要真正写任何SQL。 345 00:20:18,350 --> 00:20:20,980 在ORM,雄辩 ORM,会允许 346 00:20:20,980 --> 00:20:26,400 我们为此在一些 如何更优雅的方式。 347 00:20:26,400 --> 00:20:29,140 >> 因此,我们要创建一个新的职位。 348 00:20:29,140 --> 00:20:34,120 在这里,我们 实例化一个新的对象 349 00:20:34,120 --> 00:20:38,080 从模型,我们只是 创建后的模型。 350 00:20:38,080 --> 00:20:44,450 而我们要做的是什么设置 这种使用的东西的title属性 351 00:20:44,450 --> 00:20:47,380 我们从服务器获取。 352 00:20:47,380 --> 00:20:52,060 因此,这是类似于 我们在CS50财务以前有 353 00:20:52,060 --> 00:20:57,750 我们会做,使用超级 全球邮政寻找称号。 354 00:20:57,750 --> 00:21:01,600 >> 所以Laravel提供了一些卫生 和诸如此类的东西使用这个辅助功能。 355 00:21:01,600 --> 00:21:07,610 因此,我们更愿意用这个来代替 从PHP这个非常基本的原始形式。 356 00:21:07,610 --> 00:21:17,430 然后我们要做什么设置 它的输入内容获取内容。 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 我们究竟要包装 这一个有用的功能 359 00:21:22,720 --> 00:21:31,820 在PHP提供了一种称为nl2br,这 打开新的生产线,NLS,成BRS,休息, 360 00:21:31,820 --> 00:21:35,822 所以我们实际上可以有 在它的不同段落。 361 00:21:35,822 --> 00:21:38,030 最后我们要去 要做的就是保存这个职位。 362 00:21:38,030 --> 00:21:41,686 因此,我们调用函数 保存该模型。 363 00:21:41,686 --> 00:21:43,800 我们要保存的职位。 364 00:21:43,800 --> 00:21:49,970 最后我们要做的 具体重定向用户 365 00:21:49,970 --> 00:21:55,060 这是我们要去的路线 通过viewPost创建不久,别名。 366 00:21:55,060 --> 00:22:00,435 而且我们要传递的参数 ID,是这一新职位的ID。 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> 大。 369 00:22:05,640 --> 00:22:09,090 所以现在,如果我们真的去并运行此。 370 00:22:09,090 --> 00:22:11,370 我们将增加一个新的岗位。 371 00:22:11,370 --> 00:22:15,930 比方说,这是研讨会50。 372 00:22:15,930 --> 00:22:17,620 并说,一定。 373 00:22:17,620 --> 00:22:18,240 ASDL。 374 00:22:18,240 --> 00:22:18,740 随你。 375 00:22:18,740 --> 00:22:20,320 某种形式的内容。 376 00:22:20,320 --> 00:22:21,180 并提交。 377 00:22:21,180 --> 00:22:23,850 我们会发现, 哎。路线不限定。 378 00:22:23,850 --> 00:22:32,340 但是,如果我们看看phpMyAdmin的,并 看看我们是否不起作用 379 00:22:32,340 --> 00:22:34,370 做了什么事情。 380 00:22:34,370 --> 00:22:36,670 看Blog50岗位。 381 00:22:36,670 --> 00:22:37,720 我们会发现,哎。 382 00:22:37,720 --> 00:22:43,530 事实上,我们也刚刚创建的博客 按规定带有时间戳发布。 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> 所以,现在,让我们回过头来实际创建 在我们这个控制器等功能, 385 00:22:51,630 --> 00:22:54,790 特别是viewPost控制器。 386 00:22:54,790 --> 00:23:00,290 所以,公共职能viewPost。 387 00:23:00,290 --> 00:23:04,070 所以在这里我们会做的,而不是 有空括号, 388 00:23:04,070 --> 00:23:08,800 我们要传递的ID 我们所创造的岗位。 389 00:23:08,800 --> 00:23:12,800 从这里,我们打算怎么做 实际上是在数据库中查询它。 390 00:23:12,800 --> 00:23:15,140 >> 所以,如果我们不发布, 有一个调用的函数 391 00:23:15,140 --> 00:23:18,860 发现允许我们通过ID进行查询。 392 00:23:18,860 --> 00:23:22,110 具体来说,其实,我们要 使用这种替代版本,称为 393 00:23:22,110 --> 00:23:27,880 查找或失败,这使我们 退出了这一功能, 394 00:23:27,880 --> 00:23:34,700 引发异常如果ID 我们通过在不存在。 395 00:23:34,700 --> 00:23:37,500 然后我们要做的事 类似于我们以前所做的那样 396 00:23:37,500 --> 00:23:41,100 在这里我们设置内容 这个页的要 397 00:23:41,100 --> 00:23:47,950 这一新观点的渲染的版本 我们要去创造,blog.view。 398 00:23:47,950 --> 00:23:51,030 >> 而且我们要传递到 它 - 就像在CS50渲染 399 00:23:51,030 --> 00:23:56,645 function--变量的字典。 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 这个关联数组的键 成为模板内的变量。 402 00:24:04,620 --> 00:24:06,830 所以,我们要交的岗位做。 403 00:24:06,830 --> 00:24:12,474 所以通过间接的职位, 我们已经从数据库中查询。 。 404 00:24:12,474 --> 00:24:14,390 现在我们要去 要做的就是创建这个视图 405 00:24:14,390 --> 00:24:17,560 所以我们实际上可以查看 我们已经建立了博客文章。 406 00:24:17,560 --> 00:24:20,280 >> 因此,我们要创建一个 所谓的文件view.blade.php。 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 所以该模板的内部, 我们将做什么 409 00:24:29,640 --> 00:24:39,700 是把一个简单的页面 允许我们显示内容。 410 00:24:39,700 --> 00:24:44,280 所以我们做一节,这是内容之前。 411 00:24:44,280 --> 00:24:46,800 停止。 412 00:24:46,800 --> 00:24:53,920 而我们要去 在做的,是 413 00:24:53,920 --> 00:24:56,930 写一些HTML显示此页面。 414 00:24:56,930 --> 00:25:03,590 >> 所以,我们要以一个奇特的把它包 新的HTML5元素称为条。 415 00:25:03,590 --> 00:25:05,790 而在这里,我们要 有一个头,其中 416 00:25:05,790 --> 00:25:12,190 我们将简单地拥有H1, 其中包括文章标题。 417 00:25:12,190 --> 00:25:17,120 所以在这里,如果我们看看这个 双大括号标记, 418 00:25:17,120 --> 00:25:21,690 这将基本上做 PHP呼应文章标题。 419 00:25:21,690 --> 00:25:25,630 所以这是一个有用的速记 这Laravel为我们提供。 420 00:25:25,630 --> 00:25:31,070 因此,我们将使用 这个符号代替。 421 00:25:31,070 --> 00:25:40,220 >> 在这里,我们要还 打印出来的内容。 422 00:25:40,220 --> 00:25:43,480 而在这里,我们要 做帖子内容。 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 上下底部我们是 要做的是创建一个页脚。 425 00:25:50,660 --> 00:25:57,690 而在页脚,我们要 当这种被张贴第一个显示。 426 00:25:57,690 --> 00:26:01,320 因此,这是张贴在,在创建的。 427 00:26:01,320 --> 00:26:07,996 >> 和Laravel使用一个非常好的 最新的库称为碳。 428 00:26:07,996 --> 00:26:11,120 所以我们实际上可以做一些所谓的 difforHumans,你刚才看到的。 429 00:26:11,120 --> 00:26:14,360 当我们发布。它会说, 像,五秒前。 430 00:26:14,360 --> 00:26:16,860 所以这是一个非常好的 Laravel功能。 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 最后,我们要 关闭此页脚。 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> 所以现在,如果我们回去 首页我们要去 435 00:26:31,450 --> 00:26:34,490 看到这里没有什么,因为没有 我们还没有编码了主页。 436 00:26:34,490 --> 00:26:40,962 但是,如果我们去后斜线之一, 我们将看到一个例外。 437 00:26:40,962 --> 00:26:42,670 有谁知道为什么 我们看到一个例外? 438 00:26:42,670 --> 00:26:44,516 我们有什么缺失? 439 00:26:44,516 --> 00:26:45,290 任何想法? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 所以,我们做了什么 早些时候,我们实际上 442 00:26:49,790 --> 00:26:52,285 定义我们如何获得 特别是控制器? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> SPEAKER 1:路由? 445 00:26:55,770 --> 00:26:56,519 ERIC欧阳:是的。 446 00:26:56,519 --> 00:26:58,070 所以,我们还是要确定路线。 447 00:26:58,070 --> 00:26:59,794 所以,我们回去这里routes.php。 448 00:26:59,794 --> 00:27:01,710 你会发现,我们 实际上没有定义 449 00:27:01,710 --> 00:27:05,010 我们如何会得到 到该控制器。 450 00:27:05,010 --> 00:27:06,780 所以,现在我们要确定这条路线。 451 00:27:06,780 --> 00:27:09,280 这是相当简单的, 类似于我们以前所做的那样。 452 00:27:09,280 --> 00:27:13,910 但是,我们要怎么在这里注意的是 那我们将有一个占位符。 453 00:27:13,910 --> 00:27:18,730 >> 因此,如果我们做route.get斜线后ID。 454 00:27:18,730 --> 00:27:24,290 所以ID现在是什么事情 被传递到控制器。 455 00:27:24,290 --> 00:27:27,820 这将要使用的 控制器,我们只是 456 00:27:27,820 --> 00:27:33,560 创建BlogController在viewPost。 457 00:27:33,560 --> 00:27:36,420 我们要去 别名这是viewPost。 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 大。 460 00:27:47,490 --> 00:27:49,470 所以,现在我们要创建这条路线。 461 00:27:49,470 --> 00:27:52,100 >> 所以现在,如果我们去这里 并刷新该页面, 462 00:27:52,100 --> 00:27:54,410 我们其实也有我们新的博客文章。 463 00:27:54,410 --> 00:27:57,710 所以,这就是我们前面创建。 464 00:27:57,710 --> 00:28:01,320 很简单的页面,但显示 我们刚刚创建的博客文章。 465 00:28:01,320 --> 00:28:04,210 466 00:28:04,210 --> 00:28:04,760 酷。 467 00:28:04,760 --> 00:28:08,880 如果我们确实经历了整个 创建一个新的博客文章的过程中, 468 00:28:08,880 --> 00:28:11,700 我们会发现,一切 重定向正常。 469 00:28:11,700 --> 00:28:12,950 如果我说:“你好。 470 00:28:12,950 --> 00:28:15,710 我乔纳森谭“。 471 00:28:15,710 --> 00:28:18,550 说,“这是我的博客文章。” 472 00:28:18,550 --> 00:28:22,830 并提交,这将创造 这种新的博客文章ID为2, 473 00:28:22,830 --> 00:28:28,920 该增量从我们不得不 此前,它正确地显示。 474 00:28:28,920 --> 00:28:30,760 真棒。 475 00:28:30,760 --> 00:28:32,930 >> 有问题吗? 476 00:28:32,930 --> 00:28:33,430 是吗? 477 00:28:33,430 --> 00:28:36,537 >> SPEAKER 2:是否Laravel手柄 消毒,并为你的一切? 478 00:28:36,537 --> 00:28:37,245 ERIC欧阳:是的。 479 00:28:37,245 --> 00:28:42,990 所以,当我们在前面看到的时候 我们做了结肠输入冒号得到, 480 00:28:42,990 --> 00:28:47,720 这sanitates任何SQL 注射和诸如此类的东西 481 00:28:47,720 --> 00:28:51,660 我们可能想,如果执行 我们的网站的恶意用户。 482 00:28:51,660 --> 00:28:54,115 所以Laravel处理大量 那幕后。 483 00:28:54,115 --> 00:28:57,030 好问题。 484 00:28:57,030 --> 00:29:00,390 >> 因此,让我们来看看主页。 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 因此,如果我们先回去了 控制器的主页, 487 00:29:06,790 --> 00:29:08,740 你会发现,它 没有做太多在这里。 488 00:29:08,740 --> 00:29:11,620 你会发现,我们不 通过这个控制器 489 00:29:11,620 --> 00:29:13,830 什么特别有帮助。 490 00:29:13,830 --> 00:29:16,660 这只是该索引文件。 491 00:29:16,660 --> 00:29:18,770 >> 因此,让我们通入 这个东西有用。 492 00:29:18,770 --> 00:29:21,450 具体而言,我们 要通过职位。 493 00:29:21,450 --> 00:29:28,740 和Laravel让我们 做一切后,这 494 00:29:28,740 --> 00:29:30,625 让我们把所有的帖子。 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 现在,如果我们回去 index.php文件,你会看到,嘿嘿。 497 00:29:35,730 --> 00:29:37,060 这里没有什么呢。 498 00:29:37,060 --> 00:29:41,290 但是我们想在这里做 实际上遍历, 499 00:29:41,290 --> 00:29:46,420 做一个foreach循环在帖子说 让我们打印出的职位。 500 00:29:46,420 --> 00:29:53,180 >> 所以的foreach职位 后期,我们想要做的 501 00:29:53,180 --> 00:29:57,252 被打印出来的内容 的博客文章。 502 00:29:57,252 --> 00:30:00,210 但有一件事,你会注意到的是, 我们实际上写的大部分代码 503 00:30:00,210 --> 00:30:01,370 已经在view.blade.php。 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 还等什么,我们要真正做的是 使用刀片的一个不错的有用的功能 506 00:30:08,640 --> 00:30:11,300 并分解出这个共同的代码。 507 00:30:11,300 --> 00:30:12,570 所以,我们去这里。 508 00:30:12,570 --> 00:30:16,210 >> 我们要利用这个内容 在这里,我们打算怎么做 509 00:30:16,210 --> 00:30:18,170 是创建一个新的文件夹。 510 00:30:18,170 --> 00:30:20,364 让我们只是把它谐音。 511 00:30:20,364 --> 00:30:22,530 而在这里,我们要 创建post.blade.php。 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 所以在这里,我们分解出来的方式 这是我们要显示这些职位。 514 00:30:33,100 --> 00:30:38,690 在这里,我们会做的,而不是 居然直接具有HTML, 515 00:30:38,690 --> 00:30:41,530 我们将使用这个指令 所谓包括blog.partials.post。 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> 以及我们打算在这里做 是通过在页面中的职务。 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 所以现在,如果我们回到这里,我们将 注意到该功能仍然 520 00:31:01,050 --> 00:31:01,550 相同。 521 00:31:01,550 --> 00:31:05,140 但是,现在我们有这个 提取出来的代码,这个HTML。 522 00:31:05,140 --> 00:31:07,070 所以我们可以在指数使用它。 523 00:31:07,070 --> 00:31:09,090 所以在这里,这是非常简单的。 524 00:31:09,090 --> 00:31:17,870 我们所要做的是包括 blog.partials.post和阵列。 525 00:31:17,870 --> 00:31:20,845 和某处 之前,我们做岗位职务。 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> 所以现在,如果我们回去 主页,我们将看到,嘿嘿。 528 00:31:28,182 --> 00:31:30,515 我们有所有的列表 博客文章说,我们有过的。 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 我们可能需要一些“如果”加 条件和“其他”条件 531 00:31:37,700 --> 00:31:39,979 这样,如果我们没有 在博客上什么, 532 00:31:39,979 --> 00:31:41,520 我们要显示什么帮助。 533 00:31:41,520 --> 00:31:42,570 喜欢,嘿嘿。 534 00:31:42,570 --> 00:31:44,340 有没有在博客上还没有的内容。 535 00:31:44,340 --> 00:31:47,670 如果你们确实看 在GitHub上的分布代码, 536 00:31:47,670 --> 00:31:50,100 你会看到我们是如何做到这一点的例子。 537 00:31:50,100 --> 00:31:52,770 538 00:31:52,770 --> 00:31:54,110 >> 酷。 539 00:31:54,110 --> 00:31:54,890 有问题吗? 540 00:31:54,890 --> 00:31:55,510 是。 541 00:31:55,510 --> 00:31:57,468 >> SPEAKER 2:我想刚才 一个根本的问题。 542 00:31:57,468 --> 00:31:59,480 回路线。 543 00:31:59,480 --> 00:32:00,230 ERIC欧阳:是的。 544 00:32:00,230 --> 00:32:01,935 如果我们看一看路线。 545 00:32:01,935 --> 00:32:06,018 >> 扬声器2:在什么地方 uses.blogcontroller在创建后, 546 00:32:06,018 --> 00:32:07,560 是什么指导我们? 547 00:32:07,560 --> 00:32:08,310 ERIC欧阳:是的。 548 00:32:08,310 --> 00:32:08,550 是啊。 549 00:32:08,550 --> 00:32:09,716 >> SPEAKER 2:或者是什么that-- 550 00:32:09,716 --> 00:32:12,620 ERIC欧阳:那么,看一看,说 例如,这条路就在这里。 551 00:32:12,620 --> 00:32:17,190 第一部分是实际的 URL,用户会去。 552 00:32:17,190 --> 00:32:19,930 这阵在这里, 关联数组,定义 553 00:32:19,930 --> 00:32:24,520 我们要如何有 针对它的应用程序的行为。 554 00:32:24,520 --> 00:32:29,090 因此,采用的是控制器, 该功能我们 555 00:32:29,090 --> 00:32:31,610 想打电话时, 用户进入该URL。 556 00:32:31,610 --> 00:32:35,190 所以viewPost这里是一个 我们内部定义的函数 557 00:32:35,190 --> 00:32:36,100 BlogController--的 558 00:32:36,100 --> 00:32:37,160 >> SPEAKER 2:我明白了。 559 00:32:37,160 --> 00:32:39,368 >> ERIC欧阳: - 因此,我们 其实可以渲染视图, 560 00:32:39,368 --> 00:32:42,590 进行一些计算, 与SQL数据库交互。 561 00:32:42,590 --> 00:32:43,560 >> 扬声器2:确定。 562 00:32:43,560 --> 00:32:46,960 >> ERIC欧阳:然后其他 一部分“,因为”这是我们使用的别名。 563 00:32:46,960 --> 00:32:50,714 因此,如果我们注意到,当 我们创建的形式, 564 00:32:50,714 --> 00:32:52,380 你会发现,URL :: routecreatePost。 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 因此,它可以代替实际 URL,这样我们就不难 567 00:32:58,330 --> 00:33:02,940 在这些编码,所以我们可以改变它 一次,说如果我们想重新命名。 568 00:33:02,940 --> 00:33:06,055 相反,后斜线 新的,我们想要做的像,P 569 00:33:06,055 --> 00:33:09,490 新的削减只是为了清理 我们的网址了一下。 570 00:33:09,490 --> 00:33:14,740 我们将改变它在一个地方,而 比在所有不同的文件。 571 00:33:14,740 --> 00:33:15,451 >> 酷。 572 00:33:15,451 --> 00:33:15,950 非常好。 573 00:33:15,950 --> 00:33:20,070 所以,现在我们有一个非常 基本的博客平台。 574 00:33:20,070 --> 00:33:24,260 我们可能要添加一个按钮, 我们实际上可以创造新的职位。 575 00:33:24,260 --> 00:33:27,850 因此,如果我们看一看 在布局法师, 576 00:33:27,850 --> 00:33:31,280 我们有一个叫做头右侧部分 我们刚刚定义了在顶部。 577 00:33:31,280 --> 00:33:34,820 因此,我们可以添加按钮 头的顶部。 578 00:33:34,820 --> 00:33:43,950 >> 因此,如果我们去index.blade.php,实际上 做的是确定发生的事情在这里里面。 579 00:33:43,950 --> 00:33:46,970 因此,这头右侧部分, 我们将做什么 580 00:33:46,970 --> 00:33:55,240 被添加的按钮进入 由航路新岗位定义的URL。 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 只是把它清理干净,使 它漂亮,所有的引导, 583 00:34:01,660 --> 00:34:04,630 我们要作 这是一个默认的按钮。 584 00:34:04,630 --> 00:34:07,794 让我们只是让大的乐趣。 585 00:34:07,794 --> 00:34:09,969 >> 和里面,我们可以把一些文字。 586 00:34:09,969 --> 00:34:14,030 但是,自举 提供的是glyphicons。 587 00:34:14,030 --> 00:34:17,840 所以,我们实际上可以添加在 我们前面看到的漂亮的铅笔。 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铅笔。 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 因此,这将使我们能够把 在图标代替文本。 593 00:34:35,340 --> 00:34:38,960 现在,如果我们不停止,这 将定义此节。 594 00:34:38,960 --> 00:34:39,460 而且,嘿嘿。 595 00:34:39,460 --> 00:34:45,000 我们有一个很好的按钮链接我们 直接添加一个博客文章页面。 596 00:34:45,000 --> 00:34:46,659 >> 因此,我们有一个非常简单的博客。 597 00:34:46,659 --> 00:34:49,710 我们可以添加的东西给它。 598 00:34:49,710 --> 00:34:53,650 但是,我们普遍预期 从博客的评论。 599 00:34:53,650 --> 00:34:57,340 所以这是非常重要的,我们有, 说,如果别人访问网站 600 00:34:57,340 --> 00:35:00,620 真正喜欢的职位, 就可以搞的讨论 601 00:35:00,620 --> 00:35:03,100 与其他人谁访问的页面。 602 00:35:03,100 --> 00:35:07,050 所以我们要去创造一个 新的数据库表和新模式 603 00:35:07,050 --> 00:35:12,220 这样我们就可以联想 与岗位评论。 604 00:35:12,220 --> 00:35:17,370 >> 因此,第一个步骤,就像之前, 是,我们需要运行迁移。 605 00:35:17,370 --> 00:35:21,982 所以,像以前一样,我们做 PHP的工匠迁移:制作。 606 00:35:21,982 --> 00:35:24,440 而且我们要创建一个 所谓create_comments_table。 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 这将创建一个文件 有我们的新移民。 609 00:35:36,080 --> 00:35:40,170 我们要去,像 之前,定义一个新表。 610 00:35:40,170 --> 00:35:42,773 因此,架构::创建 表称为意见。 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 此功能在这里。 613 00:35:48,430 --> 00:35:51,620 而这个表里面是什么 我们要做的首先, 614 00:35:51,620 --> 00:35:54,260 像以前一样,分配一个ID。 615 00:35:54,260 --> 00:35:56,552 递增ID。 616 00:35:56,552 --> 00:36:05,440 >> 我们将允许用户关联 他们的名字与一个特定的注释。 617 00:36:05,440 --> 00:36:10,080 我们将有一些内容 随着此,文本内容的推移。 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 在这里,我们要去 做的是不同的东西。 620 00:36:15,910 --> 00:36:23,620 我们要创建一个整数 这就是所谓的post_id其中 621 00:36:23,620 --> 00:36:32,100 是要表示什么交 一个特别的评论与去。 622 00:36:32,100 --> 00:36:35,410 >> 此外,我们究竟要 设置这样的外键约束。 623 00:36:35,410 --> 00:36:37,750 所以MySQL将强制执行。 624 00:36:37,750 --> 00:36:39,840 我们不是要 分配数量评论 625 00:36:39,840 --> 00:36:44,440 5发布5000如果我们不 有5000个职位就可以了。 626 00:36:44,440 --> 00:36:50,240 所以我们在这里做的, 我们做外贸的post_id 627 00:36:50,240 --> 00:37:02,046 将要与相关联 从表中的帖子ID字段。 628 00:37:02,046 --> 00:37:05,900 我们会做一些事情 别人有帮助的,是onDelete。 629 00:37:05,900 --> 00:37:11,180 >> 如果我们删除一些使 从数据库后, 630 00:37:11,180 --> 00:37:15,507 我们要级联 删除征求意见为好。 631 00:37:15,507 --> 00:37:18,090 因为它不是非常有帮助 我们要对帖子评论 632 00:37:18,090 --> 00:37:19,900 不存在。 633 00:37:19,900 --> 00:37:23,764 最后,像以前一样,我们 打算在这个设定的时间戳记。 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 和以前一样,我们要 有相反的迁移是 636 00:37:33,510 --> 00:37:37,920 丢弃的意见表。 637 00:37:37,920 --> 00:37:40,070 >> 所以现在,如果我们回去 在这里,我们要 638 00:37:40,070 --> 00:37:43,110 运行此迁移,迁移工匠。 639 00:37:43,110 --> 00:37:46,400 现在它的应用这个 我们刚刚创建的迁移。 640 00:37:46,400 --> 00:37:50,080 因此,如果我们看看phpMyAdmin的, 我们这样做,事实上,现在 641 00:37:50,080 --> 00:37:53,210 有意见表,该表有 我们刚才指定的结构。 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 所以,像以前一样,我们 要创建一个新模式 644 00:37:59,610 --> 00:38:04,450 抽象的SQL表 我们刚刚创建的。 645 00:38:04,450 --> 00:38:05,450 >> 因此,让我们添加一个新的文件。 646 00:38:05,450 --> 00:38:06,908 我们打​​算把它comment.php。 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 这实际上是将是相当 直截了当有轻微的变化 649 00:38:15,490 --> 00:38:17,520 从我们面前了。 650 00:38:17,520 --> 00:38:22,790 因此类注释扩展侃侃而谈。 651 00:38:22,790 --> 00:38:25,930 而我们要去 在这里做的就是定义 652 00:38:25,930 --> 00:38:31,360 一个函数,它是 与其它车型的关系。 653 00:38:31,360 --> 00:38:39,250 因此,我们将有一个职位功能 在这里,返回此关系。 654 00:38:39,250 --> 00:38:43,330 所以我们指定 这属于发布, 655 00:38:43,330 --> 00:38:49,200 说是有一个职位 这个评论是属于。 656 00:38:49,200 --> 00:38:53,917 >> 这实际上已经是 资本P表示该模型。 657 00:38:53,917 --> 00:38:56,500 现在只是在其他翻盖 方面,我们不得不说,哎。 658 00:38:56,500 --> 00:38:58,160 帖子有意见。 659 00:38:58,160 --> 00:39:03,030 所以,我们要做的是什么 界定公共职能的意见。 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 这里返回 这有很多评论。 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 所以,现在神奇,当我们有一个帖子, 我们可以得到的属性评论 664 00:39:22,010 --> 00:39:25,615 它会用它填充 从数据库中的信息。 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> 因此,让我们其实经历和 添加一个新功能,我们认为文件 667 00:39:38,220 --> 00:39:43,600 这样我们既可以显示 创造意见。 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 所以,我们要定义一个新的部分。 670 00:39:56,865 --> 00:39:59,890 就让我们分开吧 一个水平线。 671 00:39:59,890 --> 00:40:04,065 第ID =“意见”。 672 00:40:04,065 --> 00:40:06,990 我们现在要做的 这里,像以前一样, 673 00:40:06,990 --> 00:40:09,880 遍历所有的评论。 674 00:40:09,880 --> 00:40:12,960 所以实际上我们如何做到这一点, 正如我所说,相当神奇​​。 675 00:40:12,960 --> 00:40:14,440 >> 我们发表评论。 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 然后我们就可以做到这一点对每个 遍历各的意见。 678 00:40:22,710 --> 00:40:25,740 什么我们要 做的是DIV类注释, 679 00:40:25,740 --> 00:40:29,240 而且我们要实际 打印此评论。 680 00:40:29,240 --> 00:40:34,150 使显示哎, 评论名称 - 人 681 00:40:34,150 --> 00:40:38,080 谁张贴了这个comment-- 说,点点点。 682 00:40:38,080 --> 00:40:41,240 我们打​​算把这个块 报价,只是为了使它看起来不错。 683 00:40:41,240 --> 00:40:46,470 然后评论内容块的报价。 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 和foreach。 686 00:40:50,892 --> 00:40:53,100 所以,现在这是怎么回事循环 通过所有的评论 687 00:40:53,100 --> 00:40:56,500 该关联 与每个职位 688 00:40:56,500 --> 00:41:00,960 并显示每个这些意见。 689 00:41:00,960 --> 00:41:05,120 我要下来再添一节 在这里,这使我们能够添加注释。 690 00:41:05,120 --> 00:41:07,400 因此H3类。 691 00:41:07,400 --> 00:41:09,580 把标题在这里。 692 00:41:09,580 --> 00:41:10,934 添加评论。 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 而且我们要定义一个新形式。 695 00:41:15,700 --> 00:41:18,730 >> 所以,像以前一样,我们 要做到形式的行动。 696 00:41:18,730 --> 00:41:22,740 在这里,新的动作我们 要定义一个新的控制器,其 697 00:41:22,740 --> 00:41:26,770 使我们能够应对发布 要求创建意见。 698 00:41:26,770 --> 00:41:33,365 所以,URL ::路线createComment。 699 00:41:33,365 --> 00:41:37,730 我要传递的参数在这里。 700 00:41:37,730 --> 00:41:40,380 帖子的ID是 我们正在创建的注释。 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 与此则方法 形式将是后期。 703 00:41:50,280 --> 00:41:57,240 >> 现在,我们要加入 一两个字段,表格组。 704 00:41:57,240 --> 00:42:04,670 这将是一个输入与 命名“名”和class =“表单控制” 705 00:42:04,670 --> 00:42:14,250 类型=“文本”,并且与 占位符=“你的名字。” 706 00:42:14,250 --> 00:42:19,380 我们也将确定 另一种形式的领域,这 707 00:42:19,380 --> 00:42:22,970 将是一个文本 区正如我们前面了。 708 00:42:22,970 --> 00:42:25,480 就像之前,把它的内容。 709 00:42:25,480 --> 00:42:31,160 类=“的形式控制。” 710 00:42:31,160 --> 00:42:41,660 占位符=“写在这里。” 711 00:42:41,660 --> 00:42:44,100 >> 而只是让我们 实际上可以提交, 712 00:42:44,100 --> 00:42:55,740 提交类型和类=“BTN BTN-小学”。 713 00:42:55,740 --> 00:42:57,005 关闭窗体。 714 00:42:57,005 --> 00:42:59,010 关闭这个动作。 715 00:42:59,010 --> 00:43:06,580 所以,现在如果我们刷新这个页面, 我们有,比如说,某一职位。 716 00:43:06,580 --> 00:43:10,310 我们必须重新启动服务器。 717 00:43:10,310 --> 00:43:12,340 PHP工匠服务。 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 重新启动了。 720 00:43:18,334 --> 00:43:19,500 我们必须定义的路由。 721 00:43:19,500 --> 00:43:25,090 但现在,就让我们借此 出来,让我们实际上可以告诉你 722 00:43:25,090 --> 00:43:28,750 什么样的页面的样子,然后 我们实际上创建路线。 723 00:43:28,750 --> 00:43:29,250 所以,嘿嘿。 724 00:43:29,250 --> 00:43:37,080 我们有这种新形式这儿 这样我们就可以创建注释。 725 00:43:37,080 --> 00:43:39,950 因此,让我们真正定义 在控制器内的功能 726 00:43:39,950 --> 00:43:43,020 这样我们就可以添加注释。 727 00:43:43,020 --> 00:43:43,650 让我们回去。 728 00:43:43,650 --> 00:43:48,420 并在blogcontroller.php, 我们将做什么 729 00:43:48,420 --> 00:43:51,620 正在创建一个新的功能, 所谓创建注释。 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> 公共职能createComment。 732 00:43:57,040 --> 00:44:00,130 这将有一个单一的 参数,该帖子的ID 733 00:44:00,130 --> 00:44:02,280 我们正在评论。 734 00:44:02,280 --> 00:44:04,790 和以前一样,我们 要首先获得该职位。 735 00:44:04,790 --> 00:44:10,790 所以发帖,findOrfail ID。 736 00:44:10,790 --> 00:44:15,020 随后,我们将 创建一个新的注释。 737 00:44:15,020 --> 00:44:18,880 因此,评论=新评论。 738 00:44:18,880 --> 00:44:26,820 评论名称=输入::拿到的名字。 739 00:44:26,820 --> 00:44:39,420 评论内容=相同的新行 到输入的休息::获取内容。 740 00:44:39,420 --> 00:44:43,460 >> 最后,我们将不得不 此评论与岗位相关联。 741 00:44:43,460 --> 00:44:47,230 因此,我们将使用 此功能,评论, 742 00:44:47,230 --> 00:44:50,260 这使我们能够拯救 这种关系。 743 00:44:50,260 --> 00:44:54,780 所以,现在这条评论将有 自动后ID。 744 00:44:54,780 --> 00:44:57,640 我们也可以将其设置 手动,但这是 745 00:44:57,640 --> 00:45:02,490 更容易尽量阅读 作为函数的推移。 746 00:45:02,490 --> 00:45:05,860 我们执行后, 这,就是我们想要做的 747 00:45:05,860 --> 00:45:10,840 是将用户重定向到该 通过viewPost指定路线 748 00:45:10,840 --> 00:45:16,010 与该数组 帖子ID参数。 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> 现在让这其实 功能,我们需要定义这条路线。 751 00:45:24,660 --> 00:45:27,126 路线::岗位。 752 00:45:27,126 --> 00:45:32,800 现在我们要调用这个 后斜线ID斜线注释。 753 00:45:32,800 --> 00:45:36,725 阵列使用了新的功能, 我们刚刚创建的。 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为createComment。 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 大。 759 00:45:50,120 --> 00:45:56,150 >> 所以,现在有希望,如果我们刷新这个页面 并添加注释,比如,大卫·马兰。 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 “希望这个工程。” 762 00:46:03,920 --> 00:46:05,216 提交。 763 00:46:05,216 --> 00:46:09,050 我们呢,其实,有一个 在这个博客上发表评论。 764 00:46:09,050 --> 00:46:13,760 765 00:46:13,760 --> 00:46:14,260 酷。 766 00:46:14,260 --> 00:46:16,790 767 00:46:16,790 --> 00:46:21,430 所以,现在我们有一个相当 功能的博客文章。 768 00:46:21,430 --> 00:46:23,180 我们只是要 添加几个这样的调整 769 00:46:23,180 --> 00:46:29,090 我们有一些比较有用 在这些职位信息。 770 00:46:29,090 --> 00:46:32,780 >> 因此,如果我们回到 头版,我们有没有意义 771 00:46:32,780 --> 00:46:38,790 有多少评论是 在这些职位。 772 00:46:38,790 --> 00:46:41,340 所以我们实际上是将 做的是,我们的模型里面, 773 00:46:41,340 --> 00:46:51,250 定义一个辅助功能,可以让 我们指定的评论的数量 774 00:46:51,250 --> 00:46:53,020 是去一个特定的职位。 775 00:46:53,020 --> 00:46:56,050 因此,我们要创建 一个辅助功能。 776 00:46:56,050 --> 00:46:58,020 >> 公共职能。 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 因此,一个字符串,指定数量 的评论指出,与它一起去。 780 00:47:07,180 --> 00:47:12,850 而我们要做的是说, 这NUM =对此有何评论数。 781 00:47:12,850 --> 00:47:15,150 所以,我们要算 评论的数量。 782 00:47:15,150 --> 00:47:22,900 如果这个数字等于1,我们 只是要回1条评论。 783 00:47:22,900 --> 00:47:28,890 再不然,我们要返回 NUM和评论的串联, 784 00:47:28,890 --> 00:47:31,890 所以我们得到的多元化是正确的。 785 00:47:31,890 --> 00:47:33,380 只是让这一个单引号。 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 一个评论。 788 00:47:37,640 --> 00:47:41,140 >> 现在我们可以使用这个功能 直接在我们的观点。 789 00:47:41,140 --> 00:47:44,510 因此,如果我们回到 我们创建了部分职位, 790 00:47:44,510 --> 00:47:49,370 现在我们要真正 显示的评论的数量。 791 00:47:49,370 --> 00:47:52,660 所以我们所能做的就是 后,使用此功能 792 00:47:52,660 --> 00:47:57,230 我们刚刚创建 显示的评论的数量。 793 00:47:57,230 --> 00:48:00,440 所以,如果我们现在刷新,它 确实,实际上,显示 794 00:48:00,440 --> 00:48:02,240 数量评论 与它一起去。 795 00:48:02,240 --> 00:48:05,320 >> 如果我们想成为看中,如果你 其实看一下分布代码, 796 00:48:05,320 --> 00:48:07,800 我们实际上可以链接 这评论。 797 00:48:07,800 --> 00:48:17,040 如果你还记得,我们在定义 查看这有部分ID的意见。 798 00:48:17,040 --> 00:48:22,460 因此,如果我们真正想要的链接 直接向评论部分,有什么 799 00:48:22,460 --> 00:48:36,000 我们这里做的是A HREF 路线viewPost的URL。 800 00:48:36,000 --> 00:48:40,550 通过在后ID阵列ID。 801 00:48:40,550 --> 00:48:46,140 然后我们要去 特别是评论部分。 802 00:48:46,140 --> 00:48:49,900 >> 在这里,让我们关闭的标记。 803 00:48:49,900 --> 00:48:52,950 所以,现在如果我们刷新这个 页面,我们点击这个。 804 00:48:52,950 --> 00:48:54,700 我们将直接进入 评论部分。 805 00:48:54,700 --> 00:48:57,580 如果我们有一个较长的帖子,你可以 其实看到这个反弹下来。 806 00:48:57,580 --> 00:49:02,668 但你会发现,它的 未在页面的顶部。 807 00:49:02,668 --> 00:49:04,090 酷。 808 00:49:04,090 --> 00:49:04,600 大。 809 00:49:04,600 --> 00:49:08,582 所以这是一个相当简单的 例如简单的东西 810 00:49:08,582 --> 00:49:09,790 你可以使用Laravel做。 811 00:49:09,790 --> 00:49:13,230 >> 但你可以在这里看到, 我们已经做了很多的事情 812 00:49:13,230 --> 00:49:16,200 与代码非常少量。 813 00:49:16,200 --> 00:49:19,420 Laravel使我们能够做的 幕后SQL查询。 814 00:49:19,420 --> 00:49:21,960 它的卫生 我们在幕后。 815 00:49:21,960 --> 00:49:25,940 使我们能够做这些关系 很容易,而不需要我们 816 00:49:25,940 --> 00:49:33,350 做任何SQL语句加入到 结合注释什么职位。 817 00:49:33,350 --> 00:49:36,480 使我们能够做到这一点 模板继承 818 00:49:36,480 --> 00:49:43,780 这样我们就可以定义这些嵌套 文件,所以我们不会重复自己, 819 00:49:43,780 --> 00:49:47,020 当我们有这样就像 的博客文章显示 820 00:49:47,020 --> 00:49:50,770 我们不必 复制和粘贴代码。 821 00:49:50,770 --> 00:49:55,450 >> 从这里,你可以建立 日益复杂的应用程序。 822 00:49:55,450 --> 00:49:58,370 你可以想象,如果我们 要实现登录, 823 00:49:58,370 --> 00:50:05,532 我们可以说,引入第三方 框架,使我们能够做到这一点。 824 00:50:05,532 --> 00:50:07,490 有一群人 这是真的,真的 825 00:50:07,490 --> 00:50:09,970 大,可以这样做, 密码恢复。 826 00:50:09,970 --> 00:50:14,450 它会送你一个 重置密码的电子邮件。 827 00:50:14,450 --> 00:50:18,260 我们可以实现权限 这样我可以创造一个帖子, 828 00:50:18,260 --> 00:50:20,350 但别人不能编辑它。 829 00:50:20,350 --> 00:50:24,610 我们可以实现 功能删帖。 830 00:50:24,610 --> 00:50:28,160 >> 但你可以在这里看到,我们有相当 多所有的基本组成部分 831 00:50:28,160 --> 00:50:31,640 建立一些真的,真的, 充满活力和令人激动的网络应用程序。 832 00:50:31,640 --> 00:50:34,035 因此,与这一点,我认为我们是很好的。 833 00:50:34,035 --> 00:50:35,720 难道你们有什么问题吗? 834 00:50:35,720 --> 00:50:36,220 是吗? 835 00:50:36,220 --> 00:50:38,090 >> 扬声器3:你怎么了 获得静态内容? 836 00:50:38,090 --> 00:50:39,256 >> ERIC欧阳:静态内容。 837 00:50:39,256 --> 00:50:45,520 所以,你在这之前看到的,当我们有 这里这个权利,这个布局的内容, 838 00:50:45,520 --> 00:50:49,625 鉴于时许,我们有这个 没有这个数组之后。 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index,我们有这个 如刚刚静态文件。 841 00:50:59,152 --> 00:51:00,860 因此,如果我们不通过 沿途任何东西, 842 00:51:00,860 --> 00:51:03,340 它会只需要直接渲染HTML。 843 00:51:03,340 --> 00:51:09,240 但是,如果我们通过这个关联 阵列的职位,这是动态 844 00:51:09,240 --> 00:51:12,950 从数据库中抽取,我们 可以使页面动态。 845 00:51:12,950 --> 00:51:13,450 酷。 846 00:51:13,450 --> 00:51:14,830 还有没有其他问题? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 扬声器3:你会如何比较 Laravel来也许一些其他的选择吗? 849 00:51:19,720 --> 00:51:20,525 ERIC欧阳:当然。 850 00:51:20,525 --> 00:51:21,025 是啊。 851 00:51:21,025 --> 00:51:23,430 所以Laravel is--这 一个伟大的question-- 852 00:51:23,430 --> 00:51:26,190 一个多种选择web框架。 853 00:51:26,190 --> 00:51:31,160 因此,Ruby on Rails是一个流行的。 854 00:51:31,160 --> 00:51:34,590 我相信Twitter的使​​用是 使用Ruby on Rails的实施。 855 00:51:34,590 --> 00:51:37,600 我认为他们已经从切换。 856 00:51:37,600 --> 00:51:40,780 还有另外一个叫FuelPHP。 857 00:51:40,780 --> 00:51:46,120 >> 因此,Ruby on Rails的使用Ruby语言 并实现了大量的MVC的东西 858 00:51:46,120 --> 00:51:48,200 我们在这里看到。 859 00:51:48,200 --> 00:51:52,320 FuelPHP是另一种PHP框架。 860 00:51:52,320 --> 00:51:54,490 Django是我的最爱之一。 861 00:51:54,490 --> 00:51:57,010 这是一个Web框架为Python。 862 00:51:57,010 --> 00:52:01,270 所以,你可以用Python语言编写的Web应用程序。 863 00:52:01,270 --> 00:52:03,760 因此,有一吨的这些选项。 864 00:52:03,760 --> 00:52:06,170 >> Laravel,我认为,通过与 大的是我最喜欢的右 865 00:52:06,170 --> 00:52:08,232 现在PHP只是因为 各组分的 866 00:52:08,232 --> 00:52:09,440 我们前面谈到。 867 00:52:09,440 --> 00:52:11,910 它的作曲启用。 868 00:52:11,910 --> 00:52:15,750 它包括一个真的,真的 表现ORM系统。 869 00:52:15,750 --> 00:52:18,800 也有真正真棒模板 语言,一些其他 870 00:52:18,800 --> 00:52:20,630 只是不提供。 871 00:52:20,630 --> 00:52:21,400 和迁移。 872 00:52:21,400 --> 00:52:23,432 迁移是真棒为好。 873 00:52:23,432 --> 00:52:24,860 很酷吧? 874 00:52:24,860 --> 00:52:25,390 真棒。 875 00:52:25,390 --> 00:52:27,560 好了,非常感谢 看着这个研讨会上, 876 00:52:27,560 --> 00:52:30,650 和好运气在你最终的项目。 877 00:52:30,650 --> 00:52:31,616