ФорумПрограммированиеPHP для идиотов → Как создать переменные из функции?

Как создать переменные из функции?

  • kart

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz Ноя. 14, 2007, 3:27 д.п.

    Как создать переменные из функции?
    нужно что-то на подобии такого:

    function function( $array )
    {
    foreach ( $array as $name => $value) {
    $$name = $value;
    }
    }


    тока чтобы созданные переменные не умирали в самой функции, а вылетали в основной код.
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи
  • kart

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz Ноя. 14, 2007, 4:08 д.п., спустя 14 минут 55 секунд

    о, ghost, токняк!!! спасибо ;)
  • disc

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz Ноя. 16, 2007, 9:35 д.п., спустя 2 дня 5 часов 27 минут

    а обычный return не подходит?
  • kart

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz Ноя. 16, 2007, 10:49 д.п., спустя 1 час 14 минут 31 секунду

    disc, нет, конечно… хотя, наверное, с помошью ссылок можно чё-нить придумать, но нах? extract фсё делает красиво и элегантно ))
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Ноя. 16, 2007, 12:50 п.п., спустя 2 часа 30 секунд

    Меня терзают смутные сомнения(С), в полезности этой функции. Расскажи хоть, что за алгоритм-то такой? Зачем это понадобилось?
  • kart

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz Ноя. 16, 2007, 1:45 п.п., спустя 55 минут 28 секунд

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

    ну напимер

    controller
             $vars['title']   = 'Test';
    $vars['header'] = 'Hello, world!!! :)';
    $vars['content'] = 'This is some text';
    $vars['list'] = array('one', 'two', 'three');

    load_file('filename', $vars);


    view
    <html>
    <head>
    <title><?=$title?></title>
    </head>
    <body>

    <h3><?=$header?></h3>
    <p><?=$content?></p>

    <ul>
    <? foreach ($list as $li) : ?>
    <li><?=$li?></li>
    <? endforeach; ?>
    </ul>

    </body>
    </html>


    model
    где, собственно, и происходит обработка не буду показывать, слишком много сырого кода )))))

  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Ноя. 18, 2007, 12:07 д.п., спустя 1 день 10 часов 21 минуту

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

    Я бы советовал обратить внимание на вот это http://www.alexeyrybak.com/blitz/blitz_ru.html да не обидятся на меня поклонники Smarty.
    Просто мегаполезная штука … дай бог выберу время, набросаю заметочку про свой опыт использования и про то, чем мне не нравится чистый php в качестве шаблонизатора.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!