-
Notifications
You must be signed in to change notification settings - Fork 0
Deep Dive Development
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.
- Loose coupling see Wikipedia
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 see Wikipedia
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.
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.
Some useful information to start development:
Any problems? Try our Troubleshooting page!