Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 2-Bài 3. Cài đặt Composer để quản lý các gói thư viện trong PHP

Tác giả: Dương Nguyễn Phú Cường #86
Ngày đăng: Hồi xưa đó
Lượt xem: 983

Giới thiệu

Một trong số các vấn đề lớn mà lập trình viên web thường phải đối mặt là làm việc với dependency. Chúng ta đã gặp rất nhiều tình huống tích hợp các package mới vào dự án của chúng ta gây nhiều rắc rối hơn là ích lợi của nó. Vấn đề thường đặc biệt xảy ra với PHP developers. Thông thường lập trình viên thường build modules như là data persistence từ đầu. Kết quả là rất nhiều tài nguyên bị lãng phí trên những tác vụ lỗi thời – nhưng tác vụ mà có thể được xử lý rồi bởi những giải pháp có sẵn. Composer – một trình quản lý dependecy hữu dụng và đơn giản cho PHP. Một vài trong số các bạn có thể đã làm quen với dependency manager rồi như là PIP cho Python hoặc NPM cho Node.js. Nó sẽ sắp xếp hợp lý các dependicies của dự án vào một nơi duy nhất. Một tính năng quan trọng của Composer tách nó khỏi các giải pháp quản lý khác như PEAR là khả năng xử lý dependencies theo một dự án. Nó quản lý dependencies của mỗi dự án riêng biệt. Có nghĩa là bạn không cần phải có thư viện của dự án mà không xài – một ưu điểm để tối ưu kích thước dự án. Hơn thế nữa, bạn có thể cài packaged được dùng rộng khắp bằng Composer. Việc này có thể được làm bằng cách lệnh global đặc biệt, nhưng chúng sẽ không thóa khỏi yêu cầu ban đầu là đơn giản và dễ dùng. Trong bài hướng dẫn này, bạn sẽ học cách cài và sử dụng trong PHP projects.

Cách 1: cài đặt trình quản lý Composer trên window

Step 1: download Composer

Step 2: cài đặt (install) Composer

Step 3: Kiểm tra

  • Vào Start -> Run -> Cmd
  • Gõ lệnh sau để kiểm tra phiên bản Composer vừa cài đặt
composer --version
  • Nếu xuất hiện như hình sau thì bạn đã cài đặt Composer thành công.

Cách 2: tích hợp composer vào thư mục dự án của bạn (sử dụng command-line)

Step 1: add biến môi trường của PHP

  • Mở Start -> Run -> sysdm.cpl
  • Chỉ định nơi cài đặt PHP của bạn vào Path, mặc định khi cài XAMPPc:\xampp\php

Step 2: tích hợp composer vào thư mục dự án của bạn

  • Mở Start -> Run -> cmd
  • Trỏ vào thư mục dự án của bạn. Ví dụ: c:\xampp\htdocs\quanlybanhang
cd c:\xampp\htdocs\quanlybanhang
  • Thực thi các câu lệnh sau để tải và cài đặt composer vào dự án của bạn
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
  • Kiểm tra trong thư mục dự án của bạn có file composer.phar là thành công.
  • Chạy câu lệnh sau để kiểm tra phiên bản composer vừa cài đặt.
php composer.phar --version

#Composer version 1.8.6 2019-06-11 15:03:05
 

