Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как получить имя дочернего класса внутри класса-родителя? [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (6): « 1 2 [3] 4 5 6 »   

> Без описания
sKaa
Отправлено: 29 Мая, 2012 - 15:16:24
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Контроллер кстати чуть более чем полностью не имеет отношения к "плагинатору". Алсо, что собственно такое сам "плагинатор" и чем он отличается от той-же модели я пока очень плохо понимаю...
 
 Top
Eazy-E
Отправлено: 29 Мая, 2012 - 15:26:33
Post Id



Гость


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2011  
Откуда: Анапа


Помог: 0 раз(а)




Вы правы, буду курить ООП и MVC до посинения Улыбка
etoYA, спасибо за очень дельный пример, многое стало понятно.


-----
Новое всегда пугает — даже того, кто это новое создает.
(RZA)
 
 Top
sKaa
Отправлено: 29 Мая, 2012 - 15:27:00
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Таки да, я начинаю понимать... Вся эта система ваших зеленых квадратиков, как правильно подметил Cabalero, замененных на классы очень сильно смахивает на несколько "апгрейженную" парадигму HMVC - Hierarchical model–view–controller... Хотя... Я по-прежнему не понимаю что такое "плагинатор"...
 
 Top
tato
Отправлено: 29 Мая, 2012 - 15:30:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011  
Откуда: Владивосток


Помог: 8 раз(а)




sKaa, если честно Я сам не понимаю нафиг он ему нужен, попытался из говна конфетку сделать.

Eazy-E, не обижайся только.


-----
просто ?: сложно
 
 Top
Eazy-E
Отправлено: 29 Мая, 2012 - 15:46:36
Post Id



Гость


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2011  
Откуда: Анапа


Помог: 0 раз(а)




sKaa, попытаюсь объяснить. Плагинатор служит как бы интерфейсом между Моделью и плагинами. Плагины в свою очередь имеют роли. Допустим, если у плагина роль 'MVC', то этот плагин будет работать с моделью класса 'MVC'. Далее. Если плагины с нужными ролями найдены, то им отсылаются (через Плагинатор) данные из модели. Плагины обрабатывают эти данные и отсылают их обратно в модель. Как бы это правильней объяснить... Получается некая "динамически расширяемая (за счет плагинов) Модель". Как-то так Улыбка

В общем даже не суть, Модель это, или контроллер или вьюшка и т.д. Правильнее будет сказать "динамически расширяемый метод класса". Но если уж мой костыль оказался действительно настолько не практичным, то давайте забудем про него.

(Отредактировано автором: 29 Мая, 2012 - 15:52:58)



-----
Новое всегда пугает — даже того, кто это новое создает.
(RZA)
 
 Top
etoYA
Отправлено: 29 Мая, 2012 - 15:58:16
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




sKaa пишет:
Контроллер кстати чуть более чем полностью не имеет отношения к "плагинатору". Алсо, что собственно такое сам "плагинатор" и чем он отличается от той-же модели я пока очень плохо понимаю...

Ну, я не совсем это имел ввиду, я про то, что контроллер получает запрос от пользователя, отправляет модели, и получает обратно, а во время этого можно делать все что угодно). Вот Хорошо
(Добавление)
sKaa пишет:
Я по-прежнему не понимаю что такое "плагинатор"...

Он так назвал класс для подключение других классов(плагинов), но имхо это роутер.

(Отредактировано автором: 29 Мая, 2012 - 15:59:47)

 
 Top
Eazy-E
Отправлено: 29 Мая, 2012 - 16:02:16
Post Id



Гость


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2011  
Откуда: Анапа


Помог: 0 раз(а)




etoYA, так и есть)


-----
Новое всегда пугает — даже того, кто это новое создает.
(RZA)
 
 Top
etoYA
Отправлено: 29 Мая, 2012 - 16:06:00
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Eazy-E, я дал пример, попробуй в него добавить что-то своё, и ты поймешь насколько это просто без всяких там "пагинаторов".

