ФорумПрограммированиеPHP для идиотовPHP и ООП → Жду критики предложений

Жду критики предложений

  • ivanscm

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

    Spritz 29 декабря 2010 г. 10:11, спустя 38 секунд



    нет свиньям на пыхе
    С возвращением, Пiха! hyperoff.ru - качественный хостинг php
  • uralkid

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

    Spritz 29 декабря 2010 г. 10:24, спустя 12 минут 9 секунд


    Подкинешь идей?

    вьювер должен возвращать строку а не печатать. у него должна быть одна единственная функция

    interface iViewer {
    /**
    * @param string $template
    * @param array $data
    * @return string
    */
    function fetch($template, array $data=array());
    }


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


    master, будь добр небольшой пример.
  • master

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

    Spritz 29 декабря 2010 г. 10:25, спустя 1 минуту 2 секунды

    пример чего?
    не всё полезно, что в swap полезло
  • uralkid

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

    Spritz 29 декабря 2010 г. 10:35, спустя 10 минут 32 секунды

    более менее грамотного viewera. но только не не тех которые в зенд и других фреймворках, для меня там все лес пока.
  • master

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

    Spritz 29 декабря 2010 г. 10:48, спустя 13 минут 17 секунд


    <?php

    class Viewer {
    protected $error_reporting;

    function fetch($template, array $data = array()){
    $this->error_reporting = error_reporting();
    error_reporting($this->error_reporting ^ (E_NOTICE | E_WARNING));
    extract ($data);
    ob_start();
    include $template;
    $buffer = ob_get_contents();
    ob_end_clean();
    error_reporting($this->error_reporting);
    return $buffer;
    }

    }

    $viewer = new Viewer();

    $b = $viewer->fetch('template.php', array('a' => 1, 'b' => 2));

    print $viewer->fetch('template.php', array('b'=>$b));


    template.php:

    [<?= $a ?>]
    (<?= $b ?>)


    выведет
    [] ([1] (2) ) 

    не всё полезно, что в swap полезло
  • Абырвалг

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

    Spritz 29 декабря 2010 г. 12:37, спустя 1 час 48 минут 29 секунд

    очень кстати актуальный вопрос для меня сейчас. Но у меня все сложнее: нужна поддержка разных loader'ов шаблонов и render'еров. А еще несколько applications и темы
  • master

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

    Spritz 29 декабря 2010 г. 20:01, спустя 7 часов 23 минуты 49 секунд

    Абырвалг, что конкретно нужно? вон то что я нарисовал работает на ура, и шаблоны простые (без $this->data[varname])
    любой шаблонизатор докрутить не проблема - вставляешь print вместо include и вуаля
    не всё полезно, что в swap полезло
  • Абырвалг

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

    Spritz 29 декабря 2010 г. 12:43, спустя 16 часов 42 минуты 30 секунд

    сегодня создам тему, напишу как я это вижу
  • artoodetoo

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

    Spritz 29 декабря 2010 г. 12:49, спустя 5 минут 31 секунду

    master молодчик. абырвалг, у тебя все всегда сложно. ты так очень быстро облысеешь и заработаешь геморрой.
    ιιlllιlllι унц-унц
  • Абырвалг

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

    Spritz 29 декабря 2010 г. 12:52, спустя 3 минуты 31 секунду

    artoodetoo, так а что же делать? Нужна поддержка многосайтовости и многотемности. Брать шаблоны как из ФС так и из БД.
  • artoodetoo

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

    Spritz 29 декабря 2010 г. 12:54, спустя 1 минуту 34 секунды

    ок, пиши свою тему - я над тобой надругаюсь. надеюсь тебе понравится.
    ιιlllιlllι унц-унц
  • andipas

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

    Spritz 29 декабря 2010 г. 13:15, спустя 20 минут 48 секунд


    сегодня создам тему, напишу как я это вижу


    Twig не?
  • Абырвалг

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

    Spritz 29 декабря 2010 г. 13:20, спустя 5 минут 52 секунды

    не. Twig в данном случае будет выступать лишь одним из рендереров.

    Может быть Symfony\Component\Templating. Но у меня именно куча вопросов по организации структуры папок и тд
  • Troy

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

    Spritz 29 декабря 2010 г. 14:23, спустя 1 час 2 минуты 17 секунд

    У меня почти полностью как master написал, я не такой уж и бот)
  • Абырвалг

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

    Spritz 29 декабря 2010 г. 14:33, спустя 10 минут 13 секунд

    master, и все-таки она вертится я бы добавил эскейпинг сюда же

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