Laravel Tinker 的使用

Laravel Tinker 簡介

在原生 PHP 中,能夠經過 php -a 命令使用交互式 Shell:php

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

此外,還能夠使用 PsySH ,相較於原生的 php -a,PsySH 擁有更多高級特性,功能更增強大。git

經過 Composer 全局安裝:github

composer g require psy/psysh:@stable

而後在命令行執行 psysh 便可進入交互式 Shell 了(需確保全局 Composer 的 bin 目錄在系統路徑中),在 PsySH 中能夠編寫各類代碼,打印語句、計算表達式、編寫函數等等。數據庫

Laravel Tinker 就是基於 PsySH 實現的,經過 Tinker,咱們能夠在命令行中實現與 Laravel 應用的各類交互,包括數據庫的增刪改查。app

在命令行中經過 php artisan tinker 便可進入 Laravel Tinker 的交互式 Shell。composer

查看幫助文檔

在 Laravel Tinker 中,doc 命令可用於查看某個函數或方法的幫助文檔,例如,查看輔助函數 config() 如何使用:函數

doc config

show 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 中直接運行這些命令:ui

>>> 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');
相關文章
相關標籤/搜索