O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Yii 2: Application Development for PHP Developers

Video Description

Unlock the new features of Yii 2

In Detail

Yii 2 will ease your way of development with some added features and shortcuts that help you build robust feature-rich websites and web applications.

This Learning Path begins with installing Yii 2 framework, learning about application templates, dependency injection container, and model events. Then, you’ll learn to use your external code along with updating your existing Yii 1 applications to Yii 2. Also, you’ll be familiar with some main methods for working with databases in Yii 2, such as Active Record, Query Builder, and direct SQL queries through DAO. You’ll also learn to write RESTful Web Services using Yii 2. Next, you’ll learn to deploy and test your applications securely with introduction to some best technologies, such as Codeception, PHPUnit, Atoum, and Behat. As the Learning Path progresses, you’ll learn to develop customized and reliable web applications. You’ll also learn to make responsive websites using Twitter Bootstrap framework included in Yii 2. Finally, you’ll learn to secure your applications with encrypting and decrypting data using Yii 2 components.

By the end of this Learning Path, you will have a deep understanding of the new and advanced features and concepts introduced in Yii 2 framework and application development practices using it.

Prerequisites: Basic knowledge of PHP and Yii framework.

Resources: Code downloads and errata:

  • Yii2 Application Development Solutions – Volume 1

  • Yii2 Application Development Solutions – Volume 2

  • Mastering Yii 2

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Yii2 Application Development Solutions – Volume 1 (4h 08m)

  • Yii2 Application Development Solutions – Volume 2 (3h 09m)

  • Mastering Yii 2 (2h 17m)

  • Table of Contents

    1. Chapter 1 : Yii2 Application Development Solutions – Volume 1
      1. The Course Overview 00:05:41
      2. Installing the Framework 00:18:00
      3. Dependency Injection Container 00:06:58
      4. Service Locator 00:04:13
      5. Code Generation 00:05:27
      6. Configuring Components 00:02:52
      7. Working with Events 00:05:19
      8. Using External Code 00:08:33
      9. Configuring URL Rules 00:04:49
      10. Generating URLs 00:04:59
      11. Using Regular Expressions in URL Rules 00:03:24
      12. Using a base controller 00:02:35
      13. Using Standalone Actions 00:04:01
      14. Creating a Custom Filter 00:02:39
      15. Displaying Static Pages 00:02:15
      16. Using Flash Messages 00:03:05
      17. Using the Controller Context in a View 00:01:26
      18. Reusing Views with Partials 00:03:03
      19. Using Blocks 00:02:04
      20. Using Decorators 00:01:40
      21. Defining Multiple Layouts 00:02:31
      22. Pagination and Sorting Data 00:03:18
      23. Getting Data from a Database 00:04:53
      24. Defining and Using Multiple DB Connections 00:05:13
      25. Customizing the ActiveQuery Class 00:03:45
      26. Processing Model Fields with AR Event-like Methods 00:02:47
      27. Automating Timestamps 00:03:22
      28. Setting Up an Author Automatically 00:04:04
      29. Setting Up a Slug Automatically 00:04:39
      30. Transactions 00:03:00
      31. Replication and Read-write Splitting 00:02:57
      32. Implementing Single-table Inheritance 00:03:50
      33. Writing your Own Validators 00:03:07
      34. Uploading Files 00:04:05
      35. Adding and Customizing CaptchaWidget 00:04:13
      36. Customizing Captcha 00:02:16
      37. Creating a Custom Input Widget 00:02:31
      38. Tabular Input 00:04:40
      39. Conditional Validation 00:01:44
      40. Complex Forms with Multiple Models 00:03:37
      41. AJAX-dependent Drop-down List 00:03:02
      42. AJAX Validation 00:02:35
      43. Creating a Custom Client-Side Validation 00:03:27
      44. Authentication 00:03:48
      45. Using Controller Filters 00:05:37
      46. Preventing XSS 00:04:04
      47. Preventing SQL injections 00:04:49
      48. Preventing CSRF 00:05:36
      49. Using RBAC 00:06:36
      50. Encrypting/Decrypting Data 00:03:34
      51. Creating a REST Server 00:07:29
      52. Authenticating REST APIs 00:01:42
      53. Rate Limiting 00:04:35
      54. Versioning 00:03:13
      55. Error Handling 00:01:34
      56. Authentication Client 00:04:33
      57. SwiftMailer E-mail Library 00:06:09
      58. Faker Fixture Data Generator 00:03:42
      59. Imagine Library 00:02:15
      60. MongoDB Driver 00:06:52
    2. Chapter 2 : Yii2 Application Development Solutions – Volume 2
      1. The Course Overview 00:07:34
      2. ElasticSearch Engine Adapter 00:03:54
      3. Gii Code Generator 00:05:47
      4. PJax jQuery Plugin 00:04:13
      5. Redis Database Driver 00:03:11
      6. Creating Helpers 00:02:40
      7. Creating Model Behaviors 00:05:57
      8. Creating Components 00:05:44
      9. Creating Reusable Controller Actions 00:04:19
      10. Creating Reusable Controllers 00:02:25
      11. Creating a Widget 00:01:58
      12. Creating CLI Commands 00:03:12
      13. Creating Filters 00:02:53
      14. Creating Modules 00:02:50
      15. Creating a Custom View Renderer 00:03:15
      16. Creating a Multilanguage Application 00:05:56
      17. Making Extensions Distribution-Ready 00:06:49
      18. Following Best Practices 00:05:50
      19. Speeding Up Session Handling 00:05:09
      20. Using Cache Dependencies and Chains 00:05:43
      21. Profiling an Application with Yii 00:04:30
      22. Leveraging HTTP Caching 00:05:18
      23. Combining and Minimizing Assets 00:04:44
      24. Running Yii2 on HHVM 00:05:13
      25. Changing the Yii Directory Layout 00:03:49
      26. Moving an Application Webroot 00:02:09
      27. Changing an Advanced Application Template 00:02:14
      28. Moving Configuration Parts into Separate 00:02:10
      29. Using Multiple Configurations to Simplify the Deployment 00:05:06
      30. Implementing and Executing Cron Jobs 00:03:37
      31. Maintenance Mode 00:02:36
      32. Deployment Tools 00:05:30
      33. Testing Application with Codeception 00:15:36
      34. Unit Testing with PHPUnit 00:08:03
      35. Unit Testing with Atoum 00:05:00
      36. Unit Testing with Behat 00:04:12
      37. Using Different Log Routes 00:06:53
      38. Analyzing the Yii Error Stack Trace 00:02:59
      39. Logging and Using the Context Information 00:02:55
      40. Displaying Custom Errors 00:03:44
      41. Custom Panel for Debug Extension 00:03:39
    3. Chapter 3 : Mastering Yii 2
      1. The Course Overview 00:03:32
      2. Introduction to Git 00:05:17
      3. Learning the Most Used Commands in Git 00:05:57
      4. Auto-deploying with Bitbucket Hooks to Your VPS 00:06:16
      5. Combining Highload with Twitter Bootstrap Framework 00:07:51
      6. Adding Bootstrap Components to Highload 00:05:52
      7. Using Bootstrap JavaScript Features in Highload 00:04:31
      8. Implementing RBAC in Highload 00:08:04
      9. Adding Security on Form Submission in Highload 00:06:31
      10. Working with Passwords Correctly in Highload 00:05:49
      11. Improving Performance in Highload 00:07:43
      12. Fragmenting, Page Caching, and HTTP Caching 00:07:02
      13. Combining and Compressing JavaScript and CSS Files 00:06:28
      14. Changing Highload Session Storage to the Database 00:06:20
      15. Using Memcached for Session Storage 00:03:51
      16. Learning to Use Redis for Session Storage in Highload 00:04:38
      17. Using Sphinx with Yii 2 00:06:46
      18. Understanding Elasticsearch for Yii 2 00:06:23
      19. Learning to Use MongoDB with Yii 2 00:06:16
      20. Installing and Configuring the Test Components 00:09:08
      21. Discussing Unit Testing 00:06:22
      22. Learning Functional Testing 00:06:19