Trong bài viết này, tôi sẽ chỉ cho bạn cách đóng gói Laravel của bạn vào Packagist để các nhà phát triển khác có thể tải xuống gói của bạn dễ dàng hơn với Composer
Packagist là gì?Packagist là kho lưu trữ gói mặc định của nhà soạn nhạc giúp bạn tìm các gói và giúp các nhà soạn nhạc tìm nơi cung cấp chúng. Nhân tiện, khi bạn đăng ký gói của mình với Packagist, Packagist sẽ gán cho gói của bạn một tên duy nhất. Hầu hết các nhà phát triển có thể sử dụng tên đó để tải gói của bạn xuống dự án của họ thông qua trình soạn thảo mà không cần biết mã nguồn của bạn ở đâu
Bước 1. Đặt mã nguồn của bạn vào GitHubĐiều đầu tiên cần làm là bạn phải đưa mã nguồn của mình lên một dịch vụ lưu trữ máy chủ, bạn có thể sử dụng GitHub hoặc Bitbucket… Trong hướng dẫn này, tôi sẽ sử dụng GitHub. Sau khi đưa gói mã nguồn vào GitHub, bạn nhập cài đặt vào kho lưu trữ của gói
Bên cạnh Webhook & Dịch vụ
Tại màn hình này, vào Services, chọn Add Services và nhập gói vào trường bộ lọc, chọn dòng Packagist. Sau đó GitHub sẽ yêu cầu bạn nhập mật khẩu để xác nhận
Sau khi thêm dịch vụ thành công, phần dịch vụ sẽ thêm các gói sau
Ngoài ra, hãy đọc Câu hỏi và câu trả lời phỏng vấn hay nhất trên PHP Frameworks
Bước 2. Đặt tên cho góiBước tiếp theo là chọn tên cho gói của bạn. Đây là bước rất quan trọng vì tên gói không thể thay đổi và là duy nhất để tránh xung đột sau này
Tên gói bao gồm 2 phần là tên nhà cung cấp và tên dự án được nối với nhau bằng dấu “/”
vendor/package-name
Ví dụ: nếu tôi tạo một gói có tên là thanh trượt và tên của tôi là Sammer thì tôi sẽ đăng ký tên gói của mình với nhà đóng gói sammer/thanh trượt
Phần nhà cung cấp tồn tại để tránh xung đột. Ví dụ: nếu nhà phát triển tạo thanh trượt gói, anh ta có thể chọn somename/thanh trượt
Tên gói của bạn nằm trong trình soạn thảo của gói. json, ở dòng đầu tiên “tên”. “sammer/thanh trượt”
Bước 3. gửi góiBước cuối cùng bạn cần làm là đăng ký một tài khoản trên Packagist. Sau khi gửi nội dung gửi của bạn, hãy sao chép url của kho lưu trữ GitHub của bạn vào hộp URL Kho lưu trữ và nhấp vào kiểm tra. Pakagist sẽ kiểm tra xem có gói nào trùng tên với gói của bạn không, nếu không có thì tức là bạn đã đăng ký thành công gói của mình với packagist rồi đó
Lần này tôi đã tạo và xuất bản gói Trình soạn thảo, vì vậy tôi nghĩ sẽ chia sẻ các bước liên quan. [Ngoài ra một số mẹo dành riêng cho Laravel. ]
Sau đây là gói đã được xuất bản và tôi sẽ sử dụng nó làm ví dụ để giải thích
https. //github. com/mazraara/random-password
Chúng ta hãy bắt đầu ngay bây giờ
1. Tạo kho lưu trữ công khai trên GitHub
2. Tạo nhà soạn nhạc. json ở cấp cao nhất của kho lưu trữ
Với `composer init`, bạn có thể tạo một mẫu nhanh
{
"name": "mazraara/random-password",
"description": "Generate random password of a given length",
"type": "library",
"require": {
"php": ">=5.3.0"
},
"license": "proprietary",
"authors": [
{
"name": "Azraar Azward",
"email": "mazraara@gmail.com"
}
],
"minimum-stability": "dev"
}
3. Viết một bài đọc
Hãy chắc chắn bao gồm README cho người dùng ít nhất với những điều sau đây,
Tên của gói
Cài đặt thế nào
Cách sử dụng
Giấy phép [Chức năng GitHub có thể tạo tệp GIẤY PHÉP]
4. Viết mã gói
Hãy tạo một gói thực tế
Xin lưu ý những điểm sau
thư mục src không bắt buộc, nhưng có vẻ như bạn thường đặt mã trong thư mục
Viết càng nhiều bài kiểm tra càng tốt
Khi đã sẵn sàng, hãy thêm phần tự động tải vào trình soạn thảo. json để cho phép sử dụng không gian tên là RandomPassword\Password
"autoload": {
"psr-4": {
"RandomPassword\\": "src/RandomPassword/"
}
Mẹo cho gói Laravel
Trong Laravel 5. 5 trở lên, có một chức năng được gọi là tự động phát hiện tự động đăng ký ServiceProvider khi nó được tạo bởi chính nó
Viết phần sau vào phần bổ sung của nhà soạn nhạc. json
"extra": {
"laravel": {
"providers": [
"RandomPassword\\PasswordServiceProvider"
]
}
}
Khi phát triển các gói Laravel, bạn không thể sử dụng các tính năng dành riêng cho Laravel như bộ chứa dịch vụ, di chuyển, v.v. để viết bài kiểm tra, vì vậy cần sử dụng gói sau cho mục đích đó. dàn nhạc/bàn thử
"require-dev": {
"orchestra/testbench": "^3.8"
}
5. Cuối cùng, Đăng ký tại Packagist [https. // người đóng gói. tổ chức/]
Đăng ký bằng GitHub thật dễ dàng
Đăng ký kho lưu trữ tại https. // người đóng gói. tổ chức/gói/gửi
Đó là nó
Bây giờ gói của bạn sẽ có sẵn tại. https. //người đóng gói. org/gói/mazraara/mật khẩu ngẫu nhiên
Bạn có thể phiên bản gói của mình bằng git, sau đó người dùng có thể cài đặt với thông số thẻ và rất dễ bảo trì