Composer là gì?

Một trong những thay đổi lớn nhất đến với thế giới PHP đó chính là sự ra đời của Composer, một công cụ mà hẳn bạn đã biết đến hoặc có nghe thấy, đọc thấy từ đâu đó trên internet. Composer là gì mà có sức ảnh hưởng lớn đến như vậy? Chúng ta hãy quay lại quá khứ và tìm hiểu một số vấn khó khăn khi phát triển các ứng dụng bằng ngôn ngữ PHP.

Quản lý sự ràng buộc - vấn đề khó trong lập trình PHP truyền thống

PHP là một ngôn ngữ lập trình kịch bản được sử dụng chủ yếu cho các ứng dụng mã nguồn mở, chính vì vậy trong các dự án PHP việc sử dụng các gói (package), thư viện (library) lập trình mã nguồn mở của bên thứ ba là một điểm mạnh, nó giúp cho tạo các ứng dụng nhanh chóng nhờ sức mạnh của cộng đồng. Tuy nhiên một vấn đề khó là quản lý sự ràng buộc của các gói, các thư viện lập trình này. Trong lập trình truyền thống (cách đây gần chục năm), chúng ta phải thường xuyên theo dõi thông tin các nhà phát triển package mà chúng ta sử dụng trong dự án để tự cập nhật thủ công và giám sát các thay đổi có ảnh hưởng đến các package khác, công việc này rất khó khăn đòi hỏi mất nhiều thời gian và am hiểu sâu vào các package. Những dự án sử dụng hàng trăm các package làm cho chúng ta mệt mỏi khi cập nhật, chưa kể đến việc viết tài liệu triển khai cụ thể phải tỉ mỉ do sự khác nhau giữa môi trường phát triển và môi trường chạy thực tế. Vấn đề này không làm khó được một cộng đồng lập trình viên với số lượng người tham gia có thể nói là lớn nhất trên toàn cầu, họ đưa ra công cụ mới Composer. Vậy Composer là gì? Tại sao nó là bước ngoặt cho giới lập trình PHP?

Composer là gì?

Composer là công cụ quản lý sự ràng buộc các package trong lập trình PHP (ngoài ra nó còn một số các nhiệm vụ nhỏ khác). Không phải tự nhiên mà công cụ này lấy tên là Composer (nhà soạn nhạc) với hình ảnh là một nhạc trưởng, nó giúp các package kết hợp "thông tin" với nhau một cách nhịp nhàng. Bạn thấy đấy, một dàn nhạc dù các thành viên có là các nhạc công xuất sắc đến đâu nhưng không có nhạc trưởng, bản hòa tấu sẽ trở thành một thứ hỗn độn. Sự ràng buộc giữa các package trong lập trình PHP là rất cần thiết trong cách thức phát triển hiện đại, nó giúp cho tiết kiệm công sức và thời gian đáng kể. Ví dụ, ứng dụng nào chúng ta cũng cần ghi log, chúng ta có thể sử dụng lại các package hoặc library thực hiện công việc này cho các ứng dụng khác nhau. Hơn thế nữa, bản thân các package khác cũng có thể sử dụng lại package có tính năng ghi log như một phần "cơ thể" của nó.

Mục tiêu của composer là thực hiện các công việc sau:

  • Xử lý sự ràng buộc giữa các package.
  • Giải pháp tự động tải các package trong một hệ thống.
  • Tự động cập nhật các package đến phiên bản mới khi có yêu cầu.

Trước khi có Composer, một công cụ cũng rất hay được sử dụng cho các dự án PHP là PEAR, công cụ này có từ những năm 1999 với mục đích quản lý package để có thể sử dụng lại. Khác với PEAR, Composer quản lý sự ràng buộc của các package. Packagist là kho chứa package mặc định cho Composer, tính đến hiện nay trên kho này có 216,270 package một con số thực sự lớn. Bạn có tưởng tượng được gần như các tính năng bạn cần cho một dự án PHP đều có thể tìm thấy các package có sẵn trên Packagist. Cộng đồng mã nguồn mở PHP, với sự có mặt của Composer đã làm nên một bước ngoặt lớn, thúc đẩy sự phát triển mạnh mẽ hơn của PHP.

Cùng với sự có mặt của Composer, số lượng các package đăng ký và số lần cài đặt các package này tăng lên nhanh chóng. Vì vậy có thể nói Composer là một công cụ quan trọng nhất với lập trình PHP hiện đại.

composer 4
FirebirD AZ Tutorials Network

Đam mê lập trình, muốn chia sẻ kiến thức với mọi người

- of 0

Không bình luận, chỉnh sửa được: Bạn cần phải đăng nhập.