Book Image

Mastering Yii

By : Charles R. Portwood ll
Book Image

Mastering Yii

By: Charles R. Portwood ll

Overview of this book

The successor of Yii Framework 1.1, Yii 2 is a complete rewrite of Yii Framework, one of the most popular PHP 5 frameworks around for making modern web applications. The update embraces the best practices and protocols established with newer versions of PHP, while still maintaining the simple, fast, and extendable behavior found in its predecessor. This book has been written to enhance your skills and knowledge with Yii Framework 2. Starting with configuration and how to initialize new projects, you’ll learn how to configure, manage, and use every aspect of Yii2 from Gii, DAO, Query Builder, Active Record, and migrations, to asset manager. You'll also discover how to automatically test your code using codeception. With this book by your side, you’ll have all the skills you need to quickly create rich modern web and console applications with Yii 2.
Table of Contents (20 chapters)
Mastering Yii
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
5
Modules, Widgets, and Helpers
13
Debugging and Deploying
Index

Reasons for testing


Most software developers will admit that testing is a good thing, but many developers don't write tests for their application for a variety of reasons, such as the following:

  • The fear of testing

  • Not knowing how to write tests

  • Thinking that their application is too small for testing

  • Not having enough time

  • Budgetary reasons

While many of these reasons are valid, testing can have a profound effect on your application and can drastically improve the quality of your code. The following list provides several reasons why tests should be added to your codebase:

  • Testing can reduce bugs as new features are added

  • Testing verifies that your code does what you think it does

  • Testing verifies that your code does what your client wants

  • Features can be constrained by testing

  • Testing forces us to slow down and break our applications into small, manageable components with constraining features

  • Testing reduces the cost of change by ensuring that a change to a single feature doesn't break another feature...