PHP.SU

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


 Страниц (1): [1]   

> Без описания
petr
Отправлено: 12 Февраля, 2013 - 12:14:38
Post Id


Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Нояб. 2012  


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




Здравствуйте.
Пишу приложение на php, используя ооп и mvc.
Правильно ли использовать следеющую архитектуру?
Если не правильно, то что и как сделать лучше?
Расскажу на примере вывода меню.

Модель:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  require_once '../config/db.php';
  3.  
  4.  class Mmenu extends Db{
  5.      public function return_menu(){
  6.          $sql="SELECT id, menu_name FROM pages";
  7.          $res=$this->sql($sql);
  8.          return $res;
  9.      }
  10.  }


Контроллер:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once '../models/mmenu.php';
  3.  
  4. class Cmenu extends Mmenu{
  5.     public function print_menu(){
  6.         $res=$this->return_menu();
  7.         while($row=mysql_fetch_assoc($res)){
  8.             $mname[$row['id']]=$row['menu_name'];
  9.         }
  10.         return $mname;
  11.     }
  12. }
  13. $aux_vmenu=new Cmenu();
  14. $vmenu=$aux_vmenu->print_menu();
  15.  

Вид:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once '../controllers/cmenu.php';
  3.  
  4. echo "<ul>";
  5. foreach($vmenu as $uri=>$link){
  6.     echo "<li><a href='?id=".$uri."'>".$link."</a></li>";
  7. }
  8. echo "</ul>";


Спасибо
 
 Top
DeepVarvar Супермодератор
Отправлено: 12 Февраля, 2013 - 12:54:43
Post Id



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


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


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




petr пишет:
Правильно ли использовать следеющую архитектуру?
Если не правильно, то что и как сделать лучше?
Негатива нет, есть то, что вижу снова одно и то же..
Все у вас тут - бред.
Контроллер не может наследоваться от модели.
Модель не может наследоваться от "бидэ".
Смысл тогда? Почему бы не вызвать запрос прям в контроллере? Он же унаследовался от "биде" тоже, через посредника "мамдель".

А это что такое:
petr пишет:
$res=$this->return_menu();
while($row=mysql_fetch_assoc($res)){
$mname[$row['id']]=$row['menu_name'];
}
??? Где хваленый "третий кит" ИНКАПСУЛЯЦИЯ?

Давайте вы чутка повремените с ООП.
Вернитесь пока к процедурке.
И вот тут почитайте: http://forum.php.su/topic.php?forum=33&topic=793 Закатив глазки
 
 Top
sKaa
Отправлено: 12 Февраля, 2013 - 13:43:31
Post Id



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


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


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

[+]


Всё ооп сводится, у начинающих, к тому, что они обычный процедурный стиль заворачивают внутрь пресловутого "class"...
 
 Top
DelphinPRO
Отправлено: 12 Февраля, 2013 - 15:16:03
Post Id



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


Покинул форум
Сообщений всего: 7191
Дата рег-ции: Февр. 2012  


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




petr пишет:
Правильно ли использовать следеющую архитектуру?

Где здесь "архитектура"?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 12 Февраля, 2013 - 15:19:50
Post Id


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


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


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




Цитата:
Пишу приложение на php, используя ооп и mvc.
Правильно ли использовать следеющую архитектуру?

паттерн MVC уже определяет архитектуру, независимо от того правильно это или нет.
Не очень толко понятно это архитектура чего? Архитектупа "вообще" как то представляется с трудом.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB