unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Vendoring

Vendoring #

Pengertian #

Vendoring adalah konsep dalam pengembangan perangkat lunak di mana dependensi atau pustaka eksternal yang digunakan dalam proyek disimpan secara lokal di dalam proyek itu sendiri. Dalam konteks PHP, vendoring memungkinkan pengelolaan pustaka pihak ketiga yang digunakan dalam aplikasi PHP dengan cara yang konsisten dan terisolasi dari sistem global.

Composer #

Composer adalah alat manajemen dependensi utama untuk PHP yang memudahkan pengelolaan pustaka pihak ketiga. Composer memungkinkan Anda untuk mendefinisikan pustaka yang proyek Anda butuhkan dan mengelola (mengunduh, menginstal, memperbarui) pustaka tersebut secara otomatis.

Cara Kerja #

  1. Composer Init: Membuat file composer.json yang mendefinisikan dependensi proyek Anda.
  2. Composer Install: Mengunduh dan menginstal semua dependensi yang didefinisikan dalam composer.json.
  3. Composer Update: Memperbarui semua dependensi ke versi terbaru yang sesuai dengan batasan versi yang didefinisikan.

Langkah-langkah Penggunaan #

  1. Menginstal Composer

    Anda dapat menginstal Composer secara global di sistem Anda atau secara lokal di dalam proyek Anda. Berikut adalah cara menginstal Composer secara lokal:

    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"
    

    Ini akan mengunduh file composer.phar ke direktori saat ini. Anda dapat menjalankan Composer dengan php composer.phar.

  2. Membuat File composer.json

    Anda dapat membuat file composer.json secara manual atau menggunakan perintah composer init:

    php composer.phar init
    

    Contoh composer.json:

    {
        "name": "vendor/project",
        "description": "Deskripsi proyek Anda",
        "require": {
            "monolog/monolog": "^2.0"
        }
    }
    
  3. Menginstal Dependensi

    Setelah composer.json dibuat, jalankan perintah berikut untuk menginstal semua dependensi yang didefinisikan:

    php composer.phar install
    

    Ini akan membuat direktori vendor dan mengunduh semua pustaka ke dalamnya.

  4. Memperbarui Dependensi

    Untuk memperbarui semua dependensi ke versi terbaru yang sesuai dengan batasan versi, jalankan perintah berikut:

    php composer.phar update
    
  5. Menggunakan Dependensi dalam Kode PHP

    Composer menyediakan autoloader yang memudahkan penggunaan pustaka yang diinstal. Anda hanya perlu menyertakan autoloader di awal skrip PHP Anda:

    <?php
    require 'vendor/autoload.php';
    
    use Monolog\Logger;
    use Monolog\Handler\StreamHandler;
    
    // Membuat logger baru
    $log = new Logger('nama_logger');
    $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
    
    // Menambahkan log
    $log->warning('Ini adalah peringatan');
    $log->error('Ini adalah kesalahan');
    ?>
    

Manfaat #

  1. Pengelolaan Dependensi yang Mudah: Composer mengelola pustaka pihak ketiga dengan cara yang terstruktur dan otomatis.
  2. Isolasi Dependensi: Dependensi diinstal secara lokal di dalam proyek, menghindari konflik dengan pustaka lain di sistem.
  3. Pembaruan yang Konsisten: Composer memastikan bahwa semua pengembang bekerja dengan versi pustaka yang sama, mengurangi masalah yang disebabkan oleh perbedaan versi.
  4. Autoloading: Composer menyediakan autoloader yang memudahkan penggunaan kelas-kelas dari pustaka yang diinstal.

Contoh Lanjutan #

  1. Menambahkan Dependensi Baru

    Anda dapat menambahkan dependensi baru ke proyek Anda menggunakan perintah composer require:

    php composer.phar require guzzlehttp/guzzle
    

    Ini akan memperbarui file composer.json dan menginstal pustaka guzzlehttp/guzzle.

  2. Menentukan Versi Pustaka

    Anda dapat menentukan versi pustaka dalam composer.json. Contoh:

    {
        "require": {
            "monolog/monolog": "^2.0",
            "guzzlehttp/guzzle": "6.*"
        }
    }
    

    Ini menginstruksikan Composer untuk menginstal versi 2.x dari monolog/monolog dan versi 6.x dari guzzlehttp/guzzle.

  3. Menjalankan Skrip Composer

    Composer juga memungkinkan Anda untuk mendefinisikan skrip yang dapat dijalankan pada berbagai tahap siklus hidup proyek. Contoh composer.json dengan skrip:

    {
        "scripts": {
            "post-update-cmd": [
                "php artisan clear-compiled",
                "php artisan optimize"
            ]
        }
    }
    

Skrip post-update-cmd akan dijalankan setelah perintah composer update.

Kesimpulan #

Vendoring di PHP, khususnya menggunakan Composer, memberikan cara yang efisien untuk mengelola pustaka pihak ketiga dalam proyek PHP. Composer memungkinkan pengelolaan dependensi yang mudah, isolasi pustaka, dan pembaruan konsisten. Dengan menggunakan Composer, Anda dapat fokus pada pengembangan aplikasi tanpa harus khawatir tentang masalah kompatibilitas dan manajemen pustaka.

« Regex
Multi Threading »