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.
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.
Knowing how to use Git properly is very important. Let’s learn about the most frequently used commands in a normal workflow.
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.
It takes a lot of time to develop responsive and fancy page designs. The Twitter Bootstrap framework makes this job easy.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.