예제 #1
0
 public function getAppWithMockCli($mockContent = null)
 {
     $app = new Pimple\Container();
     $app->register(new Wpbootstrap\Providers\DefaultObjectProvider());
     $app['cli'] = new MockCliWrapper($mockContent);
     $app['cliutils'] = new MockCliUtilsWrapper();
     $app->register(new Wpbootstrap\Providers\ApplicationParametersProvider());
     return $app;
 }
예제 #2
0
 /**
  * Constructor.
  *
  * @param \Pimple|\Pimple\Container|null $container
  */
 public function __construct($container = null)
 {
     if ($container === null) {
         if (class_exists('Pimple\\Container')) {
             $container = new \Pimple\Container();
             $container->register(new BeanstalkPimple3ServiceProvider());
         } else {
             $container = new \Pimple();
             $sp = new BeanstalkPimple1ServiceProvider();
             $sp->register($container);
         }
     }
     $container['beanstalk.console_commands.queue_prefix'] = '';
     parent::__construct('Queue', null, $container);
     $this->addCommands($container['beanstalk.console_commands']);
 }
 public function testFactory()
 {
     $url = 'http://localhost:8983/solr/';
     $user = "******";
     $pass = "******";
     $timeout = 13;
     $options = ['timeout' => $timeout];
     $container = new \Pimple\Container();
     $provider = SolrClientServiceProvider::factory($url, $user, $pass, $options);
     $container->register($provider);
     $client = $container['solr'];
     $this->assertInstanceOf(Client::class, $client);
     $guzzle = $client->getGuzzleClient();
     $this->assertSame($url, (string) $guzzle->getConfig('base_uri'));
     $this->assertSame([$user, $pass], $guzzle->getConfig('auth'));
     $this->assertSame($timeout, $guzzle->getConfig('timeout'));
 }
예제 #4
0
<?php

require dirname(__DIR__) . '/vendor/autoload.php';
// Automatically parse environment configuration (Heroku)
if (getenv('DATABASE_URL')) {
    $dbopts = parse_url(getenv('DATABASE_URL'));
    define('DB_DRIVER', $dbopts['scheme']);
    define('DB_USERNAME', $dbopts["user"]);
    define('DB_PASSWORD', $dbopts["pass"]);
    define('DB_HOSTNAME', $dbopts["host"]);
    define('DB_PORT', isset($dbopts["port"]) ? $dbopts["port"] : null);
    define('DB_NAME', ltrim($dbopts["path"], '/'));
}
// Include custom config file
if (file_exists('config.php')) {
    require 'config.php';
}
require __DIR__ . '/constants.php';
require __DIR__ . '/check_setup.php';
$container = new Pimple\Container();
$container->register(new ServiceProvider\LoggingProvider());
$container->register(new ServiceProvider\DatabaseProvider());
$container->register(new ServiceProvider\ClassProvider());
$container->register(new ServiceProvider\EventDispatcherProvider());
if (ENABLE_URL_REWRITE) {
    require __DIR__ . '/routes.php';
}
$container['pluginLoader']->scan();
예제 #5
0
<?php

$package = __DIR__ . '/../../../../vendor/autoload.php';
if (file_exists($package)) {
    require $package;
} else {
    require __DIR__ . '/../vendor/autoload.php';
}
use Expressly\Logger\DummyLogger;
use Expressly\ServiceProvider\MonologServiceProvider;
$app = new Pimple\Container();
require_once __DIR__ . '/config.php';
try {
    $app->register(new MonologServiceProvider($app), array('monolog.name' => $merchantType));
} catch (\Exception $e) {
    $app['logger'] = function () {
        return new DummyLogger();
    };
}
require_once __DIR__ . '/services.php';
return $app;
예제 #6
0
 * Version: 0.1
 * Author: Tom Forrer
 * Author URI: http://githubm.com/tmf
 * License: MIT
 */
/**
 * @autor     Tom Forrer <*****@*****.**>
 * @copyright Copyright (c) 2014 Tom Forrer (http://github.com/tmf)
 */
if (!file_exists(__DIR__ . '/base')) {
    symlink(__DIR__ . '/../../../..', __DIR__ . '/base');
}
if (file_exists(__DIR__ . '/base/vendor/autoload.php')) {
    require_once __DIR__ . '/base/vendor/autoload.php';
}
use Tmf\Wordpress\Service\Metabox\MetaboxServiceProvider, Tmf\Wordpress\Service\Metabox\Metabox, Tmf\Wordpress\Service\Metabox\Item\InputItem, Tmf\Wordpress\Service\Metabox\Item\DropdownItem, Tmf\Wordpress\Service\Metabox\Item\EditorItem, Tmf\Wordpress\Service\Metabox\Item\PostsDropdownItem, Tmf\Wordpress\Service\Metabox\Item\DateTimeItem;
$services = new Pimple\Container();
// $plugin contains the path of this plugin as wordpress sees it
$services->register(new MetaboxServiceProvider(), ['metaboxes.base_directory' => dirname($plugin) . '/base', 'metaboxes.vendor_directory' => dirname($plugin) . '/base/vendor']);
add_action('admin_init', function () use($services) {
    $services['metaboxes']['foo'] = new Metabox('Foo', ['post'], 'normal', 'high');
    $services['metaboxes']['foo']['text'] = new InputItem(['label' => 'Metatext', 'description' => 'Some description']);
    $services['metaboxes']['foo']['dropdown'] = new DropdownItem(['multiple' => false, 'label' => 'Dropdown', 'options' => [['label' => 'Foo', 'value' => 'foo'], ['label' => 'ASDF', 'value' => 'asdf']]]);
    $services['metaboxes']['foo']['editor'] = new EditorItem(['label' => 'Editor']);
    $services['metaboxes']['foo']['some_posts'] = new PostsDropdownItem(['label' => 'Some posts', 'options' => function () {
        return array_map(function (WP_Post $post) {
            return ['label' => $post->post_title, 'value' => $post->ID, 'data' => ['data' => htmlentities(json_encode($post))]];
        }, get_posts(['posts_per_page' => -1]));
    }]);
    $services['metaboxes']['foo']['date'] = new DateTimeItem(['label' => 'Some Date', 'config' => ['timepicker' => false, 'format' => 'd.m.Y']]);
});
예제 #7
0
    define('DB_HOSTNAME', $dbSettings['hostname']);
    define('DB_PORT', $dbSettings['port']);
    define('DB_NAME', $dbSettings['database']);
}
$config_file = implode(DIRECTORY_SEPARATOR, array(__DIR__, '..', 'config.php'));
if (file_exists($config_file)) {
    require $config_file;
}
$config_file = implode(DIRECTORY_SEPARATOR, array(__DIR__, '..', 'data', 'config.php'));
if (file_exists($config_file)) {
    require $config_file;
}
require __DIR__ . '/constants.php';
require __DIR__ . '/check_setup.php';
$container = new Pimple\Container();
$container->register(new Kanboard\ServiceProvider\MailProvider());
$container->register(new Kanboard\ServiceProvider\HelperProvider());
$container->register(new Kanboard\ServiceProvider\SessionProvider());
$container->register(new Kanboard\ServiceProvider\LoggingProvider());
$container->register(new Kanboard\ServiceProvider\DatabaseProvider());
$container->register(new Kanboard\ServiceProvider\AuthenticationProvider());
$container->register(new Kanboard\ServiceProvider\NotificationProvider());
$container->register(new Kanboard\ServiceProvider\ClassProvider());
$container->register(new Kanboard\ServiceProvider\EventDispatcherProvider());
$container->register(new Kanboard\ServiceProvider\GroupProvider());
$container->register(new Kanboard\ServiceProvider\RouteProvider());
$container->register(new Kanboard\ServiceProvider\ActionProvider());
$container->register(new Kanboard\ServiceProvider\ExternalLinkProvider());
$container->register(new Kanboard\ServiceProvider\AvatarProvider());
$container->register(new Kanboard\ServiceProvider\FilterProvider());
$container->register(new Kanboard\ServiceProvider\JobProvider());
예제 #8
0
파일: common.php 프로젝트: perburn/kanboard
// Automatically parse environment configuration (Heroku)
if (getenv('DATABASE_URL')) {
    $dbopts = parse_url(getenv('DATABASE_URL'));
    define('DB_DRIVER', $dbopts['scheme']);
    define('DB_USERNAME', $dbopts["user"]);
    define('DB_PASSWORD', $dbopts["pass"]);
    define('DB_HOSTNAME', $dbopts["host"]);
    define('DB_PORT', isset($dbopts["port"]) ? $dbopts["port"] : null);
    define('DB_NAME', ltrim($dbopts["path"], '/'));
}
if (file_exists('config.php')) {
    require 'config.php';
}
if (file_exists('data' . DIRECTORY_SEPARATOR . 'config.php')) {
    require 'data' . DIRECTORY_SEPARATOR . 'config.php';
}
require __DIR__ . '/constants.php';
require __DIR__ . '/check_setup.php';
$container = new Pimple\Container();
$container->register(new Kanboard\ServiceProvider\SessionProvider());
$container->register(new Kanboard\ServiceProvider\LoggingProvider());
$container->register(new Kanboard\ServiceProvider\DatabaseProvider());
$container->register(new Kanboard\ServiceProvider\AuthenticationProvider());
$container->register(new Kanboard\ServiceProvider\NotificationProvider());
$container->register(new Kanboard\ServiceProvider\ClassProvider());
$container->register(new Kanboard\ServiceProvider\EventDispatcherProvider());
$container->register(new Kanboard\ServiceProvider\GroupProvider());
$container->register(new Kanboard\ServiceProvider\RouteProvider());
$container->register(new Kanboard\ServiceProvider\ActionProvider());
$container->register(new Kanboard\ServiceProvider\ExternalLinkProvider());
$container->register(new Kanboard\ServiceProvider\PluginProvider());
예제 #9
0
파일: common.php 프로젝트: Folcky/kanboard
<?php

require dirname(__DIR__) . '/vendor/autoload.php';
// Automatically parse environment configuration (Heroku)
if (getenv('DATABASE_URL')) {
    $dbopts = parse_url(getenv('DATABASE_URL'));
    define('DB_DRIVER', $dbopts['scheme']);
    define('DB_USERNAME', $dbopts["user"]);
    define('DB_PASSWORD', $dbopts["pass"]);
    define('DB_HOSTNAME', $dbopts["host"]);
    define('DB_PORT', isset($dbopts["port"]) ? $dbopts["port"] : null);
    define('DB_NAME', ltrim($dbopts["path"], '/'));
}
// Include custom config file
if (file_exists('config.php')) {
    require 'config.php';
}
require __DIR__ . '/constants.php';
require __DIR__ . '/check_setup.php';
$container = new Pimple\Container();
$container->register(new Kanboard\ServiceProvider\SessionProvider());
$container->register(new Kanboard\ServiceProvider\LoggingProvider());
$container->register(new Kanboard\ServiceProvider\DatabaseProvider());
$container->register(new Kanboard\ServiceProvider\ClassProvider());
$container->register(new Kanboard\ServiceProvider\EventDispatcherProvider());
if (ENABLE_URL_REWRITE) {
    require __DIR__ . '/routes.php';
}
$container['pluginLoader']->scan();
 /**
  * getMultipleConnectionsContainer
  *
  * @return \Pimple\Container
  */
 protected function getMultipleConnectionsContainer()
 {
     $container = new \Pimple\Container();
     $container['amqp.options'] = ['connections' => ['conn1' => array('host' => '127.0.0.1', 'port' => 5672, 'login' => 'guest', 'password' => 'guest', 'vhost' => '/'), 'conn2' => array('host' => '127.0.0.1', 'port' => 5672, 'login' => 'guest', 'password' => 'guest', 'vhost' => '/')]];
     $container->register(new AMQPServiceProvider());
     return $container;
 }
예제 #11
0
<?php

require 'vendor/autoload.php';
// Include custom config file
if (file_exists('config.php')) {
    require 'config.php';
}
require __DIR__ . '/constants.php';
$container = new Pimple\Container();
$container->register(new ServiceProvider\Logging());
$container->register(new ServiceProvider\Database());
$container->register(new ServiceProvider\Event());
$container->register(new ServiceProvider\Mailer());
예제 #12
0
$app = new Pimple\Container();
/**
 * Load our application configuration
 */
$app_config = ['providers' => [App\Providers\RequestServiceProvider::class, App\Providers\SessionServiceProvider::class, App\Providers\ResponseServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\WhoopsServiceProvider::class, App\Providers\MonologServiceProvider::class, App\Providers\ViewServiceProvider::class, App\Providers\RouteDispatchServiceProvider::class], 'responseHandlers' => [Ncaro\Foundation\Response\Handler\ItemHandler::class, Ncaro\Foundation\Response\Handler\CollectionHandler::class, Ncaro\Foundation\Response\Handler\ResponseHandler::class, Ncaro\Foundation\Response\Handler\StringHandler::class, Ncaro\Foundation\Response\Handler\RedirectHandler::class, Ncaro\Foundation\Response\Handler\ArrayHandler::class, Ncaro\Foundation\Response\Handler\ObjectHandler::class, Ncaro\Foundation\Response\Handler\OtherHandler::class], 'aliases' => ['Container' => Ncaro\Foundation\IoC\Container::class, 'Router' => Ncaro\Foundation\Routing\Router::class, 'Post' => Ncaro\Wordpress\Post\Collection::class, 'User' => Ncaro\Wordpress\User\Collection::class, 'Taxonomy' => Ncaro\Wordpress\Taxonomy\Collection::class, 'Image' => Ncaro\Wordpress\Image\Collection::class, 'Pagination' => Ncaro\Wordpress\Pagination\Pagination::class, 'Menu' => Ncaro\Wordpress\Menu\Menu::class, 'View' => App\Providers\Facades\View::class, 'Request' => App\Providers\Facades\Request::class, 'Response' => App\Providers\Facades\Response::class, 'Session' => App\Providers\Facades\Session::class, 'Event' => App\Providers\Facades\Event::class, 'Log' => App\Providers\Facades\Log::class, 'ConsoleLog' => App\Providers\Facades\ConsoleLog::class], 'app_path' => __DIR__ . '/../app', 'cache_path' => __DIR__ . '/../storage', 'view_path' => __DIR__ . '/../resources/views', 'wp_config_path' => __DIR__ . '/../app/Support/Config', 'wp_shortcode_path' => __DIR__ . '/../app/Support/Shortcode'];
/**
 * Register our class aliases
 */
foreach ($app_config['aliases'] as $alias => $class) {
    class_alias($class, $alias);
}
/**
 * Register our service providers
 */
foreach ($app_config['providers'] as $provider) {
    $app->register(new $provider($app_config));
}
/**
 * Register the error handler
 */
if (env('APP_DEBUG')) {
    $app['whoops']->register();
}
/**
 * Register the IoC application
 */
Ncaro\Foundation\IoC\Application::setApplication($app);
/**
 * Start the Symfony session
 */
$app['session'];