Jaeger CMS Agnostic Framework
Jaeger allows for cross platform plugin development for various content management and e-commerce systems. Currently, Jaeger supports:, (*1)
- ExpressionEngine (2&3)
- WordPress
- Craft
- Concrete5
- PrestaShop
Installation
Add jaeger-app/jaeger
as a requirement to your composer.json
:, (*2)
$ composer require jaeger-app/jaeger
Philosophy
At the core, Jaeger is a collection of composer libraries that center around a JaegerApp\Platforms\AbstractPlatform
object. So, while Jaeger does include quite a few libraries for handling things Db
, Email
, and such, you're not stuck using any of them outside of the Plaform
objects., (*3)
It should be noted that Jaeger is best served for your primary business logic and does NOT serve as a replacement for the CMS plugin stub files. You'll still have to create plugins; it's just your internal design that's shared., (*4)
Todo
Create example multi-platform codebase, (*5)
Libraries
Bootstrap
, (*6)
A pre-configured dependency injection container and start-up initialization object. Jaeger Bootstrap will prepare the most common Jaeger objects and make them ready for use as well as function as a stand alone dependency injection container utilizing Pimple\Container., (*7)
Compress
, (*8)
A compression wrapper to manipulate Zip files with PHP using a simple interface. You can create and modify zip archives as well as extract them., (*9)
Console
, (*10)
Handles outputting/writing data to the console. when Jaeger plugins are ran through the Console / Command Line / Shell., (*11)
DateTime
, (*12)
A Trait for handling dates and times without killing yourself., (*13)
Db
, (*14)
A simple database wrapper that can use either MySQLi or PDO., (*15)
Di
, (*16)
A simple dependency injection container for use with Jaeger (or stand alone)., (*17)
Email
, (*18)
JaegerApp\Email
is an email abstraction that works with both SwiftMailer 3 and 5 (depending on which is already available). Note that the Email object does NOT include any version of SwiftMailer and relies on the host system to provide one., (*19)
Encrypt
, (*20)
Provides a simple API to handle encrypting and decrypting strings., (*21)
Errors
, (*22)
A base error collection to allow for individual inspections and system validations., (*23)
Exceptions
, (*24)
A simple exception handler., (*25)
Files
, (*26)
A simple file handling object., (*27)
Language
, (*28)
A simple language abstraction to simply keep copy out of your code. This is NOT a translation library., (*29)
Log
, (*30)
A logging trait., (*31)
, (*32)
A CMS Platform abstraction layer for platform agnostic development., (*33)
Regex
, (*34)
A simple Regular Expression wrapper., (*35)
Remote
, (*36)
A remote file system wrapper around Flysystem., (*37)
Rest Server
, (*38)
A rest server abstraction to add REST capabilities to a Jaeger based app., (*39)
Rest Client
, (*40)
A simple REST client to interact with Jaeger REST API installations., (*41)
Settings
, (*42)
A settings abstraction., (*43)
Shell
, (*44)
A simple shell library to execute commands on the Console., (*45)
Validate
, (*46)
A validation library., (*47)
View
, (*48)
A view layer for Jaeger based plugins and modules., (*49)