mirror of
https://github.com/symfony/recipes.git
synced 2026-09-17 18:16:34 +03:00
289 lines
14 KiB
JSON
289 lines
14 KiB
JSON
{
|
|
"manifests": {
|
|
"symfony/framework-bundle": {
|
|
"manifest": {
|
|
"bundles": {
|
|
"Symfony\\Bundle\\FrameworkBundle\\FrameworkBundle": [
|
|
"all"
|
|
]
|
|
},
|
|
"copy-from-recipe": {
|
|
"config/": "%CONFIG_DIR%/",
|
|
"public/": "%PUBLIC_DIR%/",
|
|
"src/": "%SRC_DIR%/"
|
|
},
|
|
"composer-scripts": {
|
|
"cache:clear": "symfony-cmd",
|
|
"assets:install %PUBLIC_DIR%": "symfony-cmd"
|
|
},
|
|
"env": {
|
|
"APP_ENV": "dev",
|
|
"APP_SECRET": "%generate(secret)%",
|
|
"#TRUSTED_PROXIES": "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16",
|
|
"#TRUSTED_HOSTS": "'^(localhost|example\\.com)$'"
|
|
},
|
|
"gitignore": [
|
|
"/.env.local",
|
|
"/.env.local.php",
|
|
"/.env.*.local",
|
|
"/%CONFIG_DIR%/secrets/prod/prod.decrypt.private.php",
|
|
"/%PUBLIC_DIR%/bundles/",
|
|
"/%VAR_DIR%/",
|
|
"/vendor/"
|
|
],
|
|
"post-install-output": [
|
|
"<bg=blue;fg=white> </>",
|
|
"<bg=blue;fg=white> What's next? </>",
|
|
"<bg=blue;fg=white> </>",
|
|
"",
|
|
" * <fg=blue>Run</> your application:",
|
|
" 1. Go to the project directory",
|
|
" 2. Create your code repository with the <comment>git init</comment> command",
|
|
" 3. Download the Symfony CLI at <comment>https://symfony.com/download</> to install a development web server",
|
|
"",
|
|
" * <fg=blue>Read</> the documentation at <comment>https://symfony.com/doc</>"
|
|
]
|
|
},
|
|
"files": {
|
|
"config/packages/cache.yaml": {
|
|
"contents": [
|
|
"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",
|
|
""
|
|
],
|
|
"executable": false
|
|
},
|
|
"config/packages/framework.yaml": {
|
|
"contents": [
|
|
"framework:",
|
|
" #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",
|
|
""
|
|
],
|
|
"executable": false
|
|
},
|
|
"config/packages/test/framework.yaml": {
|
|
"contents": [
|
|
"framework:",
|
|
" test: true",
|
|
" session:",
|
|
" storage_id: session.storage.mock_file",
|
|
""
|
|
],
|
|
"executable": false
|
|
},
|
|
"config/routes.php": {
|
|
"contents": [
|
|
"<?php",
|
|
"",
|
|
"use App\\Kernel;",
|
|
"use Symfony\\Bundle\\FrameworkBundle\\Routing\\Loader\\Configurator\\RoutingConfigurator;",
|
|
"",
|
|
"return static function (RoutingConfigurator $routes, Kernel $kernel): void {",
|
|
"",
|
|
"// $routes->add('index', '/')",
|
|
"// ->controller([App\\Controller\\DefaultController::class, 'index'])",
|
|
"// ;",
|
|
"",
|
|
"};",
|
|
""
|
|
],
|
|
"executable": false
|
|
},
|
|
"config/routes/dev/framework.yaml": {
|
|
"contents": [
|
|
"_errors:",
|
|
" resource: '@FrameworkBundle/Resources/config/routing/errors.xml'",
|
|
" prefix: /_error",
|
|
""
|
|
],
|
|
"executable": false
|
|
},
|
|
"config/services.php": {
|
|
"contents": [
|
|
"<?php",
|
|
"",
|
|
"use App\\Kernel;",
|
|
"use Symfony\\Component\\DependencyInjection\\Loader\\Configurator as di;",
|
|
"",
|
|
"// This file is the entry point to configure your own services.",
|
|
"// Files in the packages/ subdirectory configure your dependencies.",
|
|
"",
|
|
"return static function (di\\ContainerConfigurator $container, Kernel $kernel): void {",
|
|
"",
|
|
" // Parameters are configuration that don't need to change depending on the machine where the app is deployed.",
|
|
" // see https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration",
|
|
" $container->parameters()",
|
|
" // ->set(...)",
|
|
" ;",
|
|
"",
|
|
" $services = $container->services()",
|
|
" ->defaults()",
|
|
" ->autowire()",
|
|
" ->autoconfigure()",
|
|
" ;",
|
|
"",
|
|
" // Makes classes in src/ available to be used as services",
|
|
" $src = dirname(__DIR__).'/src';",
|
|
" $services",
|
|
" ->load('App\\\\', $src)",
|
|
" ->exclude([",
|
|
" $src.'/DependencyInjection',",
|
|
" $src.'/Entity',",
|
|
" $src.'/Migrations',",
|
|
" $src.'/Tests',",
|
|
" $src.'/Kernel.php',",
|
|
" ])",
|
|
" ;",
|
|
"",
|
|
" // Controllers are imported separately to make sure services can be injected",
|
|
" // as action arguments even if you don't extend any base controller class",
|
|
" $services",
|
|
" ->load('App\\\\Controller\\\\', $src.'/Controller')",
|
|
" ->tag('controller.service_arguments')",
|
|
" ;",
|
|
"",
|
|
" // Add more service definitions when explicit configuration is needed.",
|
|
" // Please note that last definitions *replace* previous ones when using $services->set().",
|
|
" // It is possible to alter a previously declared definition by using $services->get() instead.",
|
|
" $services",
|
|
" // ->set(App\\MyService::class)",
|
|
" // ->args([di\\ref(App\\AnotherService::class)])",
|
|
" ;",
|
|
"",
|
|
" if ('test' === $kernel->getEnvironment()) {",
|
|
" // When a test case needs access to a service, getting it via",
|
|
" // a public alias with the \"test.\" prefix is recommended.",
|
|
" $services->public()",
|
|
" // ->alias('test.App\\MyService', App\\MyService::class)",
|
|
" ;",
|
|
" }",
|
|
"",
|
|
"};",
|
|
""
|
|
],
|
|
"executable": false
|
|
},
|
|
"public/index.php": {
|
|
"contents": [
|
|
"<?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();",
|
|
"}",
|
|
"",
|
|
"if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) {",
|
|
" Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST);",
|
|
"}",
|
|
"",
|
|
"if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) {",
|
|
" Request::setTrustedHosts([$trustedHosts]);",
|
|
"}",
|
|
"",
|
|
"$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);",
|
|
"$request = Request::createFromGlobals();",
|
|
"$response = $kernel->handle($request);",
|
|
"$response->send();",
|
|
"$kernel->terminate($request, $response);",
|
|
""
|
|
],
|
|
"executable": false
|
|
},
|
|
"src/Controller/.gitignore": {
|
|
"contents": [
|
|
""
|
|
],
|
|
"executable": false
|
|
},
|
|
"src/Kernel.php": {
|
|
"contents": [
|
|
"<?php",
|
|
"",
|
|
"namespace App;",
|
|
"",
|
|
"use Symfony\\Bundle\\FrameworkBundle\\Kernel\\MicroKernelTrait;",
|
|
"use Symfony\\Bundle\\FrameworkBundle\\Routing\\Loader\\Configurator\\RoutingConfigurator;",
|
|
"use Symfony\\Component\\DependencyInjection\\Loader\\Configurator\\ContainerConfigurator;",
|
|
"use Symfony\\Component\\HttpKernel\\Kernel as BaseKernel;",
|
|
"",
|
|
"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 (file_exists(\\dirname(__DIR__).'/config/services.yaml')) {",
|
|
" $container->import('../config/{services}.yaml');",
|
|
" $container->import('../config/{services}_'.$this->environment.'.yaml');",
|
|
" } else {",
|
|
" $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 (file_exists(\\dirname(__DIR__).'/config/routes.yaml')) {",
|
|
" $routes->import('../config/{routes}.yaml');",
|
|
" } else {",
|
|
" $path = \\dirname(__DIR__).'/config/routes.php';",
|
|
" (require $path)($routes->withPath($path), $this);",
|
|
" }",
|
|
" }",
|
|
"}",
|
|
""
|
|
],
|
|
"executable": false
|
|
}
|
|
},
|
|
"ref": "647552710bcf78736b92bf7a145eed9b972d0566"
|
|
}
|
|
}
|
|
}
|