Logomotion: slides Symfony3 seconde journée
This commit is contained in:
parent
63cb07d03e
commit
8d4a57ed9b
|
@ -1190,7 +1190,7 @@ server {
|
||||||
|
|
||||||
## Sujets spécifiques
|
## Sujets spécifiques
|
||||||
|
|
||||||
### Gestion des traductions
|
### Internationalisation
|
||||||
### Utilisation du micro-kernel
|
### Utilisation du micro-kernel
|
||||||
### Les tests
|
### Les tests
|
||||||
### Gestion des assets avec Webpack
|
### Gestion des assets avec Webpack
|
||||||
|
@ -1198,11 +1198,12 @@ server {
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Gestion des traductions
|
## Internationalisation
|
||||||
|
|
||||||
### Installation du composant
|
### Installation du composant
|
||||||
### Le service `translator`
|
### Le service `translator`
|
||||||
### Gestion des traductions
|
### Gestion des traductions
|
||||||
|
### Exercice
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -1393,9 +1394,6 @@ bin/console translation:update <language> --output-format=xlf --force
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Utilisation du micro-kernel
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Ajout de ressources supplémentaires
|
## Ajout de ressources supplémentaires
|
||||||
|
|
||||||
|
@ -1408,16 +1406,419 @@ framework:
|
||||||
```
|
```
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Exercice
|
||||||
|
|
||||||
|
Créer une page de visualisation d'un mini réseau social. Celle ci devra comprendre les fonctionnalités suivantes:
|
||||||
|
|
||||||
|
- Un affichage en 2 langues (français, anglais)
|
||||||
|
- Un affichage du nombre de relations total, avec approximation pour un nombre supérieur à 20 ("Vous avez beaucoup de relations")
|
||||||
|
- Les possibilité d'ajouter/supprimer un ami par son nom. En cas d'erreur, le message devra être également localisé.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Utilisation du micro-kernel
|
||||||
|
|
||||||
|
### Initialisation du projet
|
||||||
|
### Ajout et configuration de bundles
|
||||||
|
### Exercice
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Initialisation du projet (1)
|
||||||
|
|
||||||
|
```
|
||||||
|
mkdir my-project
|
||||||
|
cd my-project
|
||||||
|
composer init
|
||||||
|
composer require symfony/symfony
|
||||||
|
mkdir {web,var}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Initialisation du projet (2)
|
||||||
|
|
||||||
|
Voir `ressources/s3-micro/index.php`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ajout et configuration de bundles (1)
|
||||||
|
|
||||||
|
### Installation de Twig
|
||||||
|
|
||||||
|
```bash
|
||||||
|
composer require symfony/twig-bundle
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ajout et configuration de bundles (2)
|
||||||
|
|
||||||
|
### Enregistrement du bundle
|
||||||
|
|
||||||
|
```php
|
||||||
|
// web/index.php
|
||||||
|
|
||||||
|
// ...
|
||||||
|
|
||||||
|
public function registerBundles()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
|
||||||
|
new Symfony\Bundle\TwigBundle\TwigBundle(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ajout et configuration de bundles (3)
|
||||||
|
|
||||||
|
### Configuration du bundle
|
||||||
|
|
||||||
|
```php
|
||||||
|
// web/index.php
|
||||||
|
|
||||||
|
// ...
|
||||||
|
|
||||||
|
protected function configureContainer(
|
||||||
|
ContainerBuilder $c,
|
||||||
|
LoaderInterface $loader
|
||||||
|
)
|
||||||
|
{
|
||||||
|
$c->loadFromExtension('twig', [
|
||||||
|
'default_path' => __DIR__.'/../templates',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ajout et configuration de bundles (4)
|
||||||
|
|
||||||
|
### Utilisation du service Twig
|
||||||
|
|
||||||
|
```php
|
||||||
|
// web/index.php
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
// ...
|
||||||
|
|
||||||
|
public function twigAction()
|
||||||
|
{
|
||||||
|
$container = $this->getContainer();
|
||||||
|
$twig = $container->get('twig');
|
||||||
|
|
||||||
|
$response = new Response();
|
||||||
|
$response->setContent($twig->render('index.html.twig'));
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exercice
|
||||||
|
|
||||||
|
Avec le micro kernel Symfony, implémenter une API REST d'envoi de mail. Cette API devra utiliser le bundle Swiftmailer.
|
||||||
|
|
||||||
|
Proposition d'appel:
|
||||||
|
```
|
||||||
|
-> POST /send { "to": "...", "from": "...", "body": "..." }
|
||||||
|
<- 200 { sent: true }
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Les tests
|
## Les tests
|
||||||
|
|
||||||
|
### `phpunit`
|
||||||
|
### Tests unitaires
|
||||||
|
### Tests fonctionnels
|
||||||
|
### Exercice
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## phpunit
|
||||||
|
|
||||||
|
### Installation via Composer
|
||||||
|
```
|
||||||
|
composer require phpunit/phpunit
|
||||||
|
./vendor/bin/phpunit --help
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Tests unitaires (1)
|
||||||
|
|
||||||
|
### Classe testée
|
||||||
|
|
||||||
|
```php
|
||||||
|
// src/AppBundle/Util/Calculator.php
|
||||||
|
|
||||||
|
namespace AppBundle\Util;
|
||||||
|
|
||||||
|
class Calculator
|
||||||
|
{
|
||||||
|
public function add($a, $b)
|
||||||
|
{
|
||||||
|
return $a + $b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## Tests unitaires (2)
|
||||||
|
|
||||||
|
### Classe de test
|
||||||
|
|
||||||
|
```php
|
||||||
|
// tests/AppBundle/Util/CalculatorTest.php
|
||||||
|
|
||||||
|
namespace Tests\AppBundle\Util;
|
||||||
|
|
||||||
|
use AppBundle\Util\Calculator;
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
class CalculatorTest extends TestCase
|
||||||
|
{
|
||||||
|
public function testAdd()
|
||||||
|
{
|
||||||
|
$calc = new Calculator();
|
||||||
|
$result = $calc->add(30, 12);
|
||||||
|
|
||||||
|
// assert that your calculator added the numbers correctly!
|
||||||
|
$this->assertEquals(42, $result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## Tests fonctionnels
|
||||||
|
|
||||||
|
### Créer une classe de test
|
||||||
|
|
||||||
|
```php
|
||||||
|
namespace Tests\AppBundle\Controller;
|
||||||
|
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
|
||||||
|
|
||||||
|
class DefaultControllerTest extends WebTestCase
|
||||||
|
{
|
||||||
|
public function testIndex()
|
||||||
|
{
|
||||||
|
$client = static::createClient();
|
||||||
|
|
||||||
|
$crawler = $client->request('GET', '/');
|
||||||
|
|
||||||
|
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||||
|
$this->assertContains(
|
||||||
|
'Welcome to Symfony',
|
||||||
|
$crawler->filter('#container h1')->text()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exercice
|
||||||
|
|
||||||
|
Créer un formulaire de contact basique avec les champs suivants:
|
||||||
|
- Nom (obligatoire)
|
||||||
|
- Prénom (obligatoire)
|
||||||
|
- Adresse courriel (obligatoire, doit être une adresse valide)
|
||||||
|
- Message (obligatoire, maximum 300 caractères)
|
||||||
|
|
||||||
|
Tester l'application des contraintes en écrivant une classe de test pour ce formulaire.
|
||||||
|
|
||||||
|
Ressource: https://symfony.com/doc/3.4/testing.html
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Gestion des assets avec Webpack
|
## Gestion des assets avec Webpack
|
||||||
|
|
||||||
|
### Installation de Webpack-Encore
|
||||||
|
### Configuration
|
||||||
|
### Générer les assets
|
||||||
|
### Utilisation des assets
|
||||||
|
### Exercice
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation de Webpack-Encore
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm init
|
||||||
|
npm install @symfony/webpack-encore --save-dev
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration (1)
|
||||||
|
|
||||||
|
### Création du fichier webpack.config.js
|
||||||
|
```javascript
|
||||||
|
// webpack.config.js
|
||||||
|
|
||||||
|
var Encore = require('@symfony/webpack-encore');
|
||||||
|
|
||||||
|
Encore
|
||||||
|
.setOutputPath('web/build/') // Chemin de sortie des assets
|
||||||
|
.setPublicPath('/build') // Définir le chemin d'accès aux assets
|
||||||
|
|
||||||
|
// Activer les sources-map en dev
|
||||||
|
.enableSourceMaps(!Encore.isProduction())
|
||||||
|
|
||||||
|
// Activer le versioning des assets
|
||||||
|
.enableVersioning()
|
||||||
|
|
||||||
|
|
||||||
|
.addEntry('app', './app/Resources/js/app.js') // Ajouter une entrée
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
module.exports = Encore.getWebpackConfig();
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration (2)
|
||||||
|
|
||||||
|
### Activation de la gestion des versions des assets
|
||||||
|
```yaml
|
||||||
|
# app/config/config.yml
|
||||||
|
framework:
|
||||||
|
# ...
|
||||||
|
assets:
|
||||||
|
json_manifest_path: '%kernel.project_dir%/web/build/manifest.json'
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## Générer les assets
|
||||||
|
|
||||||
|
```bash
|
||||||
|
|
||||||
|
# Générer les assets pour l'environnement de dev
|
||||||
|
./node_modules/.bin/encore dev
|
||||||
|
|
||||||
|
# Générer automatiquement les assets lorsque les sources sont modifiées
|
||||||
|
./node_modules/.bin/encore dev --watch
|
||||||
|
|
||||||
|
# Générer les assets pour la production
|
||||||
|
./node_modules/.bin/encore production
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
## Utilisation des assets (1)
|
||||||
|
|
||||||
|
### Dans les templates Twig
|
||||||
|
|
||||||
|
```html+twig
|
||||||
|
<!-- CSS -->
|
||||||
|
<link rel="stylesheet" src="{{ asset("build/app.css") }}">
|
||||||
|
|
||||||
|
<!-- Javascript -->
|
||||||
|
<script type="text/javascript" src="{{ asset("build/app.js") }}"></script>
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## Utilisation des assets (2)
|
||||||
|
|
||||||
|
### Déclarer les dépendances depuis les fichiers JS
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// app/Resources/js/app.js
|
||||||
|
|
||||||
|
require('./css/app.css') // Dépendance vers la feuille de style app.css
|
||||||
|
|
||||||
|
const $ = require('jquery') // Dépendance vers une librairie NPM
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exercice
|
||||||
|
|
||||||
|
Mettre en place deux pages mutualisant le code de jQuery et Bootstrap via le système de "sharedEntry" proposé par Encore.
|
||||||
|
|
||||||
|
Ressource: http://symfony.com/doc/3.4/frontend/encore/shared-entry.html
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Formulaires et gestion des thèmes
|
## Formulaires et gestion des thèmes
|
||||||
|
|
||||||
|
### Personnaliser le thème d'un formulaire dans un template
|
||||||
|
### Définir/créer un thème global
|
||||||
|
### Exercice
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Personnaliser le thème d'un formulaire dans un template
|
||||||
|
|
||||||
|
```html+twig
|
||||||
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
|
<!--
|
||||||
|
On surcharge le widget "integer"
|
||||||
|
du thème global pour le formulaire "form"
|
||||||
|
-->
|
||||||
|
{% form_theme form _self %}
|
||||||
|
|
||||||
|
{% block integer_widget %}
|
||||||
|
<div class="integer_widget">
|
||||||
|
{% set type = type|default('number') %}
|
||||||
|
{{ block('form_widget_simple') }}
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{{ form(form) }}
|
||||||
|
{% endblock %}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Définir un thème global
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# app/config/config.yml
|
||||||
|
twig:
|
||||||
|
form_themes:
|
||||||
|
- 'form/fields.html.twig'
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Créer un thème global
|
||||||
|
|
||||||
|
```html+twig
|
||||||
|
<!-- app/Resources/form/fields.html.twig -->
|
||||||
|
|
||||||
|
<!-- On étend un thème déjà existant -->
|
||||||
|
{% extends 'form_div_layout.html.twig' %}
|
||||||
|
|
||||||
|
<!-- On surcharge les blocs souhaités -->
|
||||||
|
{% block form_widget_simple %}
|
||||||
|
{{ parent() }}
|
||||||
|
|
||||||
|
{% if help is defined %}
|
||||||
|
<span class="help-block">{{ help }}</span>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exercice
|
||||||
|
|
||||||
|
Créer un thème global de formulaire qui préfixe tous les messages d'erreur par le signe unicode "warning": ⚠.
|
||||||
|
|
||||||
|
Ressource: https://symfony.com/doc/3.4/form/form_customization.html#customizing-error-output
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Licence
|
# Licence
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
/var
|
||||||
|
/vendor
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"name": "william/s3-micro",
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "William Petit",
|
||||||
|
"email": "wpetit@cadoles.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"require": {
|
||||||
|
"symfony/symfony": "3.4",
|
||||||
|
"symfony/twig-bundle": "^3.4"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,1318 @@
|
||||||
|
{
|
||||||
|
"_readme": [
|
||||||
|
"This file locks the dependencies of your project to a known state",
|
||||||
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
|
"This file is @generated automatically"
|
||||||
|
],
|
||||||
|
"content-hash": "71f636958a02a94de01ccb214edfab4b",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"name": "doctrine/annotations",
|
||||||
|
"version": "v1.4.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/annotations.git",
|
||||||
|
"reference": "54cacc9b81758b14e3ce750f205a393d52339e97"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/annotations/zipball/54cacc9b81758b14e3ce750f205a393d52339e97",
|
||||||
|
"reference": "54cacc9b81758b14e3ce750f205a393d52339e97",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/lexer": "1.*",
|
||||||
|
"php": "^5.6 || ^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/cache": "1.*",
|
||||||
|
"phpunit/phpunit": "^5.7"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.4.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Docblock Annotations Parser",
|
||||||
|
"homepage": "http://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"annotations",
|
||||||
|
"docblock",
|
||||||
|
"parser"
|
||||||
|
],
|
||||||
|
"time": "2017-02-24T16:22:25+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/cache",
|
||||||
|
"version": "v1.6.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/cache.git",
|
||||||
|
"reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b",
|
||||||
|
"reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "~5.5|~7.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/common": ">2.2,<2.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "~4.8|~5.0",
|
||||||
|
"predis/predis": "~1.0",
|
||||||
|
"satooshi/php-coveralls": "~0.6"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.6.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Caching library offering an object-oriented API for many cache backends",
|
||||||
|
"homepage": "http://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"cache",
|
||||||
|
"caching"
|
||||||
|
],
|
||||||
|
"time": "2017-07-22T12:49:21+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/collections",
|
||||||
|
"version": "v1.4.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/collections.git",
|
||||||
|
"reference": "1a4fb7e902202c33cce8c55989b945612943c2ba"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba",
|
||||||
|
"reference": "1a4fb7e902202c33cce8c55989b945612943c2ba",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^5.6 || ^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/coding-standard": "~0.1@dev",
|
||||||
|
"phpunit/phpunit": "^5.7"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.3.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Doctrine\\Common\\Collections\\": "lib/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Collections Abstraction library",
|
||||||
|
"homepage": "http://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"array",
|
||||||
|
"collections",
|
||||||
|
"iterator"
|
||||||
|
],
|
||||||
|
"time": "2017-01-03T10:49:41+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/common",
|
||||||
|
"version": "v2.7.3",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/common.git",
|
||||||
|
"reference": "4acb8f89626baafede6ee5475bc5844096eba8a9"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/common/zipball/4acb8f89626baafede6ee5475bc5844096eba8a9",
|
||||||
|
"reference": "4acb8f89626baafede6ee5475bc5844096eba8a9",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/annotations": "1.*",
|
||||||
|
"doctrine/cache": "1.*",
|
||||||
|
"doctrine/collections": "1.*",
|
||||||
|
"doctrine/inflector": "1.*",
|
||||||
|
"doctrine/lexer": "1.*",
|
||||||
|
"php": "~5.6|~7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^5.4.6"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.7.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\": "lib/Doctrine/Common"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common Library for Doctrine projects",
|
||||||
|
"homepage": "http://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"annotations",
|
||||||
|
"collections",
|
||||||
|
"eventmanager",
|
||||||
|
"persistence",
|
||||||
|
"spl"
|
||||||
|
],
|
||||||
|
"time": "2017-07-22T08:35:12+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/inflector",
|
||||||
|
"version": "v1.1.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/inflector.git",
|
||||||
|
"reference": "90b2128806bfde671b6952ab8bea493942c1fdae"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae",
|
||||||
|
"reference": "90b2128806bfde671b6952ab8bea493942c1fdae",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "4.*"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.1.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Doctrine\\Common\\Inflector\\": "lib/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common String Manipulations with regard to casing and singular/plural rules.",
|
||||||
|
"homepage": "http://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"inflection",
|
||||||
|
"pluralize",
|
||||||
|
"singularize",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"time": "2015-11-06T14:35:42+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/lexer",
|
||||||
|
"version": "v1.0.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/lexer.git",
|
||||||
|
"reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
|
||||||
|
"reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.2"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Doctrine\\Common\\Lexer\\": "lib/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
|
||||||
|
"homepage": "http://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"lexer",
|
||||||
|
"parser"
|
||||||
|
],
|
||||||
|
"time": "2014-09-09T13:34:57+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fig/link-util",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/link-util.git",
|
||||||
|
"reference": "1a07821801a148be4add11ab0603e4af55a72fac"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac",
|
||||||
|
"reference": "1a07821801a148be4add11ab0603e4af55a72fac",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.5.0",
|
||||||
|
"psr/link": "~1.0@dev"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^5.1",
|
||||||
|
"squizlabs/php_codesniffer": "^2.3.1"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Fig\\Link\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common utility implementations for HTTP links",
|
||||||
|
"keywords": [
|
||||||
|
"http",
|
||||||
|
"http-link",
|
||||||
|
"link",
|
||||||
|
"psr",
|
||||||
|
"psr-13",
|
||||||
|
"rest"
|
||||||
|
],
|
||||||
|
"time": "2016-10-17T18:31:11+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "paragonie/random_compat",
|
||||||
|
"version": "v2.0.11",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/paragonie/random_compat.git",
|
||||||
|
"reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8",
|
||||||
|
"reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.2.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "4.*|5.*"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"lib/random.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Paragon Initiative Enterprises",
|
||||||
|
"email": "security@paragonie.com",
|
||||||
|
"homepage": "https://paragonie.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
|
||||||
|
"keywords": [
|
||||||
|
"csprng",
|
||||||
|
"pseudorandom",
|
||||||
|
"random"
|
||||||
|
],
|
||||||
|
"time": "2017-09-27T21:40:39+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/cache",
|
||||||
|
"version": "1.0.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/cache.git",
|
||||||
|
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
|
||||||
|
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\Cache\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common interface for caching libraries",
|
||||||
|
"keywords": [
|
||||||
|
"cache",
|
||||||
|
"psr",
|
||||||
|
"psr-6"
|
||||||
|
],
|
||||||
|
"time": "2016-08-06T20:24:11+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/container",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/container.git",
|
||||||
|
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
|
||||||
|
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\Container\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common Container Interface (PHP FIG PSR-11)",
|
||||||
|
"homepage": "https://github.com/php-fig/container",
|
||||||
|
"keywords": [
|
||||||
|
"PSR-11",
|
||||||
|
"container",
|
||||||
|
"container-interface",
|
||||||
|
"container-interop",
|
||||||
|
"psr"
|
||||||
|
],
|
||||||
|
"time": "2017-02-14T16:28:37+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/link",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/link.git",
|
||||||
|
"reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562",
|
||||||
|
"reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\Link\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common interfaces for HTTP links",
|
||||||
|
"keywords": [
|
||||||
|
"http",
|
||||||
|
"http-link",
|
||||||
|
"link",
|
||||||
|
"psr",
|
||||||
|
"psr-13",
|
||||||
|
"rest"
|
||||||
|
],
|
||||||
|
"time": "2016-10-28T16:06:13+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/log",
|
||||||
|
"version": "1.0.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/log.git",
|
||||||
|
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
||||||
|
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\Log\\": "Psr/Log/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common interface for logging libraries",
|
||||||
|
"homepage": "https://github.com/php-fig/log",
|
||||||
|
"keywords": [
|
||||||
|
"log",
|
||||||
|
"psr",
|
||||||
|
"psr-3"
|
||||||
|
],
|
||||||
|
"time": "2016-10-10T12:19:37+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/simple-cache",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/simple-cache.git",
|
||||||
|
"reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/simple-cache/zipball/753fa598e8f3b9966c886fe13f370baa45ef0e24",
|
||||||
|
"reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\SimpleCache\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common interfaces for simple caching",
|
||||||
|
"keywords": [
|
||||||
|
"cache",
|
||||||
|
"caching",
|
||||||
|
"psr",
|
||||||
|
"psr-16",
|
||||||
|
"simple-cache"
|
||||||
|
],
|
||||||
|
"time": "2017-01-02T13:31:39+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-apcu",
|
||||||
|
"version": "v1.6.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-apcu.git",
|
||||||
|
"reference": "04f62674339602def515bff4bc6901fc1d4951e8"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/04f62674339602def515bff4bc6901fc1d4951e8",
|
||||||
|
"reference": "04f62674339602def515bff4bc6901fc1d4951e8",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.6-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Apcu\\": ""
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill backporting apcu_* functions to lower PHP versions",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"apcu",
|
||||||
|
"compatibility",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2017-10-11T12:05:26+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-intl-icu",
|
||||||
|
"version": "v1.6.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-intl-icu.git",
|
||||||
|
"reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d2bb2ef00dd8605d6fbd4db53ed4af1395953497",
|
||||||
|
"reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3",
|
||||||
|
"symfony/intl": "~2.3|~3.0|~4.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-intl": "For best performance"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.6-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill for intl's ICU-related data and classes",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"icu",
|
||||||
|
"intl",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2017-10-11T12:05:26+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-mbstring",
|
||||||
|
"version": "v1.6.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||||
|
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
|
||||||
|
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-mbstring": "For best performance"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.6-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Mbstring\\": ""
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill for the Mbstring extension",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"mbstring",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2017-10-11T12:05:26+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-php56",
|
||||||
|
"version": "v1.6.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-php56.git",
|
||||||
|
"reference": "265fc96795492430762c29be291a371494ba3a5b"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/265fc96795492430762c29be291a371494ba3a5b",
|
||||||
|
"reference": "265fc96795492430762c29be291a371494ba3a5b",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3",
|
||||||
|
"symfony/polyfill-util": "~1.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.6-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Php56\\": ""
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2017-10-11T12:05:26+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-php70",
|
||||||
|
"version": "v1.6.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-php70.git",
|
||||||
|
"reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff",
|
||||||
|
"reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"paragonie/random_compat": "~1.0|~2.0",
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.6-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Php70\\": ""
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
],
|
||||||
|
"classmap": [
|
||||||
|
"Resources/stubs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2017-10-11T12:05:26+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-util",
|
||||||
|
"version": "v1.6.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-util.git",
|
||||||
|
"reference": "6e719200c8e540e0c0effeb31f96bdb344b94176"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/6e719200c8e540e0c0effeb31f96bdb344b94176",
|
||||||
|
"reference": "6e719200c8e540e0c0effeb31f96bdb344b94176",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.6-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Util\\": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony utilities for portability of PHP codes",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compat",
|
||||||
|
"compatibility",
|
||||||
|
"polyfill",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"time": "2017-10-11T12:05:26+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/symfony",
|
||||||
|
"version": "v3.4.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/symfony.git",
|
||||||
|
"reference": "0a47db379b8cc74cdd84e1e6870fafc4a4ac8351"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/symfony/zipball/0a47db379b8cc74cdd84e1e6870fafc4a4ac8351",
|
||||||
|
"reference": "0a47db379b8cc74cdd84e1e6870fafc4a4ac8351",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"doctrine/common": "~2.4",
|
||||||
|
"ext-xml": "*",
|
||||||
|
"fig/link-util": "^1.0",
|
||||||
|
"php": "^5.5.9|>=7.0.8",
|
||||||
|
"psr/cache": "~1.0",
|
||||||
|
"psr/container": "^1.0",
|
||||||
|
"psr/link": "^1.0",
|
||||||
|
"psr/log": "~1.0",
|
||||||
|
"psr/simple-cache": "^1.0",
|
||||||
|
"symfony/polyfill-apcu": "~1.1",
|
||||||
|
"symfony/polyfill-intl-icu": "~1.0",
|
||||||
|
"symfony/polyfill-mbstring": "~1.0",
|
||||||
|
"symfony/polyfill-php56": "~1.0",
|
||||||
|
"symfony/polyfill-php70": "~1.6",
|
||||||
|
"symfony/polyfill-util": "~1.0",
|
||||||
|
"twig/twig": "^1.35|^2.4.4"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"phpdocumentor/reflection-docblock": "<3.0||>=3.2.0,<3.2.2",
|
||||||
|
"phpdocumentor/type-resolver": "<0.2.1",
|
||||||
|
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0"
|
||||||
|
},
|
||||||
|
"provide": {
|
||||||
|
"psr/cache-implementation": "1.0",
|
||||||
|
"psr/container-implementation": "1.0",
|
||||||
|
"psr/log-implementation": "1.0",
|
||||||
|
"psr/simple-cache-implementation": "1.0"
|
||||||
|
},
|
||||||
|
"replace": {
|
||||||
|
"symfony/asset": "self.version",
|
||||||
|
"symfony/browser-kit": "self.version",
|
||||||
|
"symfony/cache": "self.version",
|
||||||
|
"symfony/class-loader": "self.version",
|
||||||
|
"symfony/config": "self.version",
|
||||||
|
"symfony/console": "self.version",
|
||||||
|
"symfony/css-selector": "self.version",
|
||||||
|
"symfony/debug": "self.version",
|
||||||
|
"symfony/debug-bundle": "self.version",
|
||||||
|
"symfony/dependency-injection": "self.version",
|
||||||
|
"symfony/doctrine-bridge": "self.version",
|
||||||
|
"symfony/dom-crawler": "self.version",
|
||||||
|
"symfony/dotenv": "self.version",
|
||||||
|
"symfony/event-dispatcher": "self.version",
|
||||||
|
"symfony/expression-language": "self.version",
|
||||||
|
"symfony/filesystem": "self.version",
|
||||||
|
"symfony/finder": "self.version",
|
||||||
|
"symfony/form": "self.version",
|
||||||
|
"symfony/framework-bundle": "self.version",
|
||||||
|
"symfony/http-foundation": "self.version",
|
||||||
|
"symfony/http-kernel": "self.version",
|
||||||
|
"symfony/inflector": "self.version",
|
||||||
|
"symfony/intl": "self.version",
|
||||||
|
"symfony/ldap": "self.version",
|
||||||
|
"symfony/lock": "self.version",
|
||||||
|
"symfony/monolog-bridge": "self.version",
|
||||||
|
"symfony/options-resolver": "self.version",
|
||||||
|
"symfony/process": "self.version",
|
||||||
|
"symfony/property-access": "self.version",
|
||||||
|
"symfony/property-info": "self.version",
|
||||||
|
"symfony/proxy-manager-bridge": "self.version",
|
||||||
|
"symfony/routing": "self.version",
|
||||||
|
"symfony/security": "self.version",
|
||||||
|
"symfony/security-bundle": "self.version",
|
||||||
|
"symfony/security-core": "self.version",
|
||||||
|
"symfony/security-csrf": "self.version",
|
||||||
|
"symfony/security-guard": "self.version",
|
||||||
|
"symfony/security-http": "self.version",
|
||||||
|
"symfony/serializer": "self.version",
|
||||||
|
"symfony/stopwatch": "self.version",
|
||||||
|
"symfony/templating": "self.version",
|
||||||
|
"symfony/translation": "self.version",
|
||||||
|
"symfony/twig-bridge": "self.version",
|
||||||
|
"symfony/twig-bundle": "self.version",
|
||||||
|
"symfony/validator": "self.version",
|
||||||
|
"symfony/var-dumper": "self.version",
|
||||||
|
"symfony/web-link": "self.version",
|
||||||
|
"symfony/web-profiler-bundle": "self.version",
|
||||||
|
"symfony/web-server-bundle": "self.version",
|
||||||
|
"symfony/workflow": "self.version",
|
||||||
|
"symfony/yaml": "self.version"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"cache/integration-tests": "dev-master",
|
||||||
|
"doctrine/annotations": "~1.0",
|
||||||
|
"doctrine/cache": "~1.6",
|
||||||
|
"doctrine/data-fixtures": "1.0.*",
|
||||||
|
"doctrine/dbal": "~2.4",
|
||||||
|
"doctrine/doctrine-bundle": "~1.4",
|
||||||
|
"doctrine/orm": "~2.4,>=2.4.5",
|
||||||
|
"egulias/email-validator": "~1.2,>=1.2.8|~2.0",
|
||||||
|
"monolog/monolog": "~1.11",
|
||||||
|
"ocramius/proxy-manager": "~0.4|~1.0|~2.0",
|
||||||
|
"phpdocumentor/reflection-docblock": "^3.0|^4.0",
|
||||||
|
"predis/predis": "~1.0",
|
||||||
|
"symfony/phpunit-bridge": "~3.4|~4.0",
|
||||||
|
"symfony/security-acl": "~2.8|~3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/",
|
||||||
|
"Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/",
|
||||||
|
"Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/",
|
||||||
|
"Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/",
|
||||||
|
"Symfony\\Bundle\\": "src/Symfony/Bundle/",
|
||||||
|
"Symfony\\Component\\": "src/Symfony/Component/"
|
||||||
|
},
|
||||||
|
"classmap": [
|
||||||
|
"src/Symfony/Component/Intl/Resources/stubs"
|
||||||
|
],
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"**/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "The Symfony PHP framework",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"framework"
|
||||||
|
],
|
||||||
|
"time": "2017-11-30T16:56:19+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "twig/twig",
|
||||||
|
"version": "v1.35.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/twigphp/Twig.git",
|
||||||
|
"reference": "daa657073e55b0a78cce8fdd22682fddecc6385f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/twigphp/Twig/zipball/daa657073e55b0a78cce8fdd22682fddecc6385f",
|
||||||
|
"reference": "daa657073e55b0a78cce8fdd22682fddecc6385f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"psr/container": "^1.0",
|
||||||
|
"symfony/debug": "~2.7",
|
||||||
|
"symfony/phpunit-bridge": "~3.3@dev"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.35-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Twig_": "lib/"
|
||||||
|
},
|
||||||
|
"psr-4": {
|
||||||
|
"Twig\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com",
|
||||||
|
"homepage": "http://fabien.potencier.org",
|
||||||
|
"role": "Lead Developer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Armin Ronacher",
|
||||||
|
"email": "armin.ronacher@active-4.com",
|
||||||
|
"role": "Project Founder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Twig Team",
|
||||||
|
"homepage": "http://twig.sensiolabs.org/contributors",
|
||||||
|
"role": "Contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Twig, the flexible, fast, and secure template language for PHP",
|
||||||
|
"homepage": "http://twig.sensiolabs.org",
|
||||||
|
"keywords": [
|
||||||
|
"templating"
|
||||||
|
],
|
||||||
|
"time": "2017-09-27T18:06:46+00:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"packages-dev": [],
|
||||||
|
"aliases": [],
|
||||||
|
"minimum-stability": "stable",
|
||||||
|
"stability-flags": [],
|
||||||
|
"prefer-stable": false,
|
||||||
|
"prefer-lowest": false,
|
||||||
|
"platform": [],
|
||||||
|
"platform-dev": []
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
My Twig Template
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,88 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
|
||||||
|
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Symfony\Component\HttpKernel\Kernel;
|
||||||
|
use Symfony\Component\Routing\RouteCollectionBuilder;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
// require Composer's autoloader
|
||||||
|
require __DIR__.'/../vendor/autoload.php';
|
||||||
|
|
||||||
|
class AppKernel extends Kernel
|
||||||
|
{
|
||||||
|
// Utilisation du trait "MicroKernel"
|
||||||
|
use MicroKernelTrait;
|
||||||
|
|
||||||
|
// Ajout des bundles
|
||||||
|
public function registerBundles()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
|
||||||
|
new Symfony\Bundle\TwigBundle\TwigBundle(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Configuration des bundles - équivalent d'une config.yml
|
||||||
|
protected function configureContainer(ContainerBuilder $c, LoaderInterface $loader)
|
||||||
|
{
|
||||||
|
// PHP equivalent of config.yml
|
||||||
|
$c->loadFromExtension('framework', array(
|
||||||
|
'secret' => 'S0ME_SECRET',
|
||||||
|
'templating' => [
|
||||||
|
'engine' => [
|
||||||
|
'twig'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
));
|
||||||
|
$c->loadFromExtension('twig', [
|
||||||
|
'default_path' => __DIR__.'/../templates',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Configuration des routes
|
||||||
|
protected function configureRoutes(RouteCollectionBuilder $routes)
|
||||||
|
{
|
||||||
|
$routes->add('/random/{limit}', 'kernel:randomAction');
|
||||||
|
$routes->add('/twig', 'kernel:twigAction');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function twigAction()
|
||||||
|
{
|
||||||
|
$container = $this->getContainer();
|
||||||
|
$twig = $container->get('twig');
|
||||||
|
return new Response($twig->render('index.html.twig'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Définition d'une route
|
||||||
|
public function randomAction($limit)
|
||||||
|
{
|
||||||
|
return new JsonResponse(array(
|
||||||
|
'number' => rand(0, $limit)
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Configuration des répertoires de cache et logs
|
||||||
|
// Ces répertoires ne devrait pas être contenus dans la racine "web"
|
||||||
|
|
||||||
|
public function getCacheDir()
|
||||||
|
{
|
||||||
|
return __DIR__.'/../var/cache/'.$this->getEnvironment();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLogDir()
|
||||||
|
{
|
||||||
|
return __DIR__.'/../var/logs';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Définition de l'environnement
|
||||||
|
|
||||||
|
$kernel = new AppKernel('dev', true);
|
||||||
|
$request = Request::createFromGlobals();
|
||||||
|
$response = $kernel->handle($request);
|
||||||
|
$response->send();
|
||||||
|
$kernel->terminate($request, $response);
|
Loading…
Reference in New Issue