Laravel Tinker 简介

在原生 PHP 中,能够通过 php -a 命令应用交互式 Shell:

# php -aphp > $msg = "Hello world!";php > print $msg;Hello world!php > $num = array_sum([1, 2, 3]);php > print $num;6

此外,还能够应用 PsySH ,相较于原生的 php -a,PsySH 领有更多高级个性,性能更加弱小。

通过 Composer 全局装置:

composer g require psy/psysh:@stable

而后在命令行执行 psysh 即可进入交互式 Shell 了(需确保全局 Composer 的 bin 目录在零碎门路中),在 PsySH 中能够编写各种代码,打印语句、计算表达式、编写函数等等。

Laravel Tinker 就是基于 PsySH 实现的,通过 Tinker,咱们能够在命令行中实现与 Laravel 利用的各种交互,包含数据库的增删改查。

在命令行中通过 php artisan tinker 即可进入 Laravel Tinker 的交互式 Shell。

查看帮忙文档

在 Laravel Tinker 中,doc 命令可用于查看某个函数或办法的帮忙文档,例如,查看辅助函数 config() 如何应用:

doc configshow config

运行 Artisan 命令

运行 php artisan tinker 就相当于从控制台启动了 Laravel 利用,在运行交互式命令前,tinker 命令会增加一些命令到 Shell,这些命令定义在 Laravel\Tinker\Console\TinkerCommand$commandWhitelist 属性中:

protected $commandWhitelist = [    'clear-compiled', 'down', 'env', 'inspire', 'migrate', 'optimize', 'up',];

因而,能够在 Tinker Shell 中间接运行这些命令:

>>> inspire>>> env

测试 Laravel 代码

能够应用控制台来创立一个新的模型,将其保留到数据库,而后查问这条记录。

php artisan tinker>>> migrate>>> use App\User;>>> $user = new User();>>> $user->name = "test";>>> $user->email = "test@163.com";>>> $user->password = bcrypt('123456');>>> $user->save();>>> $user = User::where('email', 'test@163.com')->first();>>> factory(User::class, 3)->create();>>> >>> $user = App\User::find(1);>>> $user->delete();>>> >>> $log = app('log');>>> $log->info('test');