Во-первых, я выложу эту ссылку here... прочитал записку в конце ответа первого
Сейчас. Я не знаю, знаете ли вы, что такое MVC, но в скором времени это структура, называемая Model-View-Controller, где пользователь сначала контактирует с контроллером, в symfony также называется Action, который выбирает подходящую функцию действия, geatheres Models (через обмениваясь информацией с базой данных и всей этой магией), а затем отправляет весь пакет в представление (в symfony, созданном в шаблоне Twig templating).
Структура файла производится следующим образом:
app //contains main server files
- cache //contains production and dev files, you won't pay much attention to this.
- config //This is where you find the routing.yml, paremeters.yml and other config files
- logs //git logs and other goodies
- Resources //This is where your views are found
bin //Doctrine and goodies, don't pay much attention here for now...
src //This is where the bundles (controllers) are found
- AppBundle //You should get this bundle by default
- Controller //This is where you put your controllers - they have to have a Controller.php sufix (UserController.php)
- Models, Enteties and other folders you want to put in //All custom folders
- YourCustomBundle (note that both are ending with Bundle)
web //This is where you put your css, js etc. files (in js/, css/... subfolders)
Теперь, если вы идете в HomeController
в src/AppBundle/Controller
. Там вы увидите функцию indexAction
. Это вызывает основную, индексную страницу.
Обратите внимание на пространство имен, использование и класс контроллера. Если вы создадите другое действие, например, myCustomAction(Request $request)
, вы создадите действие, готовое принять заказы. Но откуда? Перейти к app/config/routing.yml
, вы, вероятно, увидеть что-то вроде:
app:
resource: "@AppBundle/Controller/"
type: annotation
Выше добавить:
page:
path: "/"
defaults: { _controller: AppBundle:Home:myCustom }
//note that I first called the bundle (AppBundle, then the HomeController (without the
//Controller part), then the action (no Action part neither)
Теперь вы получили себе путь к действию! Теперь просто возвращает представление в контроллер (смотрите на indexAction), должно быть что-то вроде:
$this->render('home/mycustom.html.twig');
в функции myCustomAction. После этого создайте файл mycustom.html.twig
в папке app/Resources/views/home/
, и это ваш взгляд. Обратите внимание, что Twig имеет немного другой синтаксис, чем PHP.
примечание: Я настоятельно рекомендую вам ознакомиться с официальным сайтом Symfony. Это все стиль письма/DR (слишком длинный, не читаемый). Это объясняется намного лучше там с деталями в , почему вы что-то делаете. То, что я написал, может работать или не работать для вас, из-за скорости, в которой я объяснил концепцию! Также, если вы не знакомы с MVC, я предлагаю вам сначала изучить логику, прежде чем бросаться в Symfony.
Можете ли вы поставить снимок экрана о том, что отображается. Это другой сценарий, если вы видите «нормальный» Symfony «Великий, вы установили меня» индексный экран или какое-то пользовательское сообщение хоста. Я мог бы попытаться проинформировать вас о том, как все это делается после маршрутизации. – NemanjaT
@NemanjaT Я добавил скриншот, который вы просили, я надеюсь, что вы можете пройти меня через это – Simplicity