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]   

> Описание: для mysqli
Okula
Отправлено: 24 Января, 2012 - 23:51:41
Post Id



Участник


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


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




Решил написать небольшой класс для обработки данных получаемых из формы.
в классе реализовал самые тривиальные задачи. Интересно узнать мнение гуру по поводу такой реализации Улыбка

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


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

(Добавление)
Так же доступ к исходным данным из базы будет получаться напрямую к методам, так как они по умолчанию публичные.
 
 Top
Саныч Модератор
Отправлено: 25 Января, 2012 - 00:28:44
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


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




Один только вопрос: зачем? Зачем для банального экранирования, вырезания части строки и т.д. писать отдельный класс? Стандартных функций уже не достаточно?


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Okula
Отправлено: 25 Января, 2012 - 00:49:21
Post Id



Участник


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


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




Если задумываться над всем этим то тогда и смысла можно не найти в самом ООП.
Для чего использую - для уменьшения повторяющегося кода и для более лёгкой модификации в дальнейшем.

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

Тут как бы и раздел форума называется "Объектно-ориентированное программирование", поэтому вопрос "Зачем писать класс?" не совсем уместен. Не везде при фильтраци можно обойтись только стандартными функциями.

(Отредактировано автором: 25 Января, 2012 - 00:50:06)

 
 Top
LIME
Отправлено: 25 Января, 2012 - 04:18:25
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Okula ООП только радиООП
Okula пишет:
я лучше класс только отредактирую.
если вы хотите использовать ООП чтобы избежать повтора кода то надо так составлять классы чтобы их совсем не редактировать
Okula пишет:
public function strlen() {
ну можно забыть какието редкие ф-ции но strlen назвать кастомную ф-цию это както для вас странно
(Добавление)
не надо искать ООП
оно вас само найдет
это будет черный день в вашей программисткой жизни)))
 
 Top
Саныч Модератор
Отправлено: 25 Января, 2012 - 08:40:16
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


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




Okula пишет:
Если задумываться над всем этим то тогда и смысла можно не найти в самом ООП
Вопрос был совсем не об ООП, а конкретно о вашем коде. Вот я и спрашиваю, в чем его смысл? Ведь по сути вы банально дублируете стандартные mb_ функции.
Кстати, с появлением php 5.4 mb_ и вовсе не нужны.

LIME пишет:
не надо искать ООП
оно вас само найдет
+1 Улыбка


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Мелкий Супермодератор
Отправлено: 25 Января, 2012 - 08:41:25
Post Id



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


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


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




Что очень не нравится - метод 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 в первую очередь, так почему бы не фильтровать значения по-умолчанию и явно задавать, когда нужен исходник?


-----
PostgreSQL DBA
 
 Top
armancho7777777 Супермодератор
Отправлено: 25 Января, 2012 - 09:06:16
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




LIME пишет:
не надо искать ООП
оно вас само найдет

+1 Превосходно
Год програмирую на PHP, а ООП пригодилось лишь один раз:
для написания собственного класса сессии Улыбка
 
 Top
Okula
Отправлено: 25 Января, 2012 - 11:19:45
Post Id



Участник


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


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




Саныч пишет:
Кстати, с появлением php 5.4 mb_ и вовсе не нужны.

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


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




Okula пишет:
По поводу названия метода display() конечно можно было бы назвать getString() было бы более разумнее, но это мелочь.

ох какая это не мелоч... . Разгребая сотни классов с методами типа sasha() без комментариев, хочется узнать где жил автор найти и убить.
 
 Top
Okula
Отправлено: 25 Января, 2012 - 11:55:10
Post Id



Участник


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


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




Вот только не надо утрировать, у меня не так всё плохо с названием Радость
 
 Top
voskan
Отправлено: 07 Февраля, 2012 - 20:59:35
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010  


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




а я наоборот хочу изучить чтоб сайт на классах сделать так как оочень часто переписываю и код и дизайн сайта Улыбка поэтому чтоб не все страницы менять нужно какой то стандарт сделать, функциями многого не добьешься Улыбка
 
 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