Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Learning Path: Yii 2: Design Applications with PHP
Rating: 3.0 out of 5(66 ratings)
395 students

Learning Path: Yii 2: Design Applications with PHP

Learn to develop Real-world web applications and web services with the new features of Yii 2
Last updated 5/2018
English
English [Auto],

What you'll learn

  • Explore Yii 2 framework and application development using it.
  • Write your applications more efficiently using shortcuts, Yii’s core functionality, and the best practices in Web 2.0.
  • Learn to use Yii 2 with different JavaScript Frameworks and libraries such as WebSockets, Angular, Ember, Backbone, React.
  • Develop a deep understanding of writing RESTful Web Services using Yii 2 and its built-in features.
  • Get data from database, and deal with Active Record, migrations, widgets, and core features.
  • Implement your own Yii extension and make your extension reusable and useful for the community.
  • Gain knowledge on the best technologies, such as Codeception, PHPUnit, Atoum, and Behat.
  • Build attractive user interface for your application with Twitter Bootstrap framework.

Course content

3 sections • 120 lectures • 9h 25m total length
  • The Course Overview4:57

    Discover how the Yii 2 framework enables rapid, maintainable PHP web applications through MVC, active record, routing, forms, security, REST web services, and official extensions.

  • Installing the Framework18:00

    Install the Yii 2 framework via composer, configure the database, and explore basic vs. advanced templates, the dependency injection container, and external code such as Zend Framework and Symfony.

  • Dependency Injection Container6:57

    Explore how a dependency injection container enables low-coupling design by injecting abstractions into high-level code. Build a shopping cart using a storage interface and session storage wired by the container.

  • Service Locator4:13
  • Code Generation5:26

    Generate code with g to scaffold models, controllers, and CRUD views from a film table, then configure the database, run the server, and review automatically created relations and rules.

  • Configuring Components2:51
  • Working with Events5:19

    Explore how Yii 2 events work: trigger active record after insert to notify followers when a new article is saved, using custom events and email notifications.

  • Using External Code8:32

    Learn to integrate external code in Yii 2 by installing libraries with composer or manually, configure autoloading and aliases, and use PSR standards to manage components with the composer autoloader.

  • Configuring URL Rules4:48
  • Generating URLs4:58
  • Using Regular Expressions in URL Rules3:24

    Learn to use regular expressions in URL rules with the euro router, create apps with the composer package manager, and configure Apache mod_rewrite and .htaccess for parameter rules and 404s.

  • Using a base controller2:34

    Learn how to implement a base controller in Yii 2, extend it with derived controllers, and enforce login-based access using an action map.

  • Using Standalone Actions4:01

    Learn to use standalone actions in Yii 2 to modularize CRUD operations. Create separate create, delete, index, and view actions as classes and connect them to controllers.

  • Creating a Custom Filter2:39

    Learn to create a custom filter in Yii 2 that runs before and after actions, applying pre and post logic for access control and content compression, with time-based examples.

  • Displaying Static Pages2:15
  • Using Flash Messages3:05

    Learn to use flash messages in Yii 2 to show success or error notices after form edits or redirects. Messages are stored in the session and cleared after display.

  • Using the Controller Context in a View1:26

    Use the controller context within a view in Yii 2 to access the current controller's methods and properties, such as the page title, and explore rendering partials and widgets.

  • Reusing Views with Partials3:03
  • Using Blocks2:03

    Learn how to use blocks in Yii 2 to define layout regions, record and render reusable view output with begin block and block from the controller, and conditionally display blocks.

  • Using Decorators1:40

    Decorate view output by wrapping content in a decorator template, automatically using the main layout via the render method, and pass extra variables to the decorator for dynamic formatting.

  • Defining Multiple Layouts2:31
  • Pagination and Sorting Data3:17
  • Getting Data from a Database4:52
  • Defining and Using Multiple DB Connections5:12
  • Customizing the ActiveQuery Class3:44

    Customize the active query class by default, override the active record find method to return your customized query, and generate a post query class when creating the model.

  • Processing Model Fields with AR Event-like Methods2:47

    Process model fields with AR event-like methods in Yii 2 PHP. Preprocess fields before saving or retrieving, using a regex and the parent Active Record implementation.

  • Automating Timestamps3:21
  • Setting Up an Author Automatically4:03

    Enable blameable behavior in Yii 2 to automatically populate created_by and updated_by on model creation and updates. Apply it to a blog_post model and test population of created_by and updated_by.

  • Setting Up a Slug Automatically4:39

    Set up automatic slugs for blog posts by configuring models and routes with the sluggable behavior to create immutable, unique, user-friendly, search engine friendly urls.

  • Transactions2:59
  • Replication and Read-write Splitting2:56

    Configure master-slave replication in Yii 2 to route writes to the master and reads to slaves, with load balancing and failover between replicas.

  • Implementing Single-table Inheritance3:50
  • Writing your Own Validators3:07

    Write and use ad hoc validators in yii 2 by creating a standalone validator, applying it to an article model, and validating success and failure with the validation controller.

  • Uploading Files4:04

    Learn to upload files in Yii 2 by building a zip-only uploader with a form, model, and controller, validating with a zip-only file validator and storing in uploads.

  • Adding and Customizing CaptchaWidget4:13

    Add and customize a captcha widget in Yii 2 PHP, creating a model, controller, and view to generate and validate a verification code and protect against spam.

  • Customizing Captcha2:15

    Customize captcha by replacing text with an arithmetic expression puzzle that uses a random number between 1 and 10, rendering the expression and validating the user's answer to deter spam.

  • Creating a Custom Input Widget2:31

    Create a custom range input widget in Yii 2, including widget, controller, model, and view, and enforce first value is less than or equal to second with bootstrap wrappers.

  • Tabular Input4:40

    Learn to handle tabular input by using model load multiple and validate multiple to save and validate a contest and its prizes in a single form.

  • Complex Forms with Multiple Models3:36

    Learn how to collect user input with multiple models in a single complex form, linking user, order, and product data, and validate the submission.

  • AJAX Validation2:35

    Validate a Yii 2 form with ajax, performing server-side checks for unique company names or emails, and return validation errors in JSON without leaving the page.

  • Authentication3:48

    Learn how to implement authentication in Yii 2, set up a database-backed login, create a user table and migrations, store password hashes, and extend the user model with identifying interface.

  • Using Controller Filters5:37
  • Preventing XSS4:03

    Learn to prevent xss in Yii 2 by escaping dynamic data with the Html helper and HTML purifier, and understand non-persistent and persistent injections to securely encode outputs.

  • Preventing SQL injections4:48

    Prevent sql injections in Yii 2 by replacing vulnerable code with prepared statements and parameter binding. Learn how input filtering, white-listing, and secure active record usage defend against attacks.

  • Preventing CSRF5:35

    Learn to prevent CSRF in Yii 2 by implementing unique form tokens, generating and verifying them, and ensuring form submissions originate from the same application using get and post correctly.

  • Using RBAC6:35

    Explore rbac in yii 2 by modeling a hierarchical graph of roles, permissions, and rules, and validate access with console commands, migrations, and permission tests.

  • Encrypting/Decrypting Data3:34

    Learn to encrypt and decrypt data in a Yii 2 PHP app using the framework's security component, active record events, and key derivation for secure storage.

  • Creating a REST Server7:28

    Learn to build a rest server in Yii 2 by creating a minimal restful API for films with an active controller, migrations, and content negotiation.

  • Authenticating REST APIs1:42

    Set up the authentication model and a new Yii 2 REST app with composer, enabling HTTP basic authentication for endpoints and testing with 401 and 200 responses.

  • Rate Limiting4:34

    Implement api rate limiting in yii 2 by capping user requests to five per minute and returning too many requests with rate limit headers.

  • Versioning3:13

    Learn how to version a Yii 2 API using module-based versions V-1 and V-2, enabling two delivery paths via URL prefix or HTTP headers, with independent controllers for each version.

  • Error Handling1:33

    Learn to customize the default error response format in Yii 2 by including a time stamp and a success flag, and test with console commands that yield a 404 error.

  • Authentication Client4:32

    Learn to authenticate a client in Yii 2 by installing the official OpenID and OAuth extension, registering an application, obtaining a client id and secret, and configuring the web setup.

  • SwiftMailer E-mail Library6:08
  • Faker Fixture Data Generator3:42
  • Imagine Library2:15
  • MongoDB Driver6:52

