Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Manajemen Paket Mudah dengan Komposer

by
Difficulty:IntermediateLength:ShortLanguages:

Indonesian (Bahasa Indonesia) translation by ⚡ Rova Rindrata (you can also view the original English article)

Mari kita hadapi: PHP telah memiliki sejarah berbatu dengan manajemen paket, dan sebagai hasilnya, sangat jarang menemukan pengembang yang secara aktif menggunakan sistem seperti PEAR. Sebagai gantinya, sebagian besar pengembang telah memilih kerangka favorit mereka, yang memiliki kode yang secara khusus ditulis untuk menangani berbagai hal, seperti interaksi DB, ORM, OAuth, integrasi Amazon S3, dll.

Kelemahannya di sini, bagaimanapun, adalah bahwa berpindah framework (atau tidak lagi menggunakan framework sama sekali) dapat menjadi mimpi buruk, karena melibatkan pembelajaran ulang segala sesuatunya untuk menggunakan alat baru - dan itu bukanlah tugas yang mudah. Nah, Composer bisa memperbaikinya!


Pengenalan

"Perekat di antara semua proyek."

Composer menetapkan untuk memecahkan situasi ini dengan memposisikan dirinya sebagai "perekat di antara semua proyek" - yang berarti bahwa paket dapat ditulis, dikembangkan dan dibagi dalam format yang dapat dihubungkan oleh pengembang lain ke aplikasi lain dengan mudah.

Artikel ini menjelaskan bagaimana cara menginstal dan bekerja dengan paket Composer. Pada akhir artikel ini, Anda dapat plug dan play dengan potongan kode dalam framework apapun, apakah Anda bekerja dengan CodeIgniterFuelPHPLaravelSymfony2LithiumYiiZend... atau yang lainnya.


Langkah 1 - Menginstal Composer

Composer memiliki dua bagian logis utama: ada repositori yang menyimpan paket, dan kemudian ada aplikasi baris perintah, yang membantu Anda menemukan, mendownload, memperbarui dan berbagi kode.

Menginstal aplikasi pada sesuatu yang berasa Unix itu mudah:

Semudah itu! Anda sekarang akan memiliki file composer.phar yang tercantum dalam proyek Anda, yang berisi semua logika untuk utilitas baris perintah.Anda dapat mengonfirmasi bahwa ia telah diinstal dengan menjalankan: Anda sekarang akan memiliki file composer.phar yang tercantum dalam proyek Anda, yang berisi semua logika untuk utilitas baris perintah.

Anda dapat mengonfirmasi bahwa ia telah diinstal dengan menjalankan:

Perintah ini akan mengungkapkan semua perintah yang tersedia.

Pilihan pribadi saya adalah menjalankan perintah tambahan:

Ini memindahkan file ke tempat sampah Anda, yang memungkinkan Anda mengakses semua perintah dengan contoh yang jauh lebih pendek:

Jika Anda menjalankan Windows, Anda bisa mendownload file ini, dan menjalankannya melalui interpreter PHP - dimanapun yang mungkin diinstal.


Langkah 2 - Memahami composer.json

Jika Anda adalah pengembang Ruby, Anda mungkin akan terbiasa dengan Gemfile. Atau, pengembang Node akan mengetahui tentang package.json. Demikian pula, Composer menggunakan file composer.json untuk menentukan pengaturan dan persyaratan paket untuk aplikasi Anda.

Dalam bentuknya yang paling dasar, file komposer akan terlihat seperti ini:

Ini akan membutuhkan paket "Assetic", dibuat oleh "kriswallsmith", dan akan memerlukan versi apapun. Untuk menentukan versi tertentu, Anda bisa menggunakan:

Anda bahkan bisa menggabungkan kedua pendekatan tersebut, seperti:

Ini akan memungkinkan pembaruan kecil agar disertakan secara otomatis, namun tidak ditingkatkan ke 1.1.0, karena mungkin ada beberapa perubahan antarmuka yang perlu diperhatikan pengembang.


Langkah 3 - Persyaratan Instalasi

Sekarang Anda memiliki satu atau beberapa paket yang tercantum dalam composer.json Anda, Anda dapat menjalankan:

