introduction to yii framework
DESCRIPTION
A brief description of Yii Framework, features, comparison with other frameworks and why to choose.TRANSCRIPT
Why Yii?
Presenter: Naincy GuptaMindfire Solutions
Introduction
Architecture
Technologies
Features of Yii
Comparison with other PHP Frameworks
Why to choose?
Agenda
IntroductionYII is a framework for creating Web applications using PHP 5 (or greater).
High-performance framework and good for developing Web applications.
YII Framework is best because it is based on DRY (Don't repeat
yourself) design pattern that is why is called fast application
development framework.
YII is designed from the beginning to fit for serious Web
application development.
YII is a pure OOP framework.
Architecture
Architecture Flow:
1.) Pre-initialize the application with CApplication::preinit();2.) Set up class autoloader and error handling3.) Register core application components4.) Load application configuration5.) Initialize the application
- Register application behaviours- Load static application components
6.) Raise on Begin Request event7.) Process the user request
- Resolve the user request- Create controller- Run controller
Technologies
YII built with help of Qiang Xue made use of severa; other web technologies to enhance power of YII Qiang Xue used.
PRADO is major source in development of YII
YII referenced its implementation of the active recprd design pattern for its ORM layer.
Joomla and Symphony were also used in development in YII
jQuery is integrated in YII
Features of YIIGreat Integration with industry standards CSS and JS frameworks like jQuery, BootStrap, etc. Made it easy to create modern responsive designs.
YII also hepls in maintaining the application design as recommended by YII, which helps in maintaining application security.
Migration utility provide great control over Database changes, will help us to upgrade / downgrade application version on differnt installations.
Large collection of widgets and third party components.
Custom Theme Management
YII caching support is very handy with high traffic websites
Unit Testing Frameworks
- PHP5 MVC - Powerful Cache- Nice API - RBAC, auth framework- Migrations - Console- Form Builder - Error Handler, Log- Themes - GII- Test Framework - Widgets- Well documented - Friendly community
Comparison with other
Frameworks
Features YII Laravel Symphony2 CI
Version 1.1.14 4.1.24 2.4 2.1.4
Requirement >= PHP 5.1.0 >= 5.3.7 with mcrypt ext.
>=PHP5.3.2 >= PHP 5.1.6
Cache Storage APC, MemCache, XCache, ZendPlatform
File System, Database, Memcached, APC, Redis, Xcache, WinCache, Memory
APC,eAccelerator,XCache
File, apc, memcached, xcache
Testing Library PHPUnit, Selenium
PHPUNIT PHPUNIT PHPUnit (In development)
Security XSS, Xsrf, Sql Injection
XSS, Xsrf, Sql Injection
XSS, Xsrf, Sql Injection
XSS, Xsrf, Sql Injection
Template System
PHP and Prado's - Others using Ext. (Razor, Smarty, Twig, etc)
Blade, PHP, Custom
PHP, Twig PHP, Simple template parser "{var_name}"
Logging Management
Yes Yes PSR-3 compliant
Why to Choose??When we choose any Framework for development then what we want:
- development should be staright forward- Not do complex stuff for web apps- Easy Learning and easy to debug and fix.- Less configuration- As simple API possible
Here, answer is YII.
Yii has all these features and many more benefits that we already discussed. Some more benefits are:- Easy to customize the application as per customers requirements.
- Provides great command line tool that help us create complicated CRON jobs.
- Data Cache and Performance
Questions??Mail me your questions at [email protected]
Thank you