За последние 24 часа нас посетили 57532 программиста и 1683 робота. Сейчас ищут 1175 программистов ...

Помогите с шаблонизатором

Тема в разделе "PHP для новичков", создана пользователем AnteFil, 13 дек 2014.

  1. AnteFil

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

    С нами с:
    14 янв 2014
    Сообщения:
    531
    Симпатии:
    4
    Нашёл на форуме код шаблонизатора
    Код (PHP):
    1.     <?PHP
    2.     class template
    3.     {
    4.             private $file = '';
    5.             private $template = false;
    6.         private $vars = array();
    7.      
    8.             function __construct($file)
    9.             {
    10.                     $this->file = $file;
    11.      
    12.                     if(empty($this->file) or !file_exists($this->file))
    13.                     {
    14.                             exit('Не верный файл шаблона!');
    15.                     }
    16.      
    17.                     $this->template = file_get_contents($this->file);
    18.                     return true;
    19.      
    20.             }
    21.      
    22.             function set($key,$var)
    23.             {
    24.                     $this->vars[$key] = $var;
    25.             }
    26.      
    27.             function parse()
    28.             {
    29.                     if(count($this->vars) < 1) return false;
    30.      
    31.                     foreach($this->vars as $find => $replace)
    32.                     {
    33.                             $this->template = str_replace($find, $replace, $this->template);
    34.                     }
    35.      
    36.                     echo $this->template;
    37.                     return true;
    38.             }
    39.     }
    40.  
    41. $tpl = new template('tpl/main.tpl'); // открываем файл с шаблоном
    42. $tpl->set('{THEME}', 'текст'); // то менять и на что менять
    43. $tpl->parse(); // выводим то что заменили.
    44. ?>
    Проблема в том что этот код рождает 404 ошибку в больших колчичествах.... что не так ?
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    1. Нужен ли шаблонизотор тебе?
    2. Если нужен, то может взять готовый твиг на пример.
    3. Если прям так очень ну очень хочется этот кусок кода использовать то стоит в начале посмотреть в еррор логах, есть там что?

    Добавлено спустя 58 секунд:
    Фу что это(((

    Добавлено спустя 2 минуты 3 секунды:
    Это фигня какая то((( но код простой.
    Это тебе сервер возвращает так как не нашел страницу, этот код 404 ничего не возвращает.
     
  3. AnteFil

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

    С нами с:
    14 янв 2014
    Сообщения:
    531
    Симпатии:
    4
    Создал 404.php ругаться вроде престал
     
  4. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
  5. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Дык тебя не смущает это предупреждение?
     
  6. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    This package is not maintained, if you would like to take over please go to this page.
    Этот пакет не поддерживается, если вы хотите взять на себя, пожалуйста, перейдите на эту страницу.

    Это не удивительно, кто-то, когда-то написал, когда это было нужно.А сейчас видимо надобности уже нету.
    В любом случае его можно взять за основу и доработать под свой нужды.
     
  7. AnteFil

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

    С нами с:
    14 янв 2014
    Сообщения:
    531
    Симпатии:
    4
    Проблема в том что я понятия не имею как с ним работать и за что взяться !! С чего начать.

    Ещё вопрос не относящийся к конкретно этому шаблонизатору а вообще
    Я вот не пойму к примеру есть один макет для всего сайта main.tpl не могу понять как для разных страниц грузить разное. Например есть страница регистрации там надо вводить поля есть страниц форума там надо выводить топики есть в конце концов новости как быть. Как бы я не крутил и не придумывал в кончном итоге получаетсья что я создаюь страницу и подгружаю на неё свой дизайн. Напрмер создал страницу login.php для неё создал login.tpl скопировав содержимое из main.tpl стоит ли тогда вообще заморачиваться с шаблонизатором
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а какого хера ты с таким уровнем знаний пытаешься браться за шаблоны? сначала изучаешь статику, потом стили, потом простую динамику. и потом уже ты понимаешь как работает всё это вместе и как из этого можно сделать шаблонизатор поверх шаблонизатора. а ты не понимаешь. иди учись.
     
  9. AnteFil

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

    С нами с:
    14 янв 2014
    Сообщения:
    531
    Симпатии:
    4
    да я хочу что бы себе жизнь обдегчить. Ковярять php отдельно от html вот и всё что я хочу сделать разделить эти 2 момента
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    не, ты пока еще не прошел алгоритмизацию программирования поэтому своей кашей в голове тебе будет сложно понимать как должно работать. грубо говоря шаблонизация это следующий уровень скила программиста. а ты еще не программист даже. легче тебе не будет. иди учись.
     
  11. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Тут вот вроде есть какое то описание к файлам.

    http://pear.php.net/package/HTML_Template_Xipe/docs/latest/ ... x_php.html

    Честно сказать пока тоже не понял как его использовать.
    Шаблонизаторы работают по такому принципу.Ты посылаешь параметры в индекс.пхп
    Он запускает функцию которая собирает страницу.А параметры ты каждый раз должен указывать для каждого блока штмл.
    Типо единая точка входа, инициализация приложения.Это один подход.

    Есть второй подход подавать на вход функций парсинга шаблонов, готовые тпл,штмл файлы как ты говоришь.
    Но там тоже типовой механизм, ты посылаешь параметры в пхп а парсер в тпл шаблонах вставляет
    нужные данные.

    И есть ещё типо смарти который сам создаёт шаблоны для отображения каждой страницы.
    Он работает тоже по второму принципу.

    В общем ты можешь сам создать свой шаблонизатор.Главное что бы ты сам в нём не запутался.И знал как им управлять :)
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ты сам-то понял что сказал? хотя судя по
    скорее нет чем да...
     
  13. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Я написал так, как я понимаю.Если можешь лучше объяснить, давай послушаем.
     
  14. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    у соискателя с
    не может быть такого объяснения. я тебе как ты можешь догадаться ничего объяснять не буду. мне как опытному программисту не понравилось что ты позволил себе прогнать пургу в адрес новичка. сам с собой можешь так общаться - тебя уже не спасти. а вот новичкам не нужно кашу в голове устраивать.
     
  15. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    То есть получается, человек новый пришёл задал вопрос, ты ему ничего не объяснил кроме как "Ты не программист -> иди учись".
    Тебе задали конкретный вопрос.Объясни как ты понимаешь.Не мне.А людям которые нуждаются в объяснение.Ответа ты опять не дал.Кроме очередного оскорбления.В других темах умудряешься меня оскорблять где меня даже не было.Ты в порядке?
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Джей, а как объяснить человеку, не знающему математику, как взять интеграл по функции? Начать с определения простых чисел? И дальше, пока форум не лопнет? Тут уж проще онлайн-репетитора нанять ТСу.
     
  17. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Могу вам ответить в вашем стиле "любое замкнутое односвязное трехмерное многообразие гомеоморфно трехмерной сфере"
    Так что вы нас высшей математикой не берите.К шаблонизации интеграл по функции никак не относится.Вы правы форум может как раз таки лопнуть от смеха, что оказывается нужны знания высшей математики для построения простого шаблонизатора.
     
  18. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Когда сурикат показывает на луну, Джей смотрит на палец... Погугли на тему метафор. Тогда поймешь суть моего предыдущего поста.
     
  19. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    А вы если бы интересовались правилами форумов.То подчеркнули бы для себя.Что двоякий смысл фраз и цитат на форумах не приветствуется, да впрочем как и в обычной жизни.И крайне не прилично указывать человеку.Да впрочем на этом с вами беседу заканчиваю.Прошу не беспокоить.
     
  20. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    "При нерезко выраженной дебильности ребёнок может ничем внешне не отличаться от сверстников. Сохраняются механическая память и эмоционально-волевая сфера. Внимание очень трудно привлечь и фиксировать. Запоминание замедленно и непрочно. У них преобладает конкретно-описательный тип мышления, в то время как способность к абстрагированию почти отсутствует."
     
  21. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Fell, не перегибай, это уже за гранью.
     
  22. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Мопед не мой, цитата с вики. Не про оскорбления, а про симптомы отклонения, имеющего соответственное название. Не из желания оскорбить, но с целью показать, какое складывается впечатление от общения с jei.

    Но ок.
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Джея в дверь, а он в окно...