Skip to content

felixgirault/essence-interfaces

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Essence interfaces

A set of interfaces to use third-party libraries within Essence.

Usage

Here is how to use a Doctrine cache throughout the application:

$Essence = Essence\Essence::instance([
	'Cache' => Essence\Di\Container::unique( function( ) {
		return new Essence\Cache\Engine\Doctrine(
			new Doctrine\Common\Cache\FilesystemCache( 'path/to/cache/directory' )
		);
	})
]);

Cache interfaces

CakePHP

$Cache = new Essence\Cache\Engine\Cake( 'configuration' );

Doctrine

$Cache = new Essence\Cache\Engine\Doctrine(
	new Doctrine\Common\Cache\FilesystemCache( 'path/to/cache/directory' ),
	$ttl
);

Zend

$Cache = new Essence\Cache\Engine\Zend(
	Zend\Cache\StorageFactory::adapterFactory( 'apc' )
);

HTTP interfaces

CakePHP

$Http = new Essence\Http\Client\Cake( new HttpSocket( ));

Log interfaces

CakePHP

$Log = new Essence\Log\Logger\Cake( 'scope' );

PSR/Monolog

$Log = new Essence\Log\Logger\Psr( new CustomPsrLogger( ));
$Monolog = new Monolog\Logger( 'essence' );
$Monolog->pushHandler(
	new Monolog\Handler\StreamHandler( 'path/to/log/file' )
);

$Log = new Essence\Log\Logger\Psr( $Monolog );

About

Provides interfaces to use external libraries with Essence.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages