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
Форумы портала PHP.SU :: Версия для печати :: Ограничение по вызовам методов
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Ограничение по вызовам методов

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

1. pan_ili_propal - 07 Августа, 2014 - 09:31:13 - перейти к сообщению
Здравствуйте многоуважаемые пользователи!

Я пишу (практики ради) что-то вроде велосипеда, а именно: простенький шаблон проектирования 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.  
2. Мелкий - 07 Августа, 2014 - 09:40:55 - перейти к сообщению
pan_ili_propal пишет:
Дело в том, что название метода будет передаваться GETом и поэтому вызываться должны только методы класса registration

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

Классика жанра подавляющего числа фреймворков - метод, вызываемый роутером, имеет чётко определённый формат. Вроде обязательного префикса action_. Роутер добавляет префикс к имени желаемого действия и спрашивает method_exists.
Так и читать удобнее - сразу видно, какие методы представляют собой страницы, а какие - просто методы класса.
3. pan_ili_propal - 07 Августа, 2014 - 09:47:02 - перейти к сообщению
Мелкий пишет:
метод, вызываемый роутером, имеет чётко определённый формат. Вроде обязательного префикса action_.

Я просто думал, что есть что-то покрасивее и о префиксах я думал, но такое чувство, что это что-то не то.

 

Powered by ExBB FM 1.0 RC1