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 :: Урок №19 - Немного о паттернах [2]

 PHP.SU

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


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

> Описание: Архитектура MVC своими руками.
evgenijj
Отправлено: 03 Мая, 2011 - 23:18:56
Post Id



Участник


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


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




Alex_pac пишет:
нет того что критиковать. Всем банально лень собирать ваш пазл, пусть даже на выходе будет что то гениальное и интересное.

Предложите свое - что-то, что будет не лень собрать. А уж будет гениальное, или так себе - посмотрим.

P.S. Всегда меня "умиляла" критика без ответа. Можешь сделать лучше - мы ждем Улыбка
 
 Top
AdMeen
Отправлено: 13 Мая, 2011 - 09:55:31
Post Id



Посетитель


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


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




EuGen, молодец. Имхо, урок, он на то и урок, чтобы учить, а не давать готовое решение.
 
 Top
vlom
Отправлено: 26 Августа, 2011 - 17:31:56
Post Id



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


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


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




Только что пытался разобраться с данным уроком,
и ни как не могу добиться где определяется значение
переменной $routes в классе Router,
кто разобрался подскажите, или может автор)))

(Отредактировано автором: 26 Августа, 2011 - 17:32:59)

 
 Top
EuGen Администратор
Отправлено: 26 Августа, 2011 - 19:26:43
Post Id


Профессионал


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


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




Конечно. Определяется при создании в методе _load_defaults
Цитата:
PHP:
скопировать код в буфер обмена
  1. function __construct()
  2.     {
  3.         $this->_load_defaults();
  4.     }

Задача кстати есть к уроку - сделать это настраиваемым.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
vlom
Отправлено: 27 Августа, 2011 - 21:46:07
Post Id



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


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


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




опять проблемка возникла
Warning: include(D:\sites\coding\web\views\.phtml) [function.include]: failed to open stream: No such file or directory in D:\sites\coding\Lib\View\Base.php on line 10
я так понимаю не передается переменная $template функции _fetch_segment()
 
 Top
EuGen Администратор
Отправлено: 27 Августа, 2011 - 21:50:36
Post Id


Профессионал


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


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




Покажите код, в котором происходит отрисовка шаблона - возможно, ошибка там (имеется ввиду вызов метода render)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
vlom
Отправлено: 27 Августа, 2011 - 22:00:20
Post Id



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


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


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




как в уроке
PHP:
скопировать код в буфер обмена
  1.     function showAction($url = NULL){
  2.         if(!$this->currentUser){
  3.             //$this->redirect('/test/auth');
  4.         }
  5.         $rgPages = $this->dbInstsnce->select('sume_table', array('id', 'name'));
  6.         if(!$rgPages){
  7.             $rgPages = array();
  8.         }
  9.         $this->view->rgPages = $rgPages;
  10.         $this->view->render('showview');
  11.     }

(Добавление)
класс Controller_Test
 
 Top
vlom
Отправлено: 29 Августа, 2011 - 08:27:12
Post Id



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


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


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




Аууу, может кто поможет???
 
 Top
EuGen Администратор
Отправлено: 29 Августа, 2011 - 09:06:35
Post Id


Профессионал


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


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




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


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
vlom
Отправлено: 29 Августа, 2011 - 09:38:53
Post Id



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


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


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




Нашел ошибку))))) прошу прощения что парил тут вам мозги
В классе View_Base в методе _fetch_segment не правильное имя переменной было
В теле функции написал $templates а в аргументах $template
(Добавление)
Только странно а разве не должно было вывести варнинг??? Что такая переменная не определена
 
 Top
EuGen Администратор
Отправлено: 29 Августа, 2011 - 09:42:44
Post Id


Профессионал


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


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




Предупреждение будет выдано только при вызове соответствующего метода.
Вы можете даже делать ошибки времени выполнения (например, вызов несуществующей функции) в методах - если Вы их не вызовете, ничего плохого не произойдет. То же относится и к функциям.
(Добавление)
vlom пишет:
$this->dbInstsnce

Еще одна ошибка опять же.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
vlom
Отправлено: 29 Августа, 2011 - 09:48:55
Post Id



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


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


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




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


Это то понятно, но в данном случае ведь происходит вызов функции _fetch_segment
и следовательно должна вызываться переменная, или просто я все ни как не могу разобраться
с принципом работы данной сземы, а это действительно так...
 
 Top
askaridze
Отправлено: 12 Сентября, 2011 - 12:11:23
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Сент. 2011  
Откуда: Казахстан, Алматы


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




Привет.
Есть вопросы по данному коду:
зачем используются функции, которые вызываются только один раз, и только внутри одного класса? Неужели их нельзя было объеденить? Зачем плодить много функций, морочить голову людям когда можно более облегченный вариант использовать?

Статья хорошо даёт понять как работает MVC, хотя до сих пор для меня немного сложно, надо по больше практиковать, но ИМХО никто не будет так, как я разбираться в этом, потому что многие хотят понять что такое MVC не ломая голову, на других сайтах я встречал много примеров, они легко описаны, но чаще там не чистый PHP а с использованием фрэймворков, которых я пока не знаю, а тут то что нужно, но пока разобрался, не мало времени прошло. Я думаю что можно это было сделать намного легче и понятнее, сделать так, чтобы тот, кто хочет понять MVC быстро понял и освоил, и начал реализовывать свой пример а не париться пытаясь разобраться в этой статье.

Спасибо что выложили такой урок, надеюсь претензии будут только во благо. Конечно же я много чего взял из этого урока, не только понял как правильно реализовать MVC но и узнал новые функции, как и где их можно использовать.
 
 Top
EuGen Администратор
Отправлено: 13 Сентября, 2011 - 09:07:19
Post Id


Профессионал


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


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




askaridze пишет:
Зачем плодить много функций, морочить голову людям когда можно более облегченный вариант использовать?

Думаю, что посмотрев еще более внимательно и посмотрев в сторону таких понятий, как масштабируемость, удобность использования (т.н. "юзабилити кода"), переносимось - Вы пересмотрите свой подход к использованию методов в классах.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
KoCTuK
Отправлено: 09 Ноября, 2011 - 16:24:14
Post Id


Новичок


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


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




классный урок помог спс


-----
http://koctuk[dot]ru/ шаблоны dle
 
 Top
Страниц (7): « 1 [2] 3 4 5 6 7 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Уроки php »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB