
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.
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.
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.
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.
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.
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.
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.
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.
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.
Learn how to collect user input with multiple models in a single complex form, linking user, order, and product data, and validate the submission.
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.
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.
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.
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.
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.
Explore the pjax jquery plugin to load content via ajax within widgets, using the HTML5 history API and render partial content with ajax updates and unique widget IDs.
Create a Yii 2 model behavior for soft delete and restore, with test-driven development. Attach the behavior to the post model and verify markdown to HTML processing via unit tests.
Create and attach reusable Yii 2 components to an application, fetch currency rates via http json from fixer.io, and override core components for customization.
Create reusable controllers to centralize common code and clear temporary directories, flash cache data, and asset caches, via the controller map in web.php and runtime path settings.
Create a reusable Yii 2 widget to render a pie chart using the Google Charts API, configurable by title, dataset, and data labels.
Create a Yii 2 modules log viewer, configure log paths, build log directory and models, and set up a controller to render log entries in a grid view.
Learn how to configure Yii 2 for maximum performance by enabling cache components, schema caching, and production settings, while applying best practices for responsive applications and efficient database usage.
Learn to apply full page cache with dependency chaining in Yii 2, using DP and tag dependencies to refresh on article updates, while preserving performance with minimal code changes.
Learn how to implement full page caching in Yii 2 using last-modified and e-tag headers, enabling 200 and not modified responses to optimize page delivery.
Move application webroot by placing files in the root or a subdirectory, rename the web directory to public_html, with the app automatically setting webroot alias paths from the entry script.
Use multiple configurations to simplify deployments with an advanced configuration system in yii 2 php templates, merging common and application properties from separate config files and managing environments.
Explore testing a Yii 2 application with Codeception, PHPUnit, and related tools, covering unit, functional, and acceptance tests, along with migrations, fixtures, code coverage, and API testing.
Learn unit testing with atoum in PHP by building a shopping cart extension, configuring composer, and implementing a storage interface for isolated tests.
Configure and use different log routes to route messages by level and category, including email for errors, a stack trace, file and database targets, and profiling for debugging.
Learn to design a custom panel for the Yii 2 debug extension in PHP, including creating the panel, views, and toolbar configuration, with data handling and error logging.
Discover how to add bootstrap components to a high-load web page, including icons, button groups, and labels, and customize colors and sizes for responsive design.
Learn to embed Bootstrap JavaScript features, including modal windows and popovers, into a home page using a few lines of code and data-toggle and data-target attributes.
Learn how to move sessions and cache storage to a database in a Yii 2 PHP app, enabling shared, scalable storage for high-load front-end servers.
Learn how to use Redis for session and cache storage in a high-load Yii 2 PHP application, including installation with composer, configuration of cache and session components, and performance considerations.
Learn how to use Sphinx for fast full text search in a Yii 2 app, install two components, index a post table, and perform quick searches that reduce database load.
Learn to implement full text search with MongoDB storage in a Yii 2 app, replacing elastic search, configure MongoDB components, update the post model, load data, and test fast search.
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.