Book Image

Web Application Development with Yii 2 and PHP

By : Mark Safronov, Jeffrey Winesett
Book Image

Web Application Development with Yii 2 and PHP

By: Mark Safronov, Jeffrey Winesett

Overview of this book

<p>Yii is a high performance PHP framework used for rapid web application development. It is well designed, well supported, easy to learn, and easy to maintain. This book embraces the learn-by-example methodology to show you the most important features of the Yii 2 framework. Throughout the course of this book, you will build a simple real-world application; each chapter will introduce you to a new functionality and show you how to tweak your application. Instead of trying to be an all-encompassing reference about the framework, this is a walkthrough of the really important pieces of information that you have to understand in detail.</p> <p>You will learn how to use Yii's active record and CRUD scaffolding to manage the data in your database. Authentication, extensions, events and behaviors, and route management are just some of the many other features of Yii that you will learn from this book. By the end of this book, you will have a basic CRM application that is all set for service!</p>
Table of Contents (22 chapters)
Web Application Development with Yii 2 and PHP
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Automatically marking database records with the timestamp and user ID


Let's implement one useful feature, which you'll undoubtedly be asked to use one day by the client on a real enterprise-grade application project. It is described like this, in the words of some unknown Mr. Arbitrary Stakeholder:

"When a new Customer is recorded, a date and time of creation and the user who did it, should be recorded. Upon any update of the Customer in the database, a date and time of the update and the user doing it should be recorded."

We, as developers, will translate it to the following specification:

  1. Add four fields to the customer table in the database, which are as follows:

    • created_at: This field is of the integer type, holding a Unix timestamp

    • created_by: This field is of the integer type, and is a foreign key to the user.id field

    • updated_at: This field is of the integer type, holding a Unix timestamp

    • updated_by: This field is of the integer type, and is a foreign key to the user.id field

  2. When a new...