Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#39 used as offset, casting to integer (39) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Правомочно ли такое задание функции в РНР
ТвойWeb » WebMaster класс » PHP/Perl » Правомочно ли такое задание функции в РНР

Страниц (2): [1] 2 »
 

1. Масяня - 05 Июня, 2006 - 08:43:20 - перейти к сообщению
Получила на работе файл для присобачивания к имеющимся, а там функции определены в стиле:
CODE:

<?
function print_table()
{
?>
<table><tr><td>...</td></tr></table>
<?
}
?>


Меня это ужасно удивляет, никогда такого не видела, оно работает, но я не понимаю, почему. Я имею в виду вопрос, что подсасывается, когда вызывается функция...

Извините, если немножко оффЗакатив глазки
2. Леголегс - 05 Июня, 2006 - 09:21:44 - перейти к сообщению
Масяня
Ага, я тоже когда первый раз увидел офигел Улыбка Как я понял
PHP:
?>
abc
<?
это то-же самое что и
PHP:
echo "abc";

Поэтому можно даже
PHP:
От 1 до 10:<BR>
<?
for ($i = 1; $i<10; $i++)
{
?>
$i<BR>
<?
}
?>
3. ETC - 05 Июня, 2006 - 09:23:45 - перейти к сообщению
Это очень удобно, сам часто этим пользуюсь
4. persei - 05 Июня, 2006 - 09:40:40 - перейти к сообщению
Леголегс пишет:
Как я понял
PHP:
?>
abc
<?
это то-же самое что и
PHP:
echo "abc";


Да, совершенно верно, это даже где-то доказывали (измеряли время на вывод echo'm и ?> <?, они равны!).

Кстати именно поэтому даже такой вывод буферизуется!
5. persei - 05 Июня, 2006 - 09:42:21 - перейти к сообщению
Только
Леголегс пишет:
$i<BR>
будет выведено как \$i<BR>!
php в этом случае не интерпретирует переменные
6. persei - 05 Июня, 2006 - 09:47:12 - перейти к сообщению
php вообще интересный язык. А как вам такой вызов функций:
PHP:

<?
$func = $_GET['action'];
$param = $_GET['param'];
$func($param);
?>

Это вызовет функцию название которой в $func с параметром $param
Это прочитано в оффициальном мануале.
Кстати если написать
PHP:

<?
function abc(){
function def(){
...
}
}
?>

То функция def() будет существовать ГЛОБАЛЬНО только после вызова функции abc()
7. SKIF - 05 Июня, 2006 - 16:11:57 - перейти к сообщению
persei пишет:
А как вам такой вызов функций:

пойду читать мануал... может ещё чего интересного найду.. Очень интересный вызов... значит можно обойтись и без case =))))
8. Леголегс - 05 Июня, 2006 - 17:38:20 - перейти к сообщению
SKIF пишет:
Очень интересный вызов... значит можно обойтись и без case =))))
Угу. Пусть юзеры спокойно вызывают по урл
blabla.php?func=readfile&param=/etc/passwd
Это я образно.
9. SKIF - 06 Июня, 2006 - 04:09:21 - перейти к сообщению
дык не надо таких функций вставлять... =)) ну согласись интересный же способ... Раз есть, значит может и пригодится когда-то, иначе не вставили бы
10. persei - 06 Июня, 2006 - 06:46:10 - перейти к сообщению
Просто нужно создать массивчик с именами существующих функций и делать in_array.
Если false - делаем по-дефолту!

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0301]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33