Saat tulisan ini saya buat, Yii menempati urutan pertama dalam kategori “10 Hot PHP Frameworks dan 10 Ranking PHP Frameworks” berdasarkan hasil voting di phpframeworks.com. Jadi saya rasa dari sekian banyak framework PHP yang populer dikalangan PHP Developer, Yii adalah hal yang wajib untuk dibahas.
Yii termasuk framework open-source untuk pengembangan aplikasi web yang ditulis dalam PHP5 yang berkembang dengan pesat. Yii mampu merampingkan pengembangan aplikasi dan membantu untuk memastikan hasil akhir menjadi sangat efisien, extensible, dan tentu saja maintainable. Yii adalah pilihan yang sempurna untuk setiap proyek skala kecil ataupun besar. Kinerja untukl Yii bisa dibilang sangat mengesankan jika dibandingkan dengan framework berbasis PHP lainnya. Untuk menjalankan Yii, anda tentunya memerlukan Web Server yang mendukung PHP 5.1.0.
Yii merupakan framework PHP yang berbasis komponen yang menyediakan reusability maksimum atau dapat dipakai berulang kali sehingga mampu meningkatkan kecepatan pengembangan secara signifikan. Yii menggunakan arsitektur MVC atau Model View Controller, yang dibuat secara terpisah agar saat bisa dengan mudah mengakses aplikasi yang dibuat. Fungsi Model adalah untuk menyajikan data dan aturan kerja, di mana View sebagai pengaturan tampilan, sedangkan Controller sebagai pengendali antara Model dan View. Pada dasarnya, Yii sangat mudah jika kita paham konsep OOP, cukup dengan klik sana sini, apalagi jquery juga sudah bundle jadi satu.
Yii sendiri adalah singkatan dari “Yes It Is!” yang dikembangkan oleh seorang programmer berkebangsaan China bernama Qiang Xue pada 2008. Sebelumnya, dia juga telah mengembangkan framework PHP bernama Prado. Jadi tidak heran jika banyak teknik-teknik yang dipakai pada Prado ada pada Yii. Framework luar seperti Ruby On Rails juga diadopsi untuk mekanisme ORM nya. Selain itu, jQuery, Symfony, dan Joomla juga dimasukkan ke dalam credits website resmi Yii framework.
Berikut bebrapa fitur unggulan dari Yii framework
- Model-View-Controller (MVC) design pattern. Yii adopts the proven MVC architecture, which allows for clean separation of concerns (SoC).
- Database Access Objects (DAO), Query Builder, Active Record, DB Migration. Yii allows developers to model database data in terms of objects and avoid the tedium and complexity of writing repetitive SQL statements.
- Form input and validation. Yii makes collecting form input extremely easy and safe. It comes with a set of validators as well as numerous helper methods and widgets to simplify the task for form input and validation.
- AJAX-enabled widgets. Integrated with jQuery, Yii comes with a set of AJAX-enabled widgets, such as auto-complete input field, treeview, data grid, which enables writing highly efficient and versatile user interface extremely simple.
- Authentication and authorization. Yii has built-in authentication support. It also supports authorization via hierarchical role-based access control (RBAC).
- Skinning and theming. Yii implements a skinning and theming mechanism that allows you to quickly switch the outlook of a Yii-power website.
- Web services. Yii supports automatic generation of complex WSDL service specifications and management of Web service request handling.
- Internationalization (I18N) and localization (L10N). Yii supports message translation, date and time formatting, number formatting, and interface localization.
- Layered caching scheme. Yii supports data caching, page caching, fragment caching and dynamic content. The storage medium of caching can be changed easily without touching the application code.
- Error handling and logging. Errors are handled and presented more nicely, and log messages can be categorized, filtered and routed to different destinations.
- Security. Yii is equipped with many security measures to help prevent your Web applications from attacks such as SQL injection, cross-site scripting (XSS), cross-site request forgery (CSRF), and cookie tampering.
- Unit and functionality testing. Yii provides support for writing and running unit tests as well as functionality tests, based on PHPUnit and Selenium.
- Automatic code generation. Yii provides a set of intuitive and highly extensible code generation tools that can help you quickly generate the code you need for features such as form input, CRUD.
- Friendly with third-party code. Yii is carefully designed to work well with third-party code. For example, you can use code from PEAR or Zend Framework in your Yii application.
- Detailed documentation. Every single method or property is clearly documented. A book and comprehensive tutorials are also available for you to systematically learn Yii.
- Extension library. Yii provides an extension library consisting of user-contributed components. This makes the above feature list never ending.
Referensi:
- http://www.yiiframework.com/about
- http://www.yiiframework.com/features
- http://www.phpframeworks.com/top-10-php-frameworks
Kayaknya keren juga ya, oh iya kalau di yii ada Blade Templating kaya di Laravel gak?