Генерация бандла в Symfony
Для автоматической генерации бандла нужно выполнить в консоли:
для копипастеров:
php bin/console generate:bundle
для тех кто пишет ручками есть короткий вариант:
php bin/console gen:bun
Welcome to the Symfony bundle generator!
Are you planning on sharing this bundle across multiple applications? [no]:
если хотите что бы бандл был доступен для использования в других приложениях отвечаем yes
Your application code must be written in bundles. This command helps
you generate them easily.
Each bundle is hosted under a namespace (like Acme/BlogBundle).
The namespace should begin with a "vendor" name like your company name, your
project name, or your client name, followed by one or more optional category
sub-namespaces, and it should end with the bundle name itself
(which must have Bundle as a suffix).
See http://symfony.com/doc/current/cookbook/bundles/be... for more
details on bundle naming conventions.
Use / instead of \ for the namespace delimiter to avoid any problem.
Bundle namespace:
дальше рекомендации о том какое имя дать бандлу, используя подпространство имён, например Страна/Город, Производитель/Бренд или Марка/Модель...
а так же напоминание об использовании обычного слэша "/" (косой черты, ASCII #47)
Если пишет The namespace must end with Bundle. то название должно заканчиваться на Bundle -> "Страна/ГородBundle"
Bundle namespace: Welcome/MessageBundle
In your code, a bundle is often referenced by its name. It can be the
concatenation of all namespace parts but it's really up to you to come
up with a unique name (a good practice is to start with the vendor name).
Based on the namespace, we suggest WelcomeMessageBundle.
по умолчанию имя бандла для Welcome/MessageBundle предлагает WelcomeMessageBundle, но можно и своё, например:
Bundle name [WelcomeMessageBundle]: HelloWorldBundle
Bundles are usually generated into the src/ directory. Unless you're
doing something custom, hit enter to keep this default!
Target Directory [src/]:
если хотим сохранить бандл в каталоге в отличном от "src" то можем указать другой...
What format do you want to use for your generated configuration?
Configuration format (annotation, yml, xml, php) [xml]:
теперь нужно выбрать каким форматом конфигурационных файлов будем пользоваться (по умолчанию xml)
я выберу annotation
Configuration format (annotation, yml, xml, php) [xml]: annotation
Bundle generation
> Generating a sample bundle skeleton into B:\veras.by\symfony-blog\app/../src/Welcome/MessageBundle
created .\app/../src/Welcome/MessageBundle/
created .\app/../src/Welcome/MessageBundle/HelloWorldBundle.php
created .\app/../src/Welcome/MessageBundle/DependencyInjection/
created .\app/../src/Welcome/MessageBundle/DependencyInjection/HelloWorldExtension.php
created .\app/../src/Welcome/MessageBundle/DependencyInjection/Configuration.php
created .\app/../src/Welcome/MessageBundle/Controller/
created .\app/../src/Welcome/MessageBundle/Controller/DefaultController.php
created .\app/../src/Welcome/MessageBundle/Tests/Controller/
created .\app/../src/Welcome/MessageBundle/Tests/Controller/DefaultControllerTest.php
created .\app/../src/Welcome/MessageBundle/Resources/views/Default/
created .\app/../src/Welcome/MessageBundle/Resources/views/Default/index.html.twig
created .\app/../src/Welcome/MessageBundle/Resources/config/
created .\app/../src/Welcome/MessageBundle/Resources/config/services.yml
> Checking that the bundle is autoloaded
> Enabling the bundle inside B:\veras.by\symfony-blog\app\AppKernel.php
updated .\app\AppKernel.php
> Importing the bundle's routes from the B:\veras.by\symfony-blog\app\config\routing.yml file
updated .\app/config/routing.yml
Everything is OK! Now get to work :).
генерация прошла успешно :)
в ..\app\config\routing.yml указан машрут запуска приложения:
hello_world: resource: "@HelloWorldBundle/Controller/" type: annotation prefix: /
"prefix: /" - адрес запуска приложения ("/" - так сказать корневая папка)
правим до нужного расположения, например "prefix: /world/hi"
если чуть-чуть подправить src/Welcome/MessageBundle/Resources/views/Default/index.html.twig
и запустить в консоли php bin/console server:run
[OK] Server running on http://127.0.0.1:8000
// Quit the server with CONTROL-C.
и теперь в барузере по адресу http://localhost:8000/world/hi можно порадоваться запущенному приложению =)
просмотров: 2048