Bedrock is intended as the core functionality used by The Tempus Project: a rapid prototyping framework. This library utilizes the MVC architecture in addition to a custom templating engine designed to make building web applications simple.

1.1.6 2025-02-06 03:02 UTC

This package is auto-updated.

Last update: 2025-03-06 03:12:50 UTC


README

Bedrock is the core functionality used by The Tempus Project a rapid prototyping framework. It provides database support, configuration, base models, and base controller functionality a in addition to a host of other integrated functions.

This Library can be utilized outside of TheTempusProject, but the functionality has not been tested well as a stand-alone library.

Installation

To install simply use the composer command:

php composer.phar require thetempusproject/bedrock

Usage

Typical usage would be through including the package via composer.


namespace MyApp;

use TheTempusProject\Bedrock\Bin\Bedrock;

require_once VENDOR_DIRECTORY . 'autoload.php';

class MyApp extends Bedrock {
    // "Stuff", "Things", and "What-not"
}

If you would like to use hermes own autoloading, simply inclode the constants file and the autoload file inside /bin/.


use TheTempusProject\Bedrock\Bin\Bedrock;

// Bedrock Constants
if ( ! defined( 'BEDROCK_CONSTANTS_LOADED' ) ) {
    if ( defined( 'BEDROCK_CONFIG_DIRECTORY' ) ) {
        require_once BEDROCK_CONFIG_DIRECTORY . 'constants.php';
    }
}

// Bedrock Autoloader (Autoloader)
if ( ! defined( 'BEDROCK_AUTOLOADED' ) ) {
    if ( defined( 'BEDROCK_ROOT_DIRECTORY' ) ) {
        require_once BEDROCK_ROOT_DIRECTORY . 'bin' . DIRECTORY_SEPARATOR . 'autoload.php';
    }
}

class MyApp extends Bedrock {
    // "Stuff", "Things", and "What-not"
}

To-Do

  • [ ] Expansion of PDO to allow different database types
  • [ ] Updates for configs and models to re-build based on a delta model, to make version changes simpler. (Migration system)
  • [ ] Implement better uniformity in terms of error reporting, exceptions, logging.

Issues / Bugs / Contact

If anyone actually uses this library and runs into any issues, feel free to contact me and I'll look into it.

Joey Kimsey - Lead Developer

JoeyKimsey.com