Sebagai seorang yang sudah berpengalaman dengan pemrogramman PHP, pasti sudah tidak asing lagi dengan syntax inlcude untuk memasukkan syntax dari file lain ke file yang sedang aktif. Syntax include akan meyertakan dan mengevaluasi seluruh baris code yang ada di file yang disertakan. Contoh penggunaan include dapat dilihat pada syntax berikut :
Mobil.php class Mobil{ public function __construct(){ echo "Class ".__CLASS__.""; } public function getMerk(){ echo "Avanza"; } }autoloader.php
include "Mobil.php"; $avanza = new Mobil(); $avanza->getMerk();
Pada file Mobil.php, kita membuat 1 buah class yaitu Class Mobil. pada class Mobil, terdapat constructor() yang akan dijalankan pada saat class diinstansiasi. Selanjutnya terdapat method getMerk() yang berfungsi untuk menampilkan tulisan 'Avanza'.
Pada file autoloader.php, terdapat syntax include untuk memasukkan file Mobil.php. Ini merupakan cara lama agar kita dapat membuat object dari class Mobil yang berada pada file Mobil.php. Selanjutnya kita dapat memanggil method yang dimiliki oleh class Mobil. Jika dijalankan pada browser, hasilnya adalah sebagai berikut:
Nah.. seperti yang kita lihat, syntax tersebut akan menghasilkan output Class Mobil dan Avanza.
Pada file autoloader.php, terdapat syntax include untuk memasukkan file Mobil.php. Ini merupakan cara lama agar kita dapat membuat object dari class Mobil yang berada pada file Mobil.php. Selanjutnya kita dapat memanggil method yang dimiliki oleh class Mobil. Jika dijalankan pada browser, hasilnya adalah sebagai berikut:
output autoloader.php |
Cara ini masih digunakan sampai sekarang. Tapi sebenernya cara seperti ini kurang efektif jika kita memiliki 50 bahkan sampai 100 class. Apakah kita akan meng-include semua class tersebut??
Saat ini sudah terdapat fitu baru pada PHP yaitu autoloader. Dengan fitur ini, kita tidak perlu menulis inlcude untuk setiap file PHP yang akan dimasukkan ke file.
Untuk menggunakan autoloader, kita menggunakan fungsi spl_auto_load_register(). Fungsi ini menerima parameter fungsi yang memiliki sebuah parameter $class yang berisi nama class yang akan dipanggil. Di dalam fungsi ini, kita melakukan include ke class yang diinginkan. Penggunaan syntax autoloader dapat dilihat pada contoh berikut ini.
spl_autoload_register(); $avanza = new Mobil(); $avanza->getMerk();
pada syntax diatas, kita menghapus code inlcude dan menambahkan syntax:
spl_autoload_register();
syntax diatas berfungsi untuk melakukan include setiap kali kita menginstansiasi class (new class()). Jadi ketika kita memanggil new Mobil(). Secara otomatis, file Mobil.php akan ter-include pada file ini. Jika dijalankan, hasilnya akan sama dengan syntax menggunakan include.
Penggunaan autoloader ini dapat disesuaikan dengan kebutuhan kita. Misalnya kita menyimpan file pada folder Kendaraan maka syntaxnya akan berubah menjadi:
spl_autoload_register( function ($class){ include 'nama_folder/'.$class.'.php'; });
0 comments:
Post a Comment