Единая точка входа index.php

Sarkerdo

ETO FIASKO
Регистрация
3 Янв 2016
Сообщения
177
Реакции
105
Подскажите, как сделать единую точку входа через index.php
Логика, к примеру пользователь делает запрос к странице site.ru/register
идет запрос к файлу index.php и оттуда путем роутинга открывается эта страница

К примеру
в htaccess
Код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
Далее в индексе мы прописываем роутинг
Как правильно это сделать?
Код:
if($class) {
route(array(
''    => 'global/index/',
)
}
 
правильней будет потратить время на изучение кода yii2. Он простой как веник.
Может быть и отпадет желание придумывать собственный роутинг.

Роутинг конечно же не в точке входа (index.php) нужно делать, а в url-менеджере, который будет считывать конфигурацию роутов и перенаправлять запрос дальше в контроллеры
Для просмотра ссылки Войди или Зарегистрируйся
 
Для понимания работы советую вот это
Для просмотра ссылки Войди или Зарегистрируйся

А как понимание будет - по совету выше :).
 
Не стоит писать все с нуля - можно просто поискать по гитхабу и найти готовый, быстрый и оттестированный роутер
Для просмотра ссылки Войди или Зарегистрируйся
Используется в микрофреймворке Slim
 
В общем сделал так, как в этой статье
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Но есть проблема, помогите чуть доработать
в папке views создал к примеру index.php
в нем создаю
Код:
<?php
include 'config.php';
?>
<!DOCTYPE html>
и тд... код
Но php не отрабатывает,и показывает исходный код в браузере
и код закоментирован, и не работает
хотя в файле ничего закоментированного нет!
Код:
<!--<?php
include 'config.php';
?>-->
<!DOCTYPE html>
и тд... код
вот скрин
 

Вложения

  • Безымянный.png
    Безымянный.png
    6,6 KB · Просмотры: 3
Инклюдить конфиг во вьюшке - это не правильно. Конфиги во входном файле подключай.
Для проверки, что во вьюшках работает php, используй код, который что-то выводит на экран!
PHP:
<?php
echo 'PHP работает';
?>
 
Последнее редактирование:
Инклюдить конфиг во вьюшке - это не правильно. Конфиги во входном файле подключай.
Для проверки, что во вьюшках работает php, используй код, который что-то выводит на экран!
PHP:
<?php
echo 'PHP работает';
?>
К сожалению и так не работает во вьюшке
Как подключить к этой вьюшке файл, в котором будет все подключено?
имеется ввиду код в
<?php
?>
 

Вложения

  • Безымянный.png
    Безымянный.png
    6,5 KB · Просмотры: 7
Последнее редактирование модератором:
Глянул статьи - там ограничение. В файле core/view/viewLoader.php вьюшки грузятся через file_get_contents соответственно ни о каком выполнение кода во view теперь речь не идёт.
Можно попробовать заменить return file_get_contents на include
и в другом файле core/view/view.php в этой строке
PHP:
echo $this->viewLoader->load($viewName);
удалить echo.

Вроде это логику не должно сломать, а в перспективе это вообще через ob_ делают, перехватывая вывод.
 
В общем сделал так, как в этой статье
Код:
<?php
include 'config.php';
?>
<!DOCTYPE html>
и тд... код

Кроме прочего
В php-темплейтах страниц никогда не ставь ничего ПЕРЕД доктайп. Один лишний пробел или коммент в config.php перед или после <??> или echo, и доктайп станет "бездомным" а документ невалидным
 
Глянул статьи - там ограничение. В файле core/view/viewLoader.php вьюшки грузятся через file_get_contents соответственно ни о каком выполнение кода во view теперь речь не идёт.
Можно попробовать заменить return file_get_contents на include
и в другом файле core/view/view.php в этой строке
PHP:
echo $this->viewLoader->load($viewName);
удалить echo.

Вроде это логику не должно сломать, а в перспективе это вообще через ob_ делают, перехватывая вывод.

Можете еще помочь, вот если return file_get_contents оставить, и во вьюшке пытаюсь сделать к примеру вывод фразы языка <?=$Lang['title']; ?>
то в коде он выводит именно этот код <?=$Lang['title']; ?>
как сделать чтоб выводилось то что нужно?
так тоже не работает {{ $Lang['description'] }}
Заранее огромное спасибо
 
Назад
Сверху