Рубрика «php» - 117

Страница с контактной информацией: валидаторы, формы и электронная почта

Обзор

Теперь у нас есть основные шаблоны HTML, пришло время внедрить немного функционала в одну из страниц. Мы начнем с одной из простейших страниц: страницы контактов. В конце этой части у вас будет форма, которая позволяет пользователям отправлять запросы веб-мастеру.

В этой части:

1. Валидаторы
2. Формы
3. Конфигурация Бандла

Проект на github
Читать полностью »

Представляю вам вольный перевод статьи "Tweaking Eloquent relations – how to get hasMany relation count efficiently?" с сайта softonsofa.com.

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

Что ж, позвольте мне рассказать вам что мы можем с этим сделать.
Читать полностью »

10 месяцев назад я начал делать браузерную игрушку. Выбор пал на cocos js в качестве графики и websocket в качестве общения с сервером. Технология очень понравилась и я на ней организовал всё общение игры с сервером. Использовал для этого эту статью. Но, к сожалению, тот код, который приведен в той статье, нельзя использовать в продакшене. Как выяснилось, уровень проблемы даже не критический, а блокирующий. Всё настолько плохо, что мне пришлось переписывать всё общение с сервером с вебсокетов на longpooling. В итоге я оставил вариант «если у нас браузер не сафари, то использовать websocket, иначе longpolling» и ещё немного ветвления на эту тему.

Так что опыт использования вебсокет в продакшене накопился приличный. И вот недавно случилось событие, которое сподвигло меня написать первую статью на Хабре.
Читать полностью »

DevConf::PHP 2016 — заканчивается финальное голосование по докладам секции, успей отдать свой голос до 31 мая - 1 Коллеги, помогите сформировать программу DevConf 2016 — должны остаться только лучшие и интересные доклады.

DevConf::PHP 2016 — заканчивается финальное голосование по докладам секции, успей отдать свой голос до 31 мая - 2 Голосование продлится до 31 мая, сформируем программу вместе!

Представляем вашему вниманию 13 кандидатов на участие:

— Развитие ветки PHP-7.*
Дмитрий Стогов (Zend,PHPNG)
Я расскажу о внутреннем устройсве PHP-7.0, изменениях готовящихся в PHP-7.1 и планах на PHP-7.2.

— Как Badoo перешли на PHP7 и сэкономили $1M
Юрий Насретдинов
Мы сделали это! Несколько сотен наших application-серверов переведены на PHP7 и прекрасно себя чувствуют. Насколько нам известно, это второй переход на PHP7 проекта такого масштаба (после Etsy). В процессе мы нашли несколько очень неприятных багов в системе кеширования байт-кода PHP7, но они исправлены. А теперь — ура! — благая весть для всего PHP-сообщества: PHP7 действительно готов к продакшену, стабилен, потребляет значительно меньше памяти и дает очень хороший прирост производительности. Я расскажу, как мы перешли на PHP7, с какими трудностями столкнулись, как с ними боролись и какие результаты получили.

— Создание расширений для PHP с помощью Zephir.
Виктор Большов crocodile2u
Zephir — высокоуровневый ЯП, предназначенный специально для создания PHP-расширений (extensions). Код, написанный на Zephir, транслируется в C, с использованием внутреннего API для расширений PHP, и его можно собрать как свое объектно-ориентированное расширение. Это может быть крайне полезно для оптимизации «узких мест» вашего кода: можно добиться ускорения интенсивных вычислений в разы.
Читать полностью »

Вступительное слово

В этой серии статей мы рассмотрим создание блога на Symfony 2. За основу взят и переведён проект разработчика Даррена Риса http://tutorial.symblog.co.uk/. Перед написанием данной статьи я обратился к нему, и он дал своё согласие на перевод с поправками под версию Symfony 2.8 lts, за что я ему очень благодарен.

