yii2 - presentasi yii2 di panadaconf, 1 november 2014
DESCRIPTION
Presentasi Yii2 yang di event Panada Conference, Menara Bank Mega, 1 November 2014TRANSCRIPT
![Page 1: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/1.jpg)
Peter J. Kambey – Yii Enthusiasm
HIGH PERFORMANCE &
BEST FEATURES YII-2
![Page 2: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/2.jpg)
About Me
http://about.me/peterjkambey
Family Office
Community
![Page 3: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/3.jpg)
What’s New Yii-2
Composer
•Easy Installation •Easy Update•Centralize Repo
PSR Compliance•PSR-0 Autoloading Standard •PSR-1 Basic Coding Standard•PSR-2 Coding Style Guide•PSR-3 Logger Interface•PSR-4 Improved Autoloading
PHP 5.4 •namespaces. •Anonymous functions.•Short array syntax.•Short echo tags <?= are used in view files. •SPL classes and interfaces.•Late Static Bindings.•Date and Time.•Traits.•intl.
![Page 4: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/4.jpg)
A. Non Yii Users / New Comers
![Page 5: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/5.jpg)
http://www.yiiframework.com/doc-2.0/guide-index.html
![Page 6: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/6.jpg)
What is Yii
high performance
component-based PHP
![Page 7: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/7.jpg)
What is Yii Best for?
generic Web programming framework
All kinds of Web applications using PHP.
Large-scale applications portals, forums, content management systems
(CMS), e-commerce projects, RESTful Web services, etc
![Page 8: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/8.jpg)
Yii vs Other Frameworks?- MVC (Model-View-Controller)
- Design pattern
- Full-stack framework with ready-to-use features: query builders and ActiveRecord for both relational and NoSQL databases; RESTful API development support; multi-tier caching support; and more.
- Extremely extensible.
- High performance is always a primary goal of Yii.
- Backed up by a strong core developer team, as well as a large community of professionals constantly contributing to Yii's development.
![Page 9: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/9.jpg)
Personal Opinion
RICH
FEATUR
ES
• Model-View-Controller (MVC)
• Security (RBAC/ACL)
• Automatic code generation
FULL OOP
•Inheritance•Extend•Static
EASY INTEG
RATION
•AR/ORM•Mailer•Jquery/Ajax•Bootstrap Twitter•Cache
![Page 10: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/10.jpg)
B. Yii Users
![Page 11: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/11.jpg)
Namespaces
Prefixes no longer used
Based on directory structuree.g. yii\web\Request
![Page 12: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/12.jpg)
Events
onEvent method definition no longer needed
$component->on($eventName, $handler);
![Page 13: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/13.jpg)
Path Alias
Must use @ @yii means Yii installation directory Closely related to class namespaces
![Page 14: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/14.jpg)
View Class
$this in a view no longer means controller or widget object
Smarty and Twig support added Prado support removed
![Page 15: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/15.jpg)
Models
formName() returns the form name (previously hardcoded)
Load() and loadMultiple() added to aid data population
New method: scenarios() to define which fields need to be validated
Safe validators discontinued, scenarios() define which are safe
![Page 16: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/16.jpg)
Controllers
Render() and renderPartial() return content instead of sending it out
One must echo contents now
![Page 17: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/17.jpg)
Widgets
Simplified process Use begin(), end() and widget() instead
of passing strings through beginWidget() and endWidget().
![Page 18: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/18.jpg)
Themes
CThemeManager is gone Path maps ['/web/views' => '/web/themes/basic’] /web/views/site/index.php will be
/web/themes/basic/site/index.php Any view file can have a theme, even if
rendered outside of the context of a controller
![Page 19: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/19.jpg)
Console applications
Controllers Console and web controllers have same
base class Console controller is similar to
CConsoleCommand
![Page 20: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/20.jpg)
Internationalisation (i18n)
Date and number formatter are out PECL intl php module is in I18n application component
![Page 21: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/21.jpg)
ActiveForm
Field: label, input, error message and hint text
![Page 22: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/22.jpg)
Query Builder
CDbCommand, CDbCriteria, CDbCommandBuilder
yii\db\Query|Query = DB yii\db\QueryBuilder|QueryBuilder =
Query
![Page 23: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/23.jpg)
Active Record
yii\db\ActiveRecord|ActiveRecord Relational AR Query 1.1 = relations() 2.0 = getter methods
![Page 24: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/24.jpg)
Active Record
No longer uses model(), but uses the find method:
![Page 25: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/25.jpg)
User and IdentityInterface
CWebuser is now yii\web\User CUserIdentity is no more yii\web\IdentityInterface
![Page 26: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/26.jpg)
URL Management
Optional parameters are now supported
![Page 27: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/27.jpg)
Installing Yii Generating Code with Gii Handling Errors Logging Query Builder Active Record Migrations Sphinx Redis MongoDB ElasticSearch Security Caching RESTful Web Services Development Tools Unit Testing
Yii 2.0 Keys Success
Advanced Application Template Console Commands Core Validators Internationalization Mailing Template Engines Working with Third-Party Code GridView ListView DetailView Pjax Menu LinkPager LinkSorter Bootstrap Widgets Jquery UI Widgets
![Page 28: Yii2 - Presentasi Yii2 di PanadaConf, 1 November 2014](https://reader035.vdocuments.us/reader035/viewer/2022062406/558ced1cd8b42a46028b4640/html5/thumbnails/28.jpg)
THANK YOU