Mastering Yii 2
3.6 (26 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
171 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Mastering Yii 2 to your Wishlist.

Add to Wishlist

Mastering Yii 2

Leverage the incredible potential of Yii to build heavyweight web applications swiftly
3.6 (26 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
171 students enrolled
Created by Packt Publishing
Last updated 11/2015
Curiosity Sale
Current price: $10 Original price: $95 Discount: 89% off
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Employ a remote repository to work smoothly in a distributed team.
  • Build an attractive user interface for your application with Twitter Bootstrap framework
  • Boost the security and reliability of your application using Yii2 components
  • Learn to encrypt and decrypt data effortlessly to improve the dependability of your application.
  • Avoid traffic on your server by implementing caching.
  • Explore various storage techniques of session data including the database, Memcached and Redis.
  • Embed full text search into your site and find the desired data in a flash
  • Make your application robust by testing it with Codeception
View Curriculum
  • This course will help you to channel your knowledge of PHP and MySQL to create high-power web applications.

Yii is a generic component-based PHP Web programming framework. In addition to being object-oriented, it also features the MVC design pattern. It is a high-performance framework and is used to develop heavy duty web applications quickly. With the rise in the dependability of the Internet, the influx of the users to our websites keeps swelling on a daily basis. Yii is just the right framework to help us cope with this heavy load.

Mastering Yii2 will guide you through rapidly building a sophisticated, secure, and flexible web application. This comprehensive guide will help you to develop and enhance this web application by focusing on a new aspect in every video.

We start by showing you how to set up our version control system using Git so that we can work effortlessly in a distributed team. We will then make our website more responsive using the Twitter Bootstrap framework and then enhance then its security. Then we will store our session data in different storage systems such as the database, Memcached and Redis, and analyze which storage best suits our needs. We will then walk you through step by step adding a full text search using Sphinx, ElasticSearch, and MongoDB NoSQL storage to find the desired data swiftly. Finally, we will take you through making our application robust by testing it with Codeception.

By the end of this course, you’ll be an ace at developing heavily loaded web applications using Yii 2.

About The Author

Vitalii Tron has about 7 years’ 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 is the target audience?
  • If you’re a web developer who is comfortable with the basics of the Yii framework and the development environment, then this course is perfect for you to sharpen your skills with Yii.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
22 Lectures
Git Version Control System
4 Lectures 21:01

This video will offer an overview of the course.

Preview 03:31

It’s very difficult to maintain the latest version of the work when we work in a team. Using Git and Bitbucket, we will learn how to achieve this and much more.

Introduction to Git

Knowing how to use Git properly is very important. Let’s learn about the most frequently used commands in a normal workflow.

Learning the Most Used Commands in Git

Frequent updates of your live server take a lot of time in the long run. We can solve this problem with Bitbucket Hooks and a bit of magic and your server will be updated immediately with further no effort.

Auto-deploying with Bitbucket Hooks to Your VPS
Twitter Bootstrap
3 Lectures 18:14

It takes a lot of time to develop responsive and fancy page designs. The Twitter Bootstrap framework makes this job easy.

Preview 07:51

It is a difficult task to create good components on a page. However, you can use predeveloped Twitter Bootstrap components to make your pages more stylish.

Adding Bootstrap Components to Highload

To add dynamic features to your page, you need to know JavaScript very well and test your page carefully. However, when we use the Twitter Bootstrap JavaScript plugins, it takes a few minutes to get things done.

Using Bootstrap JavaScript Features in Highload
Security Moments and Access Permissions
3 Lectures 20:24

We can’t imagine complex web applications without a reliable access control system. With the Yii 2 framework components, we can develop reliable and clear access control systems easily.

Preview 08:04

Often, users need to submit some data to an application using forms. We should sanitize this data to prevent our web application from being hacked. Follow these steps to get things done.

Adding Security on Form Submission in Highload

Encryption and decryption algorithms are often used in complex websites. A lot of users trust significant data on websites. One way to keep our data secure is to encrypt and decrypt it when needed

Working with Passwords Correctly in Highload
3 Lectures 21:12

Often, a web application generates the same data even if it is a time consuming operation. This may slow down our high loaded web application overload the server. However, cache features help us a lot to avoid the regeneration of the same data. We can do this easily with the help of the Yii 2 framework features.

Preview 07:43

In web development, we will sometimes need to cache not only custom data, but an entire user request as well. The Yii 2 framework has its own features to help us achieve this. Let’s use it now.

Fragmenting, Page Caching, and HTTP Caching

Complex web applications should send not only HTML files to visitors, but also JavaScript, CSS files, images, and so on. Such files increase server traffic and require a new HTTP request to send each file. If we combine and compress JavaScript and CSS files, this will help us to reduce server load, which is very desirable for high-loaded web applications.

Combining and Compressing JavaScript and CSS Files
Additional Storages for Cache and Sessions
3 Lectures 14:48

PHP uses files to store user sessions by default. This is definitely enough for most of the sites. But if you develop high-loaded web application, session files may slow down your website. To resolve such problem, you need to store your users’ sessions in database. Fortunately, Yii 2 framework has these features for us.

Preview 06:19

A database is a great storage for sessions and cache, but it has one significant issue: each query to the database is time-consuming and may impact the performance of our high loaded web application. One of the solutions is to save cache and sessions in Memcached instead of database.

Using Memcached for Session Storage

Memcached storage is very fast and can be shared between several servers, but it has a significant lacking: all your data may be lost on server failure. This is not a problem for cache, but sessions may contain important users’ information. Redis helps us to solve this problem.

Learning to Use Redis for Session Storage in Highload
Full Text Search
3 Lectures 19:24

A full text search in long strings is complex and a time consuming task. It is better to use the Sphinx software and related Yii 2 components for this purpose.

Preview 06:46

Elasticsearch is powerful and schema-free full text search engine. It has a RESTful API, so it is very clear to understand. Let’s use Elasticsearch with the related Yii 2 components.

Understanding Elasticsearch for Yii 2

MongoDB is NoSQL document-oriented database, but full text search is great feature of this storage, which gives us additional benefits, such as indexes, that are always up to date. This is important for frequently changing data.

Learning to Use MongoDB with Yii 2
Testing with Codeception
3 Lectures 21:49

If our web application is large and complex, it is difficult to check each page to see if it works appropriately. Codeception and Yii 2 related components will help us to do this job automatically.

Preview 09:08

The aim of unit testing is to check that everything works as expected even in the smallest piece of web application. We will write one test in this video.

Discussing Unit Testing

Functional tests were created to test the functional parts of an application. You send a request to the application, receive the response, and then analyze it. These tests work similar to a visitor browsing a website. However, they may have access to technical details of your code as well.

Learning Functional Testing
Frequently Bought Together
About the Instructor
Packt Publishing
3.9 Average rating
7,336 Reviews
52,330 Students
616 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.