commit
0ea7b9cb13
49 changed files with 9236 additions and 0 deletions
@ -0,0 +1,32 @@ |
|||||
|
# In all environments, the following files are loaded if they exist, |
||||
|
# the latter taking precedence over the former: |
||||
|
# |
||||
|
# * .env contains default values for the environment variables needed by the app |
||||
|
# * .env.local uncommitted file with local overrides |
||||
|
# * .env.$APP_ENV committed environment-specific defaults |
||||
|
# * .env.$APP_ENV.local uncommitted environment-specific overrides |
||||
|
# |
||||
|
# Real environment variables win over .env files. |
||||
|
# |
||||
|
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES. |
||||
|
# |
||||
|
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2). |
||||
|
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration |
||||
|
|
||||
|
###> symfony/framework-bundle ### |
||||
|
APP_ENV=dev |
||||
|
APP_SECRET=84994ef3f62cdf3bec1f40c4a3d4384f |
||||
|
###< symfony/framework-bundle ### |
||||
|
|
||||
|
###> symfony/mailer ### |
||||
|
# MAILER_DSN=smtp://localhost |
||||
|
###< symfony/mailer ### |
||||
|
|
||||
|
###> doctrine/doctrine-bundle ### |
||||
|
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url |
||||
|
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml |
||||
|
# |
||||
|
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db" |
||||
|
# DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7" |
||||
|
DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8" |
||||
|
###< doctrine/doctrine-bundle ### |
@ -0,0 +1,6 @@ |
|||||
|
# define your env variables for the test env here |
||||
|
KERNEL_CLASS='App\Kernel' |
||||
|
APP_SECRET='$ecretf0rt3st' |
||||
|
SYMFONY_DEPRECATIONS_HELPER=999999 |
||||
|
PANTHER_APP_ENV=panther |
||||
|
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots |
@ -0,0 +1,16 @@ |
|||||
|
|
||||
|
###> symfony/framework-bundle ### |
||||
|
/.env.local |
||||
|
/.env.local.php |
||||
|
/.env.*.local |
||||
|
/config/secrets/prod/prod.decrypt.private.php |
||||
|
/public/bundles/ |
||||
|
/var/ |
||||
|
/vendor/ |
||||
|
###< symfony/framework-bundle ### |
||||
|
|
||||
|
###> symfony/phpunit-bridge ### |
||||
|
.phpunit |
||||
|
.phpunit.result.cache |
||||
|
/phpunit.xml |
||||
|
###< symfony/phpunit-bridge ### |
@ -0,0 +1,43 @@ |
|||||
|
#!/usr/bin/env php |
||||
|
<?php |
||||
|
|
||||
|
use App\Kernel; |
||||
|
use Symfony\Bundle\FrameworkBundle\Console\Application; |
||||
|
use Symfony\Component\Console\Input\ArgvInput; |
||||
|
use Symfony\Component\Dotenv\Dotenv; |
||||
|
use Symfony\Component\ErrorHandler\Debug; |
||||
|
|
||||
|
if (!in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) { |
||||
|
echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL; |
||||
|
} |
||||
|
|
||||
|
set_time_limit(0); |
||||
|
|
||||
|
require dirname(__DIR__).'/vendor/autoload.php'; |
||||
|
|
||||
|
if (!class_exists(Application::class) || !class_exists(Dotenv::class)) { |
||||
|
throw new LogicException('You need to add "symfony/framework-bundle" and "symfony/dotenv" as Composer dependencies.'); |
||||
|
} |
||||
|
|
||||
|
$input = new ArgvInput(); |
||||
|
if (null !== $env = $input->getParameterOption(['--env', '-e'], null, true)) { |
||||
|
putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env); |
||||
|
} |
||||
|
|
||||
|
if ($input->hasParameterOption('--no-debug', true)) { |
||||
|
putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); |
||||
|
} |
||||
|
|
||||
|
(new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); |
||||
|
|
||||
|
if ($_SERVER['APP_DEBUG']) { |
||||
|
umask(0000); |
||||
|
|
||||
|
if (class_exists(Debug::class)) { |
||||
|
Debug::enable(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); |
||||
|
$application = new Application($kernel); |
||||
|
$application->run($input); |
@ -0,0 +1,13 @@ |
|||||
|
#!/usr/bin/env php |
||||
|
<?php |
||||
|
|
||||
|
if (!file_exists(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) { |
||||
|
echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n"; |
||||
|
exit(1); |
||||
|
} |
||||
|
|
||||
|
if (false === getenv('SYMFONY_PHPUNIT_DIR')) { |
||||
|
putenv('SYMFONY_PHPUNIT_DIR='.__DIR__.'/.phpunit'); |
||||
|
} |
||||
|
|
||||
|
require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php'; |
@ -0,0 +1,98 @@ |
|||||
|
{ |
||||
|
"type": "project", |
||||
|
"license": "proprietary", |
||||
|
"minimum-stability": "dev", |
||||
|
"prefer-stable": true, |
||||
|
"require": { |
||||
|
"php": ">=7.2.5", |
||||
|
"ext-ctype": "*", |
||||
|
"ext-iconv": "*", |
||||
|
"composer/package-versions-deprecated": "1.11.99.1", |
||||
|
"doctrine/annotations": "^1.0", |
||||
|
"doctrine/doctrine-bundle": "^2.3", |
||||
|
"doctrine/doctrine-migrations-bundle": "^3.0", |
||||
|
"doctrine/orm": "^2.8", |
||||
|
"phpdocumentor/reflection-docblock": "^5.2", |
||||
|
"sensio/framework-extra-bundle": "^5.1", |
||||
|
"symfony/asset": "5.2.*", |
||||
|
"symfony/console": "5.2.*", |
||||
|
"symfony/dotenv": "5.2.*", |
||||
|
"symfony/expression-language": "5.2.*", |
||||
|
"symfony/flex": "^1.3.1", |
||||
|
"symfony/form": "5.2.*", |
||||
|
"symfony/framework-bundle": "5.2.*", |
||||
|
"symfony/http-client": "5.2.*", |
||||
|
"symfony/intl": "5.2.*", |
||||
|
"symfony/mailer": "5.2.*", |
||||
|
"symfony/mime": "5.2.*", |
||||
|
"symfony/monolog-bundle": "^3.1", |
||||
|
"symfony/notifier": "5.2.*", |
||||
|
"symfony/process": "5.2.*", |
||||
|
"symfony/property-access": "5.2.*", |
||||
|
"symfony/property-info": "5.2.*", |
||||
|
"symfony/proxy-manager-bridge": "5.2.*", |
||||
|
"symfony/security-bundle": "5.2.*", |
||||
|
"symfony/serializer": "5.2.*", |
||||
|
"symfony/string": "5.2.*", |
||||
|
"symfony/translation": "5.2.*", |
||||
|
"symfony/twig-bundle": "^5.2", |
||||
|
"symfony/validator": "5.2.*", |
||||
|
"symfony/web-link": "5.2.*", |
||||
|
"symfony/yaml": "5.2.*", |
||||
|
"twig/extra-bundle": "^2.12|^3.0", |
||||
|
"twig/twig": "^2.12|^3.0" |
||||
|
}, |
||||
|
"require-dev": { |
||||
|
"symfony/browser-kit": "^5.2", |
||||
|
"symfony/css-selector": "^5.2", |
||||
|
"symfony/debug-bundle": "^5.2", |
||||
|
"symfony/maker-bundle": "^1.0", |
||||
|
"symfony/phpunit-bridge": "^5.2", |
||||
|
"symfony/stopwatch": "^5.2", |
||||
|
"symfony/var-dumper": "^5.2", |
||||
|
"symfony/web-profiler-bundle": "^5.2" |
||||
|
}, |
||||
|
"config": { |
||||
|
"optimize-autoloader": true, |
||||
|
"preferred-install": { |
||||
|
"*": "dist" |
||||
|
}, |
||||
|
"sort-packages": true |
||||
|
}, |
||||
|
"autoload": { |
||||
|
"psr-4": { |
||||
|
"App\\": "src/" |
||||
|
} |
||||
|
}, |
||||
|
"autoload-dev": { |
||||
|
"psr-4": { |
||||
|
"App\\Tests\\": "tests/" |
||||
|
} |
||||
|
}, |
||||
|
"replace": { |
||||
|
"symfony/polyfill-ctype": "*", |
||||
|
"symfony/polyfill-iconv": "*", |
||||
|
"symfony/polyfill-php72": "*" |
||||
|
}, |
||||
|
"scripts": { |
||||
|
"auto-scripts": { |
||||
|
"cache:clear": "symfony-cmd", |
||||
|
"assets:install %PUBLIC_DIR%": "symfony-cmd" |
||||
|
}, |
||||
|
"post-install-cmd": [ |
||||
|
"@auto-scripts" |
||||
|
], |
||||
|
"post-update-cmd": [ |
||||
|
"@auto-scripts" |
||||
|
] |
||||
|
}, |
||||
|
"conflict": { |
||||
|
"symfony/symfony": "*" |
||||
|
}, |
||||
|
"extra": { |
||||
|
"symfony": { |
||||
|
"allow-contrib": false, |
||||
|
"require": "5.2.*" |
||||
|
} |
||||
|
} |
||||
|
} |
File diff suppressed because it is too large
@ -0,0 +1,15 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true], |
||||
|
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], |
||||
|
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], |
||||
|
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true], |
||||
|
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], |
||||
|
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true], |
||||
|
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], |
||||
|
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], |
||||
|
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], |
||||
|
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], |
||||
|
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true], |
||||
|
]; |
@ -0,0 +1,19 @@ |
|||||
|
framework: |
||||
|
cache: |
||||
|
# Unique name of your app: used to compute stable namespaces for cache keys. |
||||
|
#prefix_seed: your_vendor_name/app_name |
||||
|
|
||||
|
# The "app" cache stores to the filesystem by default. |
||||
|
# The data in this cache should persist between deploys. |
||||
|
# Other options include: |
||||
|
|
||||
|
# Redis |
||||
|
#app: cache.adapter.redis |
||||
|
#default_redis_provider: redis://localhost |
||||
|
|
||||
|
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) |
||||
|
#app: cache.adapter.apcu |
||||
|
|
||||
|
# Namespaced pools use the above "app" backend by default |
||||
|
#pools: |
||||
|
#my.dedicated.cache: null |
@ -0,0 +1,4 @@ |
|||||
|
debug: |
||||
|
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser. |
||||
|
# See the "server:dump" command to start a new server. |
||||
|
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%" |
@ -0,0 +1,19 @@ |
|||||
|
monolog: |
||||
|
handlers: |
||||
|
main: |
||||
|
type: stream |
||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log" |
||||
|
level: debug |
||||
|
channels: ["!event"] |
||||
|
# uncomment to get logging in your browser |
||||
|
# you may have to allow bigger header sizes in your Web server configuration |
||||
|
#firephp: |
||||
|
# type: firephp |
||||
|
# level: info |
||||
|
#chromephp: |
||||
|
# type: chromephp |
||||
|
# level: info |
||||
|
console: |
||||
|
type: console |
||||
|
process_psr_3_messages: false |
||||
|
channels: ["!event", "!doctrine", "!console"] |
@ -0,0 +1,6 @@ |
|||||
|
web_profiler: |
||||
|
toolbar: true |
||||
|
intercept_redirects: false |
||||
|
|
||||
|
framework: |
||||
|
profiler: { only_exceptions: false } |
@ -0,0 +1,18 @@ |
|||||
|
doctrine: |
||||
|
dbal: |
||||
|
url: '%env(resolve:DATABASE_URL)%' |
||||
|
|
||||
|
# IMPORTANT: You MUST configure your server version, |
||||
|
# either here or in the DATABASE_URL env var (see .env file) |
||||
|
#server_version: '13' |
||||
|
orm: |
||||
|
auto_generate_proxy_classes: true |
||||
|
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware |
||||
|
auto_mapping: true |
||||
|
mappings: |
||||
|
App: |
||||
|
is_bundle: false |
||||
|
type: annotation |
||||
|
dir: '%kernel.project_dir%/src/Entity' |
||||
|
prefix: 'App\Entity' |
||||
|
alias: App |
@ -0,0 +1,5 @@ |
|||||
|
doctrine_migrations: |
||||
|
migrations_paths: |
||||
|
# namespace is arbitrary but should be different from App\Migrations |
||||
|
# as migrations classes should NOT be autoloaded |
||||
|
'DoctrineMigrations': '%kernel.project_dir%/migrations' |
@ -0,0 +1,17 @@ |
|||||
|
# see https://symfony.com/doc/current/reference/configuration/framework.html |
||||
|
framework: |
||||
|
secret: '%env(APP_SECRET)%' |
||||
|
#csrf_protection: true |
||||
|
#http_method_override: true |
||||
|
|
||||
|
# Enables session support. Note that the session will ONLY be started if you read or write from it. |
||||
|
# Remove or comment this section to explicitly disable session support. |
||||
|
session: |
||||
|
handler_id: null |
||||
|
cookie_secure: auto |
||||
|
cookie_samesite: lax |
||||
|
|
||||
|
#esi: true |
||||
|
#fragments: true |
||||
|
php_errors: |
||||
|
log: true |
@ -0,0 +1,3 @@ |
|||||
|
framework: |
||||
|
mailer: |
||||
|
dsn: '%env(MAILER_DSN)%' |
@ -0,0 +1,16 @@ |
|||||
|
framework: |
||||
|
notifier: |
||||
|
#chatter_transports: |
||||
|
# slack: '%env(SLACK_DSN)%' |
||||
|
# telegram: '%env(TELEGRAM_DSN)%' |
||||
|
#texter_transports: |
||||
|
# twilio: '%env(TWILIO_DSN)%' |
||||
|
# nexmo: '%env(NEXMO_DSN)%' |
||||
|
channel_policy: |
||||
|
# use chat/slack, chat/telegram, sms/twilio or sms/nexmo |
||||
|
urgent: ['email'] |
||||
|
high: ['email'] |
||||
|
medium: ['email'] |
||||
|
low: ['email'] |
||||
|
admin_recipients: |
||||
|
- { email: admin@example.com } |
@ -0,0 +1,8 @@ |
|||||
|
# As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists |
||||
|
#monolog: |
||||
|
# channels: [deprecation] |
||||
|
# handlers: |
||||
|
# deprecation: |
||||
|
# type: stream |
||||
|
# channels: [deprecation] |
||||
|
# path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" |
@ -0,0 +1,20 @@ |
|||||
|
doctrine: |
||||
|
orm: |
||||
|
auto_generate_proxy_classes: false |
||||
|
metadata_cache_driver: |
||||
|
type: pool |
||||
|
pool: doctrine.system_cache_pool |
||||
|
query_cache_driver: |
||||
|
type: pool |
||||
|
pool: doctrine.system_cache_pool |
||||
|
result_cache_driver: |
||||
|
type: pool |
||||
|
pool: doctrine.result_cache_pool |
||||
|
|
||||
|
framework: |
||||
|
cache: |
||||
|
pools: |
||||
|
doctrine.result_cache_pool: |
||||
|
adapter: cache.app |
||||
|
doctrine.system_cache_pool: |
||||
|
adapter: cache.system |
@ -0,0 +1,16 @@ |
|||||
|
monolog: |
||||
|
handlers: |
||||
|
main: |
||||
|
type: fingers_crossed |
||||
|
action_level: error |
||||
|
handler: nested |
||||
|
excluded_http_codes: [404, 405] |
||||
|
buffer_size: 50 # How many messages should be saved? Prevent memory leaks |
||||
|
nested: |
||||
|
type: stream |
||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log" |
||||
|
level: debug |
||||
|
console: |
||||
|
type: console |
||||
|
process_psr_3_messages: false |
||||
|
channels: ["!event", "!doctrine"] |
@ -0,0 +1,3 @@ |
|||||
|
framework: |
||||
|
router: |
||||
|
strict_requirements: null |
@ -0,0 +1,7 @@ |
|||||
|
framework: |
||||
|
router: |
||||
|
utf8: true |
||||
|
|
||||
|
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands. |
||||
|
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands |
||||
|
#default_uri: http://localhost |
@ -0,0 +1,24 @@ |
|||||
|
security: |
||||
|
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers |
||||
|
providers: |
||||
|
users_in_memory: { memory: null } |
||||
|
firewalls: |
||||
|
dev: |
||||
|
pattern: ^/(_(profiler|wdt)|css|images|js)/ |
||||
|
security: false |
||||
|
main: |
||||
|
anonymous: true |
||||
|
lazy: true |
||||
|
provider: users_in_memory |
||||
|
|
||||
|
# activate different ways to authenticate |
||||
|
# https://symfony.com/doc/current/security.html#firewalls-authentication |
||||
|
|
||||
|
# https://symfony.com/doc/current/security/impersonating_user.html |
||||
|
# switch_user: true |
||||
|
|
||||
|
# Easy way to control access for large sections of your site |
||||
|
# Note: Only the *first* access control that matches will be used |
||||
|
access_control: |
||||
|
# - { path: ^/admin, roles: ROLE_ADMIN } |
||||
|
# - { path: ^/profile, roles: ROLE_USER } |
@ -0,0 +1,3 @@ |
|||||
|
sensio_framework_extra: |
||||
|
router: |
||||
|
annotations: false |
@ -0,0 +1,4 @@ |
|||||
|
framework: |
||||
|
test: true |
||||
|
session: |
||||
|
storage_id: session.storage.mock_file |
@ -0,0 +1,12 @@ |
|||||
|
monolog: |
||||
|
handlers: |
||||
|
main: |
||||
|
type: fingers_crossed |
||||
|
action_level: error |
||||
|
handler: nested |
||||
|
excluded_http_codes: [404, 405] |
||||
|
channels: ["!event"] |
||||
|
nested: |
||||
|
type: stream |
||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log" |
||||
|
level: debug |
@ -0,0 +1,2 @@ |
|||||
|
twig: |
||||
|
strict_variables: true |
@ -0,0 +1,3 @@ |
|||||
|
framework: |
||||
|
validation: |
||||
|
not_compromised_password: false |
@ -0,0 +1,6 @@ |
|||||
|
web_profiler: |
||||
|
toolbar: false |
||||
|
intercept_redirects: false |
||||
|
|
||||
|
framework: |
||||
|
profiler: { collect: false } |
@ -0,0 +1,6 @@ |
|||||
|
framework: |
||||
|
default_locale: en |
||||
|
translator: |
||||
|
default_path: '%kernel.project_dir%/translations' |
||||
|
fallbacks: |
||||
|
- en |
@ -0,0 +1,2 @@ |
|||||
|
twig: |
||||
|
default_path: '%kernel.project_dir%/templates' |
@ -0,0 +1,8 @@ |
|||||
|
framework: |
||||
|
validation: |
||||
|
email_validation_mode: html5 |
||||
|
|
||||
|
# Enables validator auto-mapping support. |
||||
|
# For instance, basic validation constraints will be inferred from Doctrine's metadata. |
||||
|
#auto_mapping: |
||||
|
# App\Entity\: [] |
@ -0,0 +1,5 @@ |
|||||
|
<?php |
||||
|
|
||||
|
if (file_exists(dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php')) { |
||||
|
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php'; |
||||
|
} |
@ -0,0 +1,3 @@ |
|||||
|
#index: |
||||
|
# path: / |
||||
|
# controller: App\Controller\DefaultController::index |
@ -0,0 +1,7 @@ |
|||||
|
controllers: |
||||
|
resource: ../../src/Controller/ |
||||
|
type: annotation |
||||
|
|
||||
|
kernel: |
||||
|
resource: ../../src/Kernel.php |
||||
|
type: annotation |
@ -0,0 +1,3 @@ |
|||||
|
_errors: |
||||
|
resource: '@FrameworkBundle/Resources/config/routing/errors.xml' |
||||
|
prefix: /_error |
@ -0,0 +1,7 @@ |
|||||
|
web_profiler_wdt: |
||||
|
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml' |
||||
|
prefix: /_wdt |
||||
|
|
||||
|
web_profiler_profiler: |
||||
|
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml' |
||||
|
prefix: /_profiler |
@ -0,0 +1,31 @@ |
|||||
|
# This file is the entry point to configure your own services. |
||||
|
# Files in the packages/ subdirectory configure your dependencies. |
||||
|
|
||||
|
# Put parameters here that don't need to change on each machine where the app is deployed |
||||
|
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration |
||||
|
parameters: |
||||
|
|
||||
|
services: |
||||
|
# default configuration for services in *this* file |
||||
|
_defaults: |
||||
|
autowire: true # Automatically injects dependencies in your services. |
||||
|
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. |
||||
|
|
||||
|
# makes classes in src/ available to be used as services |
||||
|
# this creates a service per class whose id is the fully-qualified class name |
||||
|
App\: |
||||
|
resource: '../src/' |
||||
|
exclude: |
||||
|
- '../src/DependencyInjection/' |
||||
|
- '../src/Entity/' |
||||
|
- '../src/Kernel.php' |
||||
|
- '../src/Tests/' |
||||
|
|
||||
|
# controllers are imported separately to make sure services can be injected |
||||
|
# as action arguments even if you don't extend any base controller class |
||||
|
App\Controller\: |
||||
|
resource: '../src/Controller/' |
||||
|
tags: ['controller.service_arguments'] |
||||
|
|
||||
|
# add more service definitions when explicit configuration is needed |
||||
|
# please note that last definitions always *replace* previous ones |
@ -0,0 +1,40 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
|
||||
|
<!-- https://phpunit.readthedocs.io/en/latest/configuration.html --> |
||||
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
|
xsi:noNamespaceSchemaLocation="bin/.phpunit/phpunit.xsd" |
||||
|
backupGlobals="false" |
||||
|
colors="true" |
||||
|
bootstrap="tests/bootstrap.php" |
||||
|
> |
||||
|
<php> |
||||
|
<ini name="error_reporting" value="-1" /> |
||||
|
<server name="APP_ENV" value="test" force="true" /> |
||||
|
<server name="SHELL_VERBOSITY" value="-1" /> |
||||
|
<server name="SYMFONY_PHPUNIT_REMOVE" value="" /> |
||||
|
<server name="SYMFONY_PHPUNIT_VERSION" value="8.5" /> |
||||
|
</php> |
||||
|
|
||||
|
<testsuites> |
||||
|
<testsuite name="Project Test Suite"> |
||||
|
<directory>tests</directory> |
||||
|
</testsuite> |
||||
|
</testsuites> |
||||
|
|
||||
|
<filter> |
||||
|
<whitelist processUncoveredFilesFromWhitelist="true"> |
||||
|
<directory suffix=".php">src</directory> |
||||
|
</whitelist> |
||||
|
</filter> |
||||
|
|
||||
|
<listeners> |
||||
|
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" /> |
||||
|
</listeners> |
||||
|
|
||||
|
<!-- Run `composer require symfony/panther` before enabling this extension --> |
||||
|
<!-- |
||||
|
<extensions> |
||||
|
<extension class="Symfony\Component\Panther\ServerExtension" /> |
||||
|
</extensions> |
||||
|
--> |
||||
|
</phpunit> |
@ -0,0 +1,22 @@ |
|||||
|
<?php |
||||
|
|
||||
|
use App\Kernel; |
||||
|
use Symfony\Component\Dotenv\Dotenv; |
||||
|
use Symfony\Component\ErrorHandler\Debug; |
||||
|
use Symfony\Component\HttpFoundation\Request; |
||||
|
|
||||
|
require dirname(__DIR__).'/vendor/autoload.php'; |
||||
|
|
||||
|
(new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); |
||||
|
|
||||
|
if ($_SERVER['APP_DEBUG']) { |
||||
|
umask(0000); |
||||
|
|
||||
|
Debug::enable(); |
||||
|
} |
||||
|
|
||||
|
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); |
||||
|
$request = Request::createFromGlobals(); |
||||
|
$response = $kernel->handle($request); |
||||
|
$response->send(); |
||||
|
$kernel->terminate($request, $response); |
@ -0,0 +1,38 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace App; |
||||
|
|
||||
|
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait; |
||||
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; |
||||
|
use Symfony\Component\HttpKernel\Kernel as BaseKernel; |
||||
|
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator; |
||||
|
|
||||
|
class Kernel extends BaseKernel |
||||
|
{ |
||||
|
use MicroKernelTrait; |
||||
|
|
||||
|
protected function configureContainer(ContainerConfigurator $container): void |
||||
|
{ |
||||
|
$container->import('../config/{packages}/*.yaml'); |
||||
|
$container->import('../config/{packages}/'.$this->environment.'/*.yaml'); |
||||
|
|
||||
|
if (is_file(\dirname(__DIR__).'/config/services.yaml')) { |
||||
|
$container->import('../config/services.yaml'); |
||||
|
$container->import('../config/{services}_'.$this->environment.'.yaml'); |
||||
|
} elseif (is_file($path = \dirname(__DIR__).'/config/services.php')) { |
||||
|
(require $path)($container->withPath($path), $this); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
protected function configureRoutes(RoutingConfigurator $routes): void |
||||
|
{ |
||||
|
$routes->import('../config/{routes}/'.$this->environment.'/*.yaml'); |
||||
|
$routes->import('../config/{routes}/*.yaml'); |
||||
|
|
||||
|
if (is_file(\dirname(__DIR__).'/config/routes.yaml')) { |
||||
|
$routes->import('../config/routes.yaml'); |
||||
|
} elseif (is_file($path = \dirname(__DIR__).'/config/routes.php')) { |
||||
|
(require $path)($routes->withPath($path), $this); |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,517 @@ |
|||||
|
{ |
||||
|
"composer/package-versions-deprecated": { |
||||
|
"version": "1.11.99.1" |
||||
|
}, |
||||
|
"doctrine/annotations": { |
||||
|
"version": "1.0", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "1.0", |
||||
|
"ref": "a2759dd6123694c8d901d0ec80006e044c2e6457" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/routes/annotations.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"doctrine/cache": { |
||||
|
"version": "1.10.2" |
||||
|
}, |
||||
|
"doctrine/collections": { |
||||
|
"version": "1.6.7" |
||||
|
}, |
||||
|
"doctrine/common": { |
||||
|
"version": "3.1.1" |
||||
|
}, |
||||
|
"doctrine/dbal": { |
||||
|
"version": "2.12.1" |
||||
|
}, |
||||
|
"doctrine/doctrine-bundle": { |
||||
|
"version": "2.0", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "2.0", |
||||
|
"ref": "40631978d2c4adc9b11220b13eba539b727c36a8" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/doctrine.yaml", |
||||
|
"config/packages/prod/doctrine.yaml", |
||||
|
"src/Entity/.gitignore", |
||||
|
"src/Repository/.gitignore" |
||||
|
] |
||||
|
}, |
||||
|
"doctrine/doctrine-migrations-bundle": { |
||||
|
"version": "2.2", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "2.2", |
||||
|
"ref": "baaa439e3e3179e69e3da84b671f0a3e4a2f56ad" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/doctrine_migrations.yaml", |
||||
|
"migrations/.gitignore" |
||||
|
] |
||||
|
}, |
||||
|
"doctrine/event-manager": { |
||||
|
"version": "1.1.1" |
||||
|
}, |
||||
|
"doctrine/inflector": { |
||||
|
"version": "2.0.3" |
||||
|
}, |
||||
|
"doctrine/instantiator": { |
||||
|
"version": "1.4.0" |
||||
|
}, |
||||
|
"doctrine/lexer": { |
||||
|
"version": "1.2.1" |
||||
|
}, |
||||
|
"doctrine/migrations": { |
||||
|
"version": "3.1.1" |
||||
|
}, |
||||
|
"doctrine/orm": { |
||||
|
"version": "2.8.2" |
||||
|
}, |
||||
|
"doctrine/persistence": { |
||||
|
"version": "2.1.0" |
||||
|
}, |
||||
|
"doctrine/sql-formatter": { |
||||
|
"version": "1.1.1" |
||||
|
}, |
||||
|
"egulias/email-validator": { |
||||
|
"version": "3.1.0" |
||||
|
}, |
||||
|
"friendsofphp/proxy-manager-lts": { |
||||
|
"version": "v1.0.3" |
||||
|
}, |
||||
|
"laminas/laminas-code": { |
||||
|
"version": "4.0.0" |
||||
|
}, |
||||
|
"laminas/laminas-eventmanager": { |
||||
|
"version": "3.3.1" |
||||
|
}, |
||||
|
"laminas/laminas-zendframework-bridge": { |
||||
|
"version": "1.2.0" |
||||
|
}, |
||||
|
"monolog/monolog": { |
||||
|
"version": "2.2.0" |
||||
|
}, |
||||
|
"nikic/php-parser": { |
||||
|
"version": "v4.10.4" |
||||
|
}, |
||||
|
"phpdocumentor/reflection-common": { |
||||
|
"version": "2.2.0" |
||||
|
}, |
||||
|
"phpdocumentor/reflection-docblock": { |
||||
|
"version": "5.2.2" |
||||
|
}, |
||||
|
"phpdocumentor/type-resolver": { |
||||
|
"version": "1.4.0" |
||||
|
}, |
||||
|
"psr/cache": { |
||||
|
"version": "1.0.1" |
||||
|
}, |
||||
|
"psr/container": { |
||||
|
"version": "1.1.1" |
||||
|
}, |
||||
|
"psr/event-dispatcher": { |
||||
|
"version": "1.0.0" |
||||
|
}, |
||||
|
"psr/link": { |
||||
|
"version": "1.0.0" |
||||
|
}, |
||||
|
"psr/log": { |
||||
|
"version": "1.1.3" |
||||
|
}, |
||||
|
"sensio/framework-extra-bundle": { |
||||
|
"version": "5.2", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "5.2", |
||||
|
"ref": "fb7e19da7f013d0d422fa9bce16f5c510e27609b" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/sensio_framework_extra.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/asset": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/browser-kit": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/cache": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/cache-contracts": { |
||||
|
"version": "v2.2.0" |
||||
|
}, |
||||
|
"symfony/config": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/console": { |
||||
|
"version": "5.1", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "5.1", |
||||
|
"ref": "c6d02bdfba9da13c22157520e32a602dbee8a75c" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"bin/console" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/css-selector": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/debug-bundle": { |
||||
|
"version": "4.1", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "4.1", |
||||
|
"ref": "f8863cbad2f2e58c4b65fa1eac892ab189971bea" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/dev/debug.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/debug-pack": { |
||||
|
"version": "v1.0.9" |
||||
|
}, |
||||
|
"symfony/dependency-injection": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/deprecation-contracts": { |
||||
|
"version": "v2.2.0" |
||||
|
}, |
||||
|
"symfony/doctrine-bridge": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/dom-crawler": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/dotenv": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/error-handler": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/event-dispatcher": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/event-dispatcher-contracts": { |
||||
|
"version": "v2.2.0" |
||||
|
}, |
||||
|
"symfony/expression-language": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/filesystem": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/finder": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/flex": { |
||||
|
"version": "1.0", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "1.0", |
||||
|
"ref": "c0eeb50665f0f77226616b6038a9b06c03752d8e" |
||||
|
}, |
||||
|
"files": [ |
||||
|
".env" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/form": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/framework-bundle": { |
||||
|
"version": "5.2", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "5.2", |
||||
|
"ref": "6ec87563dcc85cd0c48856dcfbfc29610506d250" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/cache.yaml", |
||||
|
"config/packages/framework.yaml", |
||||
|
"config/packages/test/framework.yaml", |
||||
|
"config/preload.php", |
||||
|
"config/routes/dev/framework.yaml", |
||||
|
"config/services.yaml", |
||||
|
"public/index.php", |
||||
|
"src/Controller/.gitignore", |
||||
|
"src/Kernel.php" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/http-client": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/http-client-contracts": { |
||||
|
"version": "v2.3.1" |
||||
|
}, |
||||
|
"symfony/http-foundation": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/http-kernel": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/intl": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/mailer": { |
||||
|
"version": "4.3", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "4.3", |
||||
|
"ref": "15658c2a0176cda2e7dba66276a2030b52bd81b2" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/mailer.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/maker-bundle": { |
||||
|
"version": "1.0", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "1.0", |
||||
|
"ref": "fadbfe33303a76e25cb63401050439aa9b1a9c7f" |
||||
|
} |
||||
|
}, |
||||
|
"symfony/mime": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/monolog-bridge": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/monolog-bundle": { |
||||
|
"version": "3.3", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "3.3", |
||||
|
"ref": "d7249f7d560f6736115eee1851d02a65826f0a56" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/dev/monolog.yaml", |
||||
|
"config/packages/prod/deprecations.yaml", |
||||
|
"config/packages/prod/monolog.yaml", |
||||
|
"config/packages/test/monolog.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/notifier": { |
||||
|
"version": "5.0", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "5.0", |
||||
|
"ref": "c31585e252b32fe0e1f30b1f256af553f4a06eb9" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/notifier.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/options-resolver": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/orm-pack": { |
||||
|
"version": "v2.1.0" |
||||
|
}, |
||||
|
"symfony/phpunit-bridge": { |
||||
|
"version": "5.1", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "5.1", |
||||
|
"ref": "bf16921ef8309a81d9f046e9b6369c46bcbd031f" |
||||
|
}, |
||||
|
"files": [ |
||||
|
".env.test", |
||||
|
"bin/phpunit", |
||||
|
"phpunit.xml.dist", |
||||
|
"tests/bootstrap.php" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/polyfill-intl-grapheme": { |
||||
|
"version": "v1.22.1" |
||||
|
}, |
||||
|
"symfony/polyfill-intl-icu": { |
||||
|
"version": "v1.22.1" |
||||
|
}, |
||||
|
"symfony/polyfill-intl-idn": { |
||||
|
"version": "v1.22.1" |
||||
|
}, |
||||
|
"symfony/polyfill-intl-normalizer": { |
||||
|
"version": "v1.22.1" |
||||
|
}, |
||||
|
"symfony/polyfill-mbstring": { |
||||
|
"version": "v1.22.1" |
||||
|
}, |
||||
|
"symfony/polyfill-php73": { |
||||
|
"version": "v1.22.1" |
||||
|
}, |
||||
|
"symfony/polyfill-php80": { |
||||
|
"version": "v1.22.1" |
||||
|
}, |
||||
|
"symfony/process": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/profiler-pack": { |
||||
|
"version": "v1.0.5" |
||||
|
}, |
||||
|
"symfony/property-access": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/property-info": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/proxy-manager-bridge": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/routing": { |
||||
|
"version": "5.1", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "5.1", |
||||
|
"ref": "b4f3e7c95e38b606eef467e8a42a8408fc460c43" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/prod/routing.yaml", |
||||
|
"config/packages/routing.yaml", |
||||
|
"config/routes.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/security-bundle": { |
||||
|
"version": "5.1", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "5.1", |
||||
|
"ref": "0a4bae19389d3b9cba1ca0102e3b2bccea724603" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/security.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/security-core": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/security-csrf": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/security-guard": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/security-http": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/serializer": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/serializer-pack": { |
||||
|
"version": "v1.0.4" |
||||
|
}, |
||||
|
"symfony/service-contracts": { |
||||
|
"version": "v2.2.0" |
||||
|
}, |
||||
|
"symfony/stopwatch": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/string": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/test-pack": { |
||||
|
"version": "v1.0.7" |
||||
|
}, |
||||
|
"symfony/translation": { |
||||
|
"version": "3.3", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "3.3", |
||||
|
"ref": "2ad9d2545bce8ca1a863e50e92141f0b9d87ffcd" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/translation.yaml", |
||||
|
"translations/.gitignore" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/translation-contracts": { |
||||
|
"version": "v2.3.0" |
||||
|
}, |
||||
|
"symfony/twig-bridge": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/twig-bundle": { |
||||
|
"version": "5.0", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "5.0", |
||||
|
"ref": "fab9149bbaa4d5eca054ed93f9e1b66cc500895d" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/test/twig.yaml", |
||||
|
"config/packages/twig.yaml", |
||||
|
"templates/base.html.twig" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/twig-pack": { |
||||
|
"version": "v1.0.1" |
||||
|
}, |
||||
|
"symfony/validator": { |
||||
|
"version": "4.3", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "4.3", |
||||
|
"ref": "d902da3e4952f18d3bf05aab29512eb61cabd869" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/test/validator.yaml", |
||||
|
"config/packages/validator.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/var-dumper": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/var-exporter": { |
||||
|
"version": "v5.2.4" |
||||
|
}, |
||||
|
"symfony/web-link": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"symfony/web-profiler-bundle": { |
||||
|
"version": "3.3", |
||||
|
"recipe": { |
||||
|
"repo": "github.com/symfony/recipes", |
||||
|
"branch": "master", |
||||
|
"version": "3.3", |
||||
|
"ref": "6bdfa1a95f6b2e677ab985cd1af2eae35d62e0f6" |
||||
|
}, |
||||
|
"files": [ |
||||
|
"config/packages/dev/web_profiler.yaml", |
||||
|
"config/packages/test/web_profiler.yaml", |
||||
|
"config/routes/dev/web_profiler.yaml" |
||||
|
] |
||||
|
}, |
||||
|
"symfony/yaml": { |
||||
|
"version": "v5.2.5" |
||||
|
}, |
||||
|
"twig/extra-bundle": { |
||||
|
"version": "v3.3.0" |
||||
|
}, |
||||
|
"twig/twig": { |
||||
|
"version": "v3.3.0" |
||||
|
}, |
||||
|
"webmozart/assert": { |
||||
|
"version": "1.10.0" |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<title>{% block title %}Welcome!{% endblock %}</title> |
||||
|
{# Run `composer require symfony/webpack-encore-bundle` |
||||
|
and uncomment the following Encore helpers to start using Symfony UX #} |
||||
|
{% block stylesheets %} |
||||
|
{#{{ encore_entry_link_tags('app') }}#} |
||||
|
{% endblock %} |
||||
|
|
||||
|
{% block javascripts %} |
||||
|
{#{{ encore_entry_script_tags('app') }}#} |
||||
|
{% endblock %} |
||||
|
</head> |
||||
|
<body> |
||||
|
{% block body %}{% endblock %} |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,11 @@ |
|||||
|
<?php |
||||
|
|
||||
|
use Symfony\Component\Dotenv\Dotenv; |
||||
|
|
||||
|
require dirname(__DIR__).'/vendor/autoload.php'; |
||||
|
|
||||
|
if (file_exists(dirname(__DIR__).'/config/bootstrap.php')) { |
||||
|
require dirname(__DIR__).'/config/bootstrap.php'; |
||||
|
} elseif (method_exists(Dotenv::class, 'bootEnv')) { |
||||
|
(new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); |
||||
|
} |
Loading…
Reference in new issue