COMPOSER LÀ GÌ

Composer là gì?

Composer là một vẻ ngoài dùng làm thống trị các Package trong project. Nó cho phép khai báo, install, update xuất xắc remove một hoặc nhiều package vào project của chúng ta.

Bạn đang xem: Composer là gì

Cơ chế buổi giao lưu của Composer cũng chưa hẳn là bắt đầu, chúng ta đã phát hiện concept này sinh sống NPM của NodeJs tốt Bundle của Ruby language.

Dependency management

Composer ko cai quản các Packgage y hệt như yum vào Centos xuất xắc apt trong Ubuntu. Nó quản lý những Packages theo từng Project rõ ràng với không hỗ trợ phạm vi thiết đặt global. Tất cả các Package đầy đủ được cài đặt vào tlỗi mục vendor của project , chúng ta cũng có thể xóa ngẫu nhiên Package như thế nào của project trải qua Composer

Các lệnh cơ bản trong Composer

Để sử dụng Composer các bạn buộc phải tải nó bên trên sản phẩm của chính bản thân mình. Có thể mua chủ quyền bằng cách download tệp tin bên trên Home của Composer về và cài nlỗi thường thì. Bên canh kia cũng có thể có một các không giống là bạn có thể sử dụng Laragon bởi vào Laragon đã tích hợp sẵn Composer rồi

Để kiểm soát composer đã được thiết lập bên trên thiết bị của bạn xuất xắc chưa, chúng ta chạy lệnh sau

composer

*

Sau Lúc thiết lập thành công những chúng ta cũng có thể bước đầu tìm hiểu đa số câu lệnh cơ phiên bản vào Laragon bên dưới đây

Composer Init

Đây là lệnh khởi tạo composer cho project của chúng ta, Khi chạy lệnh này nó vẫn hỏi các bạn nhập một vài optionsnhỏng sau

--name: Tên của package.

--description: Mô tả về package.

--author: Tên tác giả

--type: Kiểu của Package.

--homepage: Link home page của Package

--require: Package và version bắt buộc

--require-dev: Package giành cho môi trường dev

--repository: Link package thẳng tự Github repository

Composer install

Lệnh này đã phát âm tất cả các package config vào file composer,json với tải nó vào thư mục vender

composer install Chúng ta thường thực hiện lệnh này mang đến lần đầu tiên init project hoặc Lúc gồm package new được insert vào file composer.json

Composer update

Để update lên version tiên tiến nhất của những package đang `install` trong vendor họ đang áp dụng lệnh

composer updateTất cả số đông package vào project được update lên version bắt đầu sẽ tiến hành khắc ghi vào trong file composer.loông chồng. Sau này cài đặt lại project nó vẫn rước bản tiên tiến nhất này

Trường hợp không muốn update toàn bộ những package của project chúng ta có thể hướng dẫn và chỉ định package name nên update

php composer.phar update vendor/package1 vendor/package2Bạn cũng rất có thể sử dụng cú pháp dưới đây nhằm update lần lượt từng package trong thỏng mục vendor

php composer.phar update "vendor/*"Để rollbaông chồng lại về version phải chăng hơn cho một package bọn họ thực hiện command này

php composer.phar update --with vendor/package:2.0.1The custom constraint has khổng lồ be a subphối of the existing constraint you have, & this feature is only available for your root package dependencies.

If you only want lớn update the package(s) for which you provide custom constraints using --with, you can skip --with & just use constraints with the partial update syntax:

php composer.phar update vendor/package:2.0.1 vendor/package2:3.0.*--prefer-source: Install packages from source when available.

--prefer-dist: Install packages from dist when available.

--dry-run: Simulate the command without actually doing anything.

--dev: Install packages listed in require-dev (this is the default behavior).

--no-dev: Skip installing packages listed in require-dev. The autoloader generation skips the autoload-dev rules.

--no-install: Does not run the install step after updating the composer.lock tệp tin.

--lock: Only updates the lock file hash khổng lồ suppress warning about the lochồng tệp tin being out of date.

--with: Temporary version constraint to lớn add, e.g. foo/bar:1.0.0 or foo/bar=1.0.0

--no-autoloader: Skips autoloader generation.

--no-scripts: Skips execution of scripts defined in composer.json.

--no-progress: Removes the progress display that can mess with some terminals or scripts which don"t handle backspace characters.

--with-dependencies (-w): Update also dependencies of packages in the argument danh sách, except those which are root requirements.

--with-all-dependencies (-W): Update also dependencies of packages in the argument menu, including those which are root requirements.

--optimize-autoloader (-o): Convert PSR-0/4 autoloading to lớn classbản đồ khổng lồ get a faster autoloader. This is recommended especially for production, but can take a bit of time khổng lồ run, so it is currently not done by mặc định.

--classmap-authoritative sầu (-a): Autoload classes from the classmap only. Implicitly enables --optimize-autoloader.

--apcu-autoloader: Use APCu to lớn cabịt found/not-found classes.

