Mục lục nội dung
Hướng dẫn thiết lập ComposerComposer Trên WindowsHướng dẫn thực hiện ComposerChỉ định version cho những Package trong ComposerBài viết được sự có thể chấp nhận được của người sáng tác Nguyễn Trần Chung
Trước khi Composer Ra đời, chúng ta thường khó tính cùng với hàng tá các tlỗi viện của mặt sản phẩm ba cần phải làm chủ, khôn xiết khó khăn nhằm cập nhật và sót lại các khâu thiết đặt lằng quằng. Đó là thừa khứ thôi, sự Thành lập của Composer sẽ có tác dụng biến hóa hoàn toàn đều đồ vật rồi. Trong bài viết này họ đã mày mò về Composer thực chất nó là gì.
Bạn đang xem: Giới thiệu về composer
Tuyển php lương cao, tìm việc tiên tiến nhất trong tháng
Composer là gì ?
Composer là 1 trong những công cụ cai quản sự dựa vào trong PHP. Nó được cho phép bạn knhị báo các tlỗi viện nhưng mà dự án công trình của khách hàng nhờ vào vào và nó đã quản lý (setup / cập nhật) những thư viện cho bạn.
Composer là 1 mã mối cung cấp msinh hoạt (OpenSource) đề xuất được cộng đồng hỗ trợ không ít, bạn có thể tsay đắm gia trở nên tân tiến, trở nên tân tiến lại từ trang Github chấp nhận của Composer.
Tại sao lại buộc phải Composer ?
Nhỏng mình đã nhắc tới ở bên trên Composer thành lập nhằm giải quyết các vấn đề khó khăn nlỗi dung tích project đã lơn rộng, Việc cập nhật cũng như ckém vào project rất phức hợp cùng bất tiện. Với composer, bạn sẽ yêu cầu khai báo tên với version của các thư viện mà bạn có sử dụng mà lại không cần thiết phải từ tay chép code của chính nó vào project, composer đã tự động hóa kiếm tìm cùng cài thư viện cơ mà bạn cần bên trên Server, giả dụ vào thỏng viện đó gồm dùng những tlỗi viện không giống thì nó cũng biến thành mua những thư viện không giống về, nó đệ quy cho tới khi tải đầy đủ các thư viện, thật tuyệt vời đề xuất ko như thế nào.
Lúc bạn áp dụng VCS, bạn sẽ chỉ việc commit tên version, tên thỏng viện ở tệp tin cấu hình composer.json cơ mà không nhất thiết phải commit đều biến đổi vào code của những thư viện như lúc trước. Mặt khác, khi vào project của công ty tất cả các tlỗi viện mà lại những tlỗi viện ấy lại dùng tlỗi viện khác với khi ấy chỉ cần một Một trong những dòng kia bao gồm update thì composer đã tự động update giùm chúng ta luôn luôn.
Các framework PHP hiện thời số đông sử dụng composer để cai quản thư viện quan trọng.
Câu cthị xã trước khi PHP. có composer
Hướng dẫn thiết lập Composer
Yêu cầu nhằm thiết lập Composer
Để download được composer vào thứ bạn cần phải thiết đặt sẵn PHPhường 5.3.2+, và phải download sẵn Git để cung cấp tốt rộng cùng với các gói thỏng viện. Composer cung cấp giỏi bên trên cha nền tảng OS X, Windows với cả Linux.
Composer Trên Linux / Unix / OSX
các bạn msinh sống Terminal lên cùng nhập theo lần lượt từng cái lệnh sau:
sudo php -r "readfile("https://getcomposer.org/installer");" > composer-thiết lập.phpsuvì chưng php composer-thiết đặt.php --install-dir=binsudo php -r "unlink("composer-thiết đặt.php");"Hoặc chúng ta cũng có thể tải về composer.phar từ https://getcomposer.org/ (nghỉ ngơi cuối trang) tiếp đến duy chuyển nó vào trong thỏng mục bin bởi lệnh
suvày mv composer.phar /usr/local/bin/composer
Composer Trên Windows
Dùng cỗ thiết lập trường đoản cú độngĐây là cách tải dễ dãi độc nhất vô nhị, chúng ta chỉ Việc sở hữu về Composer-Setup.exe cộ tiếp nối cài đặt nhỏng một phần mượt bình thường (lưu giữ trỏ cho php.exe cộ vẫn thiết lập sẵn bên trên laptop đúng chỗ). Composer Installer đã tự động mua cùng thêm vào PATH sẵn cho bạn nhằm chúng ta cũng có thể cần sử dụng lệnh composer trên CMD.Cài Thủ CôngNhư nghỉ ngơi bên trên, các bạn sở hữu về composer.phar từ https://getcomposer.org/ (ở cuối trang) tiếp đến duy gửi nó vào trong thỏng mục bất kỳ bạn có nhu cầu, tại đây tớ ví dụ là C:in nhé.
quý khách hàng sản xuất tập tin mang tên là composer.bat với văn bản nhỏng sau:
echo
php "%~dp0composer.phar" %*>composer.batĐể cần sử dụng được lệnh composer trên CMD bạn phải phải thêm tlỗi mục Composer vào PATH environment variable. Quý khách hàng có thể coi bí quyết tiến hành sau đây hoặc bởi Google
Vào File Exploder, chọn loài chuột yêu cầu vào This PC ⇒ Properties ⇒ Advanced System Settings, nghỉ ngơi cửa sổ Pop-up chọn Envaironment Variables…
Sau kia ở mục System Variables lựa chọn vào mục Path với bấm vào nút Edit
Bnóng vào New sau đó thêm vào C:in (tlỗi mục cài đặt composer nlỗi trên) sau đó bnóng OK cầm là hoàn toàn cùng bây giờ chúng ta cũng có thể mở CMD với đánh vào câu lệnh sau để kiểm tra: composer -v
Hướng dẫn thực hiện Composer
Cách cần sử dụng cơ bản
Có nhì phần đơn nhất để làm chủ dependencies bằng Composer. Trước hết là command line tool của Composer mang lại câu hỏi nắm giữ cùng quản lý những dependencies. Thứ đọng hai là Packagist – Đây là địa điểm lưu trữ những package cơ mà bạn muốn áp dụng.
lúc sử dụng Composer trong tlỗi mục nơi bắt đầu chúng ta gồm một tập tin JSON là composer.json gồm nội dung:
"name": "dinhquochan/my_project", "description": "My New Project", "authors": < "name": "Dinch Quoc Han", "email": "admin
dinhquochan.com" >, "require": "monolog/monolog": "1.12.0" Trong tập thương hiệu trên có những phần nlỗi sau:
Trong ngôi trường phù hợp bên trên mình đã trải nghiệm Monolog, một framework thịnh hành dùng làm logging. Chỉ vị tôi có một file JSON với báo cáo này không Tức là bọn họ áp dụng được có thể thực hiện Monolog. Chúng ta phải vào Terminal tại tlỗi mục ngày nay cùng với câu lệnh:
composer installNó đã gửi tất cả dependencies của dự án vào thư mục có tên vendor với tiến hành các công việc cần thiết khác. Cùng cơ hội đó nó sẽ tạo ra tệp tin composer.loông chồng để biết là composer đã có được thiết lặp trên thỏng mục bản thân sẽ nói điều này sinh hoạt bên dưới. cùng chúng ta hãy bình chọn thử tlỗi mục vendor xem ắt hẳn các thư viện đã có cài đặt về cùng một file autoload.php.
Ngay hôm nay, để áp dụng được những tlỗi viện kia các bạn chỉ viện ckém autoload.php vào tệp tin cần thiết:
require "vendor/autoload.php";Sau kia làm theo hướng dẫn sử dụng của Package đó là kết thúc, ở chỗ này tớ ví dụ monolog nhé:
require "vendor/autoload.php"; use MonologLogger;use MonologHandlerStreamHandler; // create a log channel$log = new Logger("name");$log->pushHandler(new StreamHandler("path/to/your.log", Logger::WARNING)); // add records to lớn the log$log->addWarning("Foo");$log->addError("Bar");
Chỉ định version cho những Package vào Composer
Trong composer.json bên trên chúng ta thấy ta đang áp dụng version 1.12.0 tuy vậy nếu muốn cần sử dụng phiên bạn dạng không giống thì sao? Có 6 cách để xác định version nhưng mà bạn có nhu cầu, hãy mày mò xem:Version RangeBằng bí quyết sử dụng những toán tử so sánh chúng ta cũng có thể lấy version cao hơn nữa, phải chăng rộng hoặc tuân thủ theo đúng một vài các nguyên lý thậm chí còn phức hợp hơn như sử dụng AND cùng OR. Các toán thù tử có thể là >, =, 2.7 tức là ngẫu nhiên version nào trên 2.7. >2.7 Wildthẻ Versions
Bằng biện pháp áp dụng một ký từ đại diện thay mặt, chúng ta có thể xác định một pattern. x.x.* đang bao hàm toàn bộ những version x.x.0 trsinh hoạt lên với trsống xuống (tất nhiên cả x.x, dẫu vậy không bao gồm x.y.0.
lấy một ví dụ 2.3.* vẫn bao gồm tự 2.3.0 trngơi nghỉ lên và trừ 2.4 Nó tương tự với >=2.3.0 Hyphen Ranges
Hyphen Ranges chất nhận được bạn xác định range thuận tiện hơn, tuy vậy bạn sẽ cảm giác hồi hộp rộng một ít vì phương pháp nó cách xử trí các partial version. Full version bao gồm tía số trong trường vừa lòng hyphen ranges thực hiện khá đầy đủ ý nghĩa của nó
2.0.0 – 3.0.0 nghĩa là toàn bộ những version bao hàm 2.0.0 trsinh hoạt lên với bao gồm 3.0.0 trnghỉ ngơi xuống.
2.0 – 3.0 bao hàm ngẫu nhiên version như thế nào đề cập cả hai.0 trngơi nghỉ lên dẫu vậy không bao hàm version 3.1
Lý bởi mang lại hành vi tưởng như kỳ cục này là Phần bên trái vệt gạch men ngang nghĩa là bao hàm, còn phần bên nên trọn vẹn chỉ là 1 trong cam kết tự đại diện. Biểu thức bên trên vẫn tương đương với >=2.1 Tiddle Range
Tiddle Range rất tuyệt vời để đáp ứng các đòi hỏi nhỏ dại tốt nhất đến câu hỏi xác định version cùng đồng ý ngẫu nhiên version làm sao trnghỉ ngơi lên, nhưng lại ko bao hàm bao gồm nó. Nếu chứng thật là ~3.6 thì bạn gật đầu đồng ý các version trường đoản cú 3.6 trsinh hoạt lên tuy nhiên không bao gồm 4.0.
Method này tương đương cùng với >-3.6 Caret Range
Caret Range có nghĩa là gật đầu toàn bộ những phiên bạn dạng hiện thời tính từ nó tuy nhiên không bao hàm phiên bạn dạng lớn hơn. Ví dụ ^3.3.5 chúng ta chấp nhận bất kỳ version như thế nào trsinh sống lên, dẫu vậy ko bao gồm4.0
Dev-MasterVới dev-master chúng ta đang nắm giữ version tiên tiến nhất được phát triển tuy nhiên không được tag với cùng 1 version number ví dụ. Điều này có thể tốt trong khi trở nên tân tiến nhưng mà bạn cần dìm thức được sự tàng ẩn về bugs là cao hơn nữa đối với những version kia
Locking trong Composer
Locking là 1 trong những nhân kiệt bổ ích tốt nhất của Composer. Trước hết ta đang kể đến composer.lochồng. Công việc của chính nó là khóa lại những versions của những components vẫn thực hiện. Loông xã file hoàn toàn có thể chắc hẳn rằng rằng đầy đủ bạn làm việc với các versions kiểu như nhau của những files.
Khi lần thứ nhất sử dụng Composer để lấy một dependency nó đang ghi đúng đắn version vào tệp tin Composer.loông chồng. lấy một ví dụ nlỗi nếu như bạn chứng thật 2.3.* và 2.3.5 là version mới nhất thì version được setup vẫn là 2.3.5 với nó sẽ tiến hành đưa vào trong loông chồng tệp tin.
Giả sử sau một tuần gồm một developer dấn mình vào team của chúng ta. Trong thời hạn này dependency đã có được update lên 2.3.6. Nếu anh ta sử dụng câu lệnh (composer install) thì sẽ thừa nhận được2.3.5 bởi nó đã làm được ghi vào tệp tin loông chồng.
Tất nhiên bạn có thể quyết định việc update những dependencies của bản thân mình. Trong ngôi trường hợp đó, bạn sẽ triển khai lệnh :
composer updateNó vẫn đem những version mới nhất và ghi chúng nó vào file loông xã.
Chụ ý: Không lúc nào chạy lệnh composer update vào môi trường thực tế (production) mà lại hãy soát sổ trên sản phẩm nhằm rời chứng trạng ko tương xứng.
Require-dev
Composer có thể chấp nhận được bạn xác định các dependency mang lại môi trường xung quanh dev. Như vậy được tiến hành bằng cách xác định các dependency của người tiêu dùng vào mảng require-dev vắt bởi mảng require.
"name": "dinhquochan/my_project", "description": "My New Project", "authors": < "name": "Dinh Quoc Han", "email": "admin
dinhquochan.com" >, "require": "monolog/monolog": "1.12.0" , "require-dev" : "fzaninotto/faker", "dev-master" Faker là một thỏng viện tạo nên các tài liệu chủng loại. Như vậy là rất tốt trong khi chúng ta đã dev nhằm demo test cơ mà Lúc sẽ public thành phầm thì này lại ko thực thụ quan trọng. Nếu ước ao vứt bỏ các tận hưởng cải tiến và phát triển, bạn cần thực hiện lệnh install hoặc update cùng với tùy chọn –no-dev
composer install --no-dev
Lời Kết
Composer giúp thiết kế viên giảm sút suy nghĩ về những thỏng viện còn chỉ tập trung vào áp dụng chính của chính bản thân mình. Tiết kiệm không ít thời gian để làm mọi vấn đề khác.Hiện tại, phần lớn các Framework đa số hỗ trợ Composer, như : CodeIgniter, Symfony2, Laravel, FuelPHP…