Home - maartenba/phpmef GitHub Wiki
PHPMEF is a PHP port of the .NET Managed Extensibility Framework, allowing easy composition and extensibility in an application using the Inversion of Control principle and 2 easy keywords: @export and @import.
Latest download can be found under releases.
Here's a simple example on how PHPMEF can be used:
class HelloWorld {
/**
* @import-many MessageToSay
*/
public $Messages;
public function sayIt() {
echo implode(', ', $this->Messages);
}
}
class Hello {
/**
* @export MessageToSay
*/
public $HelloMessage = 'Hello';
}
class World {
/**
* @export MessageToSay
*/
public $WorldMessage = 'World!';
}
$helloWorld = new HelloWorld();
$compositionInitializer = new MEF_CompositionInitializer(new MEF_Container_Default());
$compositionInitializer->satisfyImports($helloWorld);
$helloWorld->sayIt(); // Hello, World!