Requirements

  • Basic knowledge of PHP 5.0 and Yii Framework.

Description

Are you a PHP developer working on Yii framework? Do you want explore the new features of Yii 2 for creating fast-paced, secured web 2.0 based applications? If yes, this Learning Path is for you.

Yii is a high-performance, component-based PHP framework for rapidly developing modern web applications. The name Yii can be considered as the acronym for Yes It Is!. Yii 2 inherits the main spirit behind Yii for being a simple, fast, highly-extensible PHP framework.

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that video builds on the skills learned in the video before it.

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. Next, you’ll learn to write RESTful Web Services using Yii 2. Further, 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 be introduced to Git and its most used commands to work smoothly in a distributed team. You’ll also learn to develop customized and reliable web applications along with making these applications responsive using Twitter Bootstrap framework. Finally, you’ll learn to secure your applications by 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.

About the Authors:

For this course, we have combined the best works of these esteemed authors:

Alexander Makarov is an experienced engineer from Russia and has been an Yii framework core team member since 2010. Before joining the Yii core team, he participated in the growth of the CodeIgniter community in Russia. . He has been a technical reviewer for books on Yii as well.

Dmitry Eliseev has been a web developer since 2008 and specializes in server-side programming on the PHP and PHP frameworks. Since 2012, he has authorized his personal blog, about web development in general and about the Yii framework in particular. His blog has become a well-known resource in the Russian Yii community.

Andrew Bogdanov is a seasoned web developer from Yekaterinburg, Russia with more than six years of experience in industrial development. Since 2010 he has been interested in the Yii and MVC frameworks. He has worked on various CMS and frameworks using PHP and MySQL, including Yii, Kohana, Symphony, Joomla, WordPress, CakePHP, and so on. He is very good in slicing and frontend, so he can provide full information about the Yii framework.

Vitalii Tron has about 7 years of experience in programming and he has been developing Yii-based applications for 4 years. He graduated from the Sumy State University in the Mechanical-Mathematics School of Computer Science department. He also successfully finished post-graduate courses at the same department. Vitalii has amazing job history at Elance, where his clients have left delighted feedback about his work.

Who this course is for:

  • This Learning Path is for PHP developers who want to use the new features of Yii 2 to develop modern web applications. Also, people who have already worked on the Yii 1 version framework and want to migrate to Yii 2 will find this Learning Path useful.