In this lecture let's quickly create some very useful directories
In this lecture let's quickly create some very useful directories
In this lecture we setup autoloading with PSR-4 and install PHPUnit which is the test framework we are using in this series
In this lecture we setup things to make it easy for us to work with configuration files for the app that we are developing.
Let's a simple but useful Application Helper Class that we can use accross our application.
In this lecture create some custom exception classes that our application will use when needed.
In this lecture we implement a custom exception handler to take care of all uncaught exceptions
in this lecture you will learn how to convert PHP warnings and notices to Exceptions hat can be handled by our custom exception handler
In this lecture we begin setting up thing for how we are going to log in our application, let start with PSR-3: Logger Interface.
Let code a file based concrete implementation of the logger Interface
5:05
Let's create some logs
In this lecture, we quickly go through how to write and execute a simple test with PHPUnit
Let create a configuration file for PHPUnit and specify some options for our application test cases .
In this lecture you will learn how to write you first real test case and fix failing test
In this lecture, let's write 3 test cases for the logger class
In this section we will focus on building a solid database abstraction layer for the application we are building, using test driven development approach.
In this lecture we get deeper into test driven development, setup the abstraction layer for connecting to the database.
In this lecture we get deeper into test driven development, setup the abstraction layer for connecting to the database with PDO.
In this lecture we get deeper into test driven development, setup the abstraction layer for connecting to the database with MySQLi.
In this lecture, we'll briefly go over a broad overview of the QueryBuilder concept for the application that we are developing and then write some test cases and in the next lecture we start implementation.
Let's now begin writing the functionality, you will earn about dependency injection and dependency invasion principle (DIP) in SOLID.
We continue the implementation of a Query builder for the application.
We continue the implementation of a Query builder for the application.
as we continue to build the QueryBuilder lets add some reallz cool and useful methods
Lets implement abstract methods for PDO API
Lets implement abstract methods for MySQLi API
In this lecture we implement Insert method to create a records in the database, Raw Query method, find method to retrieve record by id and findOne method, we also ensure that test cases are updated and passing
Implementing delete and update methods in QueryBuilder class
in this lecture zou learn how to use the factory method to create a quey builder base on given identifier.
In this lecture we update test cases in the QueryBuilder class to ensure a consistent database after each test is executed
16:211
Let's add more test cases to the Query builder test class
As we finishwith the Query Builder class let's quickly fix some bug
A brief introduction to the concept of Entities and Repositories design pattern.
Let's start this section by writing few testcases for Entities and Repository.
13:33
In this lectrure let's create an abstract entity and also an entity named BugReport
PHP Implementation of the repository pattern
PHP Implementation of the repository pattern
Making Test Cases Pass and Adding new Test
Integration Section Overview
Setup Functional Test for CRUD
Writing Test Case for Create Bug Report with POST Request
Writing Test Case for Update and Delete Bug Report with POST Request
Building a Simple HTTP Request Client to make our Test Cases Pass
Processing Add Bug Report Post Request
Logging During Request Life Cycle and Exception Handling
Refactoring, Debugging and Making Add Report Test Pass
Processing Update Delete and Read Requests and Going Green with All Test Cases
15:27
Lets build a simple crud UI
Completing the simple crud UI
Testing that We Can Visit The Homepage and See Certain Data
1:37
Next Step for you!
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
You can remain a member of DEVESCREENCAST for however long you'd like. You can also cancel at anytime, and stop paying at any time.
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.