Naming Convention

  Good name drives good design.

  1. PHP Standards Recommendations
    1. PSR-1: Basic Coding Standard
  2. Flow Coding Guidelines
  3. Interpretation of "MUST", "REQUIRED", "SHALL", "SHOULD", "RECOMMENDED", "MAY", and "OPTIONAL"

Abbreviations

 

Name

abbreviations

Count

cnt

Component

cmpt

Customer

cus

 

hrs

Hours

hrs

Labor

lbr

Length

len

Location

loc

Maximum

max

Method

mtd

Minimum

min

Minutes

mins

Number

num

Percentage

pct

Standard 

std

user usr
Vendor ven

 

Readings

PHP

  1. PHP Design Patterns Reference and Examples [Loon, 20 Oct16]
  2. Password Hashing - Doing it Right  [Loon, 20 Oct16]
  3. What are PHP Lambdas and Closures? [Loon, 01Nov16]
  4. PHP Authentication: Introduction [video] [Loon, 18Nov16]

Design Pattern

  1. RESTful Web Services [Loon, 20 Oct16]
  2. Understanding Singleton, Traits, Registry, Factory, DI, MVC [Loon, 17 jan17]
  3. The Repository Design Pattern [Loon, 31 May17]

 

 

RESTFUL Overview

  1. RESTful Web Services [Loon, 20 Oct16]
  2. The Ultimate Checklist for REST APIs by Kenneth Lange [Loon, 10 Nov17]
  3. A Beginner’s Guide to HTTP and REST [Loon, 01Nov16]
  4. Best Practices for Designing a Pragmatic RESTful API [Loon, 17 jan17]
  5. 10 Best Practices for Better RESTful API [Loon, 17 jan17]
  6. REST Resource Naming [Loon, 17 jan17]
  7. REST Architecture [Loon, 22 mar18]

RESTFUL in Depth

  1. Avoid Data Corruption in Your REST API with ETags by Kenneth Lange [Loon, 13 Nov17]
  2. API development: ETags and Conditional Get [Loon, 13 Nov17]
  3. ETags and Optimistic Concurrency Control [Loon, 13 Nov17]

APIs

  1. REST API concepts and examples [video] [Loon, 18Nov16]
  2. HATEOAS 101: Opinionated Introduction to a REST API [slide] [Loon, 02Mar17]
  3. Build a reusable REST API back end [Loon, 22Feb17]
  4. Creating a RESTful API with PHP [Loon, 16Feb17]
  5. Creating an API-Centric Web Application* [Loon, 24Feb17]
  6. RESTful APIs in the Real World Episode 1 [video] [Loon, 14 Mar17]
  7. How to design a REST API* [Loon, 7 May17]
  8. Atomic Transactions for the REST of us* [Loon, 22 Mar18]
  9. Atomic Distributed Transactions: a RESTful Design* [Loon, 22 Mar18]

API Gateways

  1. Microservices & API Gateways | Mashape [video] [Loon, 26Sep17]
  2. Building Microservices: Using an API Gateway [Loon, 24Feb17]
  3. API Proxy or Gateway? [Loon, 24Feb17]
  4. https://www.infoq.com/articles/microservices-intro [Loon, 29Sep17]

Micro-services

  1. Principles Of Microservices by Sam Newman [video] [Loon, 23Feb17]
  2. Microservice Architecture [Loon, 23Feb17]
  3. Microservices + Events + Docker = A Perfect Trio (dockercon) [slideshare] [Loon, 23Feb17]
  4. From Monolithic to Microservices: Evolving Architecture Patterns [video] [Loon, 23Feb17]
  5. Microservices — When to React Vs. Orchestrate [video] [Loon, 27Mar18]
  6. The Netflix API Optimization Story [Loon, 27Sep17]
  7. I-Tier: Dismantling the Monolith [Loon, 27Sep17]
  8. The ebay Architecture [Loon, 27Sep17]

Serverless

  1. What is Serverless Architecture? [Loon, 27Sep17]

 

MVC

  1. Build a php MVC application [video] [Loon, 20 Oct16]
  2. Fat Models and Skinny Controllers Bring Out the Best in Your MVC Framework [Loon, 03 Feb17]

