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. etoYA - 07 Июня, 2012 - 15:27:14 - перейти к сообщению
Есть класс для обработки ошибок. Как лучше будет его использовать?

Сделать его методы статическими и вызывать?
PHP:
скопировать код в буфер обмена
  1. Validate::Error('ошибка');


Или наследовать его, сделать методы protected и вызывать
2. caballero - 07 Июня, 2012 - 16:06:30 - перейти к сообщению
и зачем тут наследование
3. etoYA - 07 Июня, 2012 - 16:44:13 - перейти к сообщению
caballero, вот и спрашиваюУлыбка

Значит статика Закатив глазки
4. caballero - 07 Июня, 2012 - 17:11:58 - перейти к сообщению
Цитата:
caballero, вот и спрашиваю

а на основании чего ты спрашиваешь?
кинул монетку и выпало наследование?
5. etoYA - 07 Июня, 2012 - 17:35:34 - перейти к сообщению
caballero, на основании темы, которая была ранее.. Мне этот вариант с валидацией в отдельном классе подсказал sKaa, а у него было там именно наследование. Я немного засомневался нужно ли оно тут, вот и решил спросить.
6. sKaa - 07 Июня, 2012 - 18:11:24 - перейти к сообщению
etoYA, я тебе никаких валидаторов в аргументы которых нужно тексты ошибок писать не показывал.
(Добавление)
etoYA, использование констант в классе в качестве текста для ошибок вместо твоих
echo 'Слишком короткие логин или пароль /r/n'; - вот о чем шла речь.
Использовать некий класс валидатор я уж не знаю, то ли это твоя фантазия, то ли кто-то другой насоветовал...
7. caballero - 07 Июня, 2012 - 18:38:22 - перейти к сообщению
etoYA пишет:
caballero, на основании темы, которая была ранее.. Мне этот вариант с валидацией в отдельном классе подсказал sKaa, а у него было там именно наследование. Я немного засомневался нужно ли оно тут, вот и решил спросить.

Неважно что у кого было.
У тебя есть задача и несколько вариантов решения.
Если хочешь научится програмировать ты должен не на форум идти
спрашивать что лучше и получать абстрактные ответы а взять эти варианты и примерить к своей задаче и посмотреть какие преимущества того или иного решения, что оно даст оправданы ли преимущества усложнением кода.
В некоторых случаях может и наследование пригодиться. Например, есть базовый класс валидаторов который собирает ошибки в красивую красную рамку. А метод проверки ошибок переопределяется в дочерних конкретных валидаторах в зависимости от того чего валидируется. Или достаточно объявить интерфейс и имплементить его классами валидаторами чтобы они ьыли однообразными. Или обычный клас с парой статических функций поскольку в HTML5 большинство проверок будет делатся браузером по атрибутам полей формы и валиаторы типа email и пустых полей нафиг не будут нужны.
8. sKaa - 07 Июня, 2012 - 18:43:19 - перейти к сообщению
caballero пишет:
и валиаторы типа email и пустых полей нафиг не будут нужны.

Я бы не спешил их списывать со счетов )) Можно и без браузера всё отправлять и принимать...
9. etoYA - 07 Июня, 2012 - 19:13:48 - перейти к сообщению
caballero пишет:
Если хочешь научится програмировать ты должен не на форум идти
спрашивать что лучше и получать абстрактные ответы


А ты думаешь я не пробовал? Я всегда пробую раздуплится самому, перед тем как спросить
(Добавление)
sKaa, я про
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class Validate{
  4.         private static $errors = array();
  5.        
  6.         public static function hasError(){
  7.                 return sizeof(self::errors) ? true : false;
  8.         }
  9.         public static function getErrors(){
  10.                 return self::errors;
  11.         }
  12.         public static function Error($msg){
  13.                 self::errors[] = $msg;
  14.         }
  15. }
  16. ?>
  17.  


только этот немного переделаный
10. sKaa - 07 Июня, 2012 - 20:06:07 - перейти к сообщению
etoYA, ну так я тут ничего не валидировал, и логика у него другая абсолютно была. Он собирал ошибки и сообщения, а потом мог вывести их по требованию в шаблон дабы класс куда попало не плевался ошибками.. Но никак не :
etoYA пишет:
Мне этот вариант с валидацией в отдельном классе подсказал sKaa, а у него было там именно наследование.
11. etoYA - 07 Июня, 2012 - 21:41:04 - перейти к сообщению
sKaa, ну я же сказал подсказал
ладно, все, хватит флейма, я уже понял что к чему
12. NickSevenfold - 11 Июля, 2012 - 14:50:57 - перейти к сообщению
Что лучше красное или сладкое?!

 

Powered by ExBB FM 1.0 RC1