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

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

  • phpdude

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

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

    ух не люблю я натив)
    Сапожник без сапог
  • wats

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

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

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

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

    что вводить?
  • VaseninM

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

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

    что вводить?

    $view->block('views/menu.php……..

    Пути то есть.
    делай как хочешь, это уже мелочи.

    ООП создан для того, тобы код можно было легко и одубно использовать и расширять. Расширить у тебя легко. Без базара. Но использовать сложно. Поэтому нужно добавить пути по умоланию.
  • wats

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

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

    SpartakuS, да, например у тебя есть контроллер который отвечает за блок меню, в нем и пишешь:
    $data_menu = array(
    'block_name' => 'Блок меню',
    'links' => array(
    'index.php' => 'Главная',
    'news.php' => 'Новости',
    'about.php' => 'Контакты',
    )
    );
    $view->block_menu = $view->block('themes/'.$_SESSION['theme'].'/menu.php', $data_menu);

    а на счет путей, конечно надо сделать пути по умолчанию, это я для примера привел.
  • wats

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

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

    я понял, ты имеешь ввиду что шаблонизатор уже должен знать где лежит основной шаблон, а где подшаблоны?
  • VaseninM

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

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

    wats, да. И при этом ты должен иметь возможность не лезть в код шаблона и при этом менять эти папки.
  • wats

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

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

    и при этом менять эти папки

    при смене папок пути по умолчанию то тебе все равно придется менять, вообщем просто создать константы с путями и юзать их в шаблонизаторе.
  • VaseninM

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

    Spritz 19 июля 2010 г. 8:43, спустя 40 минут 11 секунд

    Ты не понял цели сей фишки. Взял я твой шаблонизатор и решил использовать его в своем проекте. Но я блять привык юзать путь шаблонизатора /templates/template_ name/and/very/long/path/for/example/. Так вот этот путь мне прейдется редактировать прямо в классе. Но в том и смысл ооп. Я неиххуя не должен знать что у тебя за говнокод в классе и говнокод ли. Я прочто лезу в кониг твоего шаблонизатора и меняю там пару строчек. (как вариант я могу написать:
    $view->setPath('мой супердилинный путь');
    $view->setExt('php');
    $view->setBlockDir('путь к супердлинным блокам');

    Но мне больше нравится конфиг.
  • wats

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

    Spritz 19 июля 2010 г. 9:28, спустя 44 минуты 35 секунд

    SpartakuS, ага, логично для указания путей использовать именно конфиг.
  • krasun

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

    Spritz 19 июля 2010 г. 11:35, спустя 2 часа 7 минут 31 секунду

    wats, хотите ООП?
    Тогда читайте: http://www.ozon.ru/context/detail/id/1616782/, можно еще эту http://www.ozon.ru/context/detail/id/1308678/ и эту http://www.ozon.ru/context/detail/id/4884925/. Но сначала лучше даже эту http://www.ozon.ru/context/detail/id/2457392/.

    Мне кажется, что это уже классика, мне мозги хорошо вправило, я начал думать по-другому. И не важно, на каком языке вы будете программировать.

    А то, что вы требуете от фреймворка - сессии, куки, авторизация, работа с БД, я не боюсь еще раз повторить, есть в отдельных компонентах в Zend Framework`е и я уверен в других фреймворках.

    Либо пишите свой, тут кстати можно потренироваться в ООП, но я бы все же лучше использовал готовое, в том то и сила ООП


  • wats

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

    Spritz 19 июля 2010 г. 11:58, спустя 22 минуты 54 секунды

    krasun, благодарю, вот эту http://www.ozon.ru/context/detail/id/2457392/ почитаю обязательно.
  • Nyaah

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

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

    там примеры на цпп, тебя это не пугает? =) могу залить куда-нить эл. версию
    Work, buy, consume, die
  • wats

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

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

    Кстати krasun, еще раз перечитал ваш пост со ссылками на книги и сложилось такое впечатление что вы их почитали, подумали "Да ну нахрен это все, лучше буду использовать готовое, в том то и сила ООП", и сейчас другим советуете почитать и сказать "Ну нахрен, сила ООП в том что бы использовать готовое" :D


    там примеры на цпп, тебя это не пугает? =) могу залить куда-нить эл. версию

    Извините, вы о чем?
    Спустя 117 сек.
    Nyaah, не, спасибо, на C++ я вовсе не осилю.
  • kostyl

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

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

    wats, а хороших книг про архитектуру, быструю разработку и т.п с ООП нет для php
    Спустя 39 сек.
    основое это С++ Java C#
    Спустя 50 сек.
    хотя это не должно влиять на восприятие читателем материала
  • wats

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

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

    kostyl, я уже понял что хороших книг нацеленных именно на ооп php5 нет, но на c++ я боюсь не осилю и еще больше запутаюсь, ведь сами языки все равно отличаются и к примеру php не поддерживает множественное наследование как c++.

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