Welcome to Abdul Malik Ikhsan's Blog

Zend Framework 2 : Classmap Generator

Posted in Teknologi, Tutorial PHP, Zend Framework 2 by samsonasik on March 15, 2012

Classmap Autoloader pada Zend Framework 2 adalah High Performance Autoloader. Autoloader ini menggunakan classmap, yang secara sederhana mengasosiasikan array yang berisi classname ke dalam disk yang memuat file class tersebut.

Isi dari classmap Autoloader sebagai berikut ( contoh bisa juga dilihat di tutorial #zf2 yang pertama :

<?php
return array(
    'Test\Controller\AnotherController' => __DIR__ . '/src/Test/Controller/AnotherController.php',
    'Test\Controller\TestController'    => __DIR__ . '/src/Test/Controller/TestController.php',
    'Test\Model\TestModel'              => __DIR__ . '/src/Test/Model/TestModel.php',
);

Nah, kalau class-nya sedikit mungkin tidak ada masalah, namun ketika class nya banyak, apakah kita menulis satu persatu ? tentu tidak bukan ? hehehe. Zend Framework 2 tahu banget kebutuhan developer ( yang lazy 😛 ), makanya dibuatlah classmap generator yang telah ada di folder vendor\ZendFramework\bin jika kita mendownload ZendSkeletonApplication.

Anggaplah kita mempunyai struktur direktori module sebagai berikut :

Nah, si file autoload_classmap kan ada di folder module kita, tinggal kita eksekusi file ../../vendor/ZendFramework/bin/classmap_generator.php seperti berikut :

Abduls-MacBook-Pro:Test abdulmalikikhsan$ php ../../vendor/ZendFramework/bin/classmap_generator.php -w -l ./src/ \ -o ./autoload_classmap.php
Creating class file map for library in '/Users/abdulmalikikhsan/www/ZendSkeletonApplication/module/Test/src'...
Wrote classmap file to '/Users/abdulmalikikhsan/www/ZendSkeletonApplication/module/Test/src/autoload_classmap.php'

Done, dan terbentuklah file hasil generate-nya :

<?php
// Generated by ZF2's ./bin/classmap_generator.php
return array(
    'Test\Controller\AnotherController' => __DIR__ . '/src/Test/Controller/AnotherController.php',
    'Test\Controller\TestController'    => __DIR__ . '/src/Test/Controller/TestController.php',
    'Test\Model\TestModel'              => __DIR__ . '/src/Test/Model/TestModel.php',
);

Referensi :
1. http://akrabat.com/zend-framework-2/using-zendloaderautoloader/
2. http://mwop.net/slides/2012-03-14-Zf2Modules/Zf2Modules.html

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: