Анатолий Медведев: по поводу ангуляра точно ничего не скажу, потому что опыта с ним крайне мало. Вот с бекбоном работал, да. Мне понравилось. Иногда используют еще Marionette.js - расширение бэкбона, которое добавляет прикольные фичи в виде расширенных views и т.д.
У меня был аналогичный по требованиям проект, который я начал делать на обычных формах (которые генерирует Yii2), а потом заказчик просил больше интерактива, чтобы информация подгружалась во всплывающие окна, при изменении элемента select перезагружать часть страницы и т.д. Если бы я сразу стал использовать тот же Бэкбон — все было бы немного проще.
Артем Каретников: уметь отделять зерна от плевел — это хороший навык, однако зачастую там проекты по 5-10 тыс, а требований море.
Что в узких нишах — не знаю.
Но в целом начиная с весны-лета 2015 сервис очень сильно испортился. До этого тоже было много отрицательного, но им хотя бы можно было пользоваться.
Ну и администрация там не вызывает доверия, поскольку они просили сначала верифицировать аккаунты через паспортные данные, обещая безлимитные ответы на проекты, а потом без объяснений причин отняли эту возможность. При этом взамен ничего не предоставили.
coden55: Да, все так. По производительности ничего сказать не могу, потому что надо понимать ориентировочное количество предполагаемых записей, настройки сервера. До 1 млн все должно работать нормально (если это mysql). Можете забить фейковыми данными таблицу и проверить запросы.
И поищите в чем проблема - если у вас везде кодировка cp-1251, то её и надо везде использовать, но лучше конвертировать все в UTF-8 и не мучиться с такими проблемами.
coden55: что-нибудь типа select id from (select user_id as id from user_friend where friend_id = 252 and status = 2), (select friend_id as id from user_friend where user_id = 252 and status = 2)
Я бы поигрался с запросами, либо получал бы просто 2 столбца, на потом уже разбирал бы массив айдишников в самом скрипте.
Alexander: вот тут не подскажу. В одном из проектов использовал Propel - он генерировал модели (BaseModel и Model, который наследуется от BaseModel). В BaseModel как раз описывались все правила валидации и сама функция validate().
Проект, кстати, работал на Silex (микрофреймворк на компонента Симфони).
В чем именно проблема?
Не спорю, что это может быть не лучший способ, но мне интересно в чем может быть проблема.
При условии, что речь не идет об ассоциативных массивах.