Вот тебе пример регистрации

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class UserController{
  3.         public actionSignup(){
  4.                 $view = new View;
  5.                 $user = new User;
  6.                 if (isset($_POST['submit'])){
  7.                         //и погнали проверки,
  8.                         //если нет ошибок, то вызываешь модель, которой в аргументах передашь данные из $_POST.
  9.                        
  10.                         // к примеру
  11.                         $user->signup($_POST['login'], $_POST['pass']);
  12.                 }
  13.                 FrontController::setLayout($view->render('login'));
  14.         }
  15. }
  16. ?>


А в модели выполняется сам запрос в базу.
 
 Top
Eazy-E
Отправлено: 29 Мая, 2012 - 16:28:16
Post Id



Гость


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2011  
Откуда: Анапа


Помог: 0 раз(а)




началось =(


-----
Новое всегда пугает — даже того, кто это новое создает.
(RZA)
 
 Top
Eazy-E
Отправлено: 29 Мая, 2012 - 16:42:11
Post Id



Гость


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2011  
Откуда: Анапа


Помог: 0 раз(а)




имеется класс Новости
имеется метод Добавления новости в базу:

PHP:
скопировать код в буфер обмена
  1. метод Добавить_Новость_В_Базу_Данных ($содержимое_новости) {
  2.  
  3. устанавливаем соединение с базой данных;
  4. добавляем $содержимое_новости в бд;
  5. // и до свидания
  6.  
  7. }


замечательно! однако одно маленькое упущение. Мы забыли отфильтровать содержимое новости от всяких запрещенных HTML кодов и т.д. Не гуд. Модифицируем метод

PHP:
скопировать код в буфер обмена
  1.  
  2. метод Добавить_Новость_В_Базу_Данных ($содержимое_новости) {
  3.  
  4. передаем $Имя_класса и $Имя метода в Роутер
  5. если найден хоть один плагин с такими параметрами;
  6. передаем $содержимое_новости через Роутер в плагин;
  7. получаем обработанное плагином $содержимое_новости;
  8. //дальше по плану
  9. устанавливаем соединение с базой данных;
  10. добавляем $содержимое_новости в бд;
  11. // и до свидания
  12.  
  13. }


Вот, собственно, что и хотел я реализовать. и MVC тут вообще не причем.


-----
Новое всегда пугает — даже того, кто это новое создает.
(RZA)
 
 Top
sKaa
Отправлено: 29 Мая, 2012 - 16:48:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Eazy-E, опять всё печально... Особенно вот это :
Цитата:
передаем $содержимое_новости через Роутер в плагин;


На хабре полно старых статей про MVC, почитайте хоть чтоли раз не понимаете ничерта
Вот например, там много хлама, но для новичка вполне сойдет :
http://habrahabr[dot]ru/post/31270/
 
 Top
Eazy-E
Отправлено: 29 Мая, 2012 - 16:50:58
Post Id



Гость


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2011  
Откуда: Анапа


Помог: 0 раз(а)




sKaa, да я уже понял, что мой костыль - это бред) просто показалось что кто-то что-то не понял, вот и решил объяснить на пальцах)


-----
Новое всегда пугает — даже того, кто это новое создает.
(RZA)
 
 Top
caballero
Отправлено: 29 Мая, 2012 - 17:05:20
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Вот, собственно, что и хотел я реализовать. и MVC тут вообще не причем.

то есть типа хуков как в Друпале.
Еще неизвестно что хуже MVC или хуки.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Eazy-E
Отправлено: 29 Мая, 2012 - 20:11:08
Post Id



Гость


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2011  
Откуда: Анапа


Помог: 0 раз(а)




caballero, то есть? Я не знаю что там за хуки в Друпале. А понимание MVC уже по немножку приходит.


-----
Новое всегда пугает — даже того, кто это новое создает.
(RZA)
 
 Top
etoYA
Отправлено: 29 Мая, 2012 - 22:38:38
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Eazy-E, для понимания советую прочитать несколько статей про MVC и посмотреть курс от Специалиста про MVC, для понимания хватит, а остальное дело практики Подмигивание
 
 Top
Страниц (6): « 1 2 [3] 4 5 6 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB