Sejak mengimplementasikan PSR4 akhirnya author bisa mendaftarkan puko framework ke
packagist. Dengan tujuan agar PHP yang dibuat dapat di-install melalui
composer secara global dengan perintah
composer create-project velliz/puko projectname.
Nah sebetulnya apa sih itu packagist, composer dan PSR4? bagaimana caranya supaya kamu bisa mendaftarkan library/framework yang kamu punya kesana? oke mari kita bahas satu-persatu.
1. PSR-4
Jaman sekarang teknologi makin canggih, PHP akhirnya mengimplementasikan OOP (Object Oriented Programming) nah, PSR4 diciptakan sebagai aturan standarisasi
'meload-object'. dengan PSR4 kode berupa library/framework PHP akan dibungkus kedalam source/src yang kalau diperhatikan itu jadi mirip sistem package dalam bahasa pemrograman Java.
Nah gampang kan? jadi secara teknis sebenernya ujung-ujungnya kamu bakal nemu yang namanya
include 'file.php'; tapi dibikin ribet karena aturan standarisasi
'meload-object' di PSR4
. Ketika kamu google-ing diluar sana, kamu mungkin menemukan beberapa kode berbeda yang membahas tentang PSR4 ini namun sebenernya tujuannya sama yaitu penataan folder dan
include 'file.php'; pada ujungnya.
Nah sebetulnya kamu bisa 'skip' semua itu dengan menggunakan
'Composer'.
2. Composer
Seperti yang saya bahas kalo PHP jadi mirip sistem package dalam bahasa pemrograman Java. Composer hadir sebagai package manager untuk si PHP ini. Jadi composer juga menangani
'meload-object'. Dengan composer kamu bisa menggunakan library lain dengan sistem plug and play.
Menggunakan composer cukup sederhana karena composer hanya membutuhkan 1 file .json untuk menuliskan konfigurasi. berikut contoh file composer.json dari puko:
{
"name": "velliz/puko",
"description": "PSR 4 MVC Framework for quick and fast PHP application development",
"license": "MIT",
"require": {
"puko/framework": "1.0.3"
},
"require-dev": {
"puko/framework": "1.0.3"
},
"autoload": {
"psr-4": {
"controller\\": "controller/",
"model\\": "model/",
"config\\": "config/"
}
}
}
nah dapat dilihat bahwa composer memiliki autoload PSR-4. dengan aturan jika sebuah kelas menggunakan namespace controller maka direktori yang dicari adalah controller/ begitupun dengan model dan config. jadi kamu tidak perlu menulis kode apapun untuk mengadopsi PSR-4 apalagi menulis
include 'file.php'; jika memanfaatkan Composer.
3. Packagist
Packagist sederhananya adalah layanan online yang menghosting kode PHP yang kamu buat secara gratis, tentunya kode kamu harus terpackage dengan composer terlebih dahulu. Untuk memulai kamu harus registrasi di https://packagist.org/ setelah itu memilih 'Submit'
Perlu diperhatikan bahwa kode harus ter-host sebagai git repository agar Packgist bisa mengambil kode-nya. Anda bisa menggunakan pilihan GitHub/Svn/Hg untuk repository. Setelah selesai kode anda secara otomatis akan tersedia secara global dan
composer create-project packagename projectname bisa di excecute dan meng-installnya melalui Composer dari PC manapun.
Kesimpulan
- PSR4 mendefinisikan aturan agar kode PHP terbungkus menjadi package.
- Composer mengatur package-package agar bisa di plug-and play.
- Packagist adalah layanan hosting package agar developer diseluruh dunia bisa saling berbagi package.
Komentar
Posting Komentar