• Почему возникает Bad Request (#400) на форме в yii 2.0?

    @mrlipuzhin
    <input type="hidden" name="_csrf" value="<?=Yii::$app->request->getCsrfToken()?>" />
    Ответ написан
    1 комментарий
  • Какие есть технологии для разработки браузерных онлайн-игр?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Как верно сказал @Eugene22, выбирать язык стоит из двух факторов - 1) существующий опыт на каком-то языке и 2) что хочется изучить для будущего. Если с первым пунктом плохо, то остаётся выбрать какой-то язык и начать его изучать.
    Браузерные игры состоят из трёх компонентов:
    1) клиентская часть - тут практически без вариантов - javascript.
    2) серверная часть - тут есть множество вариантов. Из основных два варианта - php или Node.js (это серверный javascript). Оба варианта достойны рассмотрения, у каждого есть свои достоинства и недостатки. Также можно рассмотреть Python и Ruby. Не стоит сбрасывать со счёта Java и .Net языки (тут c# и asp.net). Ну и экзотика - Erlang или Go (всё-таки go я отнёс к экзотике, потому что это развивающийся язык, но активно набирает очки).
    3) База данных - для хранения игровых данных. Здесь тоже есть о чём подумать - взять обычный привычный вдоль и поперёк исследованный MySQL, или подумать о более мощных базах типа Postgres, или взять модный MongoDb и его nosql-братьев.
    Выбирайте, что вам нужно и вперёд. Но самый главный мой совет - не беритесь за что-то "типа Травиана и Гриполиса" в качестве первого проекта. Подобные проекты делаются годами профессиональными опытными программистами. Сделайте что-то гораздо проще - типа танчиков, бомбермена, вертолётиков, гонок - где есть только одна основная игровая механика. За время разработки этого проекта вы получите бесценный опыт, без которого вы даже не сможете оценить сложность тех проектов, о которых вы говорили в вопросе.

    UPD. В своём ответе вы просите добавить аргументов в пользу некоторых серверных языков. Добавлю про них.
    Первым рассмотрим php. Это достаточно простой язык для начала написания скриптов, и можно очень быстро написать что-то уже рабочее. Но это язык, который за внешней простотой прячет большую гибкость и достаточно сложные моменты. Поэтому для профессионального его использования нужны его глубокие знания, иначе получившийся код будет 1) медленным, 2) дырявым (ошибки и уязвимости) и 3) сложным в поддержке (сложно добавлять новые функции). Но начать его использовать очень просто.
    Node.js. Это серверная платформа, имеющая в качестве языка программирования javascript. Он в некоторых задачах намного быстрее, чем php, но в некоторых может быть сравним по скорости. Его преимущество, что используется тот же язык, что и для клиентской части - меньше изучать. Его сложность в том, что для серверного языка он достаточно сложен, писать хороший код сложнее, чем на php. Плюс, его основные парадигмы - прототипное наследование и асинхронный код - достаточно сложны для понимания. Хорошим советом может оказаться учиться писать не обычный javascript, а его разновидность CoffeeScript, но многие не согласятся, тут нет единого мнения.
    Python. Это очень мощный язык, позволяющий писать программы не только для web (собственно, сервер игры), но он используется очень много где. Он имеет очень простой синтаксис (кстати, отличающийся от многих других c-подобных языков), но очень гибкий и быстрый, и обладает богатейшей библиотекой готового кода (в принципе, php и node.js тоже обладают этим преимуществом). Недостатком можно отметить то, что гораздо меньшее количество программистов им владеют, и может быть, будет сложнее получить консультацию по возникшим вопросам (а вопросы будут - причём в любом языке). В общем, Python - отличный выбор для начала изучения серверного программирования.
    Ruby может дать очень быстрый старт и быструю разработку. Но его знают ещё меньше программистов, чем Python. Насчёт скорости выполнения он, вроде, медленнее питона (тут я не уверен, не хочу обманывать - у меня нет опыта на ruby). Его синтаксис достаточно своеобразен. Но если вы его хорошо освоите, то никогда не останетесь без высокооплачиваемой работы.
    Java и C# - очень мощные языки общего назначения, дадут очень сильную платформу для любого приложения, в том числе и сервера. Но они сложные, изучать их и хорошо писать на них гораздо сложнее предыдущих рассмотренных языков.
    Go - новый развивающийся язык, можно рассмотреть его для изучения. Но на нём пока мало готового кода, мало материалов, небольшое сообщество.
    Erlang - функциональный язык с очень необычной архитектурой (с точки зрения всех предыдущих языков), и очень необычный синтаксис. Изучать его сложно, но он даёт потрясающие результаты - в некоторых задачах. Советовать его не буду.
    Ответ написан
    3 комментария
  • Yii best practice?

    изучайте yii2 и смотрите примеры приложений в офиц. репозитории.
    Ответ написан
    Комментировать
  • Yii best practice?

    pavel_salauyou
    @pavel_salauyou
    Symfony2 & Angular разработчик
    Компонент - это php класс с каким-нибудь функционалом, виджет набор компонентов + html код, модуль отдельный раздел на сайте, на пример аккаунт. вроде так в первом yii было. Во втором не знаю, но личное имхо лучше первый уже не использовать, не особо он гибок. А вот что на самом деле гибкое так это Symfony2 , но он и сложнее будет в изучении. В пользу симфони скажу что там есть автоматическая генерация таблиц в БД на основе моделей + миграции.
    Ответ написан
    2 комментария
  • JQuery: Ajax. Как реализовать передачу нескольких параметров в data?

    @NewMax
    Итог вышесказанного:
    $('form').submit(function(){
        // сериализация всех полей формы
        var data = $(this).serialize();
        // ручное добавление в виде массива
        var data = {name:'name', 'email':email};
        // ручное добавление для хардкорщиков. Не нужно так делать
        var data = 'name='+name+'&email='+email;
        //сформированные тем или иным способом данные можно передавать в $.ajax
        $.ajax({
            url: 'url',
            data: data
            ...
        });
    })
    Ответ написан
    5 комментариев
  • Что такое FOSUserBundle?

    @NewMax
    Для начала, установите бандл на чистую симфонию и сконфигурируйте согласно инструкциям.
    Попробуйте создать несколько пользователей. После этого, сможете реализовать независимый бандл, а ля MyUserBundle путем переопределения стандартных контроллеров и views.
    Документация по бандлу весьма обширная и охватывает довольно широкий круг вопросов.

    Полученный независимый бандл можно будет без особых проблем использовать в любом другом проекте.
    Ответ написан
    Комментировать
  • Как работает этот js-код?

    @NewMax
    Еще как вариант:
    <input type="text" onkeyup="this.value = this.value.replace(/\D/g,'');">
    Ответ написан
    1 комментарий
  • Что такое FOSUserBundle?

    aaverichev
    @aaverichev
    Вопрос не очень понятен.

    FOSUserBundle "из коробки" "создает" базу данных пользователей, страницу регистрации и логина и др. вещи. В своем проекте его использую, но пока только самые необходимые возможности. Что там он еще умеет толком не разбирался.
    Ответ написан
    Комментировать
  • Почему не удается подключиться в PhpPgAdmin?

    @whats
    Нужно найти конфиг phppgadmin (/etc/phppgadmin/config.inc.php - deb 7)
    и указать там параметр
    $conf['extra_login_security'] = false;

    Первым комментарием было решение
    Ответ написан
    Комментировать
  • Мы ищем PHP-программиста или разработчика. И реально ли его найти на такую ЗП в Москве?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    "PHP-разработчик" даже как-то не звучит, если честно, но это субъективное. А вообще, помимо PHP, указаны другие серверные языки: Erlang и Perl. Может, это "Веб-разработчик"?
    Ответ написан
    2 комментария