Framework Laravel

Framework Laravel là một trong những framework rất phổ biến cho việc phát triển website

Packages/Modules

Tổ chức Project Laravel theo dạng Packages/Modules

Thứ Ba, 12 tháng 5, 2020

Chaỵ và theo dõi hàng đợi Laravel bằng PM2


Trong bài viết này mình chỉ đề xuất sử dụng trình giám sát PM2 để giám sát tiến trình artisan.
Trình giám sát PM2 có thể giám sát được cả tập lệnh Nodejs trên máy chủ cũng như chạy hàng đợi của Laravel.
Câu lệnh sau để chạy và theo dõi hàng đợi:
    pm2 start artisan --name laravel-worker --interpreter php -- queue:work --daemon
Điều này sẽ chạy một quy trình PM2 có tên là laravel-worker mà sau đó bạn có thể thấy trong danh sách PM2 của mình. 
Để xem danh sách chạy lệnh: 
    pm2 list
Nếu bạn chưa chạy PM2 khi khởi động, hãy đảm bảo bạn chạy khởi động PM2

Chủ Nhật, 3 tháng 5, 2020

Tổ chức Project Laravel theo dạng Packages/Modules

Source: https://getcomposer.org/doc/05-repositories.md#path
Trong bài này chúng ta sẽ tạo module local cho project laravel của bạn.
Đầu tiên hãy tạo một project mới bằng command trong terminal:
  • composer create-project --prefer-dist laravel/laravel project_module
Sau đó hãy mở command line trong project vừa tạo, ở đây mình sử dụng powersell bạn giữu "Shift + mouse right".
Powershell
Tiếp theo bạn tạo một folder chứa các modules trong project ở đây mình để là: 
  • /modules/demo
Di chuyển vào trong thư mục demo và chạy lệnh composer init và điền các thông tin như sau:
Kết quả sẽ ra được như này:
{
    "name""modules/demo",
    "description""Module demo",
    "type""mudule",
    "license""MIT",
    "authors": [
        {
            "name""example",
            "email""example@email.com"
        }
    ],
    "minimum-stability""dev",
    "require": {}
}
Bạn có thể sửa hoặc thêm các package trong phần require.
Thêm autoload cho module vào file composer.json ở thư mục module/demo như sau:
{
    "name""modules/demo",
    "description""Module demo",
    "type""mudule",
    "license""MIT",
    "authors": [
        {
            "name""example",
            "email""example@email.com"
        }
    ],
    "minimum-stability""dev",
    "require": {},
    "autoload": {
        "psr-4": {
          "Modules\\Demo\\""src/"
        }
    }
}
Laravel có hỗ trợ package auto discover tự động nạp service provider như sau:
{
    "name""modules/demo",
    "description""Module demo",
    "type""mudule",
    "license""MIT",
    "authors": [
        {
            "name""example",
            "email""example@email.com"
        }
    ],
    "minimum-stability""dev",
    "require": {},
    "autoload": {
        "psr-4": {
          "Modules\\Demo\\""src/"
        }
    },
    "extra": {
        "laravel": {
          "providers": [
            "Modules\\Demo\\Providers\\DemoServiceProvider"
          ]
        }
    }
}
Như vậy là đã có một package local trong project của bạn, muốn sử dụng được package phải khai báo package trong file composer.json của root project như sau:
    "require": {
        "php""^7.2.5",
        "fideloper/proxy""^4.2",
        "fruitcake/laravel-cors""^1.0",
        "guzzlehttp/guzzle""^6.3",
        "laravel/framework""^7.0",
        "laravel/tinker""^2.0",
        "modules/demo""*@dev"
    },
Khai báo module/package "modules/demo""*@dev" trong block require
Khai báo đường dẫn tới package để composer có thể tìm thấy và cài đặt.
"repositories": [
        {
           "type""path",
           "url""./modules/demo"
        }
    ]
Cuối cùng chạy lệnh Composer update và xem kết quả.
Source: https://github.com/duynv1008/project_module

Bài viết mới

Giới Thiệu Gumroad và Cơ Hội Đăng Ký Nội Dung Đặc Biệt Của Tôi

     Trong thế giới kỹ thuật số ngày nay, việc dễ dàng tiếp cận các tài nguyên học tập và công cụ hỗ trợ là rất quan trọng. Đó chính là lý d...

Bài đăng