Files: 796b6192fec63c720b54c2f3a0666e07f3207553 / _tips / pengenalan-composer.md
layout: tips title: PHP: Pengenalan kepada Composer author: kamalmustafa date: 2015-02-05 level: 2 summary: >
Penerangan ringkas tentang penggunaan Composer dalam aplikasi PHP.
Composer adalah tools untuk mendapatkan dependencies bagi projek PHP anda. Sebelum Composer, jika anda ingin menggunakan sebarang library luar, anda perlu download ia terlebih dahulu, unzip (jika dalam bentuk archive), dan kemudian copy ke folder projek anda. Bagaimana pula jika library tersebut turut bergantung kepada library lain ? Ulang semula proses sebelum ini.
Terlebih dahulu anda perlu install composer
. Ia boleh dilakukan melalui command berikut:-
curl -sS https://getcomposer.org/installer | php
Anda akan mendapat output seperti berikut:-
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: /home/kamal/php/myshop/composer.phar
Use it: php composer.phar
Seterusnya, untuk men'download' library yang anda inginkan, bina fail bernama composer.json
seperti berikut:-
{
"require": {
"swiftmailer/swiftmailer": "5.3.1"
}
}
Kemudian, jalankan arahan berikut:-
php composer.phar install
Anda akan mendapat output lebih kurang seperti berikut apabila selesai:-
<a href="http://imgur.com/tVjCE09"><img src="http://i.imgur.com/tVjCE09.png" title="source: imgur.com" /></a>
<div class="admonition-info">
Perhatikan satu folder baru bernama <code>vendor</code> dibina. Ia akan mengandungi kesemua code yang di'download' melalui <code>composer</code>.
</div>
<div> </div>
Setelah composer
selesai download, anda boleh mula menggunakan library tersebut dalam script PHP anda dengan hanya menambah baris berikut:-
<?php
require 'vendor/autoload.php';
Contohnya, bina fail baru bernama mail.php
seperti berikut:-
<?php
require 'vendor/autoload.php';
$transport = Swift_SmtpTransport::newInstance('127.0.0.1', 25);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Wonderful Subject')
->setFrom(array('john@doe.com' => 'John Doe'))
->setTo(array('kamal-test@mailinator.com'))
->setBody('Here is the message itself')
;
$result = $mailer->send($message);
Dan anda boleh jalankannya melalui php mail.php
dan email akan dihantar.
Built with git-ssb-web