作者:alfredoco
项目:blogzf2tutoria
public function setup()
{
parent::setup();
$config = (include 'config/application.config.php');
$config['module_listener_options']['config_static_paths'] = array(getcwd() . '/config/test.config.php');
if (file_exists(__DIR__ . '/config/test.config.php')) {
$moduleConfig = (include __DIR__ . '/config/test.config.php');
array_unshift($config['module_listener_options']['config_static_paths'], $moduleConfig);
}
$this->serviceManager = new ServiceManager(new ServiceManagerConfig(isset($config['service_manager']) ? $config['service_manager'] : array()));
$this->serviceManager->setService('ApplicationConfig', $config);
$this->serviceManager->setFactory('ServiceListener', 'Zend\\Mvc\\Service\\ServiceListenerFactory');
$moduleManager = $this->serviceManager->get('ModuleManager');
$moduleManager->loadModules();
$this->routes = array();
foreach ($moduleManager->getModules() as $m) {
$moduleConfig = (include __DIR__ . '/../../../../' . ucfirst($m) . '/config/module.config.php');
if (isset($moduleConfig['router'])) {
foreach ($moduleConfig['router']['routes'] as $key => $name) {
$this->routes[$key] = $name;
}
}
}
$this->serviceManager->setAllowOverride(true);
$this->application = $this->serviceManager->get('Application');
$this->event = new MvcEvent();
$this->event->setTarget($this->application);
$this->event->setApplication($this->application)->setRequest($this->application->getRequest())->setResponse($this->application->getResponse())->setRouter($this->serviceManager->get('Router'));
$this->createDatabase();
}
作者:outeredg
项目:edge-zf
protected function getApplication()
{
if (null === $this->application) {
$this->application = $this->getServiceManager()->get('Application');
$this->application->bootstrap();
}
return $this->application;
}
作者:enlitepr
项目:enlite-behat-extensio
/**
* {@inheritdoc}
*/
public function initialize(ContextInterface $context)
{
if ($context instanceof ApplicationAwareInterface) {
$context->setApplication($this->application);
}
if ($context instanceof ServiceLocatorAwareInterface) {
$context->setServiceLocator($this->application->getServiceManager());
}
}
作者:shitikovkiril
项目:zend-shop.co
public function setUp()
{
$this->application = $this->getMock('Zend\\Mvc\\Application', array(), array(), '', false);
$this->event = $this->getMock('Zend\\Mvc\\MvcEvent');
$this->serviceManager = $this->getMock('Zend\\ServiceManager\\ServiceManager');
$this->cli = $this->getMock('Symfony\\Component\\Console\\Application', array('run'));
$this->serviceManager->expects($this->any())->method('get')->with('doctrine.cli')->will($this->returnValue($this->cli));
$this->application->expects($this->any())->method('getServiceManager')->will($this->returnValue($this->serviceManager));
$this->event->expects($this->any())->method('getTarget')->will($this->returnValue($this->application));
}
作者:wizzve
项目:ZffHtml2pd
public function setUp()
{
$config = ['modules' => ['Zff\\Html2Pdf'], 'module_listener_options' => []];
$serviceManager = new ServiceManager((new ServiceManagerConfig())->toArray());
$serviceManager->setService('ApplicationConfig', $config);
$serviceManager->get('ModuleManager')->loadModules();
$application = new Application($config, $serviceManager);
$application->bootstrap();
$this->serviceManager = $serviceManager;
}
作者:Belcebu
项目:BelceburBasi
public function __construct(HelperPluginManager $pluginManager)
{
$this->pluginManager = $pluginManager;
$this->serviceManager = $pluginManager->getServiceLocator();
$this->app = $pluginManager->getServiceLocator()->get('Application');
$this->request = $this->app->getRequest();
$this->event = $this->app->getMvcEvent();
$this->em = $this->serviceManager->get('Doctrine\\ORM\\EntityManager');
$this->translator = $this->serviceManager->get('translator');
}
作者:saeve
项目:zf3-circlical-use
public function it_aborts_bootstrap_on_console(MvcEvent $event, Application $application, ServiceLocatorInterface $serviceLocator, AccessListener $listener, EventManager $eventManager)
{
Console::overrideIsConsole(true);
$application->getEventManager()->willReturn($eventManager);
$serviceLocator->get(AccessListener::class)->willReturn($listener);
$application->getServiceManager()->willReturn($serviceLocator);
$event->getApplication()->willReturn($application);
$listener->attach($eventManager)->shouldNotBeCalled();
$this->onBootstrap($event);
}
作者:svenander
项目:saruse
/**
* @return \Zend\Mvc\Application
*/
public function getApplication()
{
if ($this->spiffyApplication) {
return $this->spiffyApplication;
}
Console::overrideIsConsole($this->getUseConsoleRequest());
$this->spiffyApplication = SpiffyTest::getInstance()->getApplication();
$events = $this->spiffyApplication->getEventManager();
$events->detach($this->spiffyApplication->getServiceManager()->get('SendResponseListener'));
return $this->spiffyApplication;
}
作者:hummer2
项目:convarnis
public function testOnBootstrap()
{
$event = new MvcEvent();
$application = new Application([], Bootstrap::getServiceManager());
$em = new EventManager();
$application->setEventManager($em);
$event->setApplication($application);
$isConsole = Console::isConsole();
Console::overrideIsConsole(false);
$this->module->onBootstrap($event);
Console::overrideIsConsole($isConsole);
$this->assertCount(1, $em->getListeners(MvcEvent::EVENT_DISPATCH));
$this->assertCount(1, $em->getListeners(MvcEvent::EVENT_RENDER));
}
作者:brs-softwar
项目:stdli
public static function getApplication()
{
self::assertZf();
self::chdirToAppRoot();
$configPath = self::findAppConfigPath();
return Application::init(require $configPath);
}
作者:athemcm
项目:neti
/**
* @see \Zend\Mvc\Application#init()
* @param array $configuration
* @return RealZendApplication
*/
public static function init($configuration = array())
{
Exception\ErrorException::$oldErrorHandler = set_error_handler("\\Netis\\Exception\\ErrorException::errorHandler");
Environment::setEnv(isset($configuration['env']) ? $configuration['env'] : Environment::ENV_PRODUCTION);
self::detectLoader($configuration);
return parent::init($configuration);
}
作者:goao
项目:goaop-zf2-modul
/**
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
$output->writeln('Start up application with supplied config...');
$config = $input->getArgument('applicationConfig');
$path = stream_resolve_include_path($config);
if (!is_readable($path)) {
throw new \InvalidArgumentException("Invalid loader path: {$config}");
}
// Init the application once using given config
// This way the late static binding on the AspectKernel
// will be on the goaop-zf2-module kernel
\Zend\Mvc\Application::init(include $path);
if (!class_exists(AspectKernel::class, false)) {
$message = "Kernel was not initialized yet. Maybe missing module Go\\ZF2\\GoAopModule in config {$path}";
throw new \InvalidArgumentException($message);
}
$kernel = AspectKernel::getInstance();
$options = $kernel->getOptions();
if (empty($options['cacheDir'])) {
throw new \InvalidArgumentException('Cache warmer require the `cacheDir` options to be configured');
}
$enumerator = new Enumerator($options['appDir'], $options['includePaths'], $options['excludePaths']);
$iterator = $enumerator->enumerate();
$totalFiles = iterator_count($iterator);
$output->writeln("Total <info>{$totalFiles}</info> files to process.");
$iterator->rewind();
set_error_handler(function ($errno, $errstr, $errfile, $errline) {
throw new \ErrorException($errstr, $errno, 0, $errfile, $errline);
});
$index = 0;
$errors = [];
foreach ($iterator as $file) {
if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
$output->writeln("Processing file <info>{$file->getRealPath()}</info>");
}
$isSuccess = null;
try {
// This will trigger creation of cache
file_get_contents(FilterInjectorTransformer::PHP_FILTER_READ . SourceTransformingLoader::FILTER_IDENTIFIER . '/resource=' . $file->getRealPath());
$isSuccess = true;
} catch (\Exception $e) {
$isSuccess = false;
$errors[$file->getRealPath()] = $e;
}
if ($output->getVerbosity() == OutputInterface::VERBOSITY_NORMAL) {
$output->write($isSuccess ? '.' : '<error>E</error>');
if (++$index % 50 == 0) {
$output->writeln("({$index}/{$totalFiles})");
}
}
}
restore_error_handler();
if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERY_VERBOSE) {
foreach ($errors as $file => $error) {
$message = "File {$file} is not processed correctly due to exception: {$error->getMessage()}";
$output->writeln($message);
}
}
$output->writeln('<info>Done</info>');
}
作者:nja7
项目:magento
/**
* Gets application commands
*
* @return array
*/
protected function getApplicationCommands()
{
$setupCommands = [];
$toolsCommands = [];
$modulesCommands = [];
$bootstrapParam = new ComplexParameter(self::INPUT_KEY_BOOTSTRAP);
$params = $bootstrapParam->mergeFromArgv($_SERVER, $_SERVER);
$params[Bootstrap::PARAM_REQUIRE_MAINTENANCE] = null;
$bootstrap = Bootstrap::create(BP, $params);
$objectManager = $bootstrap->getObjectManager();
if (class_exists('Magento\\Setup\\Console\\CommandList')) {
$serviceManager = \Zend\Mvc\Application::init(require BP . '/setup/config/application.config.php')->getServiceManager();
$setupCommandList = new \Magento\Setup\Console\CommandList($serviceManager);
$setupCommands = $setupCommandList->getCommands();
}
if (class_exists('Magento\\Tools\\Console\\CommandList')) {
$toolsCommandList = new \Magento\Tools\Console\CommandList();
$toolsCommands = $toolsCommandList->getCommands();
}
if ($objectManager->get('Magento\\Framework\\App\\DeploymentConfig')->isAvailable()) {
$commandList = $objectManager->create('Magento\\Framework\\Console\\CommandList');
$modulesCommands = $commandList->getCommands();
}
$commandsList = array_merge($setupCommands, $toolsCommands, $modulesCommands);
return $commandsList;
}
作者:Doabilit
项目:magento2de
/**
* @param string $name application name
* @param string $version application version
* @SuppressWarnings(PHPMD.ExitExpression)
*/
public function __construct($name = 'UNKNOWN', $version = 'UNKNOWN')
{
$this->serviceManager = \Zend\Mvc\Application::init(require BP . '/setup/config/application.config.php')->getServiceManager();
$generationDirectoryAccess = new GenerationDirectoryAccess($this->serviceManager);
if (!$generationDirectoryAccess->check()) {
$output = new ConsoleOutput();
$output->writeln('<error>Command line user does not have read and write permissions on var/generation directory. Please' . ' address this issue before using Magento command line.</error>');
exit(0);
}
/**
* Temporary workaround until the compiler is able to clear the generation directory
* @todo remove after MAGETWO-44493 resolved
*/
if (class_exists(CompilerPreparation::class)) {
$compilerPreparation = new CompilerPreparation($this->serviceManager, new ArgvInput(), new File());
$compilerPreparation->handleCompilerEnvironment();
}
if ($version == 'UNKNOWN') {
$directoryList = new DirectoryList(BP);
$composerJsonFinder = new ComposerJsonFinder($directoryList);
$productMetadata = new ProductMetadata($composerJsonFinder);
$version = $productMetadata->getVersion();
}
parent::__construct($name, $version);
}
作者:rajanlami
项目:IntTes
/**
* @dataProvider eventPropagation
*/
public function testEventPropagationStatusIsClearedBetweenEventsDuringRun($events)
{
$event = new MvcEvent();
$event->setTarget($this->application);
$event->setApplication($this->application)->setRequest($this->application->getRequest())->setResponse($this->application->getResponse())->setRouter($this->serviceManager->get('Router'));
$event->stopPropagation(true);
// Intentionally not calling bootstrap; setting mvc event
$r = new ReflectionObject($this->application);
$eventProp = $r->getProperty('event');
$eventProp->setAccessible(true);
$eventProp->setValue($this->application, $event);
// Setup listeners that stop propagation, but do nothing else
$marker = array();
foreach ($events as $event) {
$marker[$event] = true;
}
$marker = (object) $marker;
$listener = function ($e) use($marker) {
$marker->{$e->getName()} = $e->propagationIsStopped();
$e->stopPropagation(true);
};
$this->application->getEventManager()->attach($events, $listener);
$this->application->run();
foreach ($events as $event) {
$this->assertFalse($marker->{$event}, sprintf('Assertion failed for event "%s"', $event));
}
}
作者:hschlet
项目:braintacl
/**
* Set up application environment
*
* This sets up the PHP environment, loads the provided module and returns
* the MVC application.
*
* @param string $module Module to load
* @param bool $addTestConfig Add config for test environment (enable all debug options, no config file)
* @param array $applicationConfig Extends default application config
* @return \Zend\Mvc\Application
* @codeCoverageIgnore
*/
public static function init($module, $addTestConfig = false, $applicationConfig = array())
{
// Set up PHP environment.
session_cache_limiter('nocache');
// Default headers to prevent caching
return \Zend\Mvc\Application::init(array_replace_recursive(static::getApplicationConfig($module, $addTestConfig), $applicationConfig));
}
作者:netglu
项目:zf2-money-modul
public static function init()
{
/**
* Load Test Config to include other modules we require
*/
if (is_readable(__DIR__ . '/TestConfig.php')) {
$testConfig = (include __DIR__ . '/TestConfig.php');
} else {
$testConfig = (include __DIR__ . '/TestConfig.php.dist');
}
$zf2ModulePaths = array();
if (isset($testConfig['module_listener_options']['module_paths'])) {
$modulePaths = $testConfig['module_listener_options']['module_paths'];
foreach ($modulePaths as $modulePath) {
if ($path = static::findParentPath($modulePath)) {
$zf2ModulePaths[] = $path;
}
}
}
$zf2ModulePaths = implode(PATH_SEPARATOR, $zf2ModulePaths) . PATH_SEPARATOR;
$zf2ModulePaths .= getenv('ZF2_MODULES_TEST_PATHS') ?: (defined('ZF2_MODULES_TEST_PATHS') ? ZF2_MODULES_TEST_PATHS : '');
static::initAutoloader();
// use ModuleManager to load this module and it's dependencies
$baseConfig = array('module_listener_options' => array('module_paths' => explode(PATH_SEPARATOR, $zf2ModulePaths)));
$config = ArrayUtils::merge($baseConfig, $testConfig);
\Zend\Mvc\Application::init($config);
$serviceManager = new ServiceManager(new ServiceManagerConfig());
$serviceManager->setAllowOverride(true);
$serviceManager->setService('ApplicationConfig', $config);
$serviceManager->get('ModuleManager')->loadModules();
static::$serviceManager = $serviceManager;
static::$config = $config;
}
作者:VOONWerbeagentu
项目:SoliantEntityAudi
public static function init()
{
// Load the user-defined test configuration file, if it exists; otherwise, load
if (is_readable(__DIR__ . '/TestConfig.php')) {
$testConfig = (include __DIR__ . '/TestConfig.php');
} else {
$testConfig = (include __DIR__ . '/TestConfig.php.dist');
}
$zf2ModulePaths = array();
if (isset($testConfig['module_listener_options']['module_paths'])) {
$modulePaths = $testConfig['module_listener_options']['module_paths'];
foreach ($modulePaths as $modulePath) {
if ($path = static::findParentPath($modulePath)) {
$zf2ModulePaths[] = $path;
}
}
}
$zf2ModulePaths = implode(PATH_SEPARATOR, $zf2ModulePaths) . PATH_SEPARATOR;
$zf2ModulePaths .= getenv('ZF2_MODULES_TEST_PATHS') ?: (defined('ZF2_MODULES_TEST_PATHS') ? ZF2_MODULES_TEST_PATHS : '');
static::initAutoloader();
// use ModuleManager to load this module and it's dependencies
$baseConfig = array('module_listener_options' => array('module_paths' => explode(PATH_SEPARATOR, $zf2ModulePaths)));
$config = ArrayUtils::merge($baseConfig, $testConfig);
$application = \Zend\Mvc\Application::init($config);
// build test database
$entityManager = $application->getServiceManager()->get('doctrine.entitymanager.orm_default');
$schemaTool = new \Doctrine\ORM\Tools\SchemaTool($entityManager);
$schemaTool->createSchema($entityManager->getMetadataFactory()->getAllMetadata());
static::$application = $application;
}
作者:continuousph
项目:deploy-agen
/**
* @Then I should have the application
*/
public function applicationExists(TableNode $table)
{
/** @var ApplicationManager $applicationManager */
$applicationManager = self::$application->getServiceManager()->get('application/application-manager');
$data = [];
foreach ($table->getTable() as $row) {
$data[$row[0]] = $row[1];
}
$application = $applicationManager->get($data['name']);
\PHPUnit_Framework_Assert::assertInstanceOf('Continuous\\DeployAgent\\Application\\Application', $application);
foreach ($data as $property => $value) {
switch ($property) {
case 'pipeline':
$property = 'reference';
case 'token':
case 'repositoryProvider':
case 'repository':
\PHPUnit_Framework_Assert::assertAttributeEquals($value, $property, $application->getProvider());
break;
case 'provider':
$provider = self::$application->getServiceManager()->get('provider/' . $value);
\PHPUnit_Framework_Assert::assertAttributeInstanceOf(get_class($provider), $property, $application);
break;
default:
\PHPUnit_Framework_Assert::assertAttributeEquals($value, $property, $application);
}
}
}
作者:Lebe1g
项目:JobeetForZF
protected function setUp()
{
$bootstrap = \Zend\Mvc\Application::init(include 'config/application.config.php');
$categoryData = array('id_category' => 1, 'name' => 'Project Manager');
$category = new Category();
$category->exchangeArray($categoryData);
$resultSetCategory = new ResultSet();
$resultSetCategory->setArrayObjectPrototype(new Category());
$resultSetCategory->initialize(array($category));
$mockCategoryTableGateway = $this->getMock('Zend\\Db\\TableGateway\\TableGateway', array('select'), array(), '', false);
$mockCategoryTableGateway->expects($this->any())->method('select')->with()->will($this->returnValue($resultSetCategory));
$categoryTable = new CategoryTable($mockCategoryTableGateway);
$jobData = array('id_job' => 1, 'id_category' => 1, 'type' => 'typeTest', 'company' => 'companyTest', 'logo' => 'logoTest', 'url' => 'urlTest', 'position' => 'positionTest', 'location' => 'locaitonTest', 'description' => 'descriptionTest', 'how_to_play' => 'hotToPlayTest', 'is_public' => 1, 'is_activated' => 1, 'email' => 'emailTest', 'created_at' => '2012-01-01 00:00:00', 'updated_at' => '2012-01-01 00:00:00');
$job = new Job();
$job->exchangeArray($jobData);
$resultSetJob = new ResultSet();
$resultSetJob->setArrayObjectPrototype(new Job());
$resultSetJob->initialize(array($job));
$mockJobTableGateway = $this->getMock('Zend\\Db\\TableGateway\\TableGateway', array('select'), array(), '', false);
$mockJobTableGateway->expects($this->any())->method('select')->with(array('id_category' => 1))->will($this->returnValue($resultSetJob));
$jobTable = new JobTable($mockJobTableGateway);
$this->controller = new IndexController($categoryTable, $jobTable);
$this->request = new Request();
$this->routeMatch = new RouteMatch(array('controller' => 'index'));
$this->event = $bootstrap->getMvcEvent();
$this->event->setRouteMatch($this->routeMatch);
$this->controller->setEvent($this->event);
$this->controller->setEventManager($bootstrap->getEventManager());
$this->controller->setServiceLocator($bootstrap->getServiceManager());
}