За последние 24 часа нас посетили 57997 программистов и 1845 роботов. Сейчас ищут 1094 программиста ...

Создать функцию с именем из переменной помогите

Тема в разделе "PHP для новичков", создана пользователем igrok54, 11 мар 2013.

  1. igrok54

    igrok54 Активный пользователь

    С нами с:
    20 май 2009
    Сообщения:
    10
    Симпатии:
    0
    Адрес:
    Пермь
    Делаю в своей CMS возможность создавать произвольное количество html-блоков, в базе имеем массив блоков, каждый состоит из:
    имя функции, заголовок блока, содержимое блока
    Шаблонизатор должен, считав базу, в цикле создать новые функции с указанными именем и соответствующим содержанием, а на сайте эти созданные функции могут быть затребованы в произвольном порядке, не в том, в котором они прописаны в базе, могут вообще перемежаться с другими блоками...
    + php 5.2

    Как правильно реализовать примерно это:
    Код (Text):
    1. $a='aaa';
    2. function $a() {
    3.     echo 'Hello!';
    4. }
    5. $a();
    Добавлено спустя 18 минут 32 секунды:
    Функция затем должна быть доступна в любом месте шаблонизатора в виде функции, а не в виде переменной. Так что $a не нужна, нужна $a()
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    изначально все неверно спроектированно.
    вызывать html блоки по имени можно и без создания 100500 функций. а с помощью одной. в качестве параметра принимающей имя блока. например
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Код (Text):
    1. $a='aaa';
    2.  
    3. $$a = function() {
    4.     echo 'Hello!';
    5. };
    6.  
    7. $test_name = 'aaa';
    8. $$test_name();
    Добавлено спустя 1 минуту:
    PHP 5.3 и выше