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

непонятки с ООП

  • NRG

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

    Spritz 21 января 2010 г. 16:40, спустя 1 минуту 2 секунды

    kostyl,
    1) причем тут ОРМ ???????
    2) поверь, не только у меня…
    3) метод должен отвечать на вопрос "что сделать?"
    4) дело не в том "кому как надо", а как правилльнее, а то комуто вообще поприколу будет тупо в $_REQUEST лазить…
  • mario

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

    Spritz 21 января 2010 г. 16:41, спустя 1 минуту 28 секунд


    так с мвц разобрались по ходу.

    что дальше ?  =)
    в итоге тему надо было назвать как "непонятки с мвц"   =)
    а дальше самое интересное… :) с мвц и так бы дошел… покрайне мере где то была тема про мвц и там кто-то говорил что он тоже модель использует как средство для вытаскивание данных и контроллер для "расчетов"…
    Теперь я пробую спроекцировать класс Page на шаблон mvc, вначале если честно я не так сильно планировал использовать mvc для этого класса. А хотел написать класс "ящик пандоры" или как там… К которому бы я обратился бы, он мне бы и страницу отдал, и параметры страницы по отдельности отдал… И создал,отредактировал новую…. Думаю дальше…
  • NRG

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

    Spritz 21 января 2010 г. 16:43, спустя 1 минуту 6 секунд


    mario
    хуевая диаграмм, запутанная и всё такое. Там должно быт просто три квадрата и стрелочки которые показывают направления возможных обращений и писец…
    в даном случае "четвертый квадрат" это клиент, собствено "то" что шлет на приложение запросы, и на картинке показано, что запросы принимает контроллер
  • kostyl

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

    Spritz 21 января 2010 г. 16:45, спустя 2 минуты 55 секунд

    1) Просто так, если у меня сайт в котором только пользователи регистрируются и все то нахер мне ута байда..
    2) Ну и не у всех
    3) Не должен, он статический
    4) а как правильнее, кто сказал что так как ты сказал правильнее, чем докажешь?
  • Givi

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

    Spritz 21 января 2010 г. 16:46, спустя 22 секунды

    mario, не буду лезть в дебри МВЦ, но относительно первых постояв скажу примерно следующее:
    если хочешь, чтоб какой-то из методов был доступен другим, и ты знаешь, что он будет часто использоватся другими (разными другими) классами, то сделай проще - создай основной класс с набором частоиспользуемых методов. А классы, которые имеют специфику (например, класс страницы, блога, каталога) делай с наследованием главного класса. Тогда методы главного класса будут доступны в нужном тебе классе (тот же Page), но только в самом классе Page уже не нужно будет повторять одинаковые методы, и не нужно будет вызывать два класса (главный + Page), пытаясь не запутаться к какому объекту какой метод принадлежит + не нужно будет думать относительно доступа извне, потому как все методы будут доступны только внутри класса, что, в какой-то мере, повышает безопасность данных.

    п.с. Все это моё понимание ООП, которое пока тоже слабое.
  • NRG

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

    Spritz 21 января 2010 г. 16:52, спустя 5 минут 47 секунд


    1) Просто так, если у меня сайт в котором только пользователи регистрируются и все то нахер мне ута байда..
    2) Ну и не у всех
    3) Не должен, он статический
    4) а как правильнее, кто сказал что так как ты сказал правильнее, чем докажешь?
    1) я так и не услышал каким боком там вылезла ОРМ…
    2) скажем так, у всех нормальных
    3) о_О , т.е. потому что он статический то мы его как метод не расцениваем ????
    4) что за детский сад ? тут речь изначально шла о ООП (это мы потом переехали на мвц), в ооп не особо принято чтоб тупо из модулей ломится в глобальные массивы
  • mario

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

    Spritz 21 января 2010 г. 16:56, спустя 4 минуты 24 секунды


    mario, не буду лезть в дебри МВЦ, но относительно первых постояв скажу примерно следующее:
    если хочешь, чтоб какой-то из методов был доступен другим, и ты знаешь, что он будет часто использоватся другими (разными другими) классами, то сделай проще - создай основной класс с набором частоиспользуемых методов. А классы, которые имеют специфику (например, класс страницы, блога, каталога) делай с наследованием главного класса. Тогда методы главного класса будут доступны в нужном тебе классе (тот же Page), но только в самом классе Page уже не нужно будет повторять одинаковые методы, и не нужно будет вызывать два класса (главный + Page), пытаясь не запутаться к какому объекту какой метод принадлежит + не нужно будет думать относительно доступа извне, потому как все методы будут доступны только внутри класса, что, в какой-то мере, повышает безопасность данных.

    п.с. Все это моё понимание ООП, которое пока тоже слабое.
    класс page как бы и собирается быть главным. Ведь суть сайта это страницы…
    Отдельно стоящих классов типа блог, форум нету. Они есть, но они вызываются не из реквеста, а по требыванию класса page.
    Т.е. Вот есть у нас страница, для страницы указано 4 блока + главный блок. 1 блок - Текст, 2 блок - Лента новостей, 3 блок - поле авторизации/о пользователе, 4 блок - Что то еще. Главный блок - это такой блок, на котором страница позиционируется как страница модуля, т.е. Главным блоком является модуль "Новости", адресс этой страницы /about/news вот от этой страницы и дальше будут строятся все пути модуля Новости. Т.е. если мы вызываем на другой странице модуль Новости с параметром "Лента новостей", то ссылки на новости будут передаваться на страницу с главным модулем новости. И так далее…
    Суть понятна?
  • kostyl

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

    Spritz 21 января 2010 г. 16:59, спустя 2 минуты 32 секунды

    Givi, mario
    читаем Макконнелла бля и не тратим время
    1) Так инстанцировать может ОРМ, маппер бля..
    2) Это ты не прав, я нормальный, а против венгров и т.п ничего не имею
    3) Мы его расцениваем как хотим, а я ответил так же как ты аргументировал. Я хочу назвать метод без приставок. Мне нельзя?
    4) Писец, понасмотрелся всяких примеров аля ZF и прочих и думаешь, что это постулаты. Писать надо так чтобы тебе в первую очередь было удобно (если ты как бы сам пишешь), а не как все. Развивайся, нельзя так рано принимать какие-то "вымышленные" постулаты
  • mario

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

    Spritz 21 января 2010 г. 17:04, спустя 5 минут 16 секунд

    kostyl, NRG работает в Zend, это по поводу четвертого пункта. {+++38+++} что именно читать у Макконнелла {+++141+++}


    mario, не буду лезть в дебри МВЦ, но относительно первых постояв скажу примерно следующее:
    если хочешь, чтоб какой-то из методов был доступен другим, и ты знаешь, что он будет часто использоватся другими (разными другими) классами, то сделай проще - создай основной класс с набором частоиспользуемых методов. А классы, которые имеют специфику (например, класс страницы, блога, каталога) делай с наследованием главного класса. Тогда методы главного класса будут доступны в нужном тебе классе (тот же Page), но только в самом классе Page уже не нужно будет повторять одинаковые методы, и не нужно будет вызывать два класса (главный + Page), пытаясь не запутаться к какому объекту какой метод принадлежит + не нужно будет думать относительно доступа извне, потому как все методы будут доступны только внутри класса, что, в какой-то мере, повышает безопасность данных.

    п.с. Все это моё понимание ООП, которое пока тоже слабое.
    класс page как бы и собирается быть главным. Ведь суть сайта это страницы…
    Отдельно стоящих классов типа блог, форум нету. Они есть, но они вызываются не из реквеста, а по требыванию класса page.
    Т.е. Вот есть у нас страница, для страницы указано 4 блока + главный блок. 1 блок - Текст, 2 блок - Лента новостей, 3 блок - поле авторизации/о пользователе, 4 блок - Что то еще. Главный блок - это такой блок, на котором страница позиционируется как страница модуля, т.е. Главным блоком является модуль "Новости", адресс этой страницы /about/news вот от этой страницы и дальше будут строятся все пути модуля Новости. Т.е. если мы вызываем на другой странице модуль Новости с параметром "Лента новостей", то ссылки на новости будут передаваться на страницу с главным модулем новости. И так далее…
    Суть понятна?
    и например метод setPageTitle нужен для того что бы если эта страница с блогом, то тайтл говорил нам что это блог… или тайтл был названием поста в блоге. И прочее…
  • kostyl

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

    Spritz 21 января 2010 г. 17:06, спустя 2 минуты 42 секунды


    kostyl, NRG работает в Zend, это по поводу четвертого пункта. {+++38+++} что именно читать у Макконнелла {+++141+++}


    "Совершенный код" надо бы..
    Против Zend ничего не имею
  • NRG

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

    Spritz 21 января 2010 г. 17:10, спустя 3 минуты 15 секунд


    Givi, mario
    читаем Макконнелла бля и не тратим время
    1) Так инстанцировать может ОРМ, маппер бля..
    2) Это ты не прав, я нормальный, а против венгров и т.п ничего не имею
    3) Мы его расцениваем как хотим, а я ответил так же как ты аргументировал. Я хочу назвать метод без приставок. Мне нельзя?
    4) Писец, понасмотрелся всяких примеров аля ZF и прочих и думаешь, что это постулаты. Писать надо так чтобы тебе в первую очередь было удобно (если ты как бы сам пишешь), а не как все. Развивайся, нельзя так рано принимать какие-то "вымышленные" постулаты

    1) О_О, а маппер тут каким хуем ??????
    2) нас рассудит пыхо сообщество  (оставим это им)  =)
    3) называй как хочешь, я сделал свои замечания, причем по делу, а ты делай с эти что хочешь.
    4) ну начнем с того парочку "всяких примеров" я сам написал.
    поверь, то что я написал - это действительно удобно (и правильнее)
    ну а относительно "развивайся", то по идее это должно было звучать от меня в твою сторону. {+++185+++} kostyl, ничего личного, но ты мне киберспорта напоминаешь чемто…
  • mario

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

    Spritz 21 января 2010 г. 17:10, спустя 35 секунд

    NRG, тактичный бля! :) {+++24+++} еще и киберспорта вспомнили :)
  • NRG

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

    Spritz 21 января 2010 г. 17:13, спустя 2 минуты 54 секунды


    NRG, тактичный бля! :) {+++24+++} еще и киберспорта вспомнили :)
    я его не забуду, он же многопоточен =)))
  • mario

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

    Spritz 21 января 2010 г. 17:13, спустя 23 часа 59 минут 31 секунду



    NRG, тактичный бля! :) {+++24+++} еще и киберспорта вспомнили :)
    я его не забуду =)))
    киберспорт ты кавбой! :DDD
  • kostyl

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

    Spritz 21 января 2010 г. 17:13, спустя 22 секунды


    1) О_О, а маппер тут каким хуем ??????
    2) нас рассудит пыхо сообщество  (оставим это им)  =)
    3) называй как хочешь, я сделал свои замечания, причем по делу, а ты делай с эти что хочешь.
    4) ну начнем с того парочку "всяких примеров" я сам написал.
    поверь, то что я написал - это действительно удобно (и правильнее)
    ну а относительно "развивайся", то по идее это должно было звучать от меня в твою сторону.

    1) Ты уже начинаешь задавать вопросы на свои вопросы. Сравни. Еще могу сюда добавить, что это пример.
    2) что то никто не рассуждает ))
    3) с этим порешали? ))
    4) должно звучать от тебя, но звучит от меня. Ну ты не обижайся, я понял всё о чем ты говоришь, просто я высказал некоторую свою точку зрения.

    5) йоу, а кто есть кибер паспорт?

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