function test_can_create_complex_component_with_phemto_container() { $injector = new Phemto(); $components = new k_InjectorAdapter($injector); $root = $components->create('test_DependingComponent', $this->makeHttp()); $this->assertIsA($root, 'test_DependingComponent'); }
// Default to English $phrases = array('Hello' => 'Hello', 'Meatballs' => 'Meatballs'); if ($context->language()->isoCode() == 'sv') { $phrases = array('Hello' => 'Bork, bork, bork!', 'Meatballs' => 'Swedish meatballs'); } return new SimpleTranslator($phrases); } } class VIH_NotFoundComponent extends k_Component { protected $template; function __construct(k_TemplateFactory $template) { $this->template = $template; } function dispatch() { $tpl = $this->template->create('404'); $response = new k_HtmlResponse($tpl->render($this)); $response->setStatus(404); return $response; } } $factory = new VIH_Factory(); $container = new bucket_Container($factory); $mdb2 = $container->get('mdb2_driver_common'); if (realpath($_SERVER['SCRIPT_FILENAME']) == __FILE__) { $components = new k_InjectorAdapter($container, new VIH_Document()); $components->setImplementation('k_DefaultPageNotFoundComponent', 'VIH_NotFoundComponent'); k()->setComponentCreator($components)->setLanguageLoader(new MyLanguageLoader())->setTranslatorLoader(new SimpleTranslatorLoader())->run('VIH_Controller_Root')->out(); }
require_once 'VIH/configuration.php'; require_once 'konstrukt/konstrukt.inc.php'; require_once 'bucket.inc.php'; require_once 'Ilib/ClassLoader.php'; require_once 'Doctrine.php'; spl_autoload_register(array('Doctrine', 'autoload')); class VIH_NotFoundComponent extends k_Component { protected $template; function __construct(k_TemplateFactory $template) { $this->template = $template; } function dispatch() { $tpl = $this->template->create('404'); $response = new k_HtmlResponse($tpl->render($this)); $response->setStatus(404); return $response; } } class VIH_Document extends k_Document { } $factory = new VIH_Factory(); $container = new bucket_Container($factory); if (realpath($_SERVER['SCRIPT_FILENAME']) == __FILE__) { $components = new k_InjectorAdapter($container, new VIH_Document()); $components->setImplementation('k_DefaultPageNotFoundComponent', 'VIH_NotFoundComponent'); k()->setComponentCreator($components)->run('VIH_Controller_Login_Root')->out(); }
function __construct($phrases = array()) { $this->phrases = $phrases; } function translate($phrase, k_Language $language = null) { return isset($this->phrases[$phrase]) ? $this->phrases[$phrase] : $phrase; } } class SimpleTranslatorLoader implements k_TranslatorLoader { function load(k_Context $context) { // Default to English $phrases = array('Hello' => 'Hello', 'Meatballs' => 'Meatballs'); if ($context->language()->isoCode() == 'sv') { $phrases = array('Hello' => 'Bork, bork, bork!', 'Meatballs' => 'Swedish meatballs'); } return new SimpleTranslator($phrases); } } $factory = new VIH_Intranet_Factory(); $container = new bucket_Container($factory); $db = $container->get('db_common'); $db = $container->get('mdb2_driver_common'); if (realpath($_SERVER['SCRIPT_FILENAME']) == __FILE__) { $components = new k_InjectorAdapter($container, new VIH_Intranet_Document()); $components->setImplementation('k_DefaultNotAuthorizedComponent', 'NotAuthorizedComponent'); $identity_loader = new k_SessionIdentityLoader(); k()->setLanguageLoader(new MyLanguageLoader())->setTranslatorLoader(new SimpleTranslatorLoader())->setComponentCreator($components)->setIdentityLoader($identity_loader)->run('VIH_Intranet_Controller_Root')->out(); }