Приветствую! Делаю сайт по MVC, на котором используется шаблоны, которые состоят из контента и выводятся как страницы в основной странице сайта. Основная страница оформлена как полноценная веб-страница и имеет теги <html>, <title>, <meta>, <body> и т.д.. Внутри этой страницы инклудом или Ajax'ом тянутся и выводятся другие страницы: страница с меню, страница футера, и другие страницы, которые выводятся как блоки на основной странице. Каждую такую страничку можно открыть за пределами основной страницы, без всех тегов <html>, <title>, <meta>, <body> и т.д. и поэтому я хочу спросить: нужно ли блокировать вывод таких недостраниц отдельно? Если нужно, то каким способом?
Есть контроллер и для него есть view с шаблономи страниц, для этого контроллера. Можно не создавать файл с шаблоном.html, а просто в контроллере написать эту страницу и она будет выводиться. Например, пишу в контроллере страничку: Код (Text): public function qrcode_goods() { echo '<div class=""> <p>Куриный код для товара</p> </div>'; } После этого, готова страница https://mysite.ru/qrcode_goods.html И эта страница открывается и внутри основной страницы и самостоятельно. Применяется фреймворк ThinkPHP6, похож на Laravel. На Laravel вот тоже можно открыть такую страничку самостоятельно или нет? Если нет, то как в Laravel это организовано?
не знаю как там.. но думаю тоже адекватно настроить можно имхо все дело в роутах и нужно смотреть и понимать - как собирается страница во вьюхах... шаблонизатор какой-то?
Шаблоны убираются из корня или на крайняк к ним блокируется прямой доступ. В корне оставляете только статик обвес и в крайнем случае фронт.
route.php выглядит так: PHP: // +---------------------------------------------------------------------- // | Настройки маршрутизации // +---------------------------------------------------------------------- return [ // pathinfo Сепаратист 'pathinfo_depr' => '/', // URL -псевдо -статический суффикс 'url_html_suffix' => 'html', // URL -обычные параметры метода используются для автоматического генерации 'url_common_param' => true, // Открыть ли анализ задержки маршрутизации 'url_lazy_route' => false, // использовать ли маршрутизацию 'url_route_must' => false, // слияние правил маршрутизации 'route_rule_merge' => false, // полностью ли соответствует маршрутизации 'route_complete_match' => false, // посетите имя слоя контроллера 'controller_layer' => 'controller', // Имя воздушного контроллера 'empty_controller' => 'Error', // использовать суффикс контроллера 'controller_suffix' => false, // правила переменной маршрутизации по умолчанию 'default_route_pattern' => '[\w\.]+', // Должно ли включить кэш запроса true поддержка автоматического кэширования, чтобы установить правило кэша запроса 'request_cache' => false, // Запрос с периодом достоверности кэширования 'request_cache_expire' => null, // Глобальные правила исключения кэша запросов 'request_cache_except' => [], // Имя контроллера по умолчанию 'default_controller' => 'Index', // Имя операции по умолчанию 'default_action' => 'index', // Суффикс метода работы 'action_suffix' => '', // метод обработки, возвращаемый форматом JSONP по умолчанию 'default_jsonp_handler' => 'jsonpReturn', // метод обработки JSONP по умолчанию 'var_jsonp_handler' => 'callback', ]; Перевод комментариев с китайского, машинный.
На Ларке - указываешь в роуте например: PHP: Route::get('about', [PageController::class, 'index']) в контролере PageController в методе index например PHP: return view('about', [тут можно передать переменные]); а во вьюхе about.blade.php пишем наш контент, но блейд поддерживает слои, наследования и прочее .. потому можно указать как вьюху - родителя, куда будет данный контент вставляться, секции и прочее полезности самостоятельно вязть и открыть саму вьюху - например site/...about.blade.php нельзя, так как шаблоны вообще за корнем сайта находятся --- Добавлено --- посмотрите просто документацию к своему фреймфорку ... как правильно все делать
Как тогда открываются шаблоны напрямую? Фреймворк делает то, что его не просили? Может, он роутинг делает по наличию файлов – это какая-то отсталость. Похоже на движки «на файлах».