SP5: PHP Application Framework

Overview

SP5 is a web application framework developed by Sudjam. The goal of developing SP5 was to leverage Sudjam’s many years of experience in application development into one platform that can easily be extended to support a wide variety of web application products with needs including XML, JSON and REST Data Services, Plugins to third party and legacy systems, database and content management to name few.

SP5 has stood the test of highly demanding clients from Hallmark to Nine Inch Nails and has proven to be both stable and secure under very heavy load as well as providing a verbose and maintainable code base.

SP5 is was designed around the 30+ years of software engineering experience from it’s core architects, yet provides a familiar and easy framework to leverage the contributions of both advanced and novice developers, integrators and administrators.

The 5 Main Components

  1. Framework
  2. Controller
  3. Model
  4. Helper
  5. Plugin

Architecture

At the heart of SP5 is simple, light-weight core modeled after the MVC (Model View Controller) architecture. MVC originally surfaced as a design pattern for Small Talk and quickly grew in popularity with Ruby on Rails. SP5 has taken a clean an simplistic approach in applying this pattern in PHP5.

SP5’s core architecture is broken into three main pieces. Models which represent and provide access to data, Views which provide user interface (wether it may be an end user or another system) and Controllers which manage actions and render Views.

Beyond Models, Views and Controllers, SP5 provides core support for Helpers and Plugins. Helpers support views by abstracting common and mundane tasks such as formatting XHTML headers and footers, web forms as well as date and localization tasks.

While Helpers are primarily focused on Views (the representation of data,) the SP5 Plugin architecture is intended to support functionality in a modular and reusable approach. While many plugins are built to support custom and advanced application logic tied directly to products requirements, many pre-built reusable plugins save valuable development time by offering functionality such as email, data serialization, user and content management as well as advances plugins for telephony and other convergence technologies.

Environment

SP5 runs on nearly every major operating system and easily adaptable to a variety of system configurations. SP5 makes deployment from development, QA, staging and production environments a safe and stable process by cleanly separating environment and application configurations. This separation of application and environment configuration allows deeper testing of the deployment process itself, a major advantage in large complex systems.