Chương trình học


  1. Bức tranh Tổng thể về Lập trình WEB 1
    1. Kiến thức nền tảng cần có khi xây dựng trang web Thương mại điện tử từ A-Z #10409
  2. Giới thiệu, cài đặt, cấu hình môi trường lập trình 10
    1. Cài đặt web server XAMPP #84
    2. Cài đặt công cụ truy vấn database HeidiSQL #85
    3. Cài đặt Composer để quản lý các gói thư viện trong PHP #86
    4. Cài đặt trình soạn thảo code Visual Studio Code IDE #64
    5. Tạo tên miền ảo trên máy cục bộ (virtual host on localhost) bằng XAMPP #107
    6. Cài đặt nền tảng quản lý Source Code sử dụng GIT #1030
    7. Cài đặt công cụ quản lý Source Code TortoiseGit #1045
    8. Cài đặt chế độ Debug PHP với Visual Studio Code #8066
    9. Tạo chứng chỉ SSL trên Localhost #10399
    10. Cài đặt công cụ quản trị, vẽ mô hình ER database MySQL WorkBench #10468
  3. Tập làm quen với quản lý source code bằng GitHub 3
    1. GitHub là gì? #79
    2. Tạo tài khoản, tạo kho dữ liệu (repository), clone source, commit/push và pull source với GitHub #2303
    3. Cách đóng gói phiên bản (Alpha, Beta, Release) bằng Tag trong GitHub #9415
  4. Phân tích Nghiệp vụ và Thiết kế Cơ sở dữ liệu Database 4
    1. Phân tích Nghiệp vụ cần có trong Trang web Thương mại điện tử #10413
    2. Cơ sở dữ liệu mẫu #10414
    3. Thiết kế các table Danh mục #10453
    4. Thiết kế các table liên quan đến Sản phẩm #10454
  5. PHP căn bản 1
    1. PHP là gì? Viết chương trình PHP đầu tiên #1237
  6. Dự án thực tế mẫu (PHP thuần) - Giai đoạn Chuẩn bị dữ liệu, Phân tích dự án 4
    1. [Setup] - Khởi tạo dự án, chuẩn bị môi trường phát triển #10518
    2. [Business] - Phân tích các yêu cầu, nghiệp vụ của khách hàng #10519
    3. [Database] - Thiết kế database đáp ứng các yêu cầu, nghiệp vụ đã phân tích #10520
    4. [Resource] - Chuẩn bị nội dung, hình ảnh cho dự án #10521
  7. Dự án thực tế mẫu (PHP thuần) - Thiết kế Backend 1
    1. [Backend] - Thiết kế bố cục layouts cho giao diện Backend #10537
  8. Dự án thực tế mẫu (PHP thuần) - Thiết kế Frontend 1
    1. [Frontend] - Thiết kế bố cục layouts cho giao diện Frontend #10536
Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Bức tranh Tổng thể về Lập trình WEB 1
    1. Kiến thức nền tảng cần có khi xây dựng trang web Thương mại điện tử từ A-Z #10409
  2. Giới thiệu, cài đặt, cấu hình môi trường lập trình 10
    1. Cài đặt web server XAMPP #84
    2. Cài đặt công cụ truy vấn database HeidiSQL #85
    3. Cài đặt Composer để quản lý các gói thư viện trong PHP #86
    4. Cài đặt trình soạn thảo code Visual Studio Code IDE #64
    5. Tạo tên miền ảo trên máy cục bộ (virtual host on localhost) bằng XAMPP #107
    6. Cài đặt nền tảng quản lý Source Code sử dụng GIT #1030
    7. Cài đặt công cụ quản lý Source Code TortoiseGit #1045
    8. Cài đặt chế độ Debug PHP với Visual Studio Code #8066
    9. Tạo chứng chỉ SSL trên Localhost #10399
    10. Cài đặt công cụ quản trị, vẽ mô hình ER database MySQL WorkBench #10468
  3. Tập làm quen với quản lý source code bằng GitHub 3
    1. GitHub là gì? #79
    2. Tạo tài khoản, tạo kho dữ liệu (repository), clone source, commit/push và pull source với GitHub #2303
    3. Cách đóng gói phiên bản (Alpha, Beta, Release) bằng Tag trong GitHub #9415
  4. Phân tích Nghiệp vụ và Thiết kế Cơ sở dữ liệu Database 4
    1. Phân tích Nghiệp vụ cần có trong Trang web Thương mại điện tử #10413
    2. Cơ sở dữ liệu mẫu #10414
    3. Thiết kế các table Danh mục #10453
    4. Thiết kế các table liên quan đến Sản phẩm #10454
  5. PHP căn bản 1
    1. PHP là gì? Viết chương trình PHP đầu tiên #1237
  6. Dự án thực tế mẫu (PHP thuần) - Giai đoạn Chuẩn bị dữ liệu, Phân tích dự án 4
    1. [Setup] - Khởi tạo dự án, chuẩn bị môi trường phát triển #10518
    2. [Business] - Phân tích các yêu cầu, nghiệp vụ của khách hàng #10519
    3. [Database] - Thiết kế database đáp ứng các yêu cầu, nghiệp vụ đã phân tích #10520
    4. [Resource] - Chuẩn bị nội dung, hình ảnh cho dự án #10521
  7. Dự án thực tế mẫu (PHP thuần) - Thiết kế Backend 1
    1. [Backend] - Thiết kế bố cục layouts cho giao diện Backend #10537
  8. Dự án thực tế mẫu (PHP thuần) - Thiết kế Frontend 1
    1. [Frontend] - Thiết kế bố cục layouts cho giao diện Frontend #10536

Bài học trước Bài học tiếp theo