» WAP Мастер Форум https://forum.wapinet.ru/index.php » PHP https://forum.wapinet.ru/viewforum.php?id=3 » Класс постраничной навигации https://forum.wapinet.ru/viewtopic.php?id=980 |
Nu3oN » 2010.08.13 00:01 | ||||
Собственно написал класс постраничной навигации! Код:
Ну можно еще расписать почему так или иначе лучше :-) | ||||
Morgan » 2010.08.13 00:14 | ||||
расписывай | ||||
Gemorroj » 2010.08.13 00:16 | ||||
$this -> url, наверное через htmlspecialchars пропустить надо бы.
имеется виду, нам написать как можно лучше | ||||
Nu3oN » 2010.08.13 00:20 | ||||
пропустил! в шапке сайта! | ||||
Morgan » 2010.08.13 00:21 | ||||
Nu3oN | ||||
Gemorroj » 2010.08.13 00:25 | ||||
плохая привычка. кто знает, вдруг тебе потребуется неотфильрованная переменная? для передачи текстом в email, например? | ||||
Nu3oN » 2010.08.13 00:28 | ||||
ну можно ж тогда сделать так...
прокомментировал! этого достаточно? | ||||
Nu3oN » 2010.08.13 00:47 | ||||
Поправил мелех класс... нашел баг... | ||||
Gemorroj » 2010.08.13 00:48 | ||||
Nu3oN, ну как сказать, не всегда есть возможность обратиться к $_GET. Точнее, не всегда это обращение будет хорошим вариантом. Возьмем твой класс пагинации. По хорошему, он дожен быть отвлечен от верстки, либо она должна быть вынесена в свойство и меняться пользователем. Т.е. ты можешь и не знать в каком элементе $_GET нужные нам данные, они передаются как параметр в методы класса. И там они должны быть не отфильтрованы. т.к. класс не в крусе что у тебя там в конфиге. Есть просто такое правило, что данные в программе должны летать в их первозданном виде, чтобы не повредить их по невнимательности, и только при выводе в браузер должны фильтроваться. | ||||
Nu3oN » 2010.08.13 00:59 | ||||
т.е ты хочешь сказать, если я записываю сообщение(например) в базу, то я это сообщение должен отправить в том виде в котором я его получил? и фильтровать торько при выводе? | ||||
ByVlad » 2010.08.13 03:06 | ||||
Именно, кроме того, htmlspecialchars переводит один html символ в грубо говоря 4-5. Это довольно увеличивает вес бд, но выигрывает в оптимизации. | ||||
Nu3oN » 2010.08.13 04:51 | ||||
а теперь представим часто используемый случай, когда мы в цикле выводим данные из базы! стандартное колличество выводимых данных ~10, теперь представим что функция экранирования спец символов берет на себя 0.0005сек, теперь посчитаем сколько в получится в итоге! а получится у нас 0.0050! плюс на странице еще выводятся какие либо данные! это еще ~50 добавляем итого у нас уже 0.0100 не плохо да? и какая тут может идти речь о оптимизации? действительно надо слушать советы которые тебе дают, но нужно иметь свою голову на плечах! надо думать что ты делаешь, и в каких случаях что и как лучше применить! в данном случае я вижу только минусы! | ||||
Gemorroj » 2010.08.13 08:34 | ||||
Nu3oN, собери данные, которые нужно отфильтровать в 1 строку и отфильтруй ее 1 раз. Ничерта ты не выиграешь от того, что запишешь форматированный html в базу. Проблемы, создаваемые этим много серьезнее этой микрооптимизации. Я тебе всегда могу и так показать места, где можно в 10 лучше и быстрее сделать и без htmlspecialchars'а. | ||||
Nu3oN » 2010.08.13 11:03 | ||||
Мы отдалились от темы! по классу есть что сказать? | ||||
Morgan » 2010.08.13 11:08 | ||||
Pirate | ||||
ByVlad » 2010.08.13 14:55 | ||||
А если у тебя 100 000 постов на форуме, 50% из них со спец символами (а на вм форумах около 80%), 1символ=1байт, в среднем один пост ~ 30-40 символов/байт, итого выйдет около 3.34 Mb без переобразования, с переобразованием около 4.53 Mb при 5 символах. | ||||
Morgan » 2010.08.13 16:56 | ||||
Не будем холиварить. | ||||
Gemorroj » 2010.08.13 17:55 | ||||
да размер бд, это вообще последнее на что нужно смотреть | ||||
Pirate1 » 2010.08.14 01:49 | ||||
я так и делаю ;) | ||||
Nu3oN » 2010.08.14 01:57 | ||||
Как бы возьму этот факт во внимание, но пока что как нибудь по старинке! по крайне мере пока не доставляет "неудобств", а потом переписать это дело не долго! | ||||
Gemorroj » 2010.08.14 12:13 | ||||
это сейчас не долго, а если проект развивать будешь, кода много напишешь, то потом и переписывать много придется. ббкоды планируешь делать? или ссылки автоматом подставлять? вот и подумай, как ты будешь это все редактировать, если в бд будет уже готовый html. | ||||
ByVlad » 2010.08.19 11:11 | ||||
Ну а функцию обратного перевода уже отменили? | ||||
Gemorroj » 2010.08.19 17:42 | ||||
да, напиши мне такую на все случаи ббкода?) | ||||
ByVlad » 2010.08.19 23:00 | ||||
У меня в форуме увидишь, функция HTML2BBcode |