замена переменной внутри кода

zaartix

Новичок
замена переменной внутри кода

Народ есть примерно такая ситуация:
PHP:
$a=fopen("$path","r");
$b=fopen("$path1","r");
как мне можно одновременно перед всеми fopen'ами вставить @?
У вроде как завести переменную $c="@" и использовать её перед всеми fopen'ами? Типа замена переменной в самом коде...
 

zaartix

Новичок
Короче, надо из того, что я написал (код) получить такой:
PHP:
$a=@fopen("$path","r"); 
$b=@fopen("$path1","r");
Ведь нельзя использовать такой код:
PHP:
$c="@";
$a=$c.fopen("$path","r");
$b=$c.fopen("$path1","r");
Короче в период написания скрипта $c="" дабы выдеть все ошибки (fopen будет везде без @), а после отладки нужно сделать $c="@", чтобы скрыть от пользователя все ошибки (перед обоими fopen'ами появляются @).
Хотя опять наверное не смог обьяснить...
 

zaartix

Новичок
:) это понятное дело, но все-таки важна сама суть.
наверное я снова не совсем понятно спросил.
Есть $c="@";
Нужно подставить ее значение перед fopen.
 

tony2001

TeaM PHPClub
я непонятно ответил?
или стоит задача - сделать все максимально криво, на зло кондуктору?
 

zaartix

Новичок
;) все понятно, я не для решения конкретно данной задачи этот вопрос задавал.
Вот может такой пример проще понять будет:
у нас $c может быть равной либо "" (ничего) либо "@"
PHP:
if ($c=="@") {$result=@fopen();}
else {$result=fopen();}
неужели это нельзя заменить на более короткий код?
без использования error_reporting
На что-нибудь вроде $c.fopen();
 

zaartix

Новичок
если мыслить абстрактно, то можно представить себе следующую картину:
интерпретатор проходит первый (!) раз по этому коду
PHP:
$c.fopen();
и заменяет только $c на @ (не обрабатывая fopen). После первого прохода получаем вместо
PHP:
$c.fopen();
такой код
PHP:
@fopen();
и обрабатываем его уже соответствующим образом.
 

tony2001

TeaM PHPClub
КАКОЙ ВЕЛИЧАЙШИЙ СМЫСЛЕ ЗАЛОЖЕН В ЗНАЧКЕ @ ?
подавление ошибок ?
а я что тебе предложил ?
 

zaartix

Новичок
:)))) ну блин, надо мыслить более поверхостно.
важен не смысл значка "@", а факт его наличия. Вместо него я могу использовать отритцание "!", тогда аналогией будет пример:
Наша зловещая $c на этот раз может принимать значение либо "" (пустота), либо "!". Отсюда:
PHP:
if ($c.$action) {}
тоесть чтоб от $c зависило наше условие if.
когда $c равно пустоте, тогда условие выполняется, если $action существует.
Если же наша $c равна "!", тогда условие выполняется, если $action не существует.
tony2001, блин запутал я тебя наверное окончательно :)
 

zaartix

Новичок
а что пробовать, ежу понятно, что так это точно не будет работать. Есть же примочки вроде &$action. Так вот может и тут как-то можно сделать.
 

tony2001

TeaM PHPClub
/me интересуется - где такую траву берут в пятницу вечером ?

СМЫСЛ всего этого - какой ?
 

zaartix

Новичок
Автор оригинала: tony2001
/me интересуется - где такую траву берут в пятницу вечером ?

СМЫСЛ всего этого - какой ?
:) места надо знать.

если серьезно, я просто уже даже не знаю как это обьяснить...

последняя попытка:

$var = "print 'test';";
как мне выполнить содержимое переменной $var?

а смысл всего этого таковой:

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

если никто так и не понял смысла, вопрос снимается с повестки дня.
 

shingrus

Guest
блин во ты всех запарил, а все тебе variable variables посмотри в мане
 
Сверху