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

Как вставить константу в строку?

  • Timur

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

    Spritz 5 марта 2009 г. 15:15, спустя 1 час 40 минут 23 секунды

    А зачем она? Или подкалуешь?


    падкалую )
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 6 марта 2009 г. 5:24, спустя 14 часов 8 минут 19 секунд

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

    Я думаю, может класс написать какой, типа чтобы вот так использовать:

    $const= new constantKeeper();

    print "<a href="\index.php?mode=$const(MODE_ADMIN)"\>change</a>"


    ну и в классе перегрузить оператор (). Больше ничего в голову не лезет(
  • AlexB

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

    Spritz 6 марта 2009 г. 5:40, спустя 16 минут 40 секунд

    Хорош изощряться, тебе уже 10 раз сказали, что конкатенация это нормальная и естественная операция и часть синтаксиса языка. Я, кстати, даже в случае с переменными ее часто использую, ИМХО код читабельнее.
    Если по религиозным мотивам такой синтаксис для тебя недопустим, смени язык программирования.
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 6 марта 2009 г. 5:51, спустя 10 минут 14 секунд

    Так меня не вполне устраивает конкатенация, неудобно мне каждый раз вот это писать " . . ", фигня какая-то.
    Я в документации перегрузки операторов не нашел, так что прийдется через метод. Что-то такое должно получиться:

    $const= new constantKeeper();

    print "<a href="\index.php?mode=$const.get(MODE_ADMIN)"\>change</a>"

  • AlexB

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

    Spritz 6 марта 2009 г. 6:03, спустя 12 минут 14 секунд


    Так меня не вполне устраивает конкатенация, неудобно мне каждый раз вот это писать " .  . ", фигня какая-то.

    Че ты к нам пристал? Пиши разработчикам PHP, что они херовый язык придумали …
    И вообще тебя не напрягает, что нужно еще скобочки фигурные открывать и закрывать? Что нужно доллар перед переменными писать? Что слово function слишком длинное?
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 6 марта 2009 г. 6:14, спустя 11 минут 14 секунд

    да ты прав, получается в итоге еще длинее, вот так вышло:

    print "<a href="\index.php?mode={$c->get(MODE_ADMIN)}"\>change</a>"


    так что лучше уже строки склеивать((
  • Lirck

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

    Spritz 6 марта 2009 г. 6:25, спустя 10 минут 50 секунд



    Так меня не вполне устраивает конкатенация, неудобно мне каждый раз вот это писать " .  . ", фигня какая-то.

    Че ты к нам пристал? Пиши разработчикам PHP, что они херовый язык придумали …
    И вообще тебя не напрягает, что нужно еще скобочки фигурные открывать и закрывать? Что нужно доллар перед переменными писать? Что слово function слишком длинное?



    бля ну пайтон прям получается xD
  • Timur

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

    Spritz 6 марта 2009 г. 10:39, спустя 4 часа 14 минут 12 секунд

    напоследок, ещё порция извращений:
    define('CONST_A', 'Йа - константа!');
    define('CONST_B', 'Йа тоже, ёпт!');
    $c = 'constant';
    echo "<p>{$c('CONST_A')}</p>, <p>{$c('CONST_B')}</p>";
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 6 марта 2009 г. 17:58, спустя 7 часов 18 минут 52 секунды

    ухты а что это ты сделал? ниче не понял%

    если на извраты, то можно еще ассоциативный массив сделать с ключом-строкой, но есть ли в php они?
    например было бы так:

    echo "$const['CONST_A']";
  • Timur

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

    Spritz 6 марта 2009 г. 18:44, спустя 45 минут 52 секунды

    ухты а что это ты сделал? ниче не понял%

    Это древнее заклинание вуду — если пропеть это в полночь голосом Фредди Меркьюри, то появится волшебная фея и дарует тебе счастье. Только не кому об этом не рассказывай.

    если на извраты, то можно еще ассоциативный массив сделать с ключом-строкой, но есть ли в php они?

    smackthat, покури мануал, вот этот раздел
    А то у тебя все вопросы от незнания самых основ языка. И да, ассоциативные массивы в PHP есть. Подробнее можно прочитать всё там же. Даже на русском языке и с примерами.
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 7 марта 2009 г. 4:39, спустя 9 часов 54 минуты 57 секунд

    Timur, так что же это ты сделал в коде выше? масивчики нашел, спасиб
  • Lirck

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

    Spritz 7 марта 2009 г. 5:00, спустя 20 минут 55 секунд

    мля ну constant(); фцию вызывает, а чтоб было короче, то переменную подставляет $c();
  • Lirck

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

    Spritz 7 марта 2009 г. 5:09, спустя 9 минут 10 секунд

    ну и сравни где печатать больше
    {$c('CONST_A')}
    '.CONST_A.'
  • Lirck

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

    Spritz 7 марта 2009 г. 5:12, спустя 3 минуты 9 секунд

    делать те реально нех помоему)






    <<<<<<<<<<<
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 7 марта 2009 г. 7:51, спустя 2 часа 38 минут 59 секунд

    так это типа он синоним сделал для функции через переменную?
    делать мне нех))

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