├── web
├── favicon.ico
├── apple-touch-icon.png
├── robots.txt
├── js
│ └── components.js
├── app.php
├── app_dev.php
├── .htaccess
└── config.php
├── app
├── config
│ ├── routing.yml
│ ├── config_test.yml
│ ├── services.yml
│ ├── routing_dev.yml
│ ├── config_prod.yml
│ ├── parameters.yml.dist
│ ├── security.yml
│ ├── config_dev.yml
│ └── config.yml
├── .htaccess
├── autoload.php
├── AppKernel.php
└── MicroKernel.php
├── src
├── .htaccess
└── AppBundle
│ ├── AppBundle.php
│ └── Controller
│ └── DefaultController.php
├── .gitignore
├── README.md
├── bin
├── console
└── symfony_requirements
├── phpunit.xml.dist
├── composer.json
└── composer.lock
/web/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/janit/reactfony/HEAD/web/favicon.ico
--------------------------------------------------------------------------------
/app/config/routing.yml:
--------------------------------------------------------------------------------
1 | app:
2 | resource: "@AppBundle/Controller/"
3 | type: annotation
4 |
--------------------------------------------------------------------------------
/web/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/janit/reactfony/HEAD/web/apple-touch-icon.png
--------------------------------------------------------------------------------
/web/robots.txt:
--------------------------------------------------------------------------------
1 | # www.robotstxt.org/
2 | # www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449
3 |
4 | User-agent: *
5 |
--------------------------------------------------------------------------------
/app/.htaccess:
--------------------------------------------------------------------------------
1 |
2 | Require all denied
3 |
4 |
5 | Order deny,allow
6 | Deny from all
7 |
8 |
--------------------------------------------------------------------------------
/src/.htaccess:
--------------------------------------------------------------------------------
1 |
2 | Require all denied
3 |
4 |
5 | Order deny,allow
6 | Deny from all
7 |
8 |
--------------------------------------------------------------------------------
/src/AppBundle/AppBundle.php:
--------------------------------------------------------------------------------
1 | render('default/index.html.twig', array(
18 | 'base_dir' => realpath($this->container->getParameter('kernel.root_dir').'/..'),
19 | ));
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/app/config/config_prod.yml:
--------------------------------------------------------------------------------
1 | imports:
2 | - { resource: config.yml }
3 |
4 | #framework:
5 | # validation:
6 | # cache: validator.mapping.cache.apc
7 | # serializer:
8 | # cache: serializer.mapping.cache.apc
9 |
10 | #doctrine:
11 | # orm:
12 | # metadata_cache_driver: apc
13 | # result_cache_driver: apc
14 | # query_cache_driver: apc
15 |
16 | monolog:
17 | handlers:
18 | main:
19 | type: fingers_crossed
20 | action_level: error
21 | handler: nested
22 | nested:
23 | type: stream
24 | path: "%kernel.logs_dir%/%kernel.environment%.log"
25 | level: debug
26 | console:
27 | type: console
28 |
--------------------------------------------------------------------------------
/web/js/components.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var Timer = React.createClass({
4 | displayName: "Timer",
5 |
6 | getInitialState: function getInitialState() {
7 | return { secondsElapsed: this.props.startTime };
8 | },
9 | tick: function tick() {
10 | this.setState({ secondsElapsed: this.state.secondsElapsed + 1 });
11 | },
12 | componentDidMount: function componentDidMount() {
13 | this.interval = setInterval(this.tick, 1000);
14 | },
15 | componentWillUnmount: function componentWillUnmount() {
16 | clearInterval(this.interval);
17 | },
18 | render: function render() {
19 | return React.createElement(
20 | "div",
21 | null,
22 | "Seconds: ",
23 | this.state.secondsElapsed
24 | );
25 | }
26 | });
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | React.js Server Rendering with Symfony
2 | ===
3 |
4 | React.js is often thought of as as a front end technology. They can, however be rendered on the server side too - using JavaScript. This naturally turns the scale towards Node.js, but PHP with the v8js installation can handle it too. Let's see how to merge together v8js and the Symfony Microkernel, making it possible to set the initial state of server rendered components using a PHP backend.
5 |
6 | A Symfony project created on December 19, 2015, 9:56 am.
7 |
8 | Details: https://www.symfony.fi/entry/testing-react-js-isomorphic-rendering-with-php-v8js-and-the-symfony-microkernel
9 |
10 | INSTALL
11 | ===
12 |
13 | - composer install
14 | - app/console server:run
15 | - http://127.0.0.1:8000/
16 |
--------------------------------------------------------------------------------
/app/config/parameters.yml.dist:
--------------------------------------------------------------------------------
1 | # This file is a "template" of what your parameters.yml file should look like
2 | # Set parameters here that may be different on each deployment target of the app, e.g. development, staging, production.
3 | # http://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration
4 | parameters:
5 | database_host: 127.0.0.1
6 | database_port: ~
7 | database_name: symfony
8 | database_user: root
9 | database_password: ~
10 | # You should uncomment this if you want use pdo_sqlite
11 | # database_path: "%kernel.root_dir%/data.db3"
12 |
13 | mailer_transport: smtp
14 | mailer_host: 127.0.0.1
15 | mailer_user: ~
16 | mailer_password: ~
17 |
18 | # A secret key that's used to generate certain security-related tokens
19 | secret: ThisTokenIsNotSoSecretChangeIt
20 |
--------------------------------------------------------------------------------
/app/config/security.yml:
--------------------------------------------------------------------------------
1 | # To get started with security, check out the documentation:
2 | # http://symfony.com/doc/current/book/security.html
3 | security:
4 |
5 | # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
6 | providers:
7 | in_memory:
8 | memory: ~
9 |
10 | firewalls:
11 | # disables authentication for assets and the profiler, adapt it according to your needs
12 | dev:
13 | pattern: ^/(_(profiler|wdt)|css|images|js)/
14 | security: false
15 |
16 | main:
17 | anonymous: ~
18 | # activate different ways to authenticate
19 |
20 | # http_basic: ~
21 | # http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate
22 |
23 | # form_login: ~
24 | # http://symfony.com/doc/current/cookbook/security/form_login_setup.html
25 |
--------------------------------------------------------------------------------
/bin/console:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev');
21 | $debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod';
22 |
23 | if ($debug) {
24 | Debug::enable();
25 | }
26 |
27 | $kernel = new AppKernel($env, $debug);
28 | $application = new Application($kernel);
29 | $application->run($input);
30 |
--------------------------------------------------------------------------------
/phpunit.xml.dist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | tests
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | src
27 |
28 | src/*Bundle/Resources
29 | src/*/*Bundle/Resources
30 | src/*/Bundle/*Bundle/Resources
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/web/app.php:
--------------------------------------------------------------------------------
1 | unregister();
18 | $apcLoader->register(true);
19 | */
20 |
21 | //require_once __DIR__.'/../app/AppCache.php';
22 |
23 | $kernel = new AppKernel('prod', false);
24 | $kernel->loadClassCache();
25 | //$kernel = new AppCache($kernel);
26 |
27 | // When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter
28 | //Request::enableHttpMethodParameterOverride();
29 | $request = Request::createFromGlobals();
30 | $response = $kernel->handle($request);
31 | $response->send();
32 | $kernel->terminate($request, $response);
33 |
--------------------------------------------------------------------------------
/app/config/config_dev.yml:
--------------------------------------------------------------------------------
1 | imports:
2 | - { resource: config.yml }
3 |
4 | framework:
5 | router:
6 | resource: "%kernel.root_dir%/config/routing_dev.yml"
7 | strict_requirements: true
8 | profiler: { only_exceptions: false }
9 |
10 | web_profiler:
11 | toolbar: true
12 | intercept_redirects: false
13 |
14 | monolog:
15 | handlers:
16 | main:
17 | type: stream
18 | path: "%kernel.logs_dir%/%kernel.environment%.log"
19 | level: debug
20 | console:
21 | type: console
22 | bubble: false
23 | verbosity_levels:
24 | VERBOSITY_VERBOSE: INFO
25 | VERBOSITY_VERY_VERBOSE: DEBUG
26 | channels: ["!doctrine"]
27 | console_very_verbose:
28 | type: console
29 | bubble: false
30 | verbosity_levels:
31 | VERBOSITY_VERBOSE: NOTICE
32 | VERBOSITY_VERY_VERBOSE: NOTICE
33 | VERBOSITY_DEBUG: DEBUG
34 | channels: ["doctrine"]
35 | # uncomment to get logging in your browser
36 | # you may have to allow bigger header sizes in your Web server configuration
37 | #firephp:
38 | # type: firephp
39 | # level: info
40 | #chromephp:
41 | # type: chromephp
42 | # level: info
43 |
44 | #swiftmailer:
45 | # delivery_address: me@example.com
46 |
--------------------------------------------------------------------------------
/web/app_dev.php:
--------------------------------------------------------------------------------
1 | loadClassCache();
11 |
12 | $app->handle(Request::createFromGlobals())->send();
13 |
14 |
15 | /*
16 |
17 | use Symfony\Component\HttpFoundation\Request;
18 | use Symfony\Component\Debug\Debug;
19 |
20 | // If you don't want to setup permissions the proper way, just uncomment the following PHP line
21 | // read http://symfony.com/doc/current/book/installation.html#checking-symfony-application-configuration-and-setup
22 | // for more information
23 | //umask(0000);
24 |
25 | // This check prevents access to debug front controllers that are deployed by accident to production servers.
26 | // Feel free to remove this, extend it, or make something more sophisticated.
27 | if (isset($_SERVER['HTTP_CLIENT_IP'])
28 | || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
29 | || !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server')
30 | ) {
31 | header('HTTP/1.0 403 Forbidden');
32 | exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
33 | }
34 |
35 | /**
36 | * @var Composer\Autoload\ClassLoader $loader
37 | *
38 | $loader = require __DIR__.'/../app/autoload.php';
39 | Debug::enable();
40 |
41 | $kernel = new AppKernel('dev', true);
42 | $kernel->loadClassCache();
43 | $request = Request::createFromGlobals();
44 | $response = $kernel->handle($request);
45 | $response->send();
46 | $kernel->terminate($request, $response);
47 |
48 |
49 | */
--------------------------------------------------------------------------------
/app/AppKernel.php:
--------------------------------------------------------------------------------
1 | getEnvironment(), array('dev', 'test'), true)) {
22 | $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
23 | $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
24 | $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
25 | $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
26 | }
27 |
28 | return $bundles;
29 | }
30 |
31 | public function getRootDir()
32 | {
33 | return __DIR__;
34 | }
35 |
36 | public function getCacheDir()
37 | {
38 | return dirname(__DIR__).'/var/cache/'.$this->getEnvironment();
39 | }
40 |
41 | public function getLogDir()
42 | {
43 | return dirname(__DIR__).'/var/logs';
44 | }
45 |
46 | public function registerContainerConfiguration(LoaderInterface $loader)
47 | {
48 | $loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/app/config/config.yml:
--------------------------------------------------------------------------------
1 | imports:
2 | - { resource: parameters.yml }
3 | - { resource: security.yml }
4 | - { resource: services.yml }
5 |
6 | # Put parameters here that don't need to change on each machine where the app is deployed
7 | # http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
8 | parameters:
9 | locale: en
10 |
11 | framework:
12 | #esi: ~
13 | #translator: { fallbacks: ["%locale%"] }
14 | secret: "%secret%"
15 | router:
16 | resource: "%kernel.root_dir%/config/routing.yml"
17 | strict_requirements: ~
18 | form: ~
19 | csrf_protection: ~
20 | validation: { enable_annotations: true }
21 | #serializer: { enable_annotations: true }
22 | templating:
23 | engines: ['twig']
24 | #assets_version: SomeVersionScheme
25 | default_locale: "%locale%"
26 | trusted_hosts: ~
27 | trusted_proxies: ~
28 | session:
29 | # handler_id set to null will use default session handler from php.ini
30 | handler_id: ~
31 | save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
32 | fragments: ~
33 | http_method_override: true
34 | assets: ~
35 |
36 | # Twig Configuration
37 | twig:
38 | debug: "%kernel.debug%"
39 | strict_variables: "%kernel.debug%"
40 |
41 | # Doctrine Configuration
42 | doctrine:
43 | dbal:
44 | driver: pdo_mysql
45 | host: "%database_host%"
46 | port: "%database_port%"
47 | dbname: "%database_name%"
48 | user: "%database_user%"
49 | password: "%database_password%"
50 | charset: UTF8
51 | # if using pdo_sqlite as your database driver:
52 | # 1. add the path in parameters.yml
53 | # e.g. database_path: "%kernel.root_dir%/data/data.db3"
54 | # 2. Uncomment database_path in parameters.yml.dist
55 | # 3. Uncomment next line:
56 | # path: "%database_path%"
57 |
58 | orm:
59 | auto_generate_proxy_classes: "%kernel.debug%"
60 | naming_strategy: doctrine.orm.naming_strategy.underscore
61 | auto_mapping: true
62 |
63 | # Swiftmailer Configuration
64 | swiftmailer:
65 | transport: "%mailer_transport%"
66 | host: "%mailer_host%"
67 | username: "%mailer_user%"
68 | password: "%mailer_password%"
69 | spool: { type: memory }
70 |
--------------------------------------------------------------------------------
/app/MicroKernel.php:
--------------------------------------------------------------------------------
1 | add('/', 'kernel:indexAction', 'index');
29 | }
30 |
31 | protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader)
32 | {
33 | $c->loadFromExtension('framework', ['secret' => '12345']);
34 | }
35 |
36 | public function indexAction()
37 | {
38 |
39 | $react_source = file_get_contents(__DIR__.'/../web/js/react.js');
40 | $app_source = file_get_contents(__DIR__.'/../web/js/components.js');
41 |
42 | $rjs = new ReactJS($react_source, $app_source);
43 |
44 | $rjs->setComponent('Timer', array(
45 | 'startTime' => time()
46 | ));
47 |
48 | $output = '
49 |
50 |
51 | Epoch at server
52 |
53 |
54 |
55 |
56 | Epoch server time
57 | Client side only
58 |
59 | Server side with a two second client detach
60 | ' . $rjs->getMarkup() . '
61 |
69 |
70 |
71 | ';
72 |
73 | $response = new Response($output);
74 |
75 | return $response;
76 | }
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "janit/v8fony",
3 | "license": "proprietary",
4 | "type": "project",
5 | "autoload": {
6 | "psr-4": {
7 | "": "src/"
8 | },
9 | "files": [
10 | "app/AppKernel.php"
11 | ]
12 | },
13 | "autoload-dev": {
14 | "psr-4": {
15 | "Tests\\": "tests/"
16 | }
17 | },
18 | "require": {
19 | "php": ">=5.5.9",
20 | "symfony/symfony": "3.0.*",
21 | "doctrine/orm": "^2.5",
22 | "doctrine/doctrine-bundle": "^1.6",
23 | "doctrine/doctrine-cache-bundle": "^1.2",
24 | "symfony/swiftmailer-bundle": "^2.3",
25 | "symfony/monolog-bundle": "^2.8",
26 | "sensio/distribution-bundle": "^5.0",
27 | "sensio/framework-extra-bundle": "^3.0.2",
28 | "incenteev/composer-parameter-handler": "^2.0",
29 | "reactjs/react-php-v8js": "^1.0"
30 | },
31 | "require-dev": {
32 | "sensio/generator-bundle": "^3.0",
33 | "symfony/phpunit-bridge": "^2.7"
34 | },
35 | "scripts": {
36 | "post-install-cmd": [
37 | "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
38 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
39 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
40 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
41 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
42 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
43 | ],
44 | "post-update-cmd": [
45 | "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
46 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
47 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
48 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
49 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
50 | "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
51 | ]
52 | },
53 | "extra": {
54 | "symfony-app-dir": "app",
55 | "symfony-bin-dir": "bin",
56 | "symfony-var-dir": "var",
57 | "symfony-web-dir": "web",
58 | "symfony-tests-dir": "tests",
59 | "symfony-assets-install": "relative",
60 | "incenteev-parameters": {
61 | "file": "app/config/parameters.yml"
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/web/.htaccess:
--------------------------------------------------------------------------------
1 | # Use the front controller as index file. It serves as a fallback solution when
2 | # every other rewrite/redirect fails (e.g. in an aliased environment without
3 | # mod_rewrite). Additionally, this reduces the matching process for the
4 | # start page (path "/") because otherwise Apache will apply the rewriting rules
5 | # to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl).
6 | DirectoryIndex app.php
7 |
8 | # By default, Apache does not evaluate symbolic links if you did not enable this
9 | # feature in your server configuration. Uncomment the following line if you
10 | # install assets as symlinks or if you experience problems related to symlinks
11 | # when compiling LESS/Sass/CoffeScript assets.
12 | # Options FollowSymlinks
13 |
14 | # Disabling MultiViews prevents unwanted negotiation, e.g. "/app" should not resolve
15 | # to the front controller "/app.php" but be rewritten to "/app.php/app".
16 |
17 | Options -MultiViews
18 |
19 |
20 |
21 | RewriteEngine On
22 |
23 | # Determine the RewriteBase automatically and set it as environment variable.
24 | # If you are using Apache aliases to do mass virtual hosting or installed the
25 | # project in a subdirectory, the base path will be prepended to allow proper
26 | # resolution of the app.php file and to redirect to the correct URI. It will
27 | # work in environments without path prefix as well, providing a safe, one-size
28 | # fits all solution. But as you do not need it in this case, you can comment
29 | # the following 2 lines to eliminate the overhead.
30 | RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
31 | RewriteRule ^(.*) - [E=BASE:%1]
32 |
33 | # Sets the HTTP_AUTHORIZATION header removed by Apache
34 | RewriteCond %{HTTP:Authorization} .
35 | RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
36 |
37 | # Redirect to URI without front controller to prevent duplicate content
38 | # (with and without `/app.php`). Only do this redirect on the initial
39 | # rewrite by Apache and not on subsequent cycles. Otherwise we would get an
40 | # endless redirect loop (request -> rewrite to front controller ->
41 | # redirect -> request -> ...).
42 | # So in case you get a "too many redirects" error or you always get redirected
43 | # to the start page because your Apache does not expose the REDIRECT_STATUS
44 | # environment variable, you have 2 choices:
45 | # - disable this feature by commenting the following 2 lines or
46 | # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
47 | # following RewriteCond (best solution)
48 | RewriteCond %{ENV:REDIRECT_STATUS} ^$
49 | RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
50 |
51 | # If the requested filename exists, simply serve it.
52 | # We only want to let Apache serve files and not directories.
53 | RewriteCond %{REQUEST_FILENAME} -f
54 | RewriteRule ^ - [L]
55 |
56 | # Rewrite all other queries to the front controller.
57 | RewriteRule ^ %{ENV:BASE}/app.php [L]
58 |
59 |
60 |
61 |
62 | # When mod_rewrite is not available, we instruct a temporary redirect of
63 | # the start page to the front controller explicitly so that the website
64 | # and the generated links can still be used.
65 | RedirectMatch 302 ^/$ /app.php/
66 | # RedirectTemp cannot be used instead
67 |
68 |
69 |
--------------------------------------------------------------------------------
/bin/symfony_requirements:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | getPhpIniConfigPath();
9 |
10 | echo_title('Symfony2 Requirements Checker');
11 |
12 | echo '> PHP is using the following php.ini file:'.PHP_EOL;
13 | if ($iniPath) {
14 | echo_style('green', ' '.$iniPath);
15 | } else {
16 | echo_style('warning', ' WARNING: No configuration file (php.ini) used by PHP!');
17 | }
18 |
19 | echo PHP_EOL.PHP_EOL;
20 |
21 | echo '> Checking Symfony requirements:'.PHP_EOL.' ';
22 |
23 | $messages = array();
24 | foreach ($symfonyRequirements->getRequirements() as $req) {
25 | /** @var $req Requirement */
26 | if ($helpText = get_error_message($req, $lineSize)) {
27 | echo_style('red', 'E');
28 | $messages['error'][] = $helpText;
29 | } else {
30 | echo_style('green', '.');
31 | }
32 | }
33 |
34 | $checkPassed = empty($messages['error']);
35 |
36 | foreach ($symfonyRequirements->getRecommendations() as $req) {
37 | if ($helpText = get_error_message($req, $lineSize)) {
38 | echo_style('yellow', 'W');
39 | $messages['warning'][] = $helpText;
40 | } else {
41 | echo_style('green', '.');
42 | }
43 | }
44 |
45 | if ($checkPassed) {
46 | echo_block('success', 'OK', 'Your system is ready to run Symfony2 projects');
47 | } else {
48 | echo_block('error', 'ERROR', 'Your system is not ready to run Symfony2 projects');
49 |
50 | echo_title('Fix the following mandatory requirements', 'red');
51 |
52 | foreach ($messages['error'] as $helpText) {
53 | echo ' * '.$helpText.PHP_EOL;
54 | }
55 | }
56 |
57 | if (!empty($messages['warning'])) {
58 | echo_title('Optional recommendations to improve your setup', 'yellow');
59 |
60 | foreach ($messages['warning'] as $helpText) {
61 | echo ' * '.$helpText.PHP_EOL;
62 | }
63 | }
64 |
65 | echo PHP_EOL;
66 | echo_style('title', 'Note');
67 | echo ' The command console could use a different php.ini file'.PHP_EOL;
68 | echo_style('title', '~~~~');
69 | echo ' than the one used with your web server. To be on the'.PHP_EOL;
70 | echo ' safe side, please check the requirements from your web'.PHP_EOL;
71 | echo ' server using the ';
72 | echo_style('yellow', 'web/config.php');
73 | echo ' script.'.PHP_EOL;
74 | echo PHP_EOL;
75 |
76 | exit($checkPassed ? 0 : 1);
77 |
78 | function get_error_message(Requirement $requirement, $lineSize)
79 | {
80 | if ($requirement->isFulfilled()) {
81 | return;
82 | }
83 |
84 | $errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL;
85 | $errorMessage .= ' > '.wordwrap($requirement->getHelpText(), $lineSize - 5, PHP_EOL.' > ').PHP_EOL;
86 |
87 | return $errorMessage;
88 | }
89 |
90 | function echo_title($title, $style = null)
91 | {
92 | $style = $style ?: 'title';
93 |
94 | echo PHP_EOL;
95 | echo_style($style, $title.PHP_EOL);
96 | echo_style($style, str_repeat('~', strlen($title)).PHP_EOL);
97 | echo PHP_EOL;
98 | }
99 |
100 | function echo_style($style, $message)
101 | {
102 | // ANSI color codes
103 | $styles = array(
104 | 'reset' => "\033[0m",
105 | 'red' => "\033[31m",
106 | 'green' => "\033[32m",
107 | 'yellow' => "\033[33m",
108 | 'error' => "\033[37;41m",
109 | 'success' => "\033[37;42m",
110 | 'title' => "\033[34m",
111 | );
112 | $supports = has_color_support();
113 |
114 | echo($supports ? $styles[$style] : '').$message.($supports ? $styles['reset'] : '');
115 | }
116 |
117 | function echo_block($style, $title, $message)
118 | {
119 | $message = ' '.trim($message).' ';
120 | $width = strlen($message);
121 |
122 | echo PHP_EOL.PHP_EOL;
123 |
124 | echo_style($style, str_repeat(' ', $width).PHP_EOL);
125 | echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
126 | echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
127 | echo_style($style, str_repeat(' ', $width).PHP_EOL);
128 | }
129 |
130 | function has_color_support()
131 | {
132 | static $support;
133 |
134 | if (null === $support) {
135 | if (DIRECTORY_SEPARATOR == '\\') {
136 | $support = false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI');
137 | } else {
138 | $support = function_exists('posix_isatty') && @posix_isatty(STDOUT);
139 | }
140 | }
141 |
142 | return $support;
143 | }
144 |
--------------------------------------------------------------------------------
/web/config.php:
--------------------------------------------------------------------------------
1 | getFailedRequirements();
30 | $minorProblems = $symfonyRequirements->getFailedRecommendations();
31 |
32 | ?>
33 |
34 |
35 |
36 |
37 |
38 | Symfony Configuration Checker
39 |
40 |
41 |
118 |
119 |
120 |
121 |
147 |
148 |
149 |
150 |
151 |
Configuration Checker
152 |
153 | This script analyzes your system to check whether is
154 | ready to run Symfony applications.
155 |
156 |
157 |
158 |
Major problems
159 |
Major problems have been detected and must be fixed before continuing:
160 |
161 |
162 | getHelpHtml() ?>
163 |
164 |
165 |
166 |
167 |
168 |
Recommendations
169 |
170 | Additionally, toTo enhance your Symfony experience,
171 | it’s recommended that you fix the following:
172 |
173 |
174 |
175 | getHelpHtml() ?>
176 |
177 |
178 |
179 |
180 | hasPhpIniConfigIssue()): ?>
181 |
*
182 | getPhpIniConfigPath()): ?>
183 | Changes to the php.ini file must be done in "getPhpIniConfigPath() ?> ".
184 |
185 | To change settings, create a "php.ini ".
186 |
187 |
188 |
189 |
190 |
191 |
All checks passed successfully. Your system is ready to run Symfony applications.
192 |
193 |
194 |
199 |
200 |
201 |
202 |
Symfony Standard Edition
203 |
204 |
205 |
206 |
--------------------------------------------------------------------------------
/composer.lock:
--------------------------------------------------------------------------------
1 | {
2 | "_readme": [
3 | "This file locks the dependencies of your project to a known state",
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 | "This file is @generated automatically"
6 | ],
7 | "hash": "00b8784b27287092311f7158d75403c5",
8 | "content-hash": "e0e6bc689d464fd58017ffb6ca957bc7",
9 | "packages": [
10 | {
11 | "name": "doctrine/annotations",
12 | "version": "v1.2.7",
13 | "source": {
14 | "type": "git",
15 | "url": "https://github.com/doctrine/annotations.git",
16 | "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535"
17 | },
18 | "dist": {
19 | "type": "zip",
20 | "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
21 | "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
22 | "shasum": ""
23 | },
24 | "require": {
25 | "doctrine/lexer": "1.*",
26 | "php": ">=5.3.2"
27 | },
28 | "require-dev": {
29 | "doctrine/cache": "1.*",
30 | "phpunit/phpunit": "4.*"
31 | },
32 | "type": "library",
33 | "extra": {
34 | "branch-alias": {
35 | "dev-master": "1.3.x-dev"
36 | }
37 | },
38 | "autoload": {
39 | "psr-0": {
40 | "Doctrine\\Common\\Annotations\\": "lib/"
41 | }
42 | },
43 | "notification-url": "https://packagist.org/downloads/",
44 | "license": [
45 | "MIT"
46 | ],
47 | "authors": [
48 | {
49 | "name": "Roman Borschel",
50 | "email": "roman@code-factory.org"
51 | },
52 | {
53 | "name": "Benjamin Eberlei",
54 | "email": "kontakt@beberlei.de"
55 | },
56 | {
57 | "name": "Guilherme Blanco",
58 | "email": "guilhermeblanco@gmail.com"
59 | },
60 | {
61 | "name": "Jonathan Wage",
62 | "email": "jonwage@gmail.com"
63 | },
64 | {
65 | "name": "Johannes Schmitt",
66 | "email": "schmittjoh@gmail.com"
67 | }
68 | ],
69 | "description": "Docblock Annotations Parser",
70 | "homepage": "http://www.doctrine-project.org",
71 | "keywords": [
72 | "annotations",
73 | "docblock",
74 | "parser"
75 | ],
76 | "time": "2015-08-31 12:32:49"
77 | },
78 | {
79 | "name": "doctrine/cache",
80 | "version": "v1.5.1",
81 | "source": {
82 | "type": "git",
83 | "url": "https://github.com/doctrine/cache.git",
84 | "reference": "2b9cec5a5e722010cbebc91713d4c11eaa064d5e"
85 | },
86 | "dist": {
87 | "type": "zip",
88 | "url": "https://api.github.com/repos/doctrine/cache/zipball/2b9cec5a5e722010cbebc91713d4c11eaa064d5e",
89 | "reference": "2b9cec5a5e722010cbebc91713d4c11eaa064d5e",
90 | "shasum": ""
91 | },
92 | "require": {
93 | "php": ">=5.3.2"
94 | },
95 | "conflict": {
96 | "doctrine/common": ">2.2,<2.4"
97 | },
98 | "require-dev": {
99 | "phpunit/phpunit": ">=3.7",
100 | "predis/predis": "~1.0",
101 | "satooshi/php-coveralls": "~0.6"
102 | },
103 | "type": "library",
104 | "extra": {
105 | "branch-alias": {
106 | "dev-master": "1.5.x-dev"
107 | }
108 | },
109 | "autoload": {
110 | "psr-4": {
111 | "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
112 | }
113 | },
114 | "notification-url": "https://packagist.org/downloads/",
115 | "license": [
116 | "MIT"
117 | ],
118 | "authors": [
119 | {
120 | "name": "Roman Borschel",
121 | "email": "roman@code-factory.org"
122 | },
123 | {
124 | "name": "Benjamin Eberlei",
125 | "email": "kontakt@beberlei.de"
126 | },
127 | {
128 | "name": "Guilherme Blanco",
129 | "email": "guilhermeblanco@gmail.com"
130 | },
131 | {
132 | "name": "Jonathan Wage",
133 | "email": "jonwage@gmail.com"
134 | },
135 | {
136 | "name": "Johannes Schmitt",
137 | "email": "schmittjoh@gmail.com"
138 | }
139 | ],
140 | "description": "Caching library offering an object-oriented API for many cache backends",
141 | "homepage": "http://www.doctrine-project.org",
142 | "keywords": [
143 | "cache",
144 | "caching"
145 | ],
146 | "time": "2015-11-02 18:35:48"
147 | },
148 | {
149 | "name": "doctrine/collections",
150 | "version": "v1.3.0",
151 | "source": {
152 | "type": "git",
153 | "url": "https://github.com/doctrine/collections.git",
154 | "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a"
155 | },
156 | "dist": {
157 | "type": "zip",
158 | "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
159 | "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
160 | "shasum": ""
161 | },
162 | "require": {
163 | "php": ">=5.3.2"
164 | },
165 | "require-dev": {
166 | "phpunit/phpunit": "~4.0"
167 | },
168 | "type": "library",
169 | "extra": {
170 | "branch-alias": {
171 | "dev-master": "1.2.x-dev"
172 | }
173 | },
174 | "autoload": {
175 | "psr-0": {
176 | "Doctrine\\Common\\Collections\\": "lib/"
177 | }
178 | },
179 | "notification-url": "https://packagist.org/downloads/",
180 | "license": [
181 | "MIT"
182 | ],
183 | "authors": [
184 | {
185 | "name": "Roman Borschel",
186 | "email": "roman@code-factory.org"
187 | },
188 | {
189 | "name": "Benjamin Eberlei",
190 | "email": "kontakt@beberlei.de"
191 | },
192 | {
193 | "name": "Guilherme Blanco",
194 | "email": "guilhermeblanco@gmail.com"
195 | },
196 | {
197 | "name": "Jonathan Wage",
198 | "email": "jonwage@gmail.com"
199 | },
200 | {
201 | "name": "Johannes Schmitt",
202 | "email": "schmittjoh@gmail.com"
203 | }
204 | ],
205 | "description": "Collections Abstraction library",
206 | "homepage": "http://www.doctrine-project.org",
207 | "keywords": [
208 | "array",
209 | "collections",
210 | "iterator"
211 | ],
212 | "time": "2015-04-14 22:21:58"
213 | },
214 | {
215 | "name": "doctrine/common",
216 | "version": "v2.5.1",
217 | "source": {
218 | "type": "git",
219 | "url": "https://github.com/doctrine/common.git",
220 | "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9"
221 | },
222 | "dist": {
223 | "type": "zip",
224 | "url": "https://api.github.com/repos/doctrine/common/zipball/0009b8f0d4a917aabc971fb089eba80e872f83f9",
225 | "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9",
226 | "shasum": ""
227 | },
228 | "require": {
229 | "doctrine/annotations": "1.*",
230 | "doctrine/cache": "1.*",
231 | "doctrine/collections": "1.*",
232 | "doctrine/inflector": "1.*",
233 | "doctrine/lexer": "1.*",
234 | "php": ">=5.3.2"
235 | },
236 | "require-dev": {
237 | "phpunit/phpunit": "~3.7"
238 | },
239 | "type": "library",
240 | "extra": {
241 | "branch-alias": {
242 | "dev-master": "2.6.x-dev"
243 | }
244 | },
245 | "autoload": {
246 | "psr-0": {
247 | "Doctrine\\Common\\": "lib/"
248 | }
249 | },
250 | "notification-url": "https://packagist.org/downloads/",
251 | "license": [
252 | "MIT"
253 | ],
254 | "authors": [
255 | {
256 | "name": "Roman Borschel",
257 | "email": "roman@code-factory.org"
258 | },
259 | {
260 | "name": "Benjamin Eberlei",
261 | "email": "kontakt@beberlei.de"
262 | },
263 | {
264 | "name": "Guilherme Blanco",
265 | "email": "guilhermeblanco@gmail.com"
266 | },
267 | {
268 | "name": "Jonathan Wage",
269 | "email": "jonwage@gmail.com"
270 | },
271 | {
272 | "name": "Johannes Schmitt",
273 | "email": "schmittjoh@gmail.com"
274 | }
275 | ],
276 | "description": "Common Library for Doctrine projects",
277 | "homepage": "http://www.doctrine-project.org",
278 | "keywords": [
279 | "annotations",
280 | "collections",
281 | "eventmanager",
282 | "persistence",
283 | "spl"
284 | ],
285 | "time": "2015-08-31 13:00:22"
286 | },
287 | {
288 | "name": "doctrine/dbal",
289 | "version": "v2.5.2",
290 | "source": {
291 | "type": "git",
292 | "url": "https://github.com/doctrine/dbal.git",
293 | "reference": "01dbcbc5cd0a913d751418e635434a18a2f2a75c"
294 | },
295 | "dist": {
296 | "type": "zip",
297 | "url": "https://api.github.com/repos/doctrine/dbal/zipball/01dbcbc5cd0a913d751418e635434a18a2f2a75c",
298 | "reference": "01dbcbc5cd0a913d751418e635434a18a2f2a75c",
299 | "shasum": ""
300 | },
301 | "require": {
302 | "doctrine/common": ">=2.4,<2.6-dev",
303 | "php": ">=5.3.2"
304 | },
305 | "require-dev": {
306 | "phpunit/phpunit": "4.*",
307 | "symfony/console": "2.*"
308 | },
309 | "suggest": {
310 | "symfony/console": "For helpful console commands such as SQL execution and import of files."
311 | },
312 | "bin": [
313 | "bin/doctrine-dbal"
314 | ],
315 | "type": "library",
316 | "extra": {
317 | "branch-alias": {
318 | "dev-master": "2.5.x-dev"
319 | }
320 | },
321 | "autoload": {
322 | "psr-0": {
323 | "Doctrine\\DBAL\\": "lib/"
324 | }
325 | },
326 | "notification-url": "https://packagist.org/downloads/",
327 | "license": [
328 | "MIT"
329 | ],
330 | "authors": [
331 | {
332 | "name": "Roman Borschel",
333 | "email": "roman@code-factory.org"
334 | },
335 | {
336 | "name": "Benjamin Eberlei",
337 | "email": "kontakt@beberlei.de"
338 | },
339 | {
340 | "name": "Guilherme Blanco",
341 | "email": "guilhermeblanco@gmail.com"
342 | },
343 | {
344 | "name": "Jonathan Wage",
345 | "email": "jonwage@gmail.com"
346 | }
347 | ],
348 | "description": "Database Abstraction Layer",
349 | "homepage": "http://www.doctrine-project.org",
350 | "keywords": [
351 | "database",
352 | "dbal",
353 | "persistence",
354 | "queryobject"
355 | ],
356 | "time": "2015-09-16 16:29:33"
357 | },
358 | {
359 | "name": "doctrine/doctrine-bundle",
360 | "version": "1.6.0",
361 | "source": {
362 | "type": "git",
363 | "url": "https://github.com/doctrine/DoctrineBundle.git",
364 | "reference": "a5b3ba908ba68f3e14e42762a7b940fde65ed7da"
365 | },
366 | "dist": {
367 | "type": "zip",
368 | "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/a5b3ba908ba68f3e14e42762a7b940fde65ed7da",
369 | "reference": "a5b3ba908ba68f3e14e42762a7b940fde65ed7da",
370 | "shasum": ""
371 | },
372 | "require": {
373 | "doctrine/dbal": "~2.3",
374 | "doctrine/doctrine-cache-bundle": "~1.0",
375 | "jdorn/sql-formatter": "~1.1",
376 | "php": ">=5.3.2",
377 | "symfony/console": "~2.3|~3.0",
378 | "symfony/doctrine-bridge": "~2.2|~3.0",
379 | "symfony/framework-bundle": "~2.3|~3.0"
380 | },
381 | "require-dev": {
382 | "doctrine/orm": "~2.3",
383 | "phpunit/phpunit": "~4",
384 | "satooshi/php-coveralls": "~0.6.1",
385 | "symfony/validator": "~2.2|~3.0",
386 | "symfony/yaml": "~2.2|~3.0",
387 | "twig/twig": "~1.10"
388 | },
389 | "suggest": {
390 | "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.",
391 | "symfony/web-profiler-bundle": "to use the data collector"
392 | },
393 | "type": "symfony-bundle",
394 | "extra": {
395 | "branch-alias": {
396 | "dev-master": "1.6.x-dev"
397 | }
398 | },
399 | "autoload": {
400 | "psr-4": {
401 | "Doctrine\\Bundle\\DoctrineBundle\\": ""
402 | }
403 | },
404 | "notification-url": "https://packagist.org/downloads/",
405 | "license": [
406 | "MIT"
407 | ],
408 | "authors": [
409 | {
410 | "name": "Symfony Community",
411 | "homepage": "http://symfony.com/contributors"
412 | },
413 | {
414 | "name": "Benjamin Eberlei",
415 | "email": "kontakt@beberlei.de"
416 | },
417 | {
418 | "name": "Doctrine Project",
419 | "homepage": "http://www.doctrine-project.org/"
420 | },
421 | {
422 | "name": "Fabien Potencier",
423 | "email": "fabien@symfony.com"
424 | }
425 | ],
426 | "description": "Symfony DoctrineBundle",
427 | "homepage": "http://www.doctrine-project.org",
428 | "keywords": [
429 | "database",
430 | "dbal",
431 | "orm",
432 | "persistence"
433 | ],
434 | "time": "2015-11-04 21:33:02"
435 | },
436 | {
437 | "name": "doctrine/doctrine-cache-bundle",
438 | "version": "1.2.2",
439 | "source": {
440 | "type": "git",
441 | "url": "https://github.com/doctrine/DoctrineCacheBundle.git",
442 | "reference": "030ff41ef1db66370b36467086bfb817a661fe6a"
443 | },
444 | "dist": {
445 | "type": "zip",
446 | "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/030ff41ef1db66370b36467086bfb817a661fe6a",
447 | "reference": "030ff41ef1db66370b36467086bfb817a661fe6a",
448 | "shasum": ""
449 | },
450 | "require": {
451 | "doctrine/cache": "^1.4.2",
452 | "doctrine/inflector": "~1.0",
453 | "php": ">=5.3.2",
454 | "symfony/doctrine-bridge": "~2.2|~3.0"
455 | },
456 | "require-dev": {
457 | "instaclick/coding-standard": "~1.1",
458 | "instaclick/object-calisthenics-sniffs": "dev-master",
459 | "instaclick/symfony2-coding-standard": "dev-remaster",
460 | "phpunit/phpunit": "~4",
461 | "satooshi/php-coveralls": "~0.6.1",
462 | "squizlabs/php_codesniffer": "~1.5",
463 | "symfony/console": "~2.2|~3.0",
464 | "symfony/finder": "~2.2|~3.0",
465 | "symfony/framework-bundle": "~2.2|~3.0",
466 | "symfony/phpunit-bridge": "~2.7|~3.0",
467 | "symfony/security-acl": "~2.3|~3.0",
468 | "symfony/validator": "~2.2|~3.0",
469 | "symfony/yaml": "~2.2|~3.0"
470 | },
471 | "suggest": {
472 | "symfony/security-acl": "For using this bundle to cache ACLs"
473 | },
474 | "type": "symfony-bundle",
475 | "extra": {
476 | "branch-alias": {
477 | "dev-master": "1.2.x-dev"
478 | }
479 | },
480 | "autoload": {
481 | "psr-4": {
482 | "Doctrine\\Bundle\\DoctrineCacheBundle\\": ""
483 | }
484 | },
485 | "notification-url": "https://packagist.org/downloads/",
486 | "license": [
487 | "MIT"
488 | ],
489 | "authors": [
490 | {
491 | "name": "Symfony Community",
492 | "homepage": "http://symfony.com/contributors"
493 | },
494 | {
495 | "name": "Benjamin Eberlei",
496 | "email": "kontakt@beberlei.de"
497 | },
498 | {
499 | "name": "Fabio B. Silva",
500 | "email": "fabio.bat.silva@gmail.com"
501 | },
502 | {
503 | "name": "Guilherme Blanco",
504 | "email": "guilhermeblanco@hotmail.com"
505 | },
506 | {
507 | "name": "Doctrine Project",
508 | "homepage": "http://www.doctrine-project.org/"
509 | },
510 | {
511 | "name": "Fabien Potencier",
512 | "email": "fabien@symfony.com"
513 | }
514 | ],
515 | "description": "Symfony Bundle for Doctrine Cache",
516 | "homepage": "http://www.doctrine-project.org",
517 | "keywords": [
518 | "cache",
519 | "caching"
520 | ],
521 | "time": "2015-11-27 04:59:07"
522 | },
523 | {
524 | "name": "doctrine/inflector",
525 | "version": "v1.1.0",
526 | "source": {
527 | "type": "git",
528 | "url": "https://github.com/doctrine/inflector.git",
529 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae"
530 | },
531 | "dist": {
532 | "type": "zip",
533 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae",
534 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae",
535 | "shasum": ""
536 | },
537 | "require": {
538 | "php": ">=5.3.2"
539 | },
540 | "require-dev": {
541 | "phpunit/phpunit": "4.*"
542 | },
543 | "type": "library",
544 | "extra": {
545 | "branch-alias": {
546 | "dev-master": "1.1.x-dev"
547 | }
548 | },
549 | "autoload": {
550 | "psr-0": {
551 | "Doctrine\\Common\\Inflector\\": "lib/"
552 | }
553 | },
554 | "notification-url": "https://packagist.org/downloads/",
555 | "license": [
556 | "MIT"
557 | ],
558 | "authors": [
559 | {
560 | "name": "Roman Borschel",
561 | "email": "roman@code-factory.org"
562 | },
563 | {
564 | "name": "Benjamin Eberlei",
565 | "email": "kontakt@beberlei.de"
566 | },
567 | {
568 | "name": "Guilherme Blanco",
569 | "email": "guilhermeblanco@gmail.com"
570 | },
571 | {
572 | "name": "Jonathan Wage",
573 | "email": "jonwage@gmail.com"
574 | },
575 | {
576 | "name": "Johannes Schmitt",
577 | "email": "schmittjoh@gmail.com"
578 | }
579 | ],
580 | "description": "Common String Manipulations with regard to casing and singular/plural rules.",
581 | "homepage": "http://www.doctrine-project.org",
582 | "keywords": [
583 | "inflection",
584 | "pluralize",
585 | "singularize",
586 | "string"
587 | ],
588 | "time": "2015-11-06 14:35:42"
589 | },
590 | {
591 | "name": "doctrine/instantiator",
592 | "version": "1.0.5",
593 | "source": {
594 | "type": "git",
595 | "url": "https://github.com/doctrine/instantiator.git",
596 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
597 | },
598 | "dist": {
599 | "type": "zip",
600 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
601 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
602 | "shasum": ""
603 | },
604 | "require": {
605 | "php": ">=5.3,<8.0-DEV"
606 | },
607 | "require-dev": {
608 | "athletic/athletic": "~0.1.8",
609 | "ext-pdo": "*",
610 | "ext-phar": "*",
611 | "phpunit/phpunit": "~4.0",
612 | "squizlabs/php_codesniffer": "~2.0"
613 | },
614 | "type": "library",
615 | "extra": {
616 | "branch-alias": {
617 | "dev-master": "1.0.x-dev"
618 | }
619 | },
620 | "autoload": {
621 | "psr-4": {
622 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
623 | }
624 | },
625 | "notification-url": "https://packagist.org/downloads/",
626 | "license": [
627 | "MIT"
628 | ],
629 | "authors": [
630 | {
631 | "name": "Marco Pivetta",
632 | "email": "ocramius@gmail.com",
633 | "homepage": "http://ocramius.github.com/"
634 | }
635 | ],
636 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
637 | "homepage": "https://github.com/doctrine/instantiator",
638 | "keywords": [
639 | "constructor",
640 | "instantiate"
641 | ],
642 | "time": "2015-06-14 21:17:01"
643 | },
644 | {
645 | "name": "doctrine/lexer",
646 | "version": "v1.0.1",
647 | "source": {
648 | "type": "git",
649 | "url": "https://github.com/doctrine/lexer.git",
650 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
651 | },
652 | "dist": {
653 | "type": "zip",
654 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
655 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
656 | "shasum": ""
657 | },
658 | "require": {
659 | "php": ">=5.3.2"
660 | },
661 | "type": "library",
662 | "extra": {
663 | "branch-alias": {
664 | "dev-master": "1.0.x-dev"
665 | }
666 | },
667 | "autoload": {
668 | "psr-0": {
669 | "Doctrine\\Common\\Lexer\\": "lib/"
670 | }
671 | },
672 | "notification-url": "https://packagist.org/downloads/",
673 | "license": [
674 | "MIT"
675 | ],
676 | "authors": [
677 | {
678 | "name": "Roman Borschel",
679 | "email": "roman@code-factory.org"
680 | },
681 | {
682 | "name": "Guilherme Blanco",
683 | "email": "guilhermeblanco@gmail.com"
684 | },
685 | {
686 | "name": "Johannes Schmitt",
687 | "email": "schmittjoh@gmail.com"
688 | }
689 | ],
690 | "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
691 | "homepage": "http://www.doctrine-project.org",
692 | "keywords": [
693 | "lexer",
694 | "parser"
695 | ],
696 | "time": "2014-09-09 13:34:57"
697 | },
698 | {
699 | "name": "doctrine/orm",
700 | "version": "v2.5.2",
701 | "source": {
702 | "type": "git",
703 | "url": "https://github.com/doctrine/doctrine2.git",
704 | "reference": "464b5fdbfbbeb4a65465ac173c4c5d90960f41ff"
705 | },
706 | "dist": {
707 | "type": "zip",
708 | "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/464b5fdbfbbeb4a65465ac173c4c5d90960f41ff",
709 | "reference": "464b5fdbfbbeb4a65465ac173c4c5d90960f41ff",
710 | "shasum": ""
711 | },
712 | "require": {
713 | "doctrine/cache": "~1.4",
714 | "doctrine/collections": "~1.2",
715 | "doctrine/common": ">=2.5-dev,<2.6-dev",
716 | "doctrine/dbal": ">=2.5-dev,<2.6-dev",
717 | "doctrine/instantiator": "~1.0.1",
718 | "ext-pdo": "*",
719 | "php": ">=5.4",
720 | "symfony/console": "~2.5|~3.0"
721 | },
722 | "require-dev": {
723 | "phpunit/phpunit": "~4.0",
724 | "satooshi/php-coveralls": "dev-master",
725 | "symfony/yaml": "~2.3|~3.0"
726 | },
727 | "suggest": {
728 | "symfony/yaml": "If you want to use YAML Metadata Mapping Driver"
729 | },
730 | "bin": [
731 | "bin/doctrine",
732 | "bin/doctrine.php"
733 | ],
734 | "type": "library",
735 | "extra": {
736 | "branch-alias": {
737 | "dev-master": "2.6.x-dev"
738 | }
739 | },
740 | "autoload": {
741 | "psr-0": {
742 | "Doctrine\\ORM\\": "lib/"
743 | }
744 | },
745 | "notification-url": "https://packagist.org/downloads/",
746 | "license": [
747 | "MIT"
748 | ],
749 | "authors": [
750 | {
751 | "name": "Roman Borschel",
752 | "email": "roman@code-factory.org"
753 | },
754 | {
755 | "name": "Benjamin Eberlei",
756 | "email": "kontakt@beberlei.de"
757 | },
758 | {
759 | "name": "Guilherme Blanco",
760 | "email": "guilhermeblanco@gmail.com"
761 | },
762 | {
763 | "name": "Jonathan Wage",
764 | "email": "jonwage@gmail.com"
765 | }
766 | ],
767 | "description": "Object-Relational-Mapper for PHP",
768 | "homepage": "http://www.doctrine-project.org",
769 | "keywords": [
770 | "database",
771 | "orm"
772 | ],
773 | "time": "2015-11-23 12:44:25"
774 | },
775 | {
776 | "name": "incenteev/composer-parameter-handler",
777 | "version": "v2.1.2",
778 | "source": {
779 | "type": "git",
780 | "url": "https://github.com/Incenteev/ParameterHandler.git",
781 | "reference": "d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc"
782 | },
783 | "dist": {
784 | "type": "zip",
785 | "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc",
786 | "reference": "d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc",
787 | "shasum": ""
788 | },
789 | "require": {
790 | "php": ">=5.3.3",
791 | "symfony/yaml": "~2.3|~3.0"
792 | },
793 | "require-dev": {
794 | "composer/composer": "1.0.*@dev",
795 | "phpspec/prophecy-phpunit": "~1.0",
796 | "symfony/filesystem": "~2.2"
797 | },
798 | "type": "library",
799 | "extra": {
800 | "branch-alias": {
801 | "dev-master": "2.1.x-dev"
802 | }
803 | },
804 | "autoload": {
805 | "psr-4": {
806 | "Incenteev\\ParameterHandler\\": ""
807 | }
808 | },
809 | "notification-url": "https://packagist.org/downloads/",
810 | "license": [
811 | "MIT"
812 | ],
813 | "authors": [
814 | {
815 | "name": "Christophe Coevoet",
816 | "email": "stof@notk.org"
817 | }
818 | ],
819 | "description": "Composer script handling your ignored parameter file",
820 | "homepage": "https://github.com/Incenteev/ParameterHandler",
821 | "keywords": [
822 | "parameters management"
823 | ],
824 | "time": "2015-11-10 17:04:01"
825 | },
826 | {
827 | "name": "jdorn/sql-formatter",
828 | "version": "v1.2.17",
829 | "source": {
830 | "type": "git",
831 | "url": "https://github.com/jdorn/sql-formatter.git",
832 | "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc"
833 | },
834 | "dist": {
835 | "type": "zip",
836 | "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc",
837 | "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc",
838 | "shasum": ""
839 | },
840 | "require": {
841 | "php": ">=5.2.4"
842 | },
843 | "require-dev": {
844 | "phpunit/phpunit": "3.7.*"
845 | },
846 | "type": "library",
847 | "extra": {
848 | "branch-alias": {
849 | "dev-master": "1.3.x-dev"
850 | }
851 | },
852 | "autoload": {
853 | "classmap": [
854 | "lib"
855 | ]
856 | },
857 | "notification-url": "https://packagist.org/downloads/",
858 | "license": [
859 | "MIT"
860 | ],
861 | "authors": [
862 | {
863 | "name": "Jeremy Dorn",
864 | "email": "jeremy@jeremydorn.com",
865 | "homepage": "http://jeremydorn.com/"
866 | }
867 | ],
868 | "description": "a PHP SQL highlighting library",
869 | "homepage": "https://github.com/jdorn/sql-formatter/",
870 | "keywords": [
871 | "highlight",
872 | "sql"
873 | ],
874 | "time": "2014-01-12 16:20:24"
875 | },
876 | {
877 | "name": "monolog/monolog",
878 | "version": "1.17.2",
879 | "source": {
880 | "type": "git",
881 | "url": "https://github.com/Seldaek/monolog.git",
882 | "reference": "bee7f0dc9c3e0b69a6039697533dca1e845c8c24"
883 | },
884 | "dist": {
885 | "type": "zip",
886 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bee7f0dc9c3e0b69a6039697533dca1e845c8c24",
887 | "reference": "bee7f0dc9c3e0b69a6039697533dca1e845c8c24",
888 | "shasum": ""
889 | },
890 | "require": {
891 | "php": ">=5.3.0",
892 | "psr/log": "~1.0"
893 | },
894 | "provide": {
895 | "psr/log-implementation": "1.0.0"
896 | },
897 | "require-dev": {
898 | "aws/aws-sdk-php": "^2.4.9",
899 | "doctrine/couchdb": "~1.0@dev",
900 | "graylog2/gelf-php": "~1.0",
901 | "jakub-onderka/php-parallel-lint": "0.9",
902 | "php-console/php-console": "^3.1.3",
903 | "phpunit/phpunit": "~4.5",
904 | "phpunit/phpunit-mock-objects": "2.3.0",
905 | "raven/raven": "^0.13",
906 | "ruflin/elastica": ">=0.90 <3.0",
907 | "swiftmailer/swiftmailer": "~5.3",
908 | "videlalvaro/php-amqplib": "~2.4"
909 | },
910 | "suggest": {
911 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
912 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
913 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
914 | "ext-mongo": "Allow sending log messages to a MongoDB server",
915 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
916 | "php-console/php-console": "Allow sending log messages to Google Chrome",
917 | "raven/raven": "Allow sending log messages to a Sentry server",
918 | "rollbar/rollbar": "Allow sending log messages to Rollbar",
919 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
920 | "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib"
921 | },
922 | "type": "library",
923 | "extra": {
924 | "branch-alias": {
925 | "dev-master": "1.16.x-dev"
926 | }
927 | },
928 | "autoload": {
929 | "psr-4": {
930 | "Monolog\\": "src/Monolog"
931 | }
932 | },
933 | "notification-url": "https://packagist.org/downloads/",
934 | "license": [
935 | "MIT"
936 | ],
937 | "authors": [
938 | {
939 | "name": "Jordi Boggiano",
940 | "email": "j.boggiano@seld.be",
941 | "homepage": "http://seld.be"
942 | }
943 | ],
944 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
945 | "homepage": "http://github.com/Seldaek/monolog",
946 | "keywords": [
947 | "log",
948 | "logging",
949 | "psr-3"
950 | ],
951 | "time": "2015-10-14 12:51:02"
952 | },
953 | {
954 | "name": "paragonie/random_compat",
955 | "version": "1.1.0",
956 | "source": {
957 | "type": "git",
958 | "url": "https://github.com/paragonie/random_compat.git",
959 | "reference": "19f765b66c6fbb56ee3b11bc16d52e38eebdc295"
960 | },
961 | "dist": {
962 | "type": "zip",
963 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/19f765b66c6fbb56ee3b11bc16d52e38eebdc295",
964 | "reference": "19f765b66c6fbb56ee3b11bc16d52e38eebdc295",
965 | "shasum": ""
966 | },
967 | "require": {
968 | "php": ">=5.2.0"
969 | },
970 | "require-dev": {
971 | "phpunit/phpunit": "4.*|5.*"
972 | },
973 | "suggest": {
974 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
975 | },
976 | "type": "library",
977 | "autoload": {
978 | "files": [
979 | "lib/random.php"
980 | ]
981 | },
982 | "notification-url": "https://packagist.org/downloads/",
983 | "license": [
984 | "MIT"
985 | ],
986 | "authors": [
987 | {
988 | "name": "Paragon Initiative Enterprises",
989 | "email": "security@paragonie.com",
990 | "homepage": "https://paragonie.com"
991 | }
992 | ],
993 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
994 | "keywords": [
995 | "csprng",
996 | "pseudorandom",
997 | "random"
998 | ],
999 | "time": "2015-11-10 00:45:41"
1000 | },
1001 | {
1002 | "name": "psr/log",
1003 | "version": "1.0.0",
1004 | "source": {
1005 | "type": "git",
1006 | "url": "https://github.com/php-fig/log.git",
1007 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
1008 | },
1009 | "dist": {
1010 | "type": "zip",
1011 | "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
1012 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
1013 | "shasum": ""
1014 | },
1015 | "type": "library",
1016 | "autoload": {
1017 | "psr-0": {
1018 | "Psr\\Log\\": ""
1019 | }
1020 | },
1021 | "notification-url": "https://packagist.org/downloads/",
1022 | "license": [
1023 | "MIT"
1024 | ],
1025 | "authors": [
1026 | {
1027 | "name": "PHP-FIG",
1028 | "homepage": "http://www.php-fig.org/"
1029 | }
1030 | ],
1031 | "description": "Common interface for logging libraries",
1032 | "keywords": [
1033 | "log",
1034 | "psr",
1035 | "psr-3"
1036 | ],
1037 | "time": "2012-12-21 11:40:51"
1038 | },
1039 | {
1040 | "name": "reactjs/react-php-v8js",
1041 | "version": "v1.0.0",
1042 | "source": {
1043 | "type": "git",
1044 | "url": "https://github.com/reactjs/react-php-v8js.git",
1045 | "reference": "6bfbf166cdca7c6ef640ceb450d8ecc59ed2aeba"
1046 | },
1047 | "dist": {
1048 | "type": "zip",
1049 | "url": "https://api.github.com/repos/reactjs/react-php-v8js/zipball/6bfbf166cdca7c6ef640ceb450d8ecc59ed2aeba",
1050 | "reference": "6bfbf166cdca7c6ef640ceb450d8ecc59ed2aeba",
1051 | "shasum": ""
1052 | },
1053 | "require": {
1054 | "ext-v8js": ">=0.1.3"
1055 | },
1056 | "type": "library",
1057 | "autoload": {
1058 | "classmap": [
1059 | "ReactJS.php"
1060 | ]
1061 | },
1062 | "notification-url": "https://packagist.org/downloads/",
1063 | "license": [
1064 | "BSD-3-Clause"
1065 | ],
1066 | "description": "PHP library that renders React components on the server",
1067 | "time": "2015-05-26 17:55:07"
1068 | },
1069 | {
1070 | "name": "sensio/distribution-bundle",
1071 | "version": "v5.0.2",
1072 | "source": {
1073 | "type": "git",
1074 | "url": "https://github.com/sensiolabs/SensioDistributionBundle.git",
1075 | "reference": "37bdfaa164396bec6ae00e37c23a6e187ad01bcc"
1076 | },
1077 | "dist": {
1078 | "type": "zip",
1079 | "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/37bdfaa164396bec6ae00e37c23a6e187ad01bcc",
1080 | "reference": "37bdfaa164396bec6ae00e37c23a6e187ad01bcc",
1081 | "shasum": ""
1082 | },
1083 | "require": {
1084 | "php": ">=5.3.9",
1085 | "sensiolabs/security-checker": "~3.0",
1086 | "symfony/class-loader": "~2.3|~3.0",
1087 | "symfony/config": "~2.3|~3.0",
1088 | "symfony/dependency-injection": "~2.3|~3.0",
1089 | "symfony/filesystem": "~2.3|~3.0",
1090 | "symfony/http-kernel": "~2.3|~3.0",
1091 | "symfony/process": "~2.3|~3.0"
1092 | },
1093 | "type": "symfony-bundle",
1094 | "extra": {
1095 | "branch-alias": {
1096 | "dev-master": "5.0.x-dev"
1097 | }
1098 | },
1099 | "autoload": {
1100 | "psr-4": {
1101 | "Sensio\\Bundle\\DistributionBundle\\": ""
1102 | }
1103 | },
1104 | "notification-url": "https://packagist.org/downloads/",
1105 | "license": [
1106 | "MIT"
1107 | ],
1108 | "authors": [
1109 | {
1110 | "name": "Fabien Potencier",
1111 | "email": "fabien@symfony.com"
1112 | }
1113 | ],
1114 | "description": "Base bundle for Symfony Distributions",
1115 | "keywords": [
1116 | "configuration",
1117 | "distribution"
1118 | ],
1119 | "time": "2015-11-26 18:10:40"
1120 | },
1121 | {
1122 | "name": "sensio/framework-extra-bundle",
1123 | "version": "v3.0.11",
1124 | "source": {
1125 | "type": "git",
1126 | "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
1127 | "reference": "a79e205737b58d557c05caef6dfa8f94d8084bca"
1128 | },
1129 | "dist": {
1130 | "type": "zip",
1131 | "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/a79e205737b58d557c05caef6dfa8f94d8084bca",
1132 | "reference": "a79e205737b58d557c05caef6dfa8f94d8084bca",
1133 | "shasum": ""
1134 | },
1135 | "require": {
1136 | "doctrine/common": "~2.2",
1137 | "symfony/framework-bundle": "~2.3|~3.0"
1138 | },
1139 | "require-dev": {
1140 | "symfony/expression-language": "~2.4|~3.0",
1141 | "symfony/security-bundle": "~2.4|~3.0"
1142 | },
1143 | "suggest": {
1144 | "symfony/expression-language": "",
1145 | "symfony/psr-http-message-bridge": "To use the PSR-7 converters",
1146 | "symfony/security-bundle": ""
1147 | },
1148 | "type": "symfony-bundle",
1149 | "extra": {
1150 | "branch-alias": {
1151 | "dev-master": "3.0.x-dev"
1152 | }
1153 | },
1154 | "autoload": {
1155 | "psr-4": {
1156 | "Sensio\\Bundle\\FrameworkExtraBundle\\": ""
1157 | }
1158 | },
1159 | "notification-url": "https://packagist.org/downloads/",
1160 | "license": [
1161 | "MIT"
1162 | ],
1163 | "authors": [
1164 | {
1165 | "name": "Fabien Potencier",
1166 | "email": "fabien@symfony.com"
1167 | }
1168 | ],
1169 | "description": "This bundle provides a way to configure your controllers with annotations",
1170 | "keywords": [
1171 | "annotations",
1172 | "controllers"
1173 | ],
1174 | "time": "2015-10-28 15:47:04"
1175 | },
1176 | {
1177 | "name": "sensiolabs/security-checker",
1178 | "version": "v3.0.2",
1179 | "source": {
1180 | "type": "git",
1181 | "url": "https://github.com/sensiolabs/security-checker.git",
1182 | "reference": "21696b0daa731064c23cfb694c60a2584a7b6e93"
1183 | },
1184 | "dist": {
1185 | "type": "zip",
1186 | "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/21696b0daa731064c23cfb694c60a2584a7b6e93",
1187 | "reference": "21696b0daa731064c23cfb694c60a2584a7b6e93",
1188 | "shasum": ""
1189 | },
1190 | "require": {
1191 | "symfony/console": "~2.0|~3.0"
1192 | },
1193 | "bin": [
1194 | "security-checker"
1195 | ],
1196 | "type": "library",
1197 | "extra": {
1198 | "branch-alias": {
1199 | "dev-master": "3.0-dev"
1200 | }
1201 | },
1202 | "autoload": {
1203 | "psr-0": {
1204 | "SensioLabs\\Security": ""
1205 | }
1206 | },
1207 | "notification-url": "https://packagist.org/downloads/",
1208 | "license": [
1209 | "MIT"
1210 | ],
1211 | "authors": [
1212 | {
1213 | "name": "Fabien Potencier",
1214 | "email": "fabien.potencier@gmail.com"
1215 | }
1216 | ],
1217 | "description": "A security checker for your composer.lock",
1218 | "time": "2015-11-07 08:07:40"
1219 | },
1220 | {
1221 | "name": "swiftmailer/swiftmailer",
1222 | "version": "v5.4.1",
1223 | "source": {
1224 | "type": "git",
1225 | "url": "https://github.com/swiftmailer/swiftmailer.git",
1226 | "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421"
1227 | },
1228 | "dist": {
1229 | "type": "zip",
1230 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/0697e6aa65c83edf97bb0f23d8763f94e3f11421",
1231 | "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421",
1232 | "shasum": ""
1233 | },
1234 | "require": {
1235 | "php": ">=5.3.3"
1236 | },
1237 | "require-dev": {
1238 | "mockery/mockery": "~0.9.1,<0.9.4"
1239 | },
1240 | "type": "library",
1241 | "extra": {
1242 | "branch-alias": {
1243 | "dev-master": "5.4-dev"
1244 | }
1245 | },
1246 | "autoload": {
1247 | "files": [
1248 | "lib/swift_required.php"
1249 | ]
1250 | },
1251 | "notification-url": "https://packagist.org/downloads/",
1252 | "license": [
1253 | "MIT"
1254 | ],
1255 | "authors": [
1256 | {
1257 | "name": "Chris Corbyn"
1258 | },
1259 | {
1260 | "name": "Fabien Potencier",
1261 | "email": "fabien@symfony.com"
1262 | }
1263 | ],
1264 | "description": "Swiftmailer, free feature-rich PHP mailer",
1265 | "homepage": "http://swiftmailer.org",
1266 | "keywords": [
1267 | "email",
1268 | "mail",
1269 | "mailer"
1270 | ],
1271 | "time": "2015-06-06 14:19:39"
1272 | },
1273 | {
1274 | "name": "symfony/monolog-bundle",
1275 | "version": "v2.8.2",
1276 | "source": {
1277 | "type": "git",
1278 | "url": "https://github.com/symfony/monolog-bundle.git",
1279 | "reference": "84785c4d44801c4dd82829fa2e1820cacfe2c46f"
1280 | },
1281 | "dist": {
1282 | "type": "zip",
1283 | "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/84785c4d44801c4dd82829fa2e1820cacfe2c46f",
1284 | "reference": "84785c4d44801c4dd82829fa2e1820cacfe2c46f",
1285 | "shasum": ""
1286 | },
1287 | "require": {
1288 | "monolog/monolog": "~1.8",
1289 | "php": ">=5.3.2",
1290 | "symfony/config": "~2.3|~3.0",
1291 | "symfony/dependency-injection": "~2.3|~3.0",
1292 | "symfony/http-kernel": "~2.3|~3.0",
1293 | "symfony/monolog-bridge": "~2.3|~3.0"
1294 | },
1295 | "require-dev": {
1296 | "symfony/console": "~2.3|~3.0",
1297 | "symfony/yaml": "~2.3|~3.0"
1298 | },
1299 | "type": "symfony-bundle",
1300 | "extra": {
1301 | "branch-alias": {
1302 | "dev-master": "2.8.x-dev"
1303 | }
1304 | },
1305 | "autoload": {
1306 | "psr-4": {
1307 | "Symfony\\Bundle\\MonologBundle\\": ""
1308 | }
1309 | },
1310 | "notification-url": "https://packagist.org/downloads/",
1311 | "license": [
1312 | "MIT"
1313 | ],
1314 | "authors": [
1315 | {
1316 | "name": "Symfony Community",
1317 | "homepage": "http://symfony.com/contributors"
1318 | },
1319 | {
1320 | "name": "Fabien Potencier",
1321 | "email": "fabien@symfony.com"
1322 | }
1323 | ],
1324 | "description": "Symfony MonologBundle",
1325 | "homepage": "http://symfony.com",
1326 | "keywords": [
1327 | "log",
1328 | "logging"
1329 | ],
1330 | "time": "2015-11-17 10:02:29"
1331 | },
1332 | {
1333 | "name": "symfony/polyfill-intl-icu",
1334 | "version": "v1.0.0",
1335 | "source": {
1336 | "type": "git",
1337 | "url": "https://github.com/symfony/polyfill-intl-icu.git",
1338 | "reference": "2deb44160e1c886241c06602b12b98779f728177"
1339 | },
1340 | "dist": {
1341 | "type": "zip",
1342 | "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/2deb44160e1c886241c06602b12b98779f728177",
1343 | "reference": "2deb44160e1c886241c06602b12b98779f728177",
1344 | "shasum": ""
1345 | },
1346 | "require": {
1347 | "php": ">=5.3.3",
1348 | "symfony/intl": "~2.3|~3.0"
1349 | },
1350 | "type": "library",
1351 | "extra": {
1352 | "branch-alias": {
1353 | "dev-master": "1.0-dev"
1354 | }
1355 | },
1356 | "autoload": {
1357 | "files": [
1358 | "bootstrap.php"
1359 | ]
1360 | },
1361 | "notification-url": "https://packagist.org/downloads/",
1362 | "license": [
1363 | "MIT"
1364 | ],
1365 | "authors": [
1366 | {
1367 | "name": "Nicolas Grekas",
1368 | "email": "p@tchwork.com"
1369 | },
1370 | {
1371 | "name": "Symfony Community",
1372 | "homepage": "https://symfony.com/contributors"
1373 | }
1374 | ],
1375 | "description": "Symfony polyfill for intl's ICU-related data and classes",
1376 | "homepage": "https://symfony.com",
1377 | "keywords": [
1378 | "compatibility",
1379 | "icu",
1380 | "intl",
1381 | "polyfill",
1382 | "portable",
1383 | "shim"
1384 | ],
1385 | "time": "2015-11-04 20:28:58"
1386 | },
1387 | {
1388 | "name": "symfony/polyfill-mbstring",
1389 | "version": "v1.0.0",
1390 | "source": {
1391 | "type": "git",
1392 | "url": "https://github.com/symfony/polyfill-mbstring.git",
1393 | "reference": "0b6a8940385311a24e060ec1fe35680e17c74497"
1394 | },
1395 | "dist": {
1396 | "type": "zip",
1397 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0b6a8940385311a24e060ec1fe35680e17c74497",
1398 | "reference": "0b6a8940385311a24e060ec1fe35680e17c74497",
1399 | "shasum": ""
1400 | },
1401 | "require": {
1402 | "php": ">=5.3.3"
1403 | },
1404 | "type": "library",
1405 | "extra": {
1406 | "branch-alias": {
1407 | "dev-master": "1.0-dev"
1408 | }
1409 | },
1410 | "autoload": {
1411 | "psr-4": {
1412 | "Symfony\\Polyfill\\Mbstring\\": ""
1413 | },
1414 | "files": [
1415 | "bootstrap.php"
1416 | ]
1417 | },
1418 | "notification-url": "https://packagist.org/downloads/",
1419 | "license": [
1420 | "MIT"
1421 | ],
1422 | "authors": [
1423 | {
1424 | "name": "Nicolas Grekas",
1425 | "email": "p@tchwork.com"
1426 | },
1427 | {
1428 | "name": "Symfony Community",
1429 | "homepage": "https://symfony.com/contributors"
1430 | }
1431 | ],
1432 | "description": "Symfony polyfill for the Mbstring extension",
1433 | "homepage": "https://symfony.com",
1434 | "keywords": [
1435 | "compatibility",
1436 | "mbstring",
1437 | "polyfill",
1438 | "portable",
1439 | "shim"
1440 | ],
1441 | "time": "2015-11-04 20:28:58"
1442 | },
1443 | {
1444 | "name": "symfony/polyfill-php56",
1445 | "version": "v1.0.0",
1446 | "source": {
1447 | "type": "git",
1448 | "url": "https://github.com/symfony/polyfill-php56.git",
1449 | "reference": "a6bd4770a6967517e6610529e14afaa3111094a3"
1450 | },
1451 | "dist": {
1452 | "type": "zip",
1453 | "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/a6bd4770a6967517e6610529e14afaa3111094a3",
1454 | "reference": "a6bd4770a6967517e6610529e14afaa3111094a3",
1455 | "shasum": ""
1456 | },
1457 | "require": {
1458 | "php": ">=5.3.3",
1459 | "symfony/polyfill-util": "~1.0"
1460 | },
1461 | "type": "library",
1462 | "extra": {
1463 | "branch-alias": {
1464 | "dev-master": "1.0-dev"
1465 | }
1466 | },
1467 | "autoload": {
1468 | "psr-4": {
1469 | "Symfony\\Polyfill\\Php56\\": ""
1470 | },
1471 | "files": [
1472 | "bootstrap.php"
1473 | ]
1474 | },
1475 | "notification-url": "https://packagist.org/downloads/",
1476 | "license": [
1477 | "MIT"
1478 | ],
1479 | "authors": [
1480 | {
1481 | "name": "Nicolas Grekas",
1482 | "email": "p@tchwork.com"
1483 | },
1484 | {
1485 | "name": "Symfony Community",
1486 | "homepage": "https://symfony.com/contributors"
1487 | }
1488 | ],
1489 | "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
1490 | "homepage": "https://symfony.com",
1491 | "keywords": [
1492 | "compatibility",
1493 | "polyfill",
1494 | "portable",
1495 | "shim"
1496 | ],
1497 | "time": "2015-11-04 20:28:58"
1498 | },
1499 | {
1500 | "name": "symfony/polyfill-php70",
1501 | "version": "v1.0.0",
1502 | "source": {
1503 | "type": "git",
1504 | "url": "https://github.com/symfony/polyfill-php70.git",
1505 | "reference": "7f7f3c9c2b9f17722e0cd64fdb4f957330c53146"
1506 | },
1507 | "dist": {
1508 | "type": "zip",
1509 | "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/7f7f3c9c2b9f17722e0cd64fdb4f957330c53146",
1510 | "reference": "7f7f3c9c2b9f17722e0cd64fdb4f957330c53146",
1511 | "shasum": ""
1512 | },
1513 | "require": {
1514 | "paragonie/random_compat": "~1.0",
1515 | "php": ">=5.3.3"
1516 | },
1517 | "type": "library",
1518 | "extra": {
1519 | "branch-alias": {
1520 | "dev-master": "1.0-dev"
1521 | }
1522 | },
1523 | "autoload": {
1524 | "psr-4": {
1525 | "Symfony\\Polyfill\\Php70\\": ""
1526 | },
1527 | "files": [
1528 | "bootstrap.php"
1529 | ],
1530 | "classmap": [
1531 | "Resources/stubs"
1532 | ]
1533 | },
1534 | "notification-url": "https://packagist.org/downloads/",
1535 | "license": [
1536 | "MIT"
1537 | ],
1538 | "authors": [
1539 | {
1540 | "name": "Nicolas Grekas",
1541 | "email": "p@tchwork.com"
1542 | },
1543 | {
1544 | "name": "Symfony Community",
1545 | "homepage": "https://symfony.com/contributors"
1546 | }
1547 | ],
1548 | "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
1549 | "homepage": "https://symfony.com",
1550 | "keywords": [
1551 | "compatibility",
1552 | "polyfill",
1553 | "portable",
1554 | "shim"
1555 | ],
1556 | "time": "2015-11-04 20:28:58"
1557 | },
1558 | {
1559 | "name": "symfony/polyfill-util",
1560 | "version": "v1.0.0",
1561 | "source": {
1562 | "type": "git",
1563 | "url": "https://github.com/symfony/polyfill-util.git",
1564 | "reference": "4271c55cbc0a77b2641f861b978123e46b3da969"
1565 | },
1566 | "dist": {
1567 | "type": "zip",
1568 | "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4271c55cbc0a77b2641f861b978123e46b3da969",
1569 | "reference": "4271c55cbc0a77b2641f861b978123e46b3da969",
1570 | "shasum": ""
1571 | },
1572 | "require": {
1573 | "php": ">=5.3.3"
1574 | },
1575 | "type": "library",
1576 | "extra": {
1577 | "branch-alias": {
1578 | "dev-master": "1.0-dev"
1579 | }
1580 | },
1581 | "autoload": {
1582 | "psr-4": {
1583 | "Symfony\\Polyfill\\Util\\": ""
1584 | }
1585 | },
1586 | "notification-url": "https://packagist.org/downloads/",
1587 | "license": [
1588 | "MIT"
1589 | ],
1590 | "authors": [
1591 | {
1592 | "name": "Nicolas Grekas",
1593 | "email": "p@tchwork.com"
1594 | },
1595 | {
1596 | "name": "Symfony Community",
1597 | "homepage": "https://symfony.com/contributors"
1598 | }
1599 | ],
1600 | "description": "Symfony utilities for portability of PHP codes",
1601 | "homepage": "https://symfony.com",
1602 | "keywords": [
1603 | "compat",
1604 | "compatibility",
1605 | "polyfill",
1606 | "shim"
1607 | ],
1608 | "time": "2015-11-04 20:28:58"
1609 | },
1610 | {
1611 | "name": "symfony/swiftmailer-bundle",
1612 | "version": "v2.3.9",
1613 | "source": {
1614 | "type": "git",
1615 | "url": "https://github.com/symfony/swiftmailer-bundle.git",
1616 | "reference": "3d21ada19f23631f558ad6df653b168e35362e78"
1617 | },
1618 | "dist": {
1619 | "type": "zip",
1620 | "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/3d21ada19f23631f558ad6df653b168e35362e78",
1621 | "reference": "3d21ada19f23631f558ad6df653b168e35362e78",
1622 | "shasum": ""
1623 | },
1624 | "require": {
1625 | "php": ">=5.3.2",
1626 | "swiftmailer/swiftmailer": ">=4.2.0,~5.0",
1627 | "symfony/config": "~2.3|~3.0",
1628 | "symfony/dependency-injection": "~2.3|~3.0",
1629 | "symfony/http-kernel": "~2.3|~3.0",
1630 | "symfony/yaml": "~2.3|~3.0"
1631 | },
1632 | "require-dev": {
1633 | "symfony/phpunit-bridge": "~2.7|~3.0"
1634 | },
1635 | "suggest": {
1636 | "psr/log": "Allows logging"
1637 | },
1638 | "type": "symfony-bundle",
1639 | "extra": {
1640 | "branch-alias": {
1641 | "dev-master": "2.3-dev"
1642 | }
1643 | },
1644 | "autoload": {
1645 | "psr-4": {
1646 | "Symfony\\Bundle\\SwiftmailerBundle\\": ""
1647 | }
1648 | },
1649 | "notification-url": "https://packagist.org/downloads/",
1650 | "license": [
1651 | "MIT"
1652 | ],
1653 | "authors": [
1654 | {
1655 | "name": "Symfony Community",
1656 | "homepage": "http://symfony.com/contributors"
1657 | },
1658 | {
1659 | "name": "Fabien Potencier",
1660 | "email": "fabien@symfony.com"
1661 | }
1662 | ],
1663 | "description": "Symfony SwiftmailerBundle",
1664 | "homepage": "http://symfony.com",
1665 | "time": "2015-11-28 10:59:29"
1666 | },
1667 | {
1668 | "name": "symfony/symfony",
1669 | "version": "v3.0.0",
1670 | "source": {
1671 | "type": "git",
1672 | "url": "https://github.com/symfony/symfony.git",
1673 | "reference": "eb2a4f5f7a09fc4ce7a74ae883a8cf8a279614f5"
1674 | },
1675 | "dist": {
1676 | "type": "zip",
1677 | "url": "https://api.github.com/repos/symfony/symfony/zipball/eb2a4f5f7a09fc4ce7a74ae883a8cf8a279614f5",
1678 | "reference": "eb2a4f5f7a09fc4ce7a74ae883a8cf8a279614f5",
1679 | "shasum": ""
1680 | },
1681 | "require": {
1682 | "doctrine/common": "~2.4",
1683 | "php": ">=5.5.9",
1684 | "psr/log": "~1.0",
1685 | "symfony/polyfill-intl-icu": "~1.0",
1686 | "symfony/polyfill-mbstring": "~1.0",
1687 | "symfony/polyfill-php56": "~1.0",
1688 | "symfony/polyfill-php70": "~1.0",
1689 | "symfony/polyfill-util": "~1.0",
1690 | "twig/twig": "~1.23|~2.0"
1691 | },
1692 | "conflict": {
1693 | "phpdocumentor/reflection": "<1.0.7"
1694 | },
1695 | "replace": {
1696 | "symfony/asset": "self.version",
1697 | "symfony/browser-kit": "self.version",
1698 | "symfony/class-loader": "self.version",
1699 | "symfony/config": "self.version",
1700 | "symfony/console": "self.version",
1701 | "symfony/css-selector": "self.version",
1702 | "symfony/debug": "self.version",
1703 | "symfony/debug-bundle": "self.version",
1704 | "symfony/dependency-injection": "self.version",
1705 | "symfony/doctrine-bridge": "self.version",
1706 | "symfony/dom-crawler": "self.version",
1707 | "symfony/event-dispatcher": "self.version",
1708 | "symfony/expression-language": "self.version",
1709 | "symfony/filesystem": "self.version",
1710 | "symfony/finder": "self.version",
1711 | "symfony/form": "self.version",
1712 | "symfony/framework-bundle": "self.version",
1713 | "symfony/http-foundation": "self.version",
1714 | "symfony/http-kernel": "self.version",
1715 | "symfony/intl": "self.version",
1716 | "symfony/ldap": "self.version",
1717 | "symfony/monolog-bridge": "self.version",
1718 | "symfony/options-resolver": "self.version",
1719 | "symfony/process": "self.version",
1720 | "symfony/property-access": "self.version",
1721 | "symfony/property-info": "self.version",
1722 | "symfony/proxy-manager-bridge": "self.version",
1723 | "symfony/routing": "self.version",
1724 | "symfony/security": "self.version",
1725 | "symfony/security-bundle": "self.version",
1726 | "symfony/security-core": "self.version",
1727 | "symfony/security-csrf": "self.version",
1728 | "symfony/security-guard": "self.version",
1729 | "symfony/security-http": "self.version",
1730 | "symfony/serializer": "self.version",
1731 | "symfony/stopwatch": "self.version",
1732 | "symfony/templating": "self.version",
1733 | "symfony/translation": "self.version",
1734 | "symfony/twig-bridge": "self.version",
1735 | "symfony/twig-bundle": "self.version",
1736 | "symfony/validator": "self.version",
1737 | "symfony/var-dumper": "self.version",
1738 | "symfony/web-profiler-bundle": "self.version",
1739 | "symfony/yaml": "self.version"
1740 | },
1741 | "require-dev": {
1742 | "doctrine/data-fixtures": "1.0.*",
1743 | "doctrine/dbal": "~2.4",
1744 | "doctrine/doctrine-bundle": "~1.4",
1745 | "doctrine/orm": "~2.4,>=2.4.5",
1746 | "egulias/email-validator": "~1.2",
1747 | "monolog/monolog": "~1.11",
1748 | "ocramius/proxy-manager": "~0.4|~1.0",
1749 | "phpdocumentor/reflection": "^1.0.7",
1750 | "symfony/security-acl": "~2.8|~3.0"
1751 | },
1752 | "type": "library",
1753 | "extra": {
1754 | "branch-alias": {
1755 | "dev-master": "3.0-dev"
1756 | }
1757 | },
1758 | "autoload": {
1759 | "psr-4": {
1760 | "Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/",
1761 | "Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/",
1762 | "Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/",
1763 | "Symfony\\Bridge\\Swiftmailer\\": "src/Symfony/Bridge/Swiftmailer/",
1764 | "Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/",
1765 | "Symfony\\Bundle\\": "src/Symfony/Bundle/",
1766 | "Symfony\\Component\\": "src/Symfony/Component/"
1767 | },
1768 | "classmap": [
1769 | "src/Symfony/Component/Intl/Resources/stubs"
1770 | ],
1771 | "exclude-from-classmap": [
1772 | "**/Tests/"
1773 | ]
1774 | },
1775 | "notification-url": "https://packagist.org/downloads/",
1776 | "license": [
1777 | "MIT"
1778 | ],
1779 | "authors": [
1780 | {
1781 | "name": "Fabien Potencier",
1782 | "email": "fabien@symfony.com"
1783 | },
1784 | {
1785 | "name": "Symfony Community",
1786 | "homepage": "https://symfony.com/contributors"
1787 | }
1788 | ],
1789 | "description": "The Symfony PHP framework",
1790 | "homepage": "https://symfony.com",
1791 | "keywords": [
1792 | "framework"
1793 | ],
1794 | "time": "2015-11-30 20:59:43"
1795 | },
1796 | {
1797 | "name": "twig/twig",
1798 | "version": "v1.23.1",
1799 | "source": {
1800 | "type": "git",
1801 | "url": "https://github.com/twigphp/Twig.git",
1802 | "reference": "d9b6333ae8dd2c8e3fd256e127548def0bc614c6"
1803 | },
1804 | "dist": {
1805 | "type": "zip",
1806 | "url": "https://api.github.com/repos/twigphp/Twig/zipball/d9b6333ae8dd2c8e3fd256e127548def0bc614c6",
1807 | "reference": "d9b6333ae8dd2c8e3fd256e127548def0bc614c6",
1808 | "shasum": ""
1809 | },
1810 | "require": {
1811 | "php": ">=5.2.7"
1812 | },
1813 | "require-dev": {
1814 | "symfony/debug": "~2.7",
1815 | "symfony/phpunit-bridge": "~2.7"
1816 | },
1817 | "type": "library",
1818 | "extra": {
1819 | "branch-alias": {
1820 | "dev-master": "1.23-dev"
1821 | }
1822 | },
1823 | "autoload": {
1824 | "psr-0": {
1825 | "Twig_": "lib/"
1826 | }
1827 | },
1828 | "notification-url": "https://packagist.org/downloads/",
1829 | "license": [
1830 | "BSD-3-Clause"
1831 | ],
1832 | "authors": [
1833 | {
1834 | "name": "Fabien Potencier",
1835 | "email": "fabien@symfony.com",
1836 | "homepage": "http://fabien.potencier.org",
1837 | "role": "Lead Developer"
1838 | },
1839 | {
1840 | "name": "Armin Ronacher",
1841 | "email": "armin.ronacher@active-4.com",
1842 | "role": "Project Founder"
1843 | },
1844 | {
1845 | "name": "Twig Team",
1846 | "homepage": "http://twig.sensiolabs.org/contributors",
1847 | "role": "Contributors"
1848 | }
1849 | ],
1850 | "description": "Twig, the flexible, fast, and secure template language for PHP",
1851 | "homepage": "http://twig.sensiolabs.org",
1852 | "keywords": [
1853 | "templating"
1854 | ],
1855 | "time": "2015-11-05 12:49:06"
1856 | }
1857 | ],
1858 | "packages-dev": [
1859 | {
1860 | "name": "sensio/generator-bundle",
1861 | "version": "v3.0.0",
1862 | "source": {
1863 | "type": "git",
1864 | "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git",
1865 | "reference": "f5f60fc84fdef91333c67f29b00a271cfbcf1ccb"
1866 | },
1867 | "dist": {
1868 | "type": "zip",
1869 | "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/f5f60fc84fdef91333c67f29b00a271cfbcf1ccb",
1870 | "reference": "f5f60fc84fdef91333c67f29b00a271cfbcf1ccb",
1871 | "shasum": ""
1872 | },
1873 | "require": {
1874 | "symfony/console": "~2.7|~3.0",
1875 | "symfony/framework-bundle": "~2.7|~3.0",
1876 | "symfony/process": "~2.7|~3.0",
1877 | "symfony/yaml": "~2.7|~3.0"
1878 | },
1879 | "require-dev": {
1880 | "doctrine/orm": "~2.4",
1881 | "symfony/doctrine-bridge": "~2.7|~3.0",
1882 | "twig/twig": "~1.18"
1883 | },
1884 | "type": "symfony-bundle",
1885 | "extra": {
1886 | "branch-alias": {
1887 | "dev-master": "3.0.x-dev"
1888 | }
1889 | },
1890 | "autoload": {
1891 | "psr-4": {
1892 | "Sensio\\Bundle\\GeneratorBundle\\": ""
1893 | },
1894 | "exclude-from-classmap": [
1895 | "/Tests/"
1896 | ]
1897 | },
1898 | "notification-url": "https://packagist.org/downloads/",
1899 | "license": [
1900 | "MIT"
1901 | ],
1902 | "authors": [
1903 | {
1904 | "name": "Fabien Potencier",
1905 | "email": "fabien@symfony.com"
1906 | }
1907 | ],
1908 | "description": "This bundle generates code for you",
1909 | "time": "2015-11-10 13:25:32"
1910 | },
1911 | {
1912 | "name": "symfony/phpunit-bridge",
1913 | "version": "v2.8.0",
1914 | "source": {
1915 | "type": "git",
1916 | "url": "https://github.com/symfony/phpunit-bridge.git",
1917 | "reference": "fb79ac646c342fdff19864619943a6c58bb28893"
1918 | },
1919 | "dist": {
1920 | "type": "zip",
1921 | "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/fb79ac646c342fdff19864619943a6c58bb28893",
1922 | "reference": "fb79ac646c342fdff19864619943a6c58bb28893",
1923 | "shasum": ""
1924 | },
1925 | "require": {
1926 | "php": ">=5.3.3"
1927 | },
1928 | "suggest": {
1929 | "symfony/debug": "For tracking deprecated interfaces usages at runtime with DebugClassLoader"
1930 | },
1931 | "type": "symfony-bridge",
1932 | "extra": {
1933 | "branch-alias": {
1934 | "dev-master": "2.8-dev"
1935 | }
1936 | },
1937 | "autoload": {
1938 | "files": [
1939 | "bootstrap.php"
1940 | ],
1941 | "psr-4": {
1942 | "Symfony\\Bridge\\PhpUnit\\": ""
1943 | },
1944 | "exclude-from-classmap": [
1945 | "/Tests/"
1946 | ]
1947 | },
1948 | "notification-url": "https://packagist.org/downloads/",
1949 | "license": [
1950 | "MIT"
1951 | ],
1952 | "authors": [
1953 | {
1954 | "name": "Nicolas Grekas",
1955 | "email": "p@tchwork.com"
1956 | },
1957 | {
1958 | "name": "Symfony Community",
1959 | "homepage": "https://symfony.com/contributors"
1960 | }
1961 | ],
1962 | "description": "Symfony PHPUnit Bridge",
1963 | "homepage": "https://symfony.com",
1964 | "time": "2015-11-27 22:51:43"
1965 | }
1966 | ],
1967 | "aliases": [],
1968 | "minimum-stability": "stable",
1969 | "stability-flags": [],
1970 | "prefer-stable": false,
1971 | "prefer-lowest": false,
1972 | "platform": {
1973 | "php": ">=5.5.9"
1974 | },
1975 | "platform-dev": []
1976 | }
1977 |
--------------------------------------------------------------------------------