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 :: Класс для обработки данных из базы
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Решил написать небольшой класс для обработки данных получаемых из формы.
в классе реализовал самые тривиальные задачи. Интересно узнать мнение гуру по поводу такой реализации
(Добавление)
Так же доступ к исходным данным из базы будет получаться напрямую к методам, так как они по умолчанию публичные.
Саныч
Отправлено: 25 Января, 2012 - 00:28:44
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
Один только вопрос: зачем? Зачем для банального экранирования, вырезания части строки и т.д. писать отдельный класс? Стандартных функций уже не достаточно?
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
Okula
Отправлено: 25 Января, 2012 - 00:49:21
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Если задумываться над всем этим то тогда и смысла можно не найти в самом ООП.
Для чего использую - для уменьшения повторяющегося кода и для более лёгкой модификации в дальнейшем.
Допустим мне нужно будет прикрутить смайлы и бб-коды к сообщениям, в некоторых случаях, что ж я буду весь код чтоли редачить, я лучше класс только отредактирую.
Тут как бы и раздел форума называется "Объектно-ориентированное программирование", поэтому вопрос "Зачем писать класс?" не совсем уместен. Не везде при фильтраци можно обойтись только стандартными функциями.
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Okula ООП только радиООП
Okula пишет:
я лучше класс только отредактирую.
если вы хотите использовать ООП чтобы избежать повтора кода то надо так составлять классы чтобы их совсем не редактировать
Okula пишет:
public function strlen() {
ну можно забыть какието редкие ф-ции но strlen назвать кастомную ф-цию это както для вас странно (Добавление)
не надо искать ООП
оно вас само найдет
это будет черный день в вашей программисткой жизни)))
Саныч
Отправлено: 25 Января, 2012 - 08:40:16
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
Okula пишет:
Если задумываться над всем этим то тогда и смысла можно не найти в самом ООП
Вопрос был совсем не об ООП, а конкретно о вашем коде. Вот я и спрашиваю, в чем его смысл? Ведь по сути вы банально дублируете стандартные mb_ функции.
Кстати, с появлением php 5.4 mb_ и вовсе не нужны.
LIME пишет:
не надо искать ООП
оно вас само найдет
+1
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
Мелкий
Отправлено: 25 Января, 2012 - 08:41:25
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Что очень не нравится - метод display совершенно не соответствует своему названию.
И совершенно не понятно, зачем удаляется значение строки. К тому же, из-за этого получаем противоречие с документацией: написано, что возвращает string, а получаем вдруг null.
echo'Имя: '.$info->nick.'<br/>Сообщение: '.$info->mess.'<br/><br/>'.$info->source(true)->show_this_value_as_is.' а здесь XSS вновь не пройдёт'.$info->keine_xss;
}
Т.е., класс явно сделан для защиты от XSS в первую очередь, так почему бы не фильтровать значения по-умолчанию и явно задавать, когда нужен исходник?
----- PostgreSQL DBA
armancho7777777
Отправлено: 25 Января, 2012 - 09:06:16
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
LIME пишет:
не надо искать ООП
оно вас само найдет
+1
Год програмирую на PHP, а ООП пригодилось лишь один раз:
для написания собственного класса сессии
Okula
Отправлено: 25 Января, 2012 - 11:19:45
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Саныч пишет:
Кстати, с появлением php 5.4 mb_ и вовсе не нужны.
Это я знаю, но у меня на хосте пока только PHP 5.2 и я буду раб если 5.3 поставят, не говорю уже про 5.4
По поводу названия метода display() конечно можно было бы назвать getString() было бы более разумнее, но это мелочь.
Zuldek
Отправлено: 25 Января, 2012 - 11:38:53
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Okula пишет:
По поводу названия метода display() конечно можно было бы назвать getString() было бы более разумнее, но это мелочь.
ох какая это не мелоч... . Разгребая сотни классов с методами типа sasha() без комментариев, хочется узнать где жил автор найти и убить.
Okula
Отправлено: 25 Января, 2012 - 11:55:10
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Вот только не надо утрировать, у меня не так всё плохо с названием
voskan
Отправлено: 07 Февраля, 2012 - 20:59:35
Посетитель
Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
а я наоборот хочу изучить чтоб сайт на классах сделать так как оочень часто переписываю и код и дизайн сайта поэтому чтоб не все страницы менять нужно какой то стандарт сделать, функциями многого не добьешься
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.