ФорумПрограммированиеPHP для идиотовPHP и ООП → Нужен совет по реализации mvc-каркаса

Нужен совет по реализации mvc-каркаса

  • wats

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

    Spritz 19 июля 2010 г. 13:39, спустя 4 минуты 26 секунд

    Абырвалг, я все понял, спасибо. Может вернемся к самому первому посту в этой теме?
    Что скажете на счет Registry?
  • kostyl

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

    Spritz 19 июля 2010 г. 13:39, спустя 56 секунд

    wats, что ты хочешь?
    - а соль солёная?
    - да солёная.
    - странно она соль, значит должна быть солёной!?
    - ну да она же соль, оно и солёная, так и называется - соль.
    - ну это понятно, просто она же соль, почему она солёная?
    - иди на хуй.
  • Абырвалг

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

    Spritz 19 июля 2010 г. 13:43, спустя 3 минуты 57 секунд

    классический реестр плох тем, что не поддерживает ленивой загрузки © я же, на php.ru/forum

    kostyl, хе-хе, у меня по ходу очень большое терпение
    Спустя 94 сек.
    короче, я думаю, что твой каркас будет хуже уже существующих. Ну и смысла его делать не вижу. Смотри в сторону Symfony2
  • wats

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

    Spritz 19 июля 2010 г. 13:46, спустя 2 минуты 23 секунды

    классический реестр плох тем, что не поддерживает ленивой загрузки

    благодарю Абырвалг
  • wats

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

    Spritz 19 июля 2010 г. 13:56, спустя 10 минут 24 секунды

    короче, я думаю, что твой каркас будет хуже уже существующих. Ну и смысла его делать не вижу. Смотри в сторону Symfony2

    Конечно хуже, но главная задача - это не суперфункциональный фреймворк, а всего лишь небольшой каркас, который поможет мне сэкономить уйму времени в дальнейшем. Мне например частенько заказывают написание разных скриптов для wap-сайтов, зачем мне в каждом таком скрипте использовать например zend framework или тот же symfony?!
    Спустя 185 сек.
    - иди на хуй.

    Осторожно, не так пойму и тоже пошлю вас в свой бложег дальше выкладыванием говнокода заниматься)
  • kostyl

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

    Spritz 19 июля 2010 г. 14:01, спустя 5 минут 1 секунду

    wats, посылай, ты только трындеть можешь, о том что тебе нужен каркас уже всех заебал, иди лучше подумай что ты хочешь от каркаса и подучи PHP если хочешь писать вообще что то. Рекомендую тебе PHP5 в подлиннике - во избежание дибильных вопросов и любой известный фреймворк с документацией для начала.
  • wats

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

    Spritz 19 июля 2010 г. 14:16, спустя 15 минут 6 секунд

    ты только трындеть можешь, о том что тебе нужен каркас уже всех заебал

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

    роутер, работа с mysql, сессии и куки, постраничная навигация, шаблонизатор, регистрация и авторизация, вобщем что часто используется в скриптах
    Рекомендую тебе PHP5 в подлиннике

    спасибо, ничего нового там нет
    известный фреймворк с документацией для начала

    Изучал немного kohana, codeigniter, yii, на конана почти создал рейтинг сайтов


    kostyl, будьте немного попроще и люди к вам потянутся)
  • kostyl

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

    Spritz 19 июля 2010 г. 14:19, спустя 3 минуты 4 секунды

    kostyl, будьте немного попроще и люди к вам потянутся)

    та иди нахуй)
    что же ты такой крутой и не знаешь мат часть?
  • wats

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

    Spritz 19 июля 2010 г. 14:43, спустя 23 минуты 13 секунд

    kostyl, не грубите, я вас еще не разу не оскорбил. Я недавно начал знакомится с ООП (именно с ооп, а не с php) и сейчас нахожусь на стадии вхождения, хочу не просто программировать на ооп, а делать это правильно. Поэтому сейчас активно юзаю ресурсы с любой информацией о ооп-php, в том числе зашел на этот форум и создал тему по интересующему меня вопросу, но к сожалению из огромного колличества постов в этой теме, полезными для мня оказались только пару ответов Абырвалг'а. Вы же kostyl не написали ни одного нормального ответа по теме и сейчас еще чему то меня упрекаете.
  • VaseninM

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

    Spritz 19 июля 2010 г. 14:44, спустя 1 минуту 34 секунды

    kostyl, если я не ошибаюсь, ты первый рз тут кого то нахуй посылаешь?) Поздравляю :)
  • kostyl

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

    Spritz 19 июля 2010 г. 14:51, спустя 6 минут 34 секунды

    SpartakuS вроде, да. Спасибо, но я не сторонник таких отношений, даже в шутку, это не особо приятно.

    wats, да упрекаю, ты же выебнулся в предыдущем своём посте (http://pyha.ru/forum/topic/4727.msg103336#msg103336) а теперь ноешь мол я тебя оскарбил а ты мол только ООП начал учить, а нафиг ты уто всё писал тогда?
    что? тут же не дебилы с тобой общаются, понимаешь?
    Говорю сразу, ты ооп не поймешь если не будешь писать. Да ты будешь знать теорию, но надо еще научиться её применять. Так что практикуйся, а не тупо знакомься с ооп.
  • wats

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

    Spritz 19 июля 2010 г. 14:55, спустя 4 минуты 14 секунд

    Судя по всему kostyl сам мало что понимает в ооп и не пишет здесь ничего умного потому что не знает либо просто боится опозориться. Зато послать кого то он не боится.
  • kostyl

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

    Spritz 19 июля 2010 г. 15:04, спустя 9 минут 1 секунду

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

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

    Spritz 19 июля 2010 г. 15:19, спустя 15 минут 7 секунд

    kostyl, я практикуюсь, вот недавно написал свой маленький натив-шаблонизатор с поддержкой подшаблонов:
    view.class.php
    <?php
    class View {

    private $_template;
    private $_data = array();

    public function __construct($template)
    {
    if (file_exists($template))
    {
    $this->_template = $template;
    }
    else
    {
    exit('File ' . $template . ' not exists.');
    }
    }

    public function __set($key, $value)
    {
    $this->_data[$key] = $value;
    }

    public function block($template_block, array $data = NULL)
    {
    if (file_exists($template_block))
    {
    if ($data !== NULL) extract($data, EXTR_SKIP);
    ob_start();
    require $template_block;
    $out = ob_get_contents();
    ob_end_clean();
    return $out;
    }
    else
    {
    return 'File ' . $template_block . ' not exists.';
    }
    }

    public function display()
    {
    extract($this->_data);
    require ($this->_template);
    }

    }
    ?>

    index.php
    <?PHP 
    header('Content-Type: text/html; charset=utf-8');
    require_once ('inc/view.class.php');
    // создаем объект с указанием основного шаблона
    $view = new View('views/template.php');
    // заголовок и приветствие для примера
    $view->title = 'Тест шаблонизатора';
    $view->hello = 'Добро пожаловать!';
    // создаем массив данных для блока меню
    $data_menu = array(
    'block_name' => 'Блок меню',
    'links' => array(
    'index.php' => 'Главная',
    'news.php' => 'Новости',
    'about.php' => 'Контакты',
    )
    );
    // создаем сам блок меню из подшаблона menu.php и массива данных $data_menu
    $view->block_menu = $view->block('views/menu.php', $data_menu);
    // выводим все на экран
    $view->display();
    ?>

    основной шаблон template.php
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title><?=$title?></title>
    </head>
    <body>
    <h1><?=$hello?></h1>
    <?=$block_menu?>
    </body>
    </html>

    подшаблон menu.php
    <div id="menu">
    <p><?=$block_name?></p>
    <ul>
    <?PHP foreach($links as $key => $value): ?>
    <li><a href="<?=$key?>"><?=$value?></a></li>
    <?PHP endforeach ?>
    </ul>
    </div>
  • VaseninM

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

    Spritz 19 июля 2010 г. 15:28, спустя 8 минут 27 секунд

    А тебе не кажется, что для шаблонов должна быть выделена отдельная папочка. К примеру templates/. А для блоков к примеру templates/blocks/. А зачем это все вводить каждый раз в коде программы?

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