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 :: Ограничение по вызовам методов

 PHP.SU

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


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

> Без описания
pan_ili_propal
Отправлено: 07 Августа, 2014 - 09:31:13
Post Id


Новичок


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


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




Здравствуйте многоуважаемые пользователи!

Я пишу (практики ради) что-то вроде велосипеда, а именно: простенький шаблон проектирования MVC, так вот я столкнулся с проблемкой, смотрите ниже:

PHP:
скопировать код в буфер обмена
  1.  
  2. //Класс registration получает свойства и методы класса controller который имеет свои собственные методы и свойства, некоторые методы у него public, а некоторые private
  3. class registration extends controller
  4. {
  5.         function __construct() {
  6.                 parent::__construct();
  7.         }
  8.  
  9.         public function index()
  10.         {
  11.           //Здесь произвольный код PHP
  12.         }
  13. }
  14.  
  15. //Как сделать так, чтобы при вызове объекта registration я мог обращаться только к методам класса registration, но не унаследованным методам класса контроллер? Дело в том, что название метода будет передаваться GETом и поэтому вызываться должны только методы класса registration
  16.  
  17.  
 
 Top
Мелкий Супермодератор
Отправлено: 07 Августа, 2014 - 09:40:55
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




pan_ili_propal пишет:
Дело в том, что название метода будет передаваться GETом и поэтому вызываться должны только методы класса registration

И в чём проблема?

Классика жанра подавляющего числа фреймворков - метод, вызываемый роутером, имеет чётко определённый формат. Вроде обязательного префикса action_. Роутер добавляет префикс к имени желаемого действия и спрашивает method_exists.
Так и читать удобнее - сразу видно, какие методы представляют собой страницы, а какие - просто методы класса.


-----
PostgreSQL DBA
 
 Top
pan_ili_propal
Отправлено: 07 Августа, 2014 - 09:47:02
Post Id


Новичок


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


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




Мелкий пишет:
метод, вызываемый роутером, имеет чётко определённый формат. Вроде обязательного префикса action_.

Я просто думал, что есть что-то покрасивее и о префиксах я думал, но такое чувство, что это что-то не то.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB