Tapi beruntung sekali terdapat sebuah library yang memberikan support untuk php yang meng extend class reflection dari php. Library dapat di download di http://code.google.com/p/addendum/.
Library Addendum tersebut memberikan support kepada php yang mana menambahkan fungsi dari comment menjadi menjadi fungsi annotation. Sehingga class / method / property dapat memiki annotation layak nya bahasa pemrograman lain.
Cara penggunaan library ini juga sangat mudah , library tinggal di include ke source code, gunakan comment sebagai annotation, dan kita siap memecah - mecah class dan mengambil meta data yang terdapat pada annotation.
Misalkan kita memiliki class AdminResource seperti berikut :
/**
* @Secure("admin")
*/
class AdminResource{}kemudian kita ekstrak meta data dari class tersebut dengan :
require_once(dirname(__FILE__).'/annotations.php');
require_once(dirname(__FILE__).'/AdminResource.php');
// buat descripsi anotasi dengan nama Secure
class Secure extends Annotation {}
// instantiate class AdminResource
$resources = new AdminResource();
// instantiate class ReflectionAnnotatedClass
$annotatedReflection = new ReflectionAnnotatedClass($resources);
// ReflectionAnnotatedClass merupakan turunan dari ReflectionClass,
// sehingga memiliki akses ke semua method dari ReflectionClass
echo $annotatedReflection->getName() .
" is accessible for : " .
$annotatedReflection->getAnnotation('Secure')->value;
Keluaran dari code tersebut adalah : AdminResource is accessible for : AdminNah, annotasi tersebut juga dapat di deklarasikan pada method ataupun property dari class. Dengan penggunaan library ini, tentu sangat memudahkan programmer PHP untuk menciptakan sebuah program yang lebih rapi dan lebih mudah dibaca.
Dengan annotasi ini, PHP juga dapat di transformasi sehingga memiliki kemampuan serupa dengan Spring framework pada java. Termasuk juga dependency injection dapat juga di clone pada php. Di tulisan saya selanjut nya, akan saya gabungkan Codeigniter dan Annotation tersebut sehingga dapat melindungi resource dalam implementasinya bersama dengan ACL.
Have fun !
nice pak...
ReplyDeleteI appreciate that you produced this wonderful article to help us get more knowledge about this topic.
ReplyDeleteI know, it is not an easy task to write such a big article in one day, I've tried that and I've failed. But, here you are, trying the big task and finishing it off and getting good comments and ratings. That is one hell of a job done!
Selenium training in bangalore
Selenium training in Chennai
Selenium training in Bangalore
Selenium training in Pune
Selenium Online training
Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
ReplyDeletePython Online training
python Course institute in Chennai
Python Course institute in Bangalore
The Blogs are more useful to get an knowledge about Python Languages. To learn more Visit here
ReplyDeletepython training in chennai | python training in annanagar | python training in omr | python training in porur | python training in tambaram | python training in velachery
Informative post indeed, I’ve being in and out reading posts regularly and I see alot of engaging people sharing things and majority of the shared information is very valuable and so, here’s my fine read.
ReplyDeleteDevOps Training | Certification in Chennai | DevOps Training | Certification in anna nagar | DevOps Training | Certification in omr | DevOps Training | Certification in porur | DevOps Training | Certification in tambaram | DevOps Training | Certification in velachery
Greetings. I know this is somewhat off-topic, but I was wondering if you knew where I could get a captcha plugin for my comment form?thanks lot!!
ReplyDeleteandroid training in chennai
android online training in chennai
android training in bangalore
android training in hyderabad
android Training in coimbatore
android training
android online training