2. 2
Agenda
• About me.
• Introducing Yii Framework.
• Yii features and components.
• Suggested tools.
• Start-up new application.
• About Test Driven Development.
• A blog example.
3. 3
Agenda
• About me.
• Introducing Yii Framework.
• Yii features and components.
• Suggested tools.
• Start-up new application.
• About Test Driven Development.
• A blog example.
4. 4
About me
• Simone Gentili aka demo or
sensorario.
• Php developer since Php3.
• Freelance since 2009.
• Yii developer since 2010.
• Symfony2 developer since 2011.
5. 5
Agenda
• About me.
• Introducing Yii Framework.
• Yii features and components.
• Suggested tools.
• Start-up new application.
• About Test Driven Development.
• A blog example.
8. 8
Why Yii?
• Yii is rapid!
• Secure!
• Extensible!
• Easy to learn!
• Symply works!
9. 9
Agenda
• About me.
• Introducing Yii Framework.
• Yii features and components.
• Suggested tools.
• Start-up new application.
• About Test Driven Development.
• A blog example.
10. 10
Yii features and components
• MVC.
• ActiveRecord and QueryBuilder.
• Form.
• Ajax-Enabled widgets.
• Authentication and authorization.
• Skinning and theming.
• Web services.
• Internationalization and localization.
11. 11
Yii features and components
• Caching data.
• Error handling and logging.
• Security.
• Unit and functional tests.
• Code generator.
• Friendly with third party code.
• Documentation.
• Extension library.
12. 12
Agenda
• About me.
• Introducing Yii Framework.
• Yii features and components.
• Suggested tools.
• Start-up new application.
• About Test Driven Development.
• A blog example.
18. 18
Agenda
• About me.
• Introducing Yii Framework.
• Yii features and components.
• Suggested tools.
• Start-up new application.
• About Test Driven Development.
• A blog example.
19. 19
Start-up new applications
• Download from yiiframework.com.
• Cloning yii from github.com.
• Applications with composer.
41. 41
Agenda
• About me.
• Introducing Yii Framework.
• Yii features and components.
• Suggested tools.
• Start-up new application.
• About Test Driven Development.
• A blog example.
42. 42
RedRed
[one or more[one or more
test fails]test fails]
Refactor code / write new tests
Fix functional code
Refactor code
[unbroken tests]
GreenGreen
[all test passes[all test passes
| no one fails]| no one fails]
TDD Approach
43. 43
Agenda
• About me.
• Introducing Yii Framework.
• Yii features and components.
• Suggested tools.
• Start-up new application.
• About Test Driven Development.
• A blog example.
44. 44
A blog example
• Create table.
• Enable db component.
• Enable Gii.
• Change CMenu widget.
• Create model with Gii.
• Generate CRUD for Post model.
• Try generated CRUD.
• Some tricks.
45. 45
A blog example
• Create table.
• Enable db component.
• Enable Gii.
• Change CMenu widget.
• Create model with Gii.
• Generate CRUD for Post model.
• Try generated CRUD.
• Some tricks.
47. 47
A blog example
• Create table.
• Enable db component.
• Enable Gii.
• Change CMenu widget.
• Create model with Gii.
• Generate CRUD for Post model.
• Try generated CRUD.
• Some tricks.
49. 49
A blog example
• Create table.
• Enable db component.
• Enable Gii.
• Change CMenu widget.
• Create model with Gii.
• Generate CRUD for Post model.
• Try generated CRUD.
• Some tricks.
51. 51
A blog example
• Create table.
• Enable db component.
• Enable Gii.
• Change CMenu widget.
• Create model with Gii.
• Generate CRUD for Post model.
• Try generated CRUD.
• Some tricks.
53. 53
A blog example
• Create table.
• Enable db component.
• Enable Gii.
• Change CMenu widget.
• Create model with Gii.
• Generate CRUD for Post model.
• Try generated CRUD.
• Some tricks.
56. 56
A blog example
• Create table.
• Enable db component.
• Enable Gii.
• Change CMenu widget.
• Create model with Gii.
• Generate CRUD for Post model.
• Try generated CRUD.
• Some tricks.
59. 59
A blog example
• Create table.
• Enable db component.
• Enable Gii.
• Change CMenu widget.
• Create model with Gii.
• Generate CRUD for Post model.
• Try generated CRUD.
• Some tricks.
63. 63
A blog example
• Create table.
• Enable db component.
• Enable Gii.
• Change CMenu widget.
• Create model with Gii.
• Generate CRUD for Post model.
• Try generated CRUD.
• Some tricks.