Medior PHP - The Next Step
Medior PHP - The Next Step
About the Book
When I became a Junior Developer I felt like I am at a good place, I can solve most problems, I can work with PHP and fix smaller bugs. After a year of working I became a Medior. I thought it was a little bit fast, buy hey, I was proud. But to my biggest surprise, after another half a year I was being asked, when I want to take the leap to become a Senior Developer. The Medior level was more than a challenge for me already and I was overwhelmed with the topics I was missing for the Senior level.
I refused and took a little break from progressing my career and started teaching the basics to a couple of interns. Before this phase I did not beleive the saying: "learning by teaching", but it was true. I gathered confidence as I reviewed topics with my students and together we were able to explore new technologies. After this experience I started to learn again on my own and the biggest help was to set up a progressions plan, instead of just reading about whatever topics I could find on the internet.
For PHP projects you are definitely going to be a web developer of some sort. You either will build a traditional web application or more likely, an API. If you are confident building your business logic around these "2 types of PHP applications", then you can start learning some concepts you might have missed for your Senior Interview.
This book can be used as a standalone material, but by design it serves as a continuation of The Missing Step book. Some parts of that book will be repeated in this one, but concepts that are applicable for both traditional web applications and APIs, won't be! If you are confident building traditional web application, then jump right in and learn everything about building an API with PHP!
Packages
The Book
With this package you get a copy of the book, including any of its future updates.
PDF
EPUB
English
Mentoring Package
With this package you get 2 copies of the book, including any of its future updates.
PDF
EPUB
English
Team Package
With this package you get 5 copies of the book, including any of its future updates.
PDF
EPUB
English
Bundles that include this book
Table of Contents
-
1. Introduction
- 1.1. Prerequsities
-
2. Setup
- 2.1. Programming Language
- 2.2. Webservers
- 2.3. Database Servers
- 2.4. Docker
-
3. Routing
- 3.1. Initial Steps
- 3.2. Autoloading
- 3.3. Namespaces
- 3.4. Hello World
-
4. Framework Config
- 4.1. Dependency Injection Container
- 4.2. Environmental Variables
- 4.3. Configuration Object
- 4.4. Router Refactor
-
5. Framework on Steroids
- 5.1. Middlewares
- 5.2. Middleware Config
- 5.3. Response Headers with Middleware
- 5.4. Logging
- 5.5. Error Handling
- 5.6. Middlewares Update
-
6. Getting Started with the API
- 6.1. Our First Endpoint
- 6.2. Upgrade the Endpoint
- 6.3. RESTful Routing
- 6.4. Path Params
-
7. JSON Responses
- 7.1. ResponseFormatter class
- 7.2. Encoding PHP objects
- 7.3. JSON Error Responses
-
8. JSON Requests
- 8.1. Decoding JSON Requests
- 8.2. Validator Package
- 8.3. Request Validation
-
9. Adding the Persistence Layer
- 9.1. Creating the Database
- 9.2. Connection with PDO
-
10. Migrations
- 10.1. Integrating Migrations to Our Project
- 10.2. Doctrine Migrations in Action
-
11. CRUD for the Animation Resource
- 11.1. Repository Pattern
- 11.2. An Aside: Transactions
- 11.3. Create an Animation
- 11.4. Read an Animation
- 11.5. Update an Animation
- 11.6. Delete an Animation
-
12. Intro to Testing
- 12.1. PHPUnit
- 12.2. Test a Service
- 12.3. Test a Repository
- 12.4. Test a Controller
-
13. Advanced CRUD
- 13.1. Partial Updates
- 13.2. Optimistic Locking
- 13.3. Pessimistic Locking
-
14. Emails
- 14.1. SMTP Server
- 14.2. Twig Template Engine
- 14.3. PHPMailer
- 14.4. Mailer Module
- 14.5. Hello Mail
-
15. API for Resource Collection
- 15.1. Parsing Query String Params
- 15.2. Validating Query String Params
- 15.3. Listing Data
- 15.4. Filtering
- 15.5. Full-Text Search
- 15.6. Sorting
- 15.7. Paginating
-
16. Rate Limiter
- 16.1. Redis Integration
- 16.2. Custom Rate Limiter Implementation
-
17. User Model
- 17.1. Users Table and Migration
- 17.2. Model Class
- 17.3. Repository Class
- 17.4. User Registration
-
18. User Activation
- 18.1. Tokens Migration
- 18.2. Token Model
- 18.3. Token Repository
- 18.4. Sending Activation Token Email
- 18.5. Activating a User
-
19. User Authentication
- 19.1. Different Authentication Techniques
- 19.2. Generating Authentication Tokens
- 19.3. Request Authentication
-
20. User Authorization
- 20.1. Require User Activation, Require User Authentication
- 20.2. Permissions Database Table
- 20.3. Permission Model and Repository
- 20.4. Permission Middleware
- 20.5. Default Permissions
-
21. CORS
- 21.1. CORS Example
- 21.2. Simple CORS Requests
- 21.3. Preflight CORS Requests
- 22. Thank You
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them