Также хочется отметить, что эти статьи сделаны для начинающих, я не хочу выступать в роли учителя и у меня нет опыта коммерческой разработки на данном фреймворке. Так что, если это прочтёт человек, который хорошо разбирается в Symfony2 и заметит какие-то недочёты, буду рад критике и замечаниям. Хотелось бы, чтобы каждый, кто имеет возможность и желание, внёс свой вклад в эти статьи и по возможности при обнаружении каких-либо ошибок, багов и т.д. на них указал.

Также вы знаете, что по Symfony2 есть куча документации и статей, в том числе на Хабре, видео на youtube и т.д., так что этот проект не является чем-то новым.

Мне бы очень хотелось, чтобы мы разработали этот проект вместе с вами, очень надеюсь, что все, кто прикоснётся к этому руководству, извлечёт для себя какую-то пользу.

Проект доступен на github.

Поехали!
Читать полностью »

Вообще я разработчик фронтенда. Но порой приходится работать и с серверной частью. Команда у нас небольшая, и когда все настоящиебэкенд-программисты заняты, бывает быстрее реализовать какой-то метод самому. А иногда мы садимся вместе поработать над задачами, чтобы не терять времени на перегон коммитов туда-сюда. Недавно во время одного из таких раундов парного программирования мы с товарищем по команде столкнулись с багом, который меня так впечатлил, что я решил с вами поделиться.Читать полностью »

в 9:55, , рубрики: mysql, php, sql

Очень часто я сталкивался с тем, что из каких-либо динамических исходных данных необходимо было формировать SQL запрос в виде строки. Когда ты смешиваешь переменные, функции, массивы и т.д. со строкой с SQL, выглядит очень ужасно, особенно когда запрос получается очень длинным, с кучей условий. В связи с этим я решил упростить себе эту часть программирования написав серию функций.
Читать полностью »

В этой короткой статье мы рассмотрим, что собой представляют неизменяемые объекты и почему нам следует их использовать. Неизменяемыми называются объекты, чьё состояние остаётся постоянным с момента их создания. Обычно такие объекты очень просты. Наверняка вы уже знакомы с типами enum или примитивами наподобие DateTimeImmutable. Ниже мы увидим, что если делать простые объекты неизменяемыми, то это поможет избежать определённых ошибок и сэкономить немало времени.
Читать полностью »

Представляем небольшое интервью с одним из докладчиков DevConf 2016 Александром Макаровым aka SamDark. Он является членом Yii core team c 2010 года и представителем Yii в PHP-FIG. Автор книги Yii Application Development Cookbook.

В первую очередь хотел бы спросить о работе. Ты работаешь в Stay.com. Подозреваю, что удаленно. Ты также активно участвуешь в конференциях, работаешь над Yii. Как удается совмещать? Это не фулл-тайм? Или что-то сродни когда-то гугловскому «20% на свои проекты»?

Да, я работаю в Stay.com. В основном, удалённо. Это fulltime. Yii занимаюсь либо в свободное время, либо когда не очень сильная загрузка по основному проекту.
На тему конференций у меня договорённость: они оплачиваются ровно так же, как и рабочие дни.
Читать полностью »

Процесс сигнатурного анализа кода в нашем проекте PT Application Inspector разбит на следующие этапы:

  1. парсинг в зависимое от языка представление (abstract syntax tree, AST);
  2. преобразование AST в независимый от языка унифицированный формат;
  3. непосредственное сопоставление с шаблонами, описанными на DSL.

О первых двух этапах было рассказано в предыдущих статьях "Теория и практика парсинга исходников с помощью ANTLR и Roslyn" и "Обработка древовидных структур и унифицированное AST". Данная статья посвящена третьему этапу, а именно: различным способам описания шаблонов, разработке специализированного языка (DSL) для их описания, а также примерам шаблонов на этом языке.

Язык шаблонов для универсального сигнатурного анализатора кода - 1

Содержание

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js