DI (Dependency Injection)

  1. Understanding Dependency Injection [Loon, 20 Oct16]
  2. Symfony Service Container [Loon, 20 Oct16]
  3. Dependency Injection - Quick Intro [Loon, 01Nov16]
  4. When Dependency Injection goes Wrong [Loon, 01Nov16]
  5. Where Have All the Singletons Gone? [Loon, 20 Dec 16]
  6. Understanding Dependency Injection (DI) & IOC [video] [Loon, 23 Dec16]

DIC (DI Container)

  1. When Dependency Injection goes Wrong [Loon, 01Nov16]
  2. DIC with php5.3/5.4 [Loon, 22Nov16]
  3. A simple do-it-yourself PHP service container [Loon, 22 Dec16]
  4. Dependency Injection and the art of Services and Containers [video] [Loon, 23 Dec16]
  5. Journey to the Center of Symfony: The Dependency Injection Container [video] [Loon, 26 Dec16]
  6. Laravel 4 - IoC Container Basics [video] [Loon, 26 Dec16]

Domain Driven Design (DDD)

  • Domain-driven design [Loon, 31 May17]
  • Advancing Enterprise DDD - The Entity and the Aggregate Root [Loon, 31 May17]
  • Service Layer

    1. What is a service layer? [Loon, 10 Feb17]
    2. Enterprise PHP: mappers, models and services [slideshare] [Loon, 10 Feb17]
    3. Service Layer [slideshare] [Loon, 10 Feb17]

    Repository

    1. Martin Fowler Definition [Loon, 31 May17]
    2. Practical PHP Patterns: Repository [Loon, 31 May17]

    ORM

    1. ORM, Active Record and Data Mapper [Loon, 02 Feb17]
    2. Active Record vs Data Mapper for Persistence [Loon, 02 Feb17]
    3. Enterprise PHP: mappers, models and services [slideshare] [Loon, 02 Feb17]
    4. What’s the difference between Active Record and Data Mapper? [Loon, 02 Feb17]
    5. * Building a Domain Model – Integrating Data Mappers [Loon, 31 May17]
    6. Doctrine

    7. Working with Objects [Loon, 31 May17]

    Multi-tenancy

    1. Multi-tenancy after 10 years of Cloud Computing [Loon, 26Sep17]
    2. Salesforce Multitenant Architecture: How We Do the Magic We Do [Loon, 06Mar17]

     

    SPA

    1. How Single-Page Applications Work [Loon, 22Jun18]

     

    Business

    1. Optimizing the Netflix API [Loon, 22May18]
    1. Performance and FT for the Netflix API[slide] [Loon, 22May18]
    1. The Internal Design of Force.com’s Multi-Tenant Architecture[video] [Loon, 22May18]

     

    DNS

    1. Dynamically Provisioning Subdomains for SaaS Products [Loon, 27Feb17]

     

    curl

    1. curl homepage [Loon, 01Nov16]

     

    Storage & caching

    1. What is the difference between sessionstorage, localstorage and Cookies? [Loon, 22Jun18]
    2. Caching on the Edge [Loon, 22Nov16]

     

    Security

    1. REST Security Cheatsheet [Loon, 01Nov16]
    2. Web security essentials - CORS [Loon, 08Jun18]
    3. Why is CORS important? [Loon, 01Nov16]
    4. HTTP access control (CORS) [Loon, 13May17]
    5. JSON Web Token (JWT) [Loon, 06Jun18]
    6. What is a JSON Web Token? [Loon, 06Jun18]
    7. Insufficient Transport Layer Security (HTTPS, TLS and SSL)

    Exceptions

    1. PHP Exceptions [Loon, 17Apr17]
    2. A primer on PHP exceptions [Loon, 17Apr17]

     

    Git

    1. Git 101 [Loon, 01Nov16]
    2. Git - the simple guide [Loon, 01Nov16]
    3. Git Branches by Atlassian [Loon, 01Nov16]

     

    Avoid using this:

    1.  $_SERVER[‘remote_addr’] is a CGI variable and it cannot be trusted

     

    Platform

    1. PHP-FPM: Process Management [Loon, 15 Nov17]