,开发人员专用的 HTTP 客户端, 第一方 CORS 支持, 路由模型绑定作用域改进, 存根自定义, 数据库队列改进, 多邮箱驱动, 查询时间强制转换(casts),新的 artisan test 命令...Artisan test 命令 test 命令由 Nuno Maduro 贡献 除了 phpunit命令之外,现在可以使用 test Artisan 命令来运行测试。...Artisan 测试运行器提供了漂亮的控制台,以及有关当前正在运行的测试的更多信息。...此外,运行器将在第一次测试失败时自动停止: php artisan test 可以传递给 phpunit 命令的任何参数也可以传递给 Artisan test 命令: php artisan test...当使用 Artisan 的 make 命令生成它们的相应类时,对这些桩代码所做的任何更改都会反映出来。
比如向用户发送邮件的场景:现在有10w封邮件需要发送,最简单的,我们需要有一个方法将邮件的收件人、内容等,拆分成10w条任务放在队列中,同时需要设置一个回调方法负责处理每条任务。...4 使用数据库驱动队列 4.1 生成任务表 在终端下输入 php artisan queue:table php artisan migrate 在数据库连接正常的情况下,会在数据库中出现jobs...通过运行如下命令,即可创建表以记录失败任务。...任务执行失败的原因有很多,如传参错误、尝试次数超过限制、超时、甚至在 handle 方法中抛出异常,均会作为失败任务处理。...我们现在还缺少Redis服务。
背景 几天前,我登录到错误的数据库中然后干掉了 18 000 行线上数据记录。更糟糕的是,我们没有对这个数据库进行备份。然后,我决定编写一个能够自动完成数据库导出并保存到 SQL 文件的脚本。...现在让我们将这个命令通过使用 artisan 命令进行封装,使其更易于运行和可加入计划任务。...在构造函数中,我们实例化一个新的 Symfony\Component\Process\Process 实例。...比如,如果进程失败,我们可以抛出异常,然后有效处理异常。 如果你是用的是 process 的 run() 方法,你需要手动的去检测运行错误然后抛出异常。...我们可以使用 Process 组件轻松导出数据库,并将其封装在 artisan 命令中。然后,我们可以快速地为我们的命令设置一个执行周期,而 Laravel 的调度程序将负责剩下的工作。
按照惯例,接下来让我们罗列一下新版的特性~ Whoops 回归 用过 Laravel 4 的人都会喜欢的 Whoops 错误处理框架,它已经在 5.5 正式回归了!...通过运行 php artisan help preset 命令,你可以看到可供选择的内容有:none、bootstrap、vu 以及 react: php artisan help preset Usage...在运行创建新模型的命令时加上 -fm 选项可以为其创建工厂文件: $ php artisan make:model -fm Post # 或者你也可以在创建模型的时候,使用 --all 同时创建控制器...=Example ExampleFactory migrate:fresh 迁移命令 5.5 中新的 migrate:fresh 迁移命令能让你在开发中轻松地创建一个干净数据库。...这条命令可以自动为你删除所有数据库表并且运行迁移。 这听起来很像 migrate:refresh 命令,它会回滚并重新迁移。但通常在开发过程中,你会更倾向于一口气删除所有表再来运行迁移。
scaffold)一个新应用程序: $ laravel new myapp 对于上面的命令,你需要确保~/composer/vendor/bin在你的$PATH。...迁移和模型(Migrations and Models) 在实际编写第一次迁移之前,请确保为此应用程序创建了一个数据库,并将其凭据添加到.env位于项目根目录中的文件中。...要创建文章模型,我们可以运行: $ php artisan make:model Article -m 该-m选项是缩写--migration,它告诉Artisan为我们的模型创建一个。...注销 使用我们当前的策略,如果令牌错误或丢失,用户应该收到未经身份验证的响应(我们将在下一节中实现)。因此,对于一个简单的注销端点,我们将发送令牌,它将在数据库上删除。...此设置将允许我们为每个测试构建数据库,然后将其破坏,避免测试之间的任何类型的依赖关系。
除此之外, 网站初始框架中还包含了一个 "users" 表的 migration 文件. 这些简单的资源帮助开发者不用在用户认证功能上耗费大量时间....事实上, 把你的应用需要执行的复杂任务封装成命令是一个很好的选择. 了解有关命令的更多信息, 可以查看命令桥的详细文档....验证错误也会同时写入 session. 如果请求是用 AJAX 方式发起, Larave 会自动发送一个 JSON 形式的验证错误信息....了解有关 FormRequest 验证的更多细节, 请查阅文档. 全新的生成器 为了方便生成新的默认应用结构, 全新的 Artisan 生成命令已经被添加到框架中....你可以通过 php artisan list 查看详细命令. 配置缓存 通过 config:cache 命令, 可以把所有的配置项写入一个缓存文件中.
引言 没有模型的框架是没有灵活的!每个框架都会针对数据库进行深度设计, 以便快捷地进行SQL的增删改查,把重复的劳动抽象出来,提高应用开发效率。 [图片] 本期就来讲讲laravel的模型初阶用法。...接着我们通过迁移功能,创建一个迁移文件。这样无需我们手动创建数据库表。...在命令行运行以下指令: php artisan make:model Event --migration 命令行输出如下: Model created successfully....其中内容视不同的laravel版本而有所不同,但是基础内容未变: [pic] 有了模型对应数据库表,现在我们还缺一个数据库表,在迁移文件内进行配置。...写在最后 本文讲解了laravel在连接数据库,创建数据库表迁移文件的内容。对于强大的Eloquent ORM 这只是一个开始。 Happy coding :-)
举个例子来说,假设我们已经设计并创建好了数据库,数据已经填充进数据库了,现在我们发现需要在其中一张表里增加一个名为name的栏目(column),需要在另一张表中将author栏目的名字改为user,那么我现在进入数据库里...artisan命令需要在项目根目录下运行。...现在我们已经有了迁移文件了,怎么样才能在数据库里建立起我们的表呢? 很简单,输入 $ php artisan migrate 等待命令完成就可以了。...现在我们在数据库里,就能看到我们的samples表了。...我们在samples表中插入了新的url栏目,那么现在如果我们想把name这个栏目长度限制从100修改为50,该怎么做呢?
数据库 要使用 database 这个队列驱动的话,你需要创建一个数据表来存储任务。...要创建 failed_jobs 表的迁移文件,你可以用 queue:failed-table 命令,接着使用 migrate Artisan 命令生成 failed_jobs 表: php artisan...当迁移创建好以后,就可以用 migrate 这条命令来创建数据表: php artisan migrate 执行命令讲解 php artisan queue:work --daemon --quiet...创建任务 生成任务类 在你的应用程序中,队列的任务类都默认放在 app/Jobs 目录下。如果这个目录不存在,那当你运行 make:job Artisan 命令时目录就会被自动创建。...你可以用以下的 Artisan 命令来生成一个新的队列任务: php artisan make:job Demo 生成的类实现了 Illuminate\Contracts\Queue\ShouldQueue
php artisan migrate 注意:在最新的稳定版本(2.3.11)中,使用SQLite时会出现一个错误,要求你先执行migrate命令。...,php artisan app:install,备份数据库,运行迁移,并自动生成Cachet用于其所有加密的应用程序密钥(即APP_KEY值.env)。...作为最后一个主动步骤,删除Cachet的缓存以避免500错误。 rm -rf bootstrap/cache/* 现在数据库已准备就绪,我们可以配置Cachet的任务队列。...现在已经创建了Nginx的Cachet配置,创建了一个sites-enabled目录的符号链接,因为这是Nginx查找并选择要使用的配置文件的位置: sudo ln -s /etc/nginx/sites-available...php artisan app:update 如果你打开了维护页面,则现在可以再次启用访问权限。 php artisan up 新版本的Cachet将启动并运行。
Laravel 的 Schema 门面 提供数据库无关的支持,用于在所有 Laravel 支持的数据库系统中创建和操作表 创建迁移 使用 make:migration Artisan命令来创建迁移 php...我们在之前学习 artisan 的时候说过 artisan 主要2个作用 一个是创建迁移文件、一个是执行迁移任务,我们已经用 artisan 创建控制器和迁移了现在终于到了执行任务的时候了,我们上面的迁移文件定义了表的结构...其实也很简单同样是运行命令,为了更深刻的理解 migrations 表的作用,在运行回退命令前我们先看下 migrations 表的内容 ?...一共有5条记录 4条创建表的,1条添加字段的好我们来运行回退命令 php artisan migrate:rollback ? 然后再来看 migrations 表和 users 表 ?...migrations 表的第4条添加字段的记录没有了,users 表的 deleted_at 字段也没了,再回退一次就把第一次运行迁移的时候的3张表就全删了,如果再运行迁移命令一切就又有了。
Laravel 已经为我们准备好了 Auth 部分的 migration,运行以下命令执行数据库迁移操作: php artisan migrate 得到的结果如下: 如果你运行命令报错,请检查数据库连接设置...现在,Laravel 5 已经把 Generator 集成进了 Artisan。...这里需要强调一下,用命令行的方式创建文件,和自己手动创建文件没有任何区别,你也可以尝试自己创建这两个 Model 类。 Model 即为 MVC 中的 M,翻译为 模型,负责跟数据库交互。...在 Eloquent 中,数据库中每一张表对应着一个 Model 类(当然也可以对应多个)。...: php artisan migrate 成功以后, articles 表和 pages 表已经出现在了数据库里,去看看吧~ 5.
打开 config/database.php 可以看到,它返回一个PHP数组,该配置文件提供了各种数据库可能用到的配置。connections 里包含了数据库配置。...取得应用程序实例: $environment = app()- environment(); $environment = App::environment(); 维护模式 当应用程序处于维护模式时,所有的路由都会指向一个自定的视图...当你要更新或维护网站时,「关闭」整个网站是很简单的。如果应用程序处于维护模式,HttpException 会抛出 503的状态码。...维护模式响应的默认模板放 resources/views/errors/503.blade.php //启用维护模式,只需要执行 Artisan 命令 down: php artisan down //...关闭维护模式,使用 Artisan 命令 up: php artisan up 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》
不管是 Node.js、Python 还是 PHP 的 Web 框架,都提供了通过命令行与应用进行交互的功能,通过这些命令行工具,我们可以完成一些初始化操作,比如创建新应用、执行数据库迁移、或者快速创建类文件等...不同的 Laravel 应用由于安装了不同的扩展包或编写了自定义的 Artisan 命令,所以在当你准备了解一个新应用时,有必要通过 php artisan list 快速浏览该应用支持的所有命令。...Artisan 命令时可以传入的选项参数: -q:禁止所有输出 -v、-vv、-vvv:命令执行输出的三个级别,分别代表正常、详细、调试 --no-interaction:不会问任何交互问题,所以适用于运行无人值守自动处理命令...\Console\Commands\WelcomeMessage::class ]; 现在,运行 php artisan list 就可以看到 welcome:message 命令了。...编写一个简单示例 由于我们的命令类还没有实现任何实际功能,下面我们来编写一个简单示例,打开 app/Console/Commands/WelcomeMessage.php,Artisan 命令的具体业务逻辑要定义到
=~1.1" 现在我们已经准备好一切通过运行laravel new jwt创建一个新的Laravel项目。...有关此过程的任何问题,请参阅官方Laravel文档。 在我们创建了基本的Laravel 5应用程序之后,我们需要设置我们的Homestead.yaml,它将为我们的本地环境配置文件夹映射和域配置。...我们现在可以运行php artisan migrate命令,以便在我们的数据库中创建必要的用户表。...我创建了一个/restricted模拟需要经过身份验证的用户的资源的路由。...在生产环境中,当然,我们会缩小并组合所有的脚本文件(js文件)和样式表(css文件),以提高性能。 我已经使用Bootstrap创建了一个导航栏,它将根据用户的登录状态更改相应链接的可见性。
在 Laravel 中,异常的消息队列数据最后会保存到 MySQL 数据库中,我们需要执行数据迁移来创建表,使用下面这两个命令。...php artisan queue:failed-table php artisan migrate 操作成功之后,会在数据库中创建一个名为 failed_jbs 的表。...在结构上,还为 uuid 创建了一个唯一索引,这个 uuid 的作用我们后面马上就会看到。 接下来,使用命令行,我们还可以看到所有失败队列的信息。...通过这个方法,我们可以在任务失败的时候马上就进行邮件、短信通知,或者也可以记录错误日志,甚至也可以不使用上面默认的异常处理功能以及相关的表,直接在这里用我们自己自定义的表来存储失败任务的信息。...因此,就可以安全有效地在这个方法中进行我们任何想要善后处理的操作了。 总结 好了,到现在为止,我们的队列系统其实已经相当安全可靠了。
前面学了 Migrations 迁移建了数据表,现在可以学习数据库操作了。...现在我来用 Artisan 命令 db:seed 来填充数据库玩一玩 php artisan db:seed 执行完 php artisan db:seed 我发现数据库里毛的没有后来发现 这是因为填充比迁移多一个步骤...数据终于写入数据库中了,当然 官方文档 也给出了其他的方式运行比如可以使用 --class 选项来指定一个特定的 seeder 类。...php artisan db:seed --class=TestTableSeeder 也可以用 migrate:refresh 这个命令来填充数据库,该命令会回滚并重新运行所有迁移。...为了保护生产环境数据库的数据,在运行填充命令前会进行确认。
" 在该命令会生成配置文件config/admin.php,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改。...然后运行下面的命令完成安装: 1 php artisan admin:install 运行这个命令的时候,如果遇到了下面的错误: SQLSTATE[42000]: Syntax error or access...: 1 php artisan admin:publish 在该命令会生成配置文件config/admin.php,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改。...事件允许你在一个指定模型类每次保存或更新的时候执行代码。 retrieved 事件会在从数据库中获取已存在模型时触发。当一个新模型被首次保存的时候,creating 和 created 事件会被触发。...如果一个模型已经在数据库中存在并调用 save 方法,updating/updated 事件会被触发,无论是创建还是更新,saving/saved 事件都会被触发。
---- 上文中,我们只是创建了数据库,并没有创建数据表,现在来确定一下我们的数据表 项目是一个个人博客,因此只有博主可以发布、删除、修改博客。其他用户则可以查看博客和发布评论。...一个用户表 users 一个博客表 blogs 一个评论表 comments 使用 Migration 创建这3张数据表 php aritsan 是laravel内置的命令 你可以直接在控制台输入它,则会在控制台提示你接下来你能输入的命令...上文我们就使用 make:migration 帮我们创建了迁移文件, --create 是参数,即告诉这条命令,帮我们创建一个用于创建数据表的迁移文件 打开命令行,创建 migrations php artisan...重名的数据表 php artisan migrate 打开数据库(你可以任选一款数据库管理工具,或者直接使用mysql的命令行),打开数据库 blog ,你会发现有以下表 blogs => 我们创建的博客表...注意此时我们其实没有模型 Blog 和模型 Comment,我们只是创建了数据表而已。因此我们再创建两个模型。 php artisan make:model Blog, 关于评论表的模型请自己写。
database table 创建一个迁移的失败的队列数据库工作表 queue:flush Flush all of the failed queue jobs...重启现在正在运行的所有队列工作 queue:retry Retry a failed queue job 重试一个失败的队列工作 queue:table Create...a migration for the queue jobs database table 创建一个迁移的队列数据库工作表 queue:work Process the next...若要创建新的命令,你可以使用 make:console Artisan命令生成命令文件: php artisan make:console SendEmails 上面的这个命令会生成 app/Console...命令运行时 handle 方法会被调用,请将程序逻辑放置在此方法中。 接下来讲解一个发送邮件的例子。 为了更好的代码重用性,还有可读性,建议把处理业务逻辑的代码抽到一个功能类里。
领取专属 10元无门槛券
手把手带您无忧上云