Как использовать Laravel Tinker
Вы хотите знать, как использовать Laravel Tinker? Используя Tinker, вы можете взаимодействовать со своим Laravel-приложением через командную строку. Laravel Tinker работает на пакете PsySH. В этой статье я покажу вам, как использовать Laravel Tinker.
Laravel – один из самых популярных фреймворков, построенный на PHP. Если вам нравится чистый и аккуратный код, то Laravel должен быть вашим выбором для создания веб-приложения. Он поставляется с фантастическими встроенными функциями, такими как команды Artisan, Eloquent ORM, Broadcasting и т.д. Tinker также является одной из полезных функций, включенных в ядро Laravel.
Tinker – это REPL (цикл чтения-оценки-печати). REPL позволяет пользователям взаимодействовать с приложением через командную строку. Обычно он используется для взаимодействия с Eloquent ORM, заданиями, событиями и т.д.
Зачем нужно использовать Tinker в Laravel?
Есть несколько сценариев, в которых пользователь может использовать Tinker. Например, вам нужно добавить записи в свою базу данных, и у вас нет к ней доступа. В таком случае вы можете взаимодействовать с базой данных через Tinker. Даже вы можете обновлять, удалять записи в базе данных.
Tinker позволяет писать код PHP в командной строке.
Как использовать Laravel Tinker
Когда вы устанавливаете Laravel, по умолчанию у вас есть Tinker. Пользователям не нужно устанавливать Tinker отдельно. Однако при необходимости вы можете установить его вручную, используя команду:
composer require laravel/tinker
Чтобы продемонстрировать использование Tinker, предположим, что у вас есть таблица «продукты» в базе данных. Эта таблица содержит имя столбца, описание и т.д.
Теперь мы собираемся вставить строку в таблицу «продукты» с помощью Laravel Tinker.
Откройте командную строку в корневом каталоге вашего проекта Laravel. Сначала создайте модель, которая взаимодействует с таблицей «продукты».
php artisan make:model Product
Эта команда создает модель Product.php
в каталоге app.
Затем, чтобы войти в режим Tinker, выполните следующую команду.
php artisan tinker
Я воспользуюсь Eloquent ORM, чтобы вставить строку в таблицу «продукты». Итак, мой код в командной строке будет следующим.
$p = new AppProduct;
$p->name = 'Test Product';
$p->description = 'Test Product Body';
$p->save();
Приведенные выше команды вставят новую строку в таблицу «продукты».
Пользователь может удалить запись, используя приведенный ниже код в командной строке.
$p = AppProduct::find(1); //here '1' is the product id
$p->delete();
Примечание. Чтобы выйти из Tinker, введите «Exit» и нажмите Enter.
Вы также можете вызывать функции контроллера через Tinker. Допустим, у вас есть следующие методы в ProductController.php
файле.
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class ProductController extends Controller
{
public function index()
{
return 'index';
}
public function show($id)
{
return $id;
}
public function details($name, $id)
{
return 'name: '. $name .'---id: '. $id;
}
}
Теперь, чтобы вызвать эти методы, напишите приведенный ниже код в Tinker.
$controller = app()->make('AppHttpControllersProductController');
app()->call([$controller, 'index'], []);
app()->call([$controller, 'show'], ['id' => 123']);
app()->call([$controller, 'details'], ['name' => 'John Doe', 'id' => '10']);
Надеюсь, вы понимаете основы использования Tinker в Laravel. Я хотел бы услышать ваши мысли и предложения в разделе комментариев ниже.
Статьи по Теме
- Как создать блог с Laravel
- Резервное копирование приложения Laravel на Dropbox
- Как загрузить видео на YouTube в приложении Laravel