function test ($name)
{
// тут надо получить 'thisName'
}
test($thisName);
Рассматриваются любые варианты, типа Reflection, backtrace и т.д.
зы. спасибо васяцу за [man]debug_backtrace[/man]
Форум → Программирование → PHP для идиотов → Как узнать имя переменной, переданной в качестве аргумента ф-ии
Страницы: ← Следующая страница →
5 ноября 2009 г. 13:28, спустя 1 минуту 24 секунды
5 ноября 2009 г. 13:30, спустя 1 минуту 37 секунд
test("ага-ага");
а сделать метод типа getType($var) и внем провяреть типа is_int ит.д. ….эээ, мне не тип надо, а имя переменной
5 ноября 2009 г. 13:31, спустя 1 минуту 7 секунд
5 ноября 2009 г. 13:37, спустя 5 минут 58 секунд
function assign($name, $value) {
$tpl->assign($name, $value);
}
assign('users', $users);
function assign($var) {
$name = // тут определяем имя переданной переменной (в моем примере тут будет 'users')
$tpl->assign($name, $var);
}
assign($users);
function assign($var) {
$name = // тут определяем имя переданной переменной
$name = is_string($name) ? $name : 'default';
$tpl->assign($name, $var);
}
assign('бла-бла-бла');
5 ноября 2009 г. 13:43, спустя 5 минут 39 секунд
5 ноября 2009 г. 13:50, спустя 7 минут 54 секунды
function products ()
{
$products = array(1,2,3);
PanjoTemplate::draw('templates/products.tpl', $products);
}
5 ноября 2009 г. 13:52, спустя 1 минуту 34 секунды
5 ноября 2009 г. 13:57, спустя 5 минут 22 секунды
<h1>{{ products.title }}</h1>
<div>{{ products.description }}</div>
чего? Где надо, я юзаю обжекты, а где надо на статике… например в $products будут объекты
adw0rd, фреймворк на статических классах!Спустя 10 сек.2:хх в сторону статики!
Из PHP узнать имена переменных нельзя, но можно их количество и значения.
http://xpoint.ru/forums/programming/PHP/thread/29749.xhtml
5 ноября 2009 г. 13:58, спустя 9 секунд
5 ноября 2009 г. 13:59, спустя 1 минуту 20 секунд
я его попробовал, но имени там нет, к сожалению :/
adw0rd, а чем бектрейс не нравится? я не понял. там же это можно вроде получить … эм.
5 ноября 2009 г. 14:09, спустя 10 минут 1 секунду
Hi: friend
array(2) {
[0]=>
array(4) {
["file"] => string(10) "/tmp/a.php"
["line"] => int(10)
["function"] => string(6) "a_test"
["args"]=>
array(1) {
[0] => &string(6) "friend"
}
}
[1]=>
array(4) {
["file"] => string(10) "/tmp/b.php"
["line"] => int(2)
["args"] =>
array(1) {
[0] => string(10) "/tmp/a.php"
}
["function"] => string(12) "include_once"
}
}
<?php
// filename: /tmp/a.php
function a_test($str)
{
echo "\nHi: $str";
var_dump(debug_backtrace());
}
a_test('friend');
?>
<?php
// filename: /tmp/b.php
include_once '/tmp/a.php';
?>
5 ноября 2009 г. 14:34, спустя 24 минуты 39 секунд
5 ноября 2009 г. 14:42, спустя 8 минут 11 секунд
5 ноября 2009 г. 15:01, спустя 18 минут 51 секунду
бывает ))
adw0rd, ебать я лох .. сори что сбил с толку)
как всегда "хочется получить желаемое за действительное"
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!