- Bagaimana component bekerja
- Event
- Apa yang dipilih? Object atau Component?
- Konfigurasi component secara global
- Logging: problema dan solusi
- Kustomisasi halaman 404
- Penanganan error dan exception
- Memahami error stack trace
- URLs with variable number of parameters
- Outputting JSON and XML
- Using Google fonts as assets
- Managing cookies
- Using WYSIWYG
- AJAX???
- Handling incoming third party POST requests
- Enable pretty URLs
- Pagination with pretty URLs
- Adding SEO tags
- Canonical URLs
- Using redirects
- Using slugs
- Handling trailing slash in URLs
- Using and customizing captcha
- Working with ActiveForm via JavaScript
- Uploading files
- Custom validator for multiple attributes
- Pendekatan yang aman untuk menjelaskan password
- SQL injection
- XSS
- RBAC
- CSRF
- Backend dan frontend via module
- Pemprosesan Asset dengan Grunt
- Pemprosesan Asset dengan Gulp
- Menggunakan Fungsi Global
- Pemprosesan Teks
- Implementing typed collections
- MVC
- SOLID
- Dependencies
- Pemakaian ulang view via partial
- Memakai blocks
- Memakai decorator
- When to use Widgets and when not to
- Switching themes dynamically
- Post-processing response
- Has and belongs to many
- Using SQL and noSQL at the same time
- Saving related models
- Single table inheritance
- General best practices
- Selecting application language
- Using IDs as translation source
- Necessary production setup
- Speeding up sessions
- Implementing backgroud tasks (cronjobs)
- Menjalankan Yii pada HHVM
- Caching
- Configuring a Yii2 Application for an Autoscaling Stack
- Using Yii in third party apps
- Using third party code with Yii
- Making your life easier (XDebug, debug toolbar, gii)
- IDE autocompletion for custom components
- Using custom migration template