1 Pengenalan
Komposer ialah alat pengurusan pergantungan untuk PHP . Ia membolehkan anda mengisytiharkan perpustakaan kod yang bergantung kepada projek anda dan ia akan memasangnya untuk anda dalam projek anda.
2. Keperluan sistem
PHP 5.3.2 atau ke atas diperlukan untuk menjalankan Komposer.
Komposer adalah berbilang platform, ia boleh dijalankan pada platform Windows, Linux dan OSX pada masa yang sama.
3. Pasang (ubuntu)
curl -sS https://getcomposer.org/installer | php mv composer.phar mv composer.phar /usr/local/bin/composer
Nota: Jika curl tidak dipasang, anda boleh memasangnya melalui arahan berikut
apt-get update apt-get install curl
Selepas Komposer anda dipasang, Anda boleh menggunakan arahan berikut untuk menyemak sama ada pemasangan berjaya
composer -v
Nota Jika kaedah di atas gagal atas sebab tertentu, anda juga boleh memuat turun pemasang melalui php:
php -r "readfile('https://getcomposer.org/installer');" | php
Ini akan menyemak Beberapa tetapan PHP, kemudian memuat turun composer.phar
ke direktori kerja anda. Ini ialah binari Komposer. Ini ialah pakej PHAR (Arkib PHP), iaitu format arkib PHP yang membantu pengguna melaksanakan beberapa operasi pada baris arahan.
Anda boleh menentukan direktori pemasangan Komposer melalui pilihan --install-dir
(ia boleh menjadi laluan mutlak atau relatif)
4 Dengan Komposer, anda hanya memerlukan fail
. Fail ini mengandungi kebergantungan projek dan metadata lain.composer.json
Mula-mula buat fail
composer.json
{ "require": { "monolog/monolog": "1.13.*" } }dalam direktori projek anda (iaitu, direktori di mana
terletak). composer.json
install
composer install, anda juga boleh memasang pakej bergantung dengan memanggil pakej
. Windows
composer.phar
php composer.phar installuntuk memasukkan pemasangan automatik Selepas pemasangan selesai, fail
akan dijana, yang mengandungi nombor versi tertentu Fail ini perlu diserahkan kepada pengurusan versi dengan composer install
Masuk ke dalam. composer.lock
composer.json
Akhir sekali, apabila anda perlu mengemas kini pakej kebergantungan, anda boleh menggunakan arahan berikut
composer update5. Pemuatan automatik
composer update monolog/monolog
Untuk maklumat automuat perpustakaan, Komposer menjana fail
. Anda boleh memperkenalkannya dalam fail kemasukan projek andavendor/autoload.php
<?php require __DIR__ . '/vendor/autoload.php'; ?>6. Imej Penuh Pembungkus / Komposer China
<?php require __DIR__ . '/vendor/autoload.php'; $log = new Monolog\Logger('name'); $log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING)); $log->addWarning('Foo'); ?>
Disebabkan masalah dinding, imej Komposer asing sering gagal berfungsi dengan baik
, jadi disyorkan untuk menggunakan imej domestik. Penggunaannya adalah seperti berikutinstall
Terdapat dua cara untuk mendayakan perkhidmatan cermin ini:
- Tambah maklumat konfigurasi pada fail composer.json projek. Untuk butiran, lihat "Kaedah 2"
- Kaedah 1: Ubah suai fail konfigurasi global komposer
composer config -g repo.packagist composer https://packagist.phpcomposer.comfail konfigurasi projek semasa:
composer.json
Buka tetingkap baris arahan (pengguna tetingkap) atau konsol (pengguna Linux, Mac) dan masukkan direktori Root projek anda (iaitu, direktori di mana fail
composer.json
composer config repo.packagist composer https://packagist.phpcomposer.comfail dalam projek semasa (anda juga boleh menambahkannya secara manual):
composer.json
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
Selain membantu anda memasang. pakej pergantungan yang diperlukan, Komposer juga boleh memuatkan ruang nama secara automatik Fungsi memuatkan ruang nama, apabila perpustakaan fungsi dan perpustakaan kelas yang kita tulis sendiri perlu dimuatkan secara automatik, kita boleh menggunakan
untuk mencapainya. Ia serupa dengan dalam php Malah, jika anda melihat kod sumber dalam Komposer, anda akan melihat bahawa fungsi pemuatan automatiknya juga menggunakan fungsi composer.json
. "Untuk butiran, sila lihat artikel ini untuk pengenalan terperinci" spl_autoload_register()
spl_autoload_register()
Kami menambah kod berikut dalam
{ "autoload": { "psr-4": { "Test\\": "test/", "Testtwo\\": "testtwo/" } } }
这个配置文件中有一个 autoload 段,其中有个 《PSR-4》,psr-4 是一个基于 psr-4 规则的类库自动加载对应关系,只要在其后的对象中,以 ”命名空间“: “路径” 的方式写入自己的类库信息修改完成后,之后,在执行下列命令,即可完成自动加载。
composer dumpautoload
注:"psr-4": {"Test\\": "test/"}
中的 "test/" 路径为相对于composer.json
的路径
这个时候,你就可以调用你自己编写的函数库或者类库了
<?php require __DIR__ . '/vendor/autoload.php'; $testClass = new \Test\Testclass(); ?>
注:本文内容参考了《Composer 中文网》,后续还会更新 Composer 其它的实用功能