Mastering Yii 2

Leverage the incredible potential of Yii to build heavyweight web applications swiftly
3.9 (11 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.
113 students enrolled
$19
$95
80% off
Take This Course
  • Lectures 22
  • Length 2.5 hours
  • Skill Level Expert Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English

Course Description

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.

What are the requirements?

  • This course will help you to channel your knowledge of PHP and MySQL to create high-power web applications.

What am I going to get from this course?

  • 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

What 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.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Git Version Control System
03:31

This video will offer an overview of the course.

05:17

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.

05:57

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

06:16

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.

Section 2: Twitter Bootstrap
07:51

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

05:52

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.

04:31

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.

Section 3: Security Moments and Access Permissions
08:04

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.

06:31

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.

05:49

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

Section 4: Caching
07:43

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.

07:01

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.

06:28

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.

Section 5: Additional Storages for Cache and Sessions
06:19

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.

03:51

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.

04:38

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.

Section 6: Full Text Search
06:46

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.

06:23

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.

06:15

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.

Section 7: Testing with Codeception
09:08

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.

06:22

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.

06:19

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.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Over the past ten years Packt Publishing has developed an extensive catalogue of over 2000 books, e-books and video courses aimed at keeping IT professionals ahead of the technology curve. From new takes on established technologies through to the latest guides on emerging platforms, topics and trends – Packt's focus has always been on giving our customers the working knowledge they need to get the job done. Our Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course