
Evgeniy
03.05.2017
19:09:41
с панораными окнами и все такие с ноутбуками

?Томат?
03.05.2017
19:09:58
А сюда с глупыми вопросами можно?

Evgeniy
03.05.2017
19:10:00
но пользы проекты 0 пока ты не пишешь код, код сам себя не напишет!

?Томат?
03.05.2017
19:10:05
Вечер добрый, да.

Google

Evgeniy
03.05.2017
19:10:15

?Томат?
03.05.2017
19:10:23
Есть сайт, на котором страницы отличаются только содержимым <div class="container">, есть сервер на PHP и шаблоны страниц на twig. Как бы так сделать, чтобы для каждой страницы не создавать файл.php?

Evgeniy
03.05.2017
19:10:23
поможем чем можем
<div class="container">{{container}}</div>
в twig
и передавай разное содержимое из бд например

?Томат?
03.05.2017
19:13:22
Чтоб я такой пишу в браузер domain_name/info - а он мне такой выдает страничку с <div class="container">{% include('page_info.twig') %}</div>`. Чтобы include зависел от запрашиваемой страницы. И чтоб в конфиге сервера не редиректить всё на index.php

Evgeniy
03.05.2017
19:14:10
ну запрос с Info по хорошему в nginx должен пересылаться на один фаил

?Томат?
03.05.2017
19:14:22
Хотя без редиректа - странно, да.

Evgeniy
03.05.2017
19:14:24
который умными словами называется единая точка входа
там есть роутинг
где для маршрута Info есть контроллер

Evgeny
03.05.2017
19:14:51
Может у тебя apache?

Google

Evgeniy
03.05.2017
19:15:03
в контроллере берутся данные из бд например и берется нужный twig шаблон

?Томат?
03.05.2017
19:15:17

Evgeniy
03.05.2017
19:15:20
и в качестве переменной передаются данные в шаблон
ну так делают обычно
разницы нет nginx или apache оба настрайваются

Evgeny
03.05.2017
19:15:55
по разному

Evgeniy
03.05.2017
19:16:00
так обычно сайты делают может у вас какая другая ситуация

?Томат?
03.05.2017
19:16:29
У меня ситуация в дедлайне послезавтра :)

Evgeniy
03.05.2017
19:16:44
ну молодец ты его сам допустил)
мы тут не причем

?Томат?
03.05.2017
19:17:44
Дык к вам какие претензии) А одним большим контроллером всё рулить - плохо?

Evgeniy
03.05.2017
19:18:35
ну допустим есть у тебя один большой контроллер
запрос на site.ru/info и site/news должны пересылаться на обработку в один фаил
например index.php
здесь подключается composer
берется роутинг приложения
и либо для нескольких маршрутов одинаковый контроллер используется и параметром передается что запросили
но так обычно не делают
на основе роутинга определяется контроллер у которого есть request и параметры роутинга
например Info

Google

?Томат?
03.05.2017
19:21:10
Сайт на 99% состоит из статического текста, если что, особой обработки не требуется.

Evgeniy
03.05.2017
19:21:32
контролле из бд выдергивает запись где ключ Info (не будем в давать будет это doctrine или ar или тупо пдо или свой велосипед)
получив содержимое в поле типо контент лежит содержимое
ну или можно без бд а использовать какие то отдельные файлики (но так не делают обычно)
получив контент
вызывается twig и там стандартный шаблон где то что я написал
и в качестве переменной отдается туда содерджимое ['container' => $content]
и он отрисовывает
далее контроллер созадет responce с тем что отрисовал twig в качестве боди и отдает клиенту
так работает 99% фреймворков
ну еще есть всякие ddd, cors и тд которые чуть видо изменяют эту схему

?Томат?
03.05.2017
19:25:02
А если, допустим, запрашиваю я такой domain_name/info, а мне то, что после слеша передается как переменная в index.php, где вызывается echo $twig->render('index.twig',[ 'page' => $page]);, а в index.twig у нас <div class="container">{% include('page_' .$page.'.twig') %}</div>

Evgeniy
03.05.2017
19:25:45
можно и так но нафига тебе тогда twig ?
можно еще проще через наследование сделать
в twig например

?Томат?
03.05.2017
19:26:28

Evgeniy
03.05.2017
19:26:30
типо Info.twig
{% extends base.twig %}
и переопределить блок контент

?Томат?
03.05.2017
19:27:07
Я думал об этом. А вызывать-то как?

Google

Evgeniy
03.05.2017
19:27:14
https://twig.sensiolabs.org/doc/2.x/tags/extends.html
вызываешь сразу нужный шаблон
info.twig например
ссылку посмотри

?Томат?
03.05.2017
19:28:02
где info - параметр, переданный нам магией в index.php?
Да я уже активно использую extends

Evgeniy
03.05.2017
19:28:24
маршрут передается вебсервером nginx, apache без разницы
на основе маршрута роутинг определяет какие параметры
у тебяя какой fw ?
framework

Admin
ERROR: S client not available

?Томат?
03.05.2017
19:29:15
PHP 7.0
Vanilla Edition

Evgeniy
03.05.2017
19:29:27
ахуенный framework
тогда юзай $_SERVER

?Томат?
03.05.2017
19:29:51

Evgeniy
03.05.2017
19:29:58
http://php.net/manual/ru/reserved.variables.server.php

?Томат?
03.05.2017
19:30:23
Ага, тож активно пользую для отлова запросов)

Evgeniy
03.05.2017
19:30:36
'QUERY_STRING'

?Томат?
03.05.2017
19:30:50
Только там я параметры ловлю.

Google

Evgeniy
03.05.2017
19:30:53
при site.ru/info там вроде будет лежать info
точно не помню давно юзаю psr request
берешь этот параметр проверяешь есть ли фаил
в директории где лежат шаблоны
и отдаешь его в twig

?Томат?
03.05.2017
19:31:56

Evgeniy
03.05.2017
19:32:15
ну если использовать composer то да изи
но я так понимаю ты еще году в 2008 застрял

?Томат?
03.05.2017
19:32:39
Ну я композером твиг ставил, было дело.

Evgeniy
03.05.2017
19:32:46
зато сколько тебя ждет чудных открытий

?Томат?
03.05.2017
19:32:53
Я застрял в начале обучения)

Evgeniy
03.05.2017
19:33:10
посмотри микро фреймворк
в тех годах я юзал silex например

?Томат?
03.05.2017
19:33:24
Slim?

Evgeniy
03.05.2017
19:33:26
сейчас есть всякие lumen
slim Тоже хороший вариант
второй
или какой там сейчас новый

?Томат?
03.05.2017
19:34:18
Я тут на CodeIgniter 3 вообще поглядывал...

Evgeniy
03.05.2017
19:34:26
не смотри туда
это труп (
как и kohana

?Томат?
03.05.2017
19:34:37
Третий же свежий