--apcu-autoloader-prefix: Use a custom prefix for the APCu autoloader cabịt. Implicitly enables --apcu-autoloader.

--ignore-platform-reqs: ignore all platkhung requirements (php, hhvm, lib-* & ext-*) và force the installation even if the local machine does not fulfill these. See also the platform config option.

--ignore-platform-req: ignore a specific platform requirement(php, hhvm, lib-* and ext-*) and force the installation even if the local machine does not fulfill it.

--prefer-stable: Prefer stable versions of dependencies.

--prefer-lowest: Prefer lowest versions of dependencies. Useful for testing minimal versions of requirements, generally used with --prefer-stable.

--interactive: Interactive interface with autocompletion khổng lồ select the packages khổng lồ update.

--root-reqs: Restricts the update to lớn your first degree dependencies.

Composer require

khi bạn muốn install một package new mang đến project của chính mình, bạn sẽ sử dụng commvà sau

php composer.phar require packageName

Đây là các options Lúc install package

--dev: Add packages to lớn require-dev.

--dry-run: Simulate the command without actually doing anything.

Xem thêm: Elise Mùa 11: Cách Chơi, Lên Đồ & Bảng Bổ Trợ Elise Đi Rừng, Cách Lên Đồ Elise Đi Rừng

--prefer-source: Install packages from source when available.

--prefer-dist: Install packages from dist when available.

--no-progress: Removes the progress display that can mess with some terminals or scripts which don"t handle backspace characters.

--no-update: Disables the automatic update of the dependencies (implies --no-install).

--no-install: Does not run the install step after updating the composer.lock file.

--no-scripts: Skips execution of scripts defined in composer.json

--update-no-dev: Run the dependency update with the --no-dev option.

--update-with-dependencies (-w): Also update dependencies of the newly required packages, except those that are root requirements.

--update-with-all-dependencies (-W): Also update dependencies of the newly required packages, including those that are root requirements.

--ignore-platform-reqs: ignore all platkhung requirements (php, hhvm, lib-* and ext-*) và force the installation even if the local machine does not fulfill these. See also the platkhung config option.

--ignore-platform-req: ignore a specific platkhung requirement(php, hhvm, lib-* & ext-*) và force the installation even if the local machine does not fulfill it.

--prefer-stable: Prefer stable versions of dependencies.

--prefer-lowest: Prefer lowest versions of dependencies. Useful for testing minimal versions of requirements, generally used with --prefer-stable.

--sort-packages: Keep packages sorted in composer.json.

--optimize-autoloader (-o): Convert PSR-0/4 autoloading to lớn classbản đồ to lớn get a faster autoloader. This is recommended especially for production, but can take a bit of time khổng lồ run, so it is currently not done by default.

--classmap-authoritative sầu (-a): Autoload classes from the classmap only. Implicitly enables --optimize-autoloader.

--apcu-autoloader: Use APCu to cabịt found/not-found classes.

--apcu-autoloader-prefix: Use a custom prefix for the APCu autoloader cađậy. Implicitly enables --apcu-autoloader.

Composer remove

Để xóa package khỏi project ta thực hiện command sau:

php composer.phar remove sầu vendor/package vendor/package2Sau Khi xóa nó cũng xóa package name làm việc vào composer.loông xã file

Options:

--dev: Remove sầu packages from require-dev.

--dry-run: Simulate the command without actually doing anything.

--no-progress: Removes the progress display that can mess with some terminals or scripts which don"t handle backspace characters.

--no-update: Disables the automatic update of the dependencies (implies --no-install).

--no-install: Does not run the install step after updating the composer.loông chồng tệp tin.

--no-scripts: Skips execution of scripts defined in composer.json.

--update-no-dev: Run the dependency update with the --no-dev option.

--update-with-dependencies (-w): Also update dependencies of the removed packages. (Deprecrated, is now mặc định behavior)

--update-with-all-dependencies (-W): Allows all inherited dependencies khổng lồ be updated, including those that are root requirements.

--ignore-platform-reqs: ignore all platsize requirements (php, hhvm, lib-* & ext-*) and force the installation even if the local machine does not fulfill these. See also the platform config option.

--ignore-platform-req: ignore a specific platkhung requirement(php, hhvm, lib-* và ext-*) và force the installation even if the local machine does not fulfill it.

--optimize-autoloader (-o): Convert PSR-0/4 autoloading khổng lồ classbản đồ khổng lồ get a faster autoloader. This is recommended especially for production, but can take a bit of time to lớn run so it is currently not done by default.

--classmap-authoritative (-a): Autoload classes from the classbản đồ only. Implicitly enables --optimize-autoloader.

--apcu-autoloader: Use APCu lớn cabịt found/not-found classes.

--apcu-autoloader-prefix: Use a custom prefix for the APCu autoloader cađậy. Implicitly enables --apcu-autoloader

Composer dump-autoload

Nếu bạn phải update autoloader cho 1 class bắt đầu vào classmaps package chúng ta có thể xử dụng