Apa itu namespace ? bisa di bilang menurut ane namespace itu di gunain buat mendefinisikan sebuah file php, atau namespace juga bisa digunakan untuk me-manage tata letak dan nama dalam sebuah file php, jika kebiasan kita hanya membuat sebuah file berextensi php lalu kita hanya membuat sebuah syntak di dalam file itu tanpa menamai dan mendefinisikan file itu ada di tempat mana dan apa nama tempate file itu?, nah menarik bukan, oleh karena itu namespace di lahirkan.
Namesapce bisa di katakan suatu cara untuk membungkus sebuah items dan membuat file menjadi terstruktur dan rapi menurut ane, karena banyak framework-framework php menggunkana namespace di setiap filenya, contohnya framework laravel, ane tahu namespace dan keguaan nya dari framework laravel.
Ini contoh sederhana penerapan namespace :
Lalu di artikel ini ane tidak akan membahas namespace dari dasar, tapi ane di sini bakalan memberitahukan cara penggunakan namespace dan autoload + composer, gimana gan menarik kan ? kenapa ane memberitahukan hal seperti itu, karena penggunaan namesapce dan autoload + composer sudah banyak digunakan dalam syntak php khususnya framework-framework terkenal seperti laravel.
Langsung saya ke prakteknya gan,, sebelum lanjut ke pengajaran kita siapkan dulu mesin tempurnya gan
- sebuah komputer/laptop yang udah terinstal Xampp/Lampp
- composer yang sudah terinstal dan bisa di pakai, jika belum terinstall maka langsung ke sini gan => how to install composer
Jika peralatan sudah tersedia maka langsung saja, disni ane pake ubuntu linux, jadi jika ada perintah-perintah yang tidak tersedia di window maka sesuaikan ya gan heheh
buat folder dengan nama bebas di sini saya memberi nama kun-learning
mkdir kun-learning && cd kun-learning
buat file composer.json dengan mengetik perintah :
composer init
lalu akan di minta mengisikan config composer.json yang ada inginkan, tapi jika masih bingung maka tekan enter-enter aja oke hehe. lalu jika berhasil maka akan tergenerate sebuah file composer.json yang terlihat seperti ini :Lalu jika sudah tergenerate maka kita buat sebuah folder bernama src
mkdir src && cd src
Nantinya di dalam folder src menjadi tempat untuk file-file codingan kita gan, file-file itu akan memiliki namaspace masing-masing, lalu file-file itu kita akan panggil menggunakan use, kenapa use karena file-file itu sudah menggunakan namespace, oke lanjut
buat file bernama Kin.php di dalam folder src
touch Kin.php &&
Jika sudah dibuat maka isi Kin.php dengan syntak :
lalu setelah itu,, kita buat autoloadnya menggunakan composer gan, kembali ke root direktori agan
cd ../
Lalu edit file composer.json menjadi seperti ini:
Nah bisa dilihat di file composer.json kita menambahkan autoload.
sedikit penjelasan tentang apa yang di tulis di dalam autoload itu
- psr-4 : itu adalah singkatan PHP Standards Recommendations, disini kita menggunakan psr-4
- lalu ada syntak "Kun\\": "src/", bisa dibilang itu mendefinisakan bahwa semua file yang ada di dalam folder src memiliki namesapce Kun, jadi penamaanya akan disiplin dan termanage kalo menurut ane hehe
Lalu selanjutnya adalah mengetik composer update di terminal :
composer update
lalu composer akan menggenerate folder vendor yang isinya adalah folder composer, lalu coba agan buka file vendor/composer/autoload_psr4.php, lalu isinya kurang lebih akan seperti ini :
Didalam file itu adalah setingan autoload yang di generate oleh composer, lalu selanjutnya jika kita sudah membuat autoloadnya maka kita tinggal panggil classnya menggunakan use,
Oke segera buat file index.php
touch index.php
lalu isi index.php dengan syntak seperti ini :
Nah lalu buka http://{doamin-localhost}/kun-learning
Lalu jika berhasil maka outputnya akan keluar, dan selamat agan berhasil mengimplementasikan namespace dengan autoload horee.
Nah itu sedikit cara penggunaan namespace di php, sangat berguna bukan,, menurut ane sangat berguna khusunya dalam hal me-manage file-file..
Nah sekian tutorial dari saya, Terima kasih
See you on next tutorial ..
2 komentar:
Write komentarmakasih gan infonya, nambah ilmu
BalasHapusThanks Gan infonya,sering2 update ya gan
BalasHapusImron Tutorial