Laravel Zero Là Gì?

Laravel Zero Là Gì?
Laravel Zero cũng tương tự như Laravel nhưng cú pháp của nó đơn giản hơn. Do đó, ứng dụng của nó vào các dự án thực tế sẽ thuận tiện và nhanh chóng.

Các bạn đã bao giờ nghe đến Laravel Zero chưa? Nếu chưa, thì đây là lúc các bạn nên tìm hiểu xem Laravel Zero là gì. Nó có hữu ích gì cho công việc và dự án của các bạn hay không. 

 

Giới thiệu về Laravel Zero 

 

Laravel Zero là một loại framework và nó chuyên cung cấp giải pháp phát triển console application. Cha đẻ của Laravel Zero là ông Nuno Maduro. Laravel Zero là phiên bản không chính thức của Laravel và nó được điều chỉnh linh hoạt nhằm tối ưu cho ứng dụng dòng lệnh. Khi thử sử dụng Laravel Zero, các bạn sẽ nhận thấy nó có một số đặc điểm nổi bật: 

 

  • Xây dựng nền móng dựa trên các Laravel Component
  • Linh hoạt cài đặt Laravel Eloquent, Laravel Logging và nhiều loại khác 
  • Hỗ trợ desktop notification trên hệ Linux, Windows và MacOS
  • Có thể hoạt động cùng với Scheduler 

 

Cách cài đặt Laravel Zero 

Đầu tiên, các bạn cần phải có PHP 7.1.3+. Tiếp theo, các bạn tạo mới một dự án với Composer như sau: 

 

composer create-project --prefer-dist laravel-zero/laravel-zero <your-app-name>

 

Sau đó, các bạn bắt đầu khởi chạy ứng dụng và đừng quên chạy câu lệnh dưới đây ở thư mục gốc của ứng dụng: 

 

php <your-app-name>

 

Bạn có thể thay đổi tên ứng dụng của bạn nếu muốn bằng dòng lệnh này:

 

php <your-app-name> app:rename <new-name>

 

Cách tạo App\Demands 

 

Để tạo mới Demands, các bạn thực hiện dòng lệnh sau:

 

php <your-app-name> make:command <NewCommand>

 

Desktop notifications 

 

Tham khảo dòng lệnh:

 

$this->notify("Hello Web Artisan", "Love beautiful..", "icon.png");

 

Tasks 

 

Tham khảo dòng lệnh này: 

 

$this->task("Installing Laravel", function () {

return true;

});

$this->task("Doing something else", function () {

return false;

});

 

Menu tương tác 

 

Tham khảo dòng lệnh sau: 

 

$option = $this->menu('Pizza menu', [

'Freshly baked muffins',

'Freshly baked croissants',

'Turnovers, crumb cake, cinnamon buns, scones',

])->open();

$this->info("You have chosen the option number #$option");

 

Đôi khi, các bạn sẽ cần điều chỉnh giao diện của menu: 

 

$this->menu($title, $options)

->setForegroundColour('green')

->setBackgroundColour('black')

->setWidth(200)

->setPadding(10)

->setMargin(5)

->setExitButtonText("Abort")

// remove exit button with 

// ->disableDefaultItems()

->setUnselectedMarker('❅')

->setSelectedMarker('✏')

->setTitleSeparator('*-')

->addLineBreak('<3', 2)

->addStaticItem('AREA 2')

->open();

 

App\ServiceProviders như thế nào?

Khi sử dụng Laravel Zero, các bạn nên nghĩ đến Laravel Service Providers để định nghĩa các triển khai cụ thể. Các bạn nên khai báo ở app\Providers\AppServiceProvider.php hoặc khởi tạomột service provider mới hoàn toàn.

 

public function register()

    {

        $this->app->singleton(Contract::class, function ($app) {

            return new Concrete(config('database'));

        });

    }

    app(Contract::class) // Returns a Concrete implementation.

 

Database trong Laravel Zero 

 

Khi sử dụng Laravel Zero, các bạn có thể cài đặt Database. 

 

php <your-app-name> app:install database

 

Khi sử dụng:

 

use Illuminate\Support\Facades\DB;

DB::table('users')->insert(

    ['email' => '[email protected]']

);

$users = DB::table('users')->get();

 

Trong Laravel Zero, các bạn có thể sử dụng tính năng Migration và Seeding.

 

Log 

 

Khi sử dụng Laravel Zero, các bạn có thể cài đặt thành phần Log. 



php <your-app-name> app:install log

 

Các bạn có thể sử dụng Log trong Laravel Zero tương tự Laravel.

 

use Illuminate\Support\Facades\Log;

Log::emergency($message);

Log::alert($message);

Log::critical($message);

Log::error($message);

Log::warning($message);

Log::notice($message);

Log::info($message);

Log::debug($message);

 

Filesystem là gì?

 

Filesystem cũng tương tự như với Laravel. 

 

use Illuminate\Support\Facades\Storage;

Storage::put("reminders.txt", "Task 1");

 

Scheduler là gì? 

 

Laravel thường sử dụng Task Scheduling. Đây là tính năng có sẵn của Laravel. Nếu bạn muốn sử dụng nó, thì bạn đừng quên thêm đoạn Crontab vào server của bạn.

 

* * * php /path-to-your-project/your-app-name schedule:run >> /dev/null 2>&1

 

Bạn cũng có thể tạo một số định nghĩa của các task của scheduler trong phương thức schedule của command. 

  

public function schedule(Schedule $schedule): void

    {

        $schedule->command(static::class)->everyMinute();

    }

 

Environment Configuration là gì?

Để quản lý các config cho nhiều môi trường của các ứng dụng, các bạn nên cài đặt DotEnv PHP. 

 

php <your-app-name> app:install dotenv

 

Khi cài đặt DotEnv PHP, nó sẽ tạo một file .env.example không có nội dung tại thư mục gốc. Do đó, bạn nên tạo file .env để có thể chứa đầy đủ các giá trị của biến môi trường. Ví dụ như sau: 

 

SECRET_KEY=234567

 

Bạn có thể lấy một số giá trị ra khi nhập dòng lệnh helper env(): 

 

echo env('SECRET_KEY') // outputs 234567

Hồ Hữu Hiền

Mình là developer nên đôi khi viết bài không hay lắm mong các bạn thông cảm. Nếu muốn biết thêm thông tin về mình thì vui lòng vào website này để biết. https://huuhienqt.dev/

Bình luận (0)