$ php composer.phar install...Atau, jika Anda telah menggunakan trik saya untuk mempersingkatnya pada mesin Unix (lihat di atas):

Anda sekarang akan melihat file yang didownload dan dimasukkan ke folder vendors/ baru di dalam root aplikasi Anda. Logika ini bisa diubah, dengan menggunakan opsi konfigurasi berikut:


Langkah 4 - Autoloading

Autoloading di PHP telah sedikit berantakan untuk beberapa waktu.

Autoloading di PHP telah sedikit berantakan untuk beberapa waktu, karena setiap pengembang memiliki cara penanganannya sendiri. Beberapa paket, seperti Smarty, menggunakan autoloading mereka sendiri, beberapa pengembang menempatkan beberapa kelas menjadi satu file atau memiliki nama file dengan nama lebih lower-case - semuanya sangat acak.

PSR-0 adalah standar, dibuat oleh PHP Standards Group, untuk menenangkan kekacauan ini; Composer akan bekerja dengannya secara default. Composer dibundel dengan autoloader PSR-0, yang dapat Anda sertakan dalam proyek Anda hanya dengan satu baris:

Jelas, jika Anda mengubah direktori vendor, Anda harus memperbaruinya.

Anda sekarang dapat menggunakan kode di aplikasi Anda:

Ini adalah contoh Assetic yang sedang digunakan. Ya, ada banyak kode namespace di sana, tapi ini dilakukan untuk menghindari konflik antar paket. Konvensi penamaan untuk PSR-0 pada dasarnya adalah:

Contoh lain mungkin paket Buzz HTTP, yang terlihat seperti ini:

Itu mungkin terlihat seperti file_get_contents() yang dimuliakan, namun ia menangani semua jenis logika cerdas di latar belakang karena bekerja dengan Respons/Permintaan HTTP - dan Anda dapat melihat sintaks namespace sedikit kurang kuat.


Langkah 5 - Dunia Nyata

Jika Anda ingin benar-benar pintar, Anda bisa mengotomatisasi keseluruhan proses.

Saat ini, sebagian besar proyek menyimpan semua dependensi PHP di repositori kode utama; jadi, jika Anda menggunakan SDK Facebook, misalnya, Anda cukup memasukkan versi itu ke kode Anda dengan menyalin-menempelkan kode dari GitHub atau mengekstrak file ZIP. Kemudian, Anda menambahkannya ke sistem versi Anda dan mendorong perubahannya.

Versi itu kemudian duduk dengan kode Anda sebagai file statis, yang, pada titik tertentu, mungkin Anda ingat atau mungkin tidak ingat untuk meningkatkan versi - JIKA Anda melihat bahwa Facebook telah merilis versi yang diperbarui. Versi baru dari file berjalan di atas dan Anda mendorong perubahan baru itu juga.

Anda dapat menggunakan Composer agar tidak perlu memperhatikan versinya, dan hanya menjalankan pembaruan, dan melakukan semua perubahan. Tapi mengapa ada banyak kode di repositori Anda yang tidak perlu Anda miliki di sana?

Solusi paling rapi adalah menambahkan vendors/ ke daftar "Ignore" Anda (misalnya: .gitignore) dan jauhkan kode Anda dari sana sepenuhnya. Saat Anda menyebarkan kode ke host Anda, Anda bisa menjalankan composer install atau composer update.

Jika Anda ingin benar-benar pintar, Anda dapat mengotomatisasi keseluruhan prosesnya, jadi jika Anda memiliki hosting di cloud, Anda dapat mengatur hook untuk menjalankan composer install segera setelah kode baru Anda didorong!


Ringkasan

Anda akan mulai melihat lebih banyak Composer ke depannya, karena berbagai framework PHP telah mulai menyediakan berbagai tingkat integrasi; FuelPHP akan dibangun sebagai paket Composer, CodeIgniter akan mendukung autoloading, dan Symfony2 sudah menggunakannya secara ekstensif.

Composer adalah cara terbaik untuk menambahkan dependensi ke proyek Anda tanpa perlu memasang ekstensi PECL atau menyalin dan menempelkan sekumpulan file. Cara melakukan hal-hal sangat ketinggalan jaman, dan membutuhkan terlalu banyak waktu pengembang.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.