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

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

  • kart

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

    Spritz 13 ноября 2007 г. 19:27

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

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


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

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

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

    Spritz 13 ноября 2007 г. 20:08, спустя 14 минут 55 секунд

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

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

    Spritz 16 ноября 2007 г. 1:35, спустя 2 дня 5 часов 27 минут

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

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

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

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

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

    Spritz 16 ноября 2007 г. 4:50, спустя 2 часа 30 секунд

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

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

    Spritz 16 ноября 2007 г. 5: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

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

    Spritz 17 ноября 2007 г. 16:07, спустя 1 день 10 часов 21 минуту

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

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

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