Jump to content

Vialls

User
  • Posts

    129
  • Joined

  • Last visited

Posts posted by Vialls

  1. Идея такова:

    page1:

    <a href="page2.php?select=0" title="#">Ссылка 1</a>
    <a href="page2.php?select=1" title="#">Ссылка 2</a>
    <a href="page2.php?select=2" title="#">Ссылка 3</a>
    и т.д.

    page2:

    <select>
    <option <?php if ($_GET["select"] == 0) echo "checked"; ?>>Опция 0</option>
    <option <?php if ($_GET["select"] == 1) echo "checked"; ?>>Опция 1</option>
    <option <?php if ($_GET["select"] == 2) echo "checked"; ?>>Опция 2</option>
    </select>

  2. ИМХО, для работы вообще лучше использовать Линукс , если конечно ты занимаешься не версткой. А винде лучше TC инструмента просто нет.

    Я бы с радостью :), но я кроме сайтостроительства, занимаюсь разработкой GUI-приложений под win и .NET FrameWork... А под другие оси, просто работы нету :)

  3. http://masterhost.ru/ - юзаю, очень нравится;

    http://www.aplhost.ru/ - юзаю, нравится, но тех. поддержка последнее время храмает, мыло вообще не читает, в асе редко, но если в асе сидит то все решают моментально и без проблем; проблем с хостингом нету, правда не очень быстро работает, но нормально.

    http://domishko.ru/ - юзал около трех-четырех месяцов, проблем не было, тп норм, но из-за того, что у меня три хоста и я забывал платить иногда, перенес от сюда все на masterhost

    http://www.mchost.ru/ - пользуется много знакомых, хвалят;

  4. Самое распространеное заблуждение - это когда ты сделал сайт ни разу не посмотрев его в ие

    У меня такое было.. Все сделал, везде работает думал, доволльный....Потом вспомнил про IE, и еще часа 2 копался... с тех пор одновременно смотрю в IE и Opera/Firefox

  5. токо куда это надо будет вставить в начале документа...

    xD

    Чувствую, вам надо на время забыть о вопросе, который находится выше, и почитать что такое веб-сервер и серверные языки программирования, после чего почитать, как установить локальный сервер на компьютер или просто установить Denwer. Дадее я расскажу, что с этим нужно делать (с вышеприведенным кодом).

  6. ну помогите пожалуйста:) что ненайдётся людей которые знают и которым нетрудно помочь...

    Так, там все написано, с примерами??

  7. Наверно сделаю-ка я, как Smarty. Буду подгружать код во временный файл, и include()-ить его... Хотя попробую двумя способами сразу, твоим, и как у Smarty()... Потестю на быстродействие, и отпишусь: )

  8. Vialls, ухум. Я бы начал реализовывать с этого. И наверно можно на ты :unsure: Не люблю в виртуальном мире общение на "вы", есть хорошее изречение на эту тему:

    Когда в виртуале переходят на "вы" в реале уже бьют морду.

    Если время терпит могу попытаться посмотреть, как делает Смарти, просто врядли это можно понять с ходу глянув, там наверняка сложная система, но зато наверняка и оптимальная.

    Я тоже думал о таком варианте. Наверно так и сделаю. Если ничего в голову не придет. Спасибо.

    Второй вариант у меня немного другой, с eval(), т.е. тоже парсишь документ, а потом на месте "{}", вставляем PHP код (эквивалент, того, что было между {}), ну а далее обрабатываем это все eval(). Кстати smarty(), работает примерно таким-же образом, вроде. Он при первой обработке шаблона, создает файлы, со вставками PHP кода, вместо того, что было между {}. А потом при вызове метода display(), он наверно просто подключает этот файл и все...

    P.S.

    Окей, будем на "ты"

  9. а она на инглише? по мойму бред убиться не на родном языке неизвестному языку..

    У меня была на русском. Книжка хорошая, правда воды много очень.

  10. Я вообще не специалист по шаблонизаторам, могу лишь руками в воздухе помахать, но все же помахаю, может что умное выйдет...

    Как я понимаю, нужно парсер текстового документа организовать, который при встрече некоторых ключевых символов и слов будет выполнять нужные ф-ции пхп. Проще всего разбирать в таком случае файл построчно и анализировать строку, встретил нужное слово - что-то делаешь. Ну грубо говоря, если у тебя строка:

    ... {print $val} то ищешь сначала символ {. Нашел - значит тут есть команда. Смотришь что после него, ага - команда print, значит печатать чтото будем... ну и так далее. Вот в очень примитивном варианте, мне кажется, можно все это на строковых функциях организовать. Ну и регулярных выражениях, в качестве пушки для воробьев, хотя их рекомендуют использовать только там, где строковыми ф-циями не обойтись, ибо работают существенно медленнее.

    Вот, ну дальше понятно дело, встанет вопрос - как вызвать ф-цию, имя которой заданно строковой переменной, обратиться к методу класса, или обратиться к переменной.

    Вызвать метод класса или просто ф-цию можно используя ф-цию call_user_func, как выше верно было сказано (кстати на удивление часто встречаю последнее время этот вопрос, видать все ринулись свои шаблонизаторы писать : ))) ). Как к переменной обратиться, имя которой строкой задано, с ходу чегото не лезет в голову, ща попробую сообразить...

    Ну и еще можно посмотреть как Smarty парсит шаблоны, там именно эта задача решена, хотя подозреваю что курить код Смарти не легче чем свой написать : ))

    А ну собственно выше верно сказали:

    $var = 'qq';

    $tmp = 'var';

    echo $$tmp;

    Т.е. вы имеете ввиду сделать так. Парсим документ, пока не встречается "{" || "}" все выводим. Далее как встречается эта конструкция ({ }), мы начинаем обрабатывать ее вызывать функции и т.д. Конструкция заканчивается и мы дальше все выводим, до следующей конструкции?

  11. Точно, спасибо. Тогда можно создать файл download.php:

    <?php
    $filename = $_GET['filename'].'.txt';
    $ins = array("/", "\\");
    $outs = array("", "");
    $filename = str_replace($ins, $outs, $filename);
    if (!file_exists($filename))
    {
    die('Файл не найден');
    }
    header('Content-type: text/plain');
    header('Content-Disposition: attachment; filename="download.txt"');
    readfile($filename);
    ?>

    в папку с ним, запихнуть все *.txt, и для скачивания обращатся к этому файлу "http://site.ru/txt/download.php?filename=имя_файла_без_расширения".

    Возможно для имени файла, еще пару замен сделать и проверок. На скорую руку делал

  12. Точно незнаю, но первое что пришло в голову:

    <?php
    list($start_msec, $start_sec) = explode(" ", microtime());

    /**ТЕЛО ДОКУМЕНТА - начало**/
    for ($i = 0; $i < 100000000; $i++)
    {
    $a = $i;
    }
    /**ТЕЛО ДОКУМЕНТА - конец**/

    list($end_msec, $end_sec) = explode(" ", microtime());
    $all_sec = $end_sec - $start_sec;
    $all_msec = $end_msec - $start_msec;
    $all_time = $all_sec + $all_msec;
    echo "Время генерации: {$all_time}";
    ?>

    Хотя мне кажется, что где-то есть переменная, которая хранит время выполнения текущий строки... А может и нет :unsure:

  13. Да, например call_user_func или $$varible или $class = new $class_name(); ...

    Опиши проблему, может мы подскажем пути решения?

    Опс, я запоздал :unsure:

    Не опоздал, я предыдущее сообщение запорол :)

    В общем требуется следующее. Допустим есть файл:

    ...
    {print $values['bla_bla'];} - вместо этого должно выводить значение глобальной переменной $value['bla_bla']
    {parse $values;} - обходит все элемента массива $values и выводит их
    ...

    Ну и еще много всяких подобных конструкций. В обшем, что-то похожее на шаблонизатор, но не совсем. Пытаюсь решить примерно таким образом:

    function parse($template)
    {
    global $values;
    // .... идет обработка всего
    eval('?>'.$template);
    }

    Примерно так.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy