PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (54): В начало « ... 17 18 19 20 [21] 22 23 24 25 ... » В конец

> Найдено сообщений: 808
vanicon Отправлено: 09 Апреля, 2013 - 00:02:06 • Тема: Подскажите как делать • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 1727
caballero
Ок, буду лепить класс рассылок для пользователей, хотя тема довольно интересная...
Спасибо за разъяснение...
vanicon Отправлено: 08 Апреля, 2013 - 23:47:34 • Тема: Подскажите как делать • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 1727
caballero пишет:
а смысл дублировать тот же объект по всем лентам?

Ну как бы изначально объект лента принадлежит объекту пользователь, или проще у пользователя есть лента)
И что бы разослать другим пользователям (друзьям или еще кому), как бы сначала нужно из бд воссоздать объекты этих пользователей, а потом к каждому из них применить типа $user->addLenta($post)
Понятное дело что так это очень и очень затратно, но разве это не логично с точки зрения ооп?
vanicon Отправлено: 08 Апреля, 2013 - 23:16:12 • Тема: Подскажите как делать • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 1727
caballero пишет:
обычно когда речь о рассылке пользователь подписывается на какие то события которые потом ему рассылаются

Думаю тут это излишне, пользователь создает объект поста, и там же можно отправлять его объект в ленту.
caballero пишет:
незачем запихивать каждому в ленту.

А как тогда?
(Добавление)
То есть в этом случае, лучше реализовывать без ооп правильно я понимаю?
Не создавать объекты пользователей и т.п
vanicon Отправлено: 08 Апреля, 2013 - 22:39:58 • Тема: Подскажите как делать • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 1727
Всем привет.
Начинаю осваивать ооп, и появилась одна проблема, точнее не понимание как ее правильно решить...
И так есть 3 сущности:
1. Пользователь в системе
2. Пост пользователя
3. Лента

У сущности пользователя есть свойства (логин пароль и т.п), одно из действий написать пост.
Для этого действия я решил вынести пост в отдельную сущность (по сути это так и есть), пост можно добавить в избранное и т.п
Также есть лента, пока тока лента постов, в эту ленту передается объект поста.
В действии написать пост, сначала создается объект поста, потом он помещается в ленту..
И все нормально вроде бы, но появилась необходимость сделать как бы рассылку 1 записи в несколько лент других пользователей, исходя из ооп, можно создать несколько десятков объектов лент, и отдать им туда объект записи...

Но если так сделать то получится большое число запросов к бд, да и расход на сами объекты тоже не маленький, так что же получается что ооп там где удобно там юзаем, а там где нет то просто тупо пишем в процедурном стиле?
Или есть какой нибудь супер паттерн, который может решить эту проблему?
Или может я неправильно определил сущности?
Надеюсь проблема понятна.

Ps Извиняюсь за эту статью Улыбка
vanicon Отправлено: 05 Апреля, 2013 - 23:42:27 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
Ладно, caballero, digi спасибо вам за обсуждение данной темы.
Буду все таки клепать классы (делать дубликаты правил), а по ним рисовать формы...
Так как я считаю что валидация все таки нужна и на сервере.
vanicon Отправлено: 05 Апреля, 2013 - 23:28:36 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
caballero пишет:
валидация в основном предназначена для защиты от ошибок ввода а не от преднамеренного ввода неправильных данных. ну введет юзер кривой емайл и что? какой смысл?

смысл в том, что туда можно хоть что впихнуть, даже xss, конечно можно отчищать перед выводом, но
все же, зачем это делать когда модель должна быть корректна...
vanicon Отправлено: 05 Апреля, 2013 - 23:15:46 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
Загружается страница, генерируется капача с кодом, код записывается в сессию.
Я вижу код, и отправляю не валидные данные, вместе с правильным кодом, обработчику регистрации, и все.
Что помешает произвести такую операцию?
vanicon Отправлено: 05 Апреля, 2013 - 23:04:13 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
А как насчет записи не валидных данных в модель, если в ручную капчу постом передать, не проверяя повторно данных на клиенте?
(Добавление)
Блин, не на клиенте а на сервере
vanicon Отправлено: 05 Апреля, 2013 - 22:51:15 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
caballero пишет:
далеко не спокойно, да и капчу можно сделать разной сложности. уверен если у вас будет настолько ценный ресурс что кто то будет сидеть и ломать капчу уж как нибудь вопрос с валидацией решите.

Капчу то можно разно сделать, но вот всем известная рекапча вроде обходиться,
а хотя я ее сам то не всегда ввожу Улыбка
А вот кстати вспомнил как работает проверка капчи, можно записать не валидные данные и вручную,
если отправить пост запрос, еще и с капчой...
Так что как ни крути, все ровно придется делать проверку и на сервере...
(Добавление)
digi пишет:
т.е. может быть выгоднее получится сократить время работы человека, но вложить чуть больше в сервер?

Ну не знаю на yii к примеру тоже можно быстро написать, а работает он быстрее сф.
Так что это дело личных предпочтений что использовать...
vanicon Отправлено: 05 Апреля, 2013 - 22:45:23 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
digi пишет:
а в "производительность" вкладывается понятие производительность программиста? т.е. как быстро и качественно он напишет код?

Нет, в производительность я вкладываю нагрузку на сервер (время. рам)
vanicon Отправлено: 05 Апреля, 2013 - 22:37:32 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
digi пишет:
какие показатели в цифрах тебя устроят в плане производительности? ;)

Я смотрел в сравнение с другими, и он показывал не лучшие результаты, цифры от железа зависят,
но yii думаю производительней будет...
vanicon Отправлено: 05 Апреля, 2013 - 22:32:11 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
digi пишет:
сф2 - это не "микро", по этому надо смотреть в сторону например Silex, Laravel4 или если совсем что-то мизерное нужно, то Slim2.

Я не писал что сф это микрофреймворк...
digi пишет:
ЗЫ: в сторону симфони, как полноценного фреймворка, могу добавить только один недостаток - его нужно изучить... без этого никак в остальном претензий нет хоть для маленьких проектов, хоть для больших...

А насчет минусов, думаю можно добавить не высокую производительность, помню тесты были, давно правда, не знаю как там щас, но судя по тому что там все как-то мудренно то вряд ли дело сильно изменилось...
caballero пишет:
так там и валидация не нужна потому что проверка будет выполнятся на уровне сервера БД независимо от того что там пользователь введет или не введет.

Это авторизация, да можно согласиться что там валидацию можно и не делать,
ну а как насчет например изменения данных пользователя, и думаю со временем будут еще случаи...

Кстати насчет капчи, на странице регистрации, думаю не секрет не для кого что такие вещи сейчас можно спокойно обоойти (автоматическая распознавание), и в случае этого в модель попадут не валидные данные...

caballero, у вас вроде бы за плечами большой опыт программирования, как вы сами писали в топиках, как вы сами такие вещи делаете, неужели просто через html и css
vanicon Отправлено: 05 Апреля, 2013 - 22:12:43 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
digi пишет:
велики - это прекрасно! ) я сам их люблю ;)) но вот использовать удобные библиотеки это хорошо ;) и когда пишется какбы "свой" велик, то лучше собирать солянку из лучших решений под себя ;) а для этого разумеется нужно знать что нынче в мире существует ;)

Как я выше уже писал, я смотрел разные фреймворки (признаюсь, symfony так пролестал - не понравился), но суть у всех одна, да и реализации тоже весьма похожи...
vanicon Отправлено: 05 Апреля, 2013 - 22:10:09 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
caballero пишет:
капчу поставь и все дела

Ну там вообще то и так стоит, но вот на странице авторизации ее ставить не нужно,
а правила валидации для логина и пароля нужны, еще один пример изменение данных...
caballero пишет:
потому что эта сущность не будет делать ничего такого чего не сделает простая функция.

Да согласен, но так будет удобнее мне работать с этими так называемыми классами, автозагрузка и тд..
vanicon Отправлено: 05 Апреля, 2013 - 22:02:50 • Тема: Как валидировать данные? • Форум: Объектно-ориентированное программирование

Ответов: 40
Просмотров: 7985
digi, хорошо тогда можно это назвать так, учимся изобретать свой велосипед...

Страниц (54): В начало « ... 17 18 19 20 [21] 22 23 24 25 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB