za4me
@za4me
Человек

Отображение переменной в одном файле, но отключение в другом?

Столкнулся с небольшим вопросом. Как имея два файла (2й подключен к 1му), во втором вывести на экран переменную, а в первом нет.

Пример: 1й файл
include 'fail2.php';

#code........


2й файл

$text = "123123123";
	echo $text;


Переменная text будет отображаться и в 1м и во 2м. Пробовал в 1й написать unset ($text);, но не помогло.

Спасибо.
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
valerium
@valerium
Изобретая велосипед
Объявите в первом файле переменную или константу. Из второго файла проверьте, объявлена ли эта переменная или константа. В зависимости от этого, выводите или не выводите текст. Можно ничего специально не объявлять, а проверить существование функции/переменной/константы, гарантированно имеющейся в первом файле.

Примерно так модули движков убеждаются, что они именно включены движком, а не запущены как отдельный скрипт.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
bigton
@bigton
Web-программист
if ($_SERVER['SCRIPT_NAME'] == '/fail2.php')
    echo $text;
Ответ написан
Adamos
@Adamos
Как это верно - хранить подобный код в файлах с названием fail!
Простое правило: если код исполняется несколько раз из разных мест, поместите его в функцию и вызывайте ее, когда надо и как надо. Если функций несколько и они работают с некоей общей логикой - соберите их в класс.
Код, собранный в функции и классы, выньте из тех скриптов, к которым непосредственно обращается пользователь, и вынесите в отдельные папки, закрыв к ним доступ извне - просто за ненадобностью.
Это просто, правда.
Зато при подключении файлов подобных вопросов просто никогда не будет возникать.
Ответ написан
Ваш ответ на вопрос

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

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