What is Apex?

Apex is an extensible community driven PHP based framework that allows you to develop and maintain quality operations with ease. Before embarking on Apex development it's recommended that you are already familiar with PHP and base development concepts such as version control systems and Docker.

Apex strives to embrace a simple is good mantra, and refrains from trying to be cute and clever by using magic or other obscure design patterns. By utilizing PSR standards throughout, Apex offers a reduced learning curve and allows you to get up and running with ease.

A few integral points regarding Apex:

  • >Think of Apex as n interface for a collection of SVN based repositories, which come together to form a solid, robust monolithic operation.
  • The plug and play functionality of Wordpress, but not Wordpress.
  • Complete flexibility, every repository / package is nothing more than a blank directory allowing you to develop as you prefer. There are various component and code generation utilities available to aide your development, but are by no means required.
  • No magic, and instead straight forward dependency injection. Every class is a blank sheet with an accessible services container available consisting of various interopable PSR compliant and other items for easy attribute / constructor injection.
  • Access and manage the database as you desire with full support for Apex's internal ADL, Doctrine, Eloquent and PDO. This also includes Doctrine and Eloquent models and migrations.
  • Fully PSR-7 and 15 compliant, with a straight forward interopable router.
  • Utilizes SVN repositories, meaning full branch and tag management, commit and diff history, full directory level ACL control, et al.
  • All commits and releases are automatically digitally signed using x.509 certificates and merkle trees to ensure the security of your code with automated verification during download, and a mirrorable public ledger always available to view certificates and signatures.
  • Built-in optional CI pipeline utilizing Jenkins, which will automatically execute unit tests after every commit, plus perform any other desired actions / web hooks.
  • Built-in support for staging environments (hosted at https://project-name.username.apexpl.dev/) which are always in-sync with all commits providing a live development system to the team.
  • Mark releases as breaking to alert users they include breaking changes, and users be alerted of the breaking changes before the upgrade is installed.
  • You may mark your packages as either public, commercial or private. If commercial, you define the price and all purchases go directly to your PayPal e-mail / bitcoin address, and not to Apex, meaning no middle man or payout periods. Start earning money from your code today!