tech check

PHP Patterns


A PHP application demonstrating:

  • List
  • Create
  • Read
  • Update
  • Delete

It opens with a form. After the form is filled in or skipped, it takes you to a list view. The list view shows you what is in the Database Table linked to it. All data administration applications I have created, have these features in common.


A PHP application with Javascript for the Graph implementations:

  • JQuery DOM
  • JS Events
  • CRUD

The two graphs get their data from the table below them. JQuery is used to select the values in the DOM. This DOM based approach does not scale well in application programming. This application proves I can do it.


File management is a feature in every business application:

  • Uploading
  • Image Processing
  • Content Management
  • Displaying

Building on the CRUD pattern you have seen so far, this application adds file management. It changes file names of the files you upload to a guaranteed unique name. It produces thumbnails. It can watermark images.


The Mobi application demonstrates a blended approach:

  • Silex MVC
  • Silex Rest API
  • Symfony PHP libraries
  • JQuery Mobile
  • Ajax Data
  • Ajax Views

Using a server side MVC approach while implementing JQuery Mobile for views. The view is served up by PHP and the data is rendered with JQuery after an Ajax call to the API returns.


This application is a comprehensive tech check:

  • PHP blended UI
  • ReSTfull API
  • Unit Tests
  • DB Migrations
  • Entity Scaffolding
  • Modular Architecture

The aim is to show how a code generation/scaffolding approach can improve consistency in team development scenarios. How API testing is done. How Data Migrations work with Symfony libraries. How to implement a modular application.


See the API application here:

  • "src" contains (mvc) modules
  • "tests" is just that
  • "web" is www or htdocs
  • "db" is migrations manager
  • "builder" is the scaffolder
  • "builder" will accept UML soon

In the API project you can see code quality and standards applied. Composer is used for dependency management. This link is probably the best to evaluate my current PHP5 work. Thinkadoo is my PHP related GitHub account.

Javascript Patterns


An AngularJS (client) application which demonstrates:

  • Modular Architecture
  • MVC separation
  • Offline first design
  • Local data persistence

Modules are the foundation of large application maintainability. This version of the app shows how to make a basic MVC separation of concerns and wrap it in an AngularJS module. It is an opinionated implementation.