71 lines
2.0 KiB
Markdown
71 lines
2.0 KiB
Markdown
|
|
# Bedrock
|
|
|
|
Bedrock is the core functionality used by [The Tempus Project](https://github.com/TheTempusProject/TheTempusProject) 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.
|
|
|
|
```php
|
|
|
|
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/`.
|
|
|
|
```php
|
|
|
|
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](mailto:Joey@thetempusproject.com) - _Lead Developer_
|
|
|
|
[JoeyKimsey.com](https://JoeyKimsey.com)
|