Banyak programmer pemula biasanya kesulitan membedakan antara abstract class dan interface. Apa perbedaan antara abstract class dan interface? Kapan kita harus menggunakan abstract class dan kapan harus menggunakan interface? Continue Reading →
Banyak programmer pemula biasanya kesulitan membedakan antara abstract class dan interface. Apa perbedaan antara abstract class dan interface? Kapan kita harus menggunakan abstract class dan kapan harus menggunakan interface? Continue Reading →
PHP merupakan bahasa pemrograman yang memulai memanjat sebagai bahasa yang bisa digunakan untuk membuat Enterprise Application. Mulai PHP5 (PHP versi 5) konsep Object Oriented Programming telah ditingkatkan cukup banyak. Benarkah PHP siap menjadi Enterprise Language? Saya tidak menjawab ya atau tidak, tetapi keberadaan application framework semacam Zend, Yii, Symfony, Prado dan Openbiz paling tidak telah dipersiapkan untuk menjawab tantangan itu.
Tetapi ada sebuah hal yang cukup menggangu bagi pengembang dalam menggunakan PHP untuk membangun Enterprise Application, yaitu namespace. Sebuah Enterprise Application akan membutuhkan banyak kode sehingga membutuhkan pengorganisasian kode yang baik. Aplikasi akan terdiri dari banyak class, dimana class-class ini perlu dikelompokkan menjadi beberapa package. Sangat mungkin sebuah package berasal dari pihak ke tiga. Nah fungsi namespace adalah untuk mengidentifikasikan package-package supaya tidak terjadi benturan nama class yang disebabkan struktur aplikasi yang skala besar. (Untuk memahami konsep Namespace lebih lanjut, Anda dapat membaca bukunya Robert C. Martin, ‘Agile Software Development. Principles, Patterns, and Practice‘ yang diterbitkan Prentice Hall, 2003.)
Continue Reading →
Pada informasi release Zend Framework versi 1.10.2 disebutkan bahwa ke depan (versi 2.0), Zend Framework akan menghilangkan require_once. Apakah penghilangan ini karena alasan performa ataukah karena penggunaan namespace?
Jauh sebelum keputusan ini dilakukan, Yii Framework sudah melakukan hal yang sama. Dalam Yii, pustaka dimuat saat pertama kali dibutuhkan dengan memanfaatkan fitur autoload. Yii mengganti require_once dengan Yii::import(), dimana Yii::import() ini tidak benar-benar memuat pustaka, melainkan hanya mendaftarkan pustaka yang ada dalam variable Yii::$_classes[]. Kemudian Yii::$_classes[] akan dimanfaatkan oleh Yii::autoload() yang sebelumnya sudah didaftarkan dengan fungsi spl_autoload_register(). Continue Reading →