• 选项卡 Stack trace —— 是程序调用堆栈,这里看到脚本调用的顺序,包括哪个地方执行错误的;
  • 选项卡 Request —— 是一些运行环境的信息,包括:
    • Request —— 请求简介;
    • Headers —— 请求头信息;
    • Query String —— URL 请求参数,用户提交的 GET 请求,PHP 超级全局变量 $_GET 里的内容
    • Body —— 表单提交的数据,PHP 超级全局变量 $_POST 里的内容
    • Files —— 用户上传文件的数据,PHP 超级全局变量 $_FILES 里的内容
    • Session —— 当前用户会话信息,PHP 超级全局变量 $_SESSION 里的内容
    • Cookies —— 当前用户的 Cookie 信息,PHP 超级全局变量 $_COOKIE 里的内容
  • 选项卡 App —— 应用启动信息,执行逻辑,包括路由调用、中间件调用、控制器调用、模板文件等信息;
  • 选项卡 User —— 登录用户信息,以及浏览器等客户端信息;
  • 选项卡 Context —— 环境信息,项目 .env 里的内容等;
  • 选项卡 Debug —— 将显示异常发生之前发生的事情。比如查询、日志和转储。在转储旁边,我们还显示您将 dump 语句放在何处的文件名等。

上面只是一个简单介绍,请先按照课程思路走下去,后续想要深入学习 Laravel Ignition ,请见 翻译:Laravel Ignition 功能全解析

1使用zh-CN.json 自定义配置文件

这是 Laravel 提供的本地化特性,使用 __() 函数来辅助实现。按照约定,本地化文件存储在 resources/lang 文件夹中,为 JSON 格式。在 config/app.php 文件中,我们设置了:

对应翻译文件就是 resources/lang/zh-CN.json ,需新建此文件:

resources/lang/zh-CN.json

2使用中文语言包

会有很多人会遇到翻译 Laravel 自带模板的问题,所以我们无需自己一个个去翻译,这种通用的问题找找扩展包来处理即可。

我们将使用 Laravel Lang 项目来实现,此项目支持了 52 个国家的语言,使用以下命令安装:

完成上面的操作后,将项目文件 config/app.php 中的下一行

替换为:

Laravel Lang 同自定义语言包一样,都是根据 config/app.php 里 locale 的选项来选择语言的。

值得一提的是,如果你想修改扩展包提供的语言文件,可以使用以下命令发布语言文件到项目里:

 

1.生成命令文件

2.编辑生成文件app/Console/Commands/MakeTransformer.php

3.创建模板文件app/Console/Commands/stubs/transformer

4.使用命令 ,可以没有后缀

文件路径app/Transformers/{name}.php

1.编辑html

2.JavaScript 脚本

3.laravel php config/filesystems.php 编辑配置文件,添加uploads

在controller编辑代码

 

 

『Horizon』是 Laravel 官方推出的一个集成在 Laravel 项目中的 Redis 队列管理工具,包含了一个可视化面板和几个管理命令,可以让我们更加方便地管理异步任务。

我们可以通过 composer 直接安装:

安装完成之后还需要把 Horizon 的配置文件和前端文件放到项目目录中:

现在我们访问 http://shop.test/horizon 看看 Horizon 的管理面板:

默认情况下这个页面只能在 APP_ENV=local 的环境可以看到,所以不用担心线上站点信息泄露。

可以看到状态是 Inactive,我们需要在终端调用 Horizon 的命令来启动:

现在我们到管理后台任意找一个商品进入编辑页面然后保存,使之触发一个异步任务,然后看看终端:

可以看到这个命令和 queue:work 一样能够正常处理异步任务。现在再到 Horizon 的管理页面看看:

 

 

 

 

 

 

Laravel 提供了一个叫做 ViewComposer 的解决方案,ViewComposer 可以在不修改控制器的情况下直接向指定的模板文件注入变量。

1.创建ViewComposer

我们先创建一个 ViewComposer 类,通常放在 app/Http/ViewComposers 目录下:

2.编写创建的CategoryTreeComposer

3注册app/Providers/AppServiceProvider.php

这样就可以变量共享了

1.下载新的盒子

下载最新版的 Homestead 虚拟机盒子 。这个版本是个人定制的,

2.删除旧盒子

3.添加新盒子

将下载的文件解压

添加盒子

4.修改配置文件

vim /scripts/homestead.rb

5启动盒子

1.安装

2配置

打开resources/js/bootstrap.js文件开始配置,注意中文注释

打开resources/sass/app.scss开始配置

打开resources/sass/_variables.scss开始配置

3.使用

bootstrap-fileinput源码:github.com/kartik-v/boo

bootstrap-fileinput在线API:plugins.krajee.com/file

bootstrap-fileinput Demo展示:plugins.krajee.com/file

lnclude机制的主要作用就是, 获取这个数据的,关于的额外数据。

1.编辑变形金刚文件

打开app\Transformers\TopicTransformer.php

2.开始测试数据

1.创建命令文件

2开始编辑app/Console/Commands/GetToken.php

3.测试命令