Chạy Laravel Tinker ngay trên trình duyệt
Artisan tinker là một trong những thứ làm nên sức mạnh của Laravel, giúp bạn thao tác với ứng dụng của mình ngay trên Terminal. Tuy nhiên khi thực hiện một vài đoạn code cùng lúc hoặc copy/paste code có thể gây đôi chút khó chịu. Sẽ thật tuyệt nếu có thể chạy tinker ngay trên trình ...
Artisan tinker là một trong những thứ làm nên sức mạnh của Laravel, giúp bạn thao tác với ứng dụng của mình ngay trên Terminal. Tuy nhiên khi thực hiện một vài đoạn code cùng lúc hoặc copy/paste code có thể gây đôi chút khó chịu. Sẽ thật tuyệt nếu có thể chạy tinker ngay trên trình duyệt nhỉ?
Package mình sẽ giới thiệu trong bài này sẽ giúp bạn thực hiện điều đó: laravel-web-tinker
Package này cũng có dark mode nếu bạn không thích light mode
Cảnh báo
Package này có thể cho phép bạn chạy bất kỳ đoạn code nào trên ứng dụng của bạn, thế nên hãy thận trọng khi cài package này trên môi trường production vì nó có thể ảnh hưởng đến data đấy.
Cài đặt
Thông qua Composer:
1 2 3 4 |
composer require spatie/laravel-web-tinker --dev |
Tiếp theo, publish các assets cần thiết để chạy ứng dụng:
1 2 3 4 |
php artisan web-tinker:install |
Nếu không muốn sử dụng các cài đặt mặc định của package, bạn có thể publish file config và chỉnh sửa nó theo ý mình:
1 2 3 4 |
php artisan vendor:publish --provider="SpatieWebTinkerWebTinkerServiceProvider" --tag="config" |
File config config/web-tinker.php sẽ được publish:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<span class="token keyword">return</span> <span class="token punctuation">[</span> <span class="token comment">/* * The web tinker page will be available on this path. * Đường dẫn để sử dụng tinker trên trình duyệt */</span> <span class="token single-quoted-string string">'path'</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token single-quoted-string string">'/tinker'</span><span class="token punctuation">,</span> <span class="token comment">/* * Possible values are 'auto', 'light' and 'dark'. */</span> <span class="token single-quoted-string string">'theme'</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token single-quoted-string string">'auto'</span><span class="token punctuation">,</span> <span class="token comment">/* * By default this package will only run in local development. * Do not change this, unless you know what your are doing. * Mặc định package này chỉ hoạt động ở môi trường local, nếu bạn muốn * đổi cài đặt này, hãy đọc lại phần cảnh báo bên trên =)) */</span> <span class="token single-quoted-string string">'enabled'</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token function">env</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'APP_ENV'</span><span class="token punctuation">)</span> <span class="token operator">===</span> <span class="token single-quoted-string string">'local'</span><span class="token punctuation">,</span> <span class="token punctuation">]</span><span class="token punctuation">;</span> |
Sử dụng
Truy cập domain/tinker để thực hiện tinker theo ý bạn
Authorization
Nếu thực sự muốn chạy package này trên một môi trường khác local, hay cân nhắc và thực hiện 2 bước dưới đây:
- Định nghĩa một Gate tên là viewWebTinker trong AuthServiceProvider:
1 2 3 4 5 6 7 8 9 10 11 12 |
<span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function">boot</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token variable">$this</span><span class="token operator">-</span><span class="token operator">></span><span class="token function">registerPolicies</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> Gate<span class="token punctuation">:</span><span class="token punctuation">:</span><span class="token function">define</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'viewWebTinker'</span><span class="token punctuation">,</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token variable">$user</span> <span class="token operator">=</span> <span class="token keyword">null</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// return true if access to web tinker is allowed</span> <span class="token comment">// điều kiện để kiểm tra xem user nào có thể truy cập vào web tinker</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> |
- Chỉnh config enabled thành true
Testing
1 2 3 4 |
composer test |
Một package tương đối hay ho và hữu ích phải không nào mọi người
TechTalk via viblo.asia