За последние 24 часа нас посетили 34690 программистов и 1695 роботов. Сейчас ищут 892 программиста ...

Разделение функционала по составляющим MVC

Тема в разделе "Прочие вопросы по PHP", создана пользователем kostyl, 12 апр 2009.

  1. Ты может все таки определишься в своем мнении уже? С твоей точки зрения нужно моделям взаимодействовать или нет?
     
  2. alexey_baranov

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

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    может не быть никакого контролера. вот пример, где десятки моделей пляшут в хоровод и ни одного контролера. это настоящий файл, который запускается по крону каждую ночь на предприятии.

    файл cron_tumbit.php
    PHP:
    1. <?php
    2. require_once 'modell/User.php';
    3. require_once 'modell/TumbitXMLGenerator.php';
    4.  
    5. $user= new User();
    6. $generator= new TumbitXMLGenerator();
    7. $date= new DateEx();
    8. $date= $date->endOfDay();
    9.  
    10. $dc= new Date_Calc();
    11. $date0= new DateEx($dc->addMonths(-2, null, null, null));
    12.  
    13. $user->login('tumbitzayavki', '1234');
    14. $elem= $generator->get(new Object(24078), $date0, $date);
    15.  
    16. $user->logout();
    17. $filename = "upload/tumbit/Sis_zayavki.xml";
    18. $handle = fopen($filename, "w");
    19. fwrite($handle, $elem->asXML());
    20. fclose($handle);
    каждая из моделей, которую здесь можно различить (User, DateEx) использует другие классы, которые являются моделями для своих вьюшек и контролеров.
     
  3. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    А ты не думал, что этот файлик и является контроллером? Может это и не C из MVC, но тот факт что это контроллер очевиден.
     
  4. alexey_baranov

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

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    2флоппик
    все ответы есть. читай внимательнее. мне кажется что человек, который при помощи мвц пытается решать проблему ортогональности моделей мягко говоря не понимает для чего вообще нужен мвц.
     
  5. alexey_baranov

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

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    согласен, что это можно принять за некий воображаемый контролер.
     
  6. kostyl

    kostyl Guest

    Попробуй поменять модель...Например сохраняй как HTML Что в этом случае будет происходить с кодом?
     
  7. Только что прислали в аську. Оказалось на редкость актуально:
    Контроллер - это в первую очередь функционал управления. неважно, как он реализован.
     
  8. alexey_baranov

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

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    какую модель и что сохранять в HTML?
     
  9. kostyl

    kostyl Guest

    ну измени бизнес логику крона....
     
  10. kostyl

    kostyl Guest

    :)
     
  11. alexey_baranov

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

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    это невозможно, потому что класс SimpleXMLElement, который я использую для получения XMLя не умеет сохранять в HTML. Если бы такое понадобилось, пришлось бы написать некое отображение XML в HTML и поменять 19-ую строчку на asHTML().
     
  12. kostyl

    kostyl Guest

    ну вот допустим так - ты поменял модель, а остальное все контроллер...
     
  13. alexey_baranov

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

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    тебя не так-то просто понять. пиши развернутее.
     
  14. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    Ура! осталось уговорить, что
    PHP:
    1.  $handle = fopen($filename, "w");
    2.  fwrite($handle, $elem->asXML());
    3.  fclose($handle);
    это некое вооброжаемое представление))
     
  15. kostyl

    kostyl Guest

    контроллер
     
  16. alexey_baranov

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

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    2iliavlad
    Смысл понял, что- то от представления в этом есть. Но это не совсем представление. Под представлением чаще всего понимают какое- то графическое представление, то что можно потом увидеть глазами. А эта штука- это какой-то сэйвер. Сэйверы могут точно так же накидываться на модели как вьюшки и контроллеры, для того чтобы обеспечить независимость от источников хранения и форматов хранения. Во мною любимом PHPExcel как раз такие используются для того чтобы сохранить экселевский документ в одном из форматов Exel5, Exel2007, PDF или CSV. Там такие классы называются райтерами. А те, которые из файла загружают модель ридерами.