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. Okula - 24 Января, 2012 - 23:51:41 - перейти к сообщению
Решил написать небольшой класс для обработки данных получаемых из формы.
в классе реализовал самые тривиальные задачи. Интересно узнать мнение гуру по поводу такой реализации Улыбка

Класс: файл escapehtml.php
Спойлер (Отобразить)


Применение класса:
Спойлер (Отобразить)

(Добавление)
Так же доступ к исходным данным из базы будет получаться напрямую к методам, так как они по умолчанию публичные.
2. Саныч - 25 Января, 2012 - 00:28:44 - перейти к сообщению
Один только вопрос: зачем? Зачем для банального экранирования, вырезания части строки и т.д. писать отдельный класс? Стандартных функций уже не достаточно?
3. Okula - 25 Января, 2012 - 00:49:21 - перейти к сообщению
Если задумываться над всем этим то тогда и смысла можно не найти в самом ООП.
Для чего использую - для уменьшения повторяющегося кода и для более лёгкой модификации в дальнейшем.

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

Тут как бы и раздел форума называется "Объектно-ориентированное программирование", поэтому вопрос "Зачем писать класс?" не совсем уместен. Не везде при фильтраци можно обойтись только стандартными функциями.
4. LIME - 25 Января, 2012 - 04:18:25 - перейти к сообщению
Okula ООП только радиООП
Okula пишет:
я лучше класс только отредактирую.
если вы хотите использовать ООП чтобы избежать повтора кода то надо так составлять классы чтобы их совсем не редактировать
Okula пишет:
public function strlen() {
ну можно забыть какието редкие ф-ции но strlen назвать кастомную ф-цию это както для вас странно
(Добавление)
не надо искать ООП
оно вас само найдет
это будет черный день в вашей программисткой жизни)))
5. Саныч - 25 Января, 2012 - 08:40:16 - перейти к сообщению
Okula пишет:
Если задумываться над всем этим то тогда и смысла можно не найти в самом ООП
Вопрос был совсем не об ООП, а конкретно о вашем коде. Вот я и спрашиваю, в чем его смысл? Ведь по сути вы банально дублируете стандартные mb_ функции.
Кстати, с появлением php 5.4 mb_ и вовсе не нужны.

LIME пишет:
не надо искать ООП
оно вас само найдет
+1 Улыбка
6. Мелкий - 25 Января, 2012 - 08:41:25 - перейти к сообщению
Что очень не нравится - метод display совершенно не соответствует своему названию.
И совершенно не понятно, зачем удаляется значение строки. К тому же, из-за этого получаем противоречие с документацией: написано, что возвращает string, а получаем вдруг null.

Почему бы не следовать, например, такому API:
PHP:
скопировать код в буфер обмена
  1. $result = $db->query("SELECT * FROM `table`");
  2. while($info = $result->fetch_object('EscapeHTML')) {
  3.     echo 'Имя: '.$info->nick.'<br/>Сообщение: '.$info->mess.'<br/><br/>'.$info->source(true)->show_this_value_as_is.' а здесь XSS вновь не пройдёт'.$info->keine_xss;
  4. }


Т.е., класс явно сделан для защиты от XSS в первую очередь, так почему бы не фильтровать значения по-умолчанию и явно задавать, когда нужен исходник?
7. armancho7777777 - 25 Января, 2012 - 09:06:16 - перейти к сообщению
LIME пишет:
не надо искать ООП
оно вас само найдет

+1 Превосходно
Год програмирую на PHP, а ООП пригодилось лишь один раз:
для написания собственного класса сессии Улыбка
8. Okula - 25 Января, 2012 - 11:19:45 - перейти к сообщению
Саныч пишет:
Кстати, с появлением php 5.4 mb_ и вовсе не нужны.

Это я знаю, но у меня на хосте пока только PHP 5.2 и я буду раб если 5.3 поставят, не говорю уже про 5.4
По поводу названия метода display() конечно можно было бы назвать getString() было бы более разумнее, но это мелочь.
9. Zuldek - 25 Января, 2012 - 11:38:53 - перейти к сообщению
Okula пишет:
По поводу названия метода display() конечно можно было бы назвать getString() было бы более разумнее, но это мелочь.

ох какая это не мелоч... . Разгребая сотни классов с методами типа sasha() без комментариев, хочется узнать где жил автор найти и убить.
10. Okula - 25 Января, 2012 - 11:55:10 - перейти к сообщению
Вот только не надо утрировать, у меня не так всё плохо с названием Радость
11. voskan - 07 Февраля, 2012 - 20:59:35 - перейти к сообщению
а я наоборот хочу изучить чтоб сайт на классах сделать так как оочень часто переписываю и код и дизайн сайта Улыбка поэтому чтоб не все страницы менять нужно какой то стандарт сделать, функциями многого не добьешься Улыбка

 

Powered by ExBB FM 1.0 RC1