Задать вопрос
@zalatov_a

Зачем в Yupe (Yii) нужен index-test.php?

Зачем нужен index-test.php, который фактически является копией index.php за исключением файла конфига?
Возможно я не понимаю принципа такого разделения, но...

Как по мне, так я бы index-test.php сделал только входной точкой, например, для установки куки и запуска index.php.

Например, так:
// -- Устанавливаем куки, чтобы определять, что сейчас мы в режиме тестирования
$_COOKIE['CODECEPTION_COOKIE'] = 1;
setcookie('CODECEPTION_COOKIE', 1);
// -- -- -- --

require_once('index.php');// Подключаем основной файл


И в index.php я уже разрулю, какой конфиг подключать:
// -- Подключаем разные конфиги в зависимости от того, тест это или рабочая версия сайта
if (array_key_exists('CODECEPTION_COOKIE', $_COOKIE)) {
    $configFile = 'test';
} else {
    $configFile = 'main';
}
// -- -- -- --


Ведь, по сути, нам надо тестировать сайт с теми же настройками, с которыми он будет на продакшене.
И ввиду этого должен как раз подключаться index.php, ведь там указаны ещё и параметры настройки сервера, например:
if (!ini_get('date.timezone')) {...}
mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');


К тому же, при работе через index-test.php в URL в начало добавляется /index-test.php/.
А из-за этого при тестах не удаётся найти ссылку вида href="/logout", так как она содержит название скрипта (включён showScriptName).

В-общем, подытожу вопрос...
Есть ли какой-то объективный смысл дублировать код?
Или же это просто из ряда "ну так повелось..."?
  • Вопрос задан
  • 3178 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
gorcer
@gorcer
Я считаю что логика продублирована в index-test.php для того чтобы программисты НЕ занимающиеся тестами не путались в логике сделанной для тестов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы