Laravel 入门:10-Telescope & dd 方法

Telescope 是官方提供的调试工具,可以记录应用程序的请求(Request)、异常(Exceptions)、日志条目(Logs)、数据库查询(Queries)(慢查询)、排队的作业(Schedule/Jobs)、邮件(Mail)、消息通知(Notifications)、缓存操作、定时计划任务、变量打印等,Tele

hefengbao 发布于 2022.12.18 ,最后更新于 2023.09.18

一、Telescope

Telescope 是官方提供的调试工具,可以记录应用程序的请求、异常、日志条目、数据库查询、排队的作业、邮件、消息通知、缓存操作、定时计划任务、变量打印等。

composer require laravel/telescope --dev

php artisan telescope:install

php artisan migrate

Telescope 主要用于调试,一般在生产环境就可以不用安装, 所以上面安装时加了 --dev 参数,可以查看根目录下的 composer.json 文件,laravel/telescope 添加在 require-dev 中:

"require-dev": {
    ...
    "laravel/telescope": "^4.10",
    ...
 },

所以需要做一些额外的设置,编辑 config/app.php

'providers' => [

  // 找到这一句并删除
   App\Providers\TelescopeServiceProvider::class,

];

然后编辑 app/Providers/AppServiceProvider.php 文件:

public function register()
{
  // 添加如下内容
  if ($this->app->environment('local')) {
    $this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class);
    $this->app->register(TelescopeServiceProvider::class);
  }
}

最后编辑 composer.json

"extra": {
    "laravel": {
        "dont-discover": [
            // 添加
            "laravel/telescope"
        ]
    }
},

访问 http://laravel-demo.test/telescope 探索具体用法,比如查询构造器生成的 sql 具体是什么样的 😄。

二、dd()

dd() 是个有用的辅助调试方法:

class UserController extends Controller
{
    public function index()
    {
        $user = User::find(1);

        dd($user);
    }
}

访问 http://laravel-demo.test/users 查看效果。

dd() 方法会终止他后面的代码执行:

class UserController extends Controller
{
    public function index()
    {
        $user = User::find(1);

        dd($user);

        echo  'Hello World';
    }
}

程序不会输出 Hello World 。

Demo:https://github.com/hefengbao/laravel-demo

Laravel    Laravel   Laravel 入门  

hefengbao

暂无个人简介

有0条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

来源:

https://www.8ug.icu/articles/laravel-tutorial-10-telescope-dd-82O1Qy17AE