Skip to content
This repository has been archived by the owner on Jan 25, 2020. It is now read-only.

Deep Dive Development

Voydz edited this page Mar 29, 2015 · 4 revisions

Deep Dive Development

Table of Contents

  1. Bug Reports
  2. Design Goals
  3. Coding Style
  4. Relevant Documents

Bug Reports

If you file a bug report, your issue should contain a title and a clear description of the issue. You should also include as much relevant information as possible and a code sample that demonstrates the issue. The goal of a bug report is to make it easy for yourself - and others - to replicate the bug and develop a fix.

You can fill bug reports in the projects Issue Tracker.

Design Goals

A loosely coupled system is one in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components.

  • Dependency Injection (DI), Inversion of Control (IoC) see Wikipedia

In software engineering, dependency injection is a software design pattern that implements inversion of control for software libraries. Caller delegates to an external framework the control flow of discovering and importing a service or software module. Dependency injection allows a program design to follow the dependency inversion principle where modules are loosely coupled.

Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.

NOTE: We just follow the basic aspects of Module programming. For Example: We do NOT use an interface approach to communicate between modules.

Coding Style

NOTE: These are considered best practice, but you are not doomed to follow them!

Vain follows the PSR-4 and PSR-1 coding standards. In addition to these standards, the following coding standards should be followed:

  • The class namespace declaration should be on the same line as <?php.
  • Functions and control structures must use Allman style braces.
  • Indent with 4 spaces and align with spaces.

Relevant Documents

Some useful information to start development: