Quản lý mã nguồn với Composer

Composer là gì? Hướng dẫn cài đặt và sử dụng

Composer là bộ công cụ dùng để quản lý các thư viện mã nguồn mở được sử dụng trong dự án PHP. Nhờ có công cụ này mà người lập trình viên dễ dàng quản lý, tối ưu các thư viện tự viết và các thư viện mã nguồn bên ngoài khác. Composer quản lý các thư viện mã nguồn PHP  không theo kiểu đóng gói dạng “package” như Yum hay Apt trên Linux, mà mỗi gói mã nguồn được quản lý và đóng gói dưới dạng một project riêng lẻ và được lưu trữ trong thư mục “vendor“. Các class trong từng project nhỏ mà composer quản lý được load qua file “autoload.php” .

Việc cài đặt các thư viện thông qua composer được mô tả và liên kết qua file “composer.json” trong từng thư viện. Các thư viện này được cài đặt thông qua ý tưởng liên kết phụ thuộc trong từng thư viện source code cần thiết để xây dựng thư viện đó. Ý tưởng quản lý này được lấy cảm hứng từ Node NPMRuby bundle.

Quản lý mã nguồn với Composer
Quản lý mã nguồn với Composer

Giả sử:

  1. Bạn có 1 dự án với các chức năng phụ thuộc vào nhiều thư viện bên ngoài.
  2. Các thư viện đó phụ thuộc vào một số thư viện khác nữa.

Composer sẽ giúp bạn:

  1. Cho phép bạn khai báo các thư viện mà dự án bạn cần.
  2. Composer tìm kiếm và kiểm tra các điều kiện cần thiết sau đó cài đặt các thư viện này cho dự án của bạn.

Yêu cầu hệ thống để có thể sử dụng Composer:

Composer yêu cầu hệ thống máy chủ của bạn phải cài đặt PHP 5.3.2+.  Một vài yêu cầu trong file php.ini cần được tùy chỉnh để composer có thể chạy một cách hoàn hảo, các thông báo yêu cầu này sẽ được thông báo trên màn hình khi sử dụng composer.

Ngoài ra 1 số công cụ quản lý mã nguồn cũng được yêu cầu cài đặt vào máy trước khi sử dụng như: git, svn, fossil, hg. Composer có thể được cài đặt và hoạt động trên cả 3 nền tảng hệ điều hành: Windows, Linux, OSX

Cách Install Composer trên 3 nền tảng: Win, Linux, OSX

Hãy thử câu lệnh: apt install composer trên Ubuntu trước nếu không cài đặt được hãy làm các cách sau. Xem cách cài đặt composer trên hệ thống multi php version tại cuối bài

Install Comper trên Ubuntu phiên bản 16.04 theo các bước sau:

Cập nhật các gói thông tin cơ bản của Ubuntu qua mã lệnh

sudo apt-get update

Cài đặt một số thư viện mã nguồn cần thiết

sudo apt-get install curl php-cli php-mbstring git unzip

Truy cập vào 1 thư mục tạm trên máy chủ để tải gói cài đặt về, tải source code cài đặt composer

cd /tmp
curl -sS https://getcomposer.org/installer -o composer-setup.php

Sử dụng curl của php tạo mã Public key cho Composer sau này:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Sau khi chạy mã nếu hiển thị dòng thông báo như sau là ok

Installer verified

Tạo shortcut ngắn ngọn truy cập lệnh

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Test kết quả chạy bằng lệnh

composer

Màn hình hiển thị cho ra các thông tin help của composer là hoàn tất việc cài đặt composer trên ubuntu

Output
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ / __ `__ / __ / __ / ___/ _ / ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
____/____/_/ /_/ /_/ .___/____/____/___/_/
                    /_/
Composer version 1.1.1 2016-05-17 12:25:44

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
. . .

Install Comper trên Centos 7 theo các bước sau:

Update server

# sudo yum -y update

Chuyển vào 1 tư mục tạm nào đó

# cd /tmp

Cài đặt composer qua curl

# sudo curl -sS https://getcomposer.org/installer | php

Tạo shortcut cho composer

# mv composer.phar /usr/local/bin/composer

Install Composer trên windows.

Trên windows việc cài đặt Composer trên nên dễ dàng hơn với gói cài đặt được tích hợp sẵn trình hướng dẫn cài wizard, bạn chỉ cần thiết đảm bào webserver trên windows hoạt động là có thể sử dụng cách cài qua file cài đặt exe được tải tại đây https://getcomposer.org/download/

Install Composer trên máy Mac

Bạn làm tương tự như với các hệ điều hành linux bên trên

Cài đặt composer cho hệ thống muilti Php version

Để cài đặt composer cho hệ thống phức tạp với nhiều phiên bản php trên đó bạn cần thực hiện các bước sau.

  1. Copy php-cli version bạn cần vào thư mục /usr/bin bằng lệnh sau:  cp /usr/local/lsws/lsphp71/bin/php /usr/bin/
  2. Check lại phiên bản php được add vào biến môi trường linux bằng lệnh: php -v
  3. Copy bản cài đặt composer và cài bằng tay hoặc cài đặt như cách trên.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Kevin Dang

Hey there! My name is Kevin Dang, I am website, software, mobile app develop, web admin system. Expert living in Hồ Chí Minh (Việt Nam). I am very interested in digital marketing with: SEO, Facebook, Google Ads ... This blog is where I will share the experiences, techniques and knowledge I have learned.