Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подключен ли данный файл? 
V
    Опции темы
Mayk
Дата 13.1.2006, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Можно ли определить - подключен ли данный файл в другой посредствои include'ов, или его имя было передано php?

Объясняю зачем это надо.
Есть классы foo, bar в отдельных файлах(которые возможно инклюдят друг друга).
Чтобы не мучаться с созданием новых файлов для тестирования foo, хочется записать набор тестов прямо в foo.php, но так, чтобы другие файлы (в частности bar.php) могли спокойно подключить foo.php не опасаясь начала массивных тестов класса foo.

То есть хочется такого примерно:
Код

//foo.php
<?php
class Foo{
  function ret1(){return 1;}
};
if(!included_from_other_file){ //<--вот сюда что-то надо
  $f = new Foo();
  assert($f->ret1() == 1);
  блаблабла 



В голову приходит использование глобалной переменной - счетчика обработанных файлов, которую руками проверяем и меняем в начале каждого .php файла, но может есть более элегантное и надежное решение?

ps.
Цитата

22:19 /var/www/pg$ <b>php --version</b>
PHP 4.3.10-10ubuntu4.1 (cli) (built: Aug 19 2005 17:58:15)
Copyright © 1997-2004 The PHP Group


pps. predefined variable PHP_SELF не подходит, так как имена файлов вещь не постоянная.
Добавлено @ 19:19
Читать доки по диагонали - плохая привычка.
Только что нашёл __FILE__ и $argv[0]


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 13.1.2006, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Вот в другом файле не узнаешь, но это и не нужно, т.к. ты и не увидишь приинклюденного файла, вроде...
Вот попробуй
get_included_files
get_required_files
Ну юзать через in_array
PM ICQ   Вверх
mr.fox
Дата 13.1.2006, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 13.3.2005
Где: Ирландия

Репутация: -1
Всего: 2



ну насколько я помню функиця require/include_once сама проверяет был ли файл уже проинклюден, так что думаю писать для этого отдельную функцию нету смысле smile
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0601 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.