Часто при разработке и выводе контента появляется необходимость использования постраничной навигации. Кто-то скорее всего использует готовые решения от своего фреймворка. Кто-то, возможно, не заморачивается и лупит страницы просто циклом. У кого-то есть свои наработки в этом направлении. Вот я как раз и хочу поделиться своим решением данной задачи.
Читать полностью »
Рубрика «php» - 67
Постраничная навигация на PHP
2017-10-16 в 20:20, admin, рубрики: php, php скрипт, постраничная навигацияAMA. Avito. Backend
2017-10-13 в 8:59, admin, рубрики: ama, Go, php, python, Блог компании Avito, Разработка веб-сайтовПривет! Как и обещали, сегодня мы готовы отвечать на вопросы про бэкенд в Avito, разработку серверной части в целом и про высокие нагрузки в частности. Как работается с сайтом, на который ежемесячно заходит почти четверть населения России? Спросите у нас! Отвечать будем с 12 до 19 часов по московскому времени. Под катом я представляю пять моих коллег, которые сегодня будут с вами на связи и напоминаю о возможных темах диалога.
AMA!
Настройка VPS на Ubuntu 16.04 + Nginx + PHP + MongoDB
2017-10-11 в 12:23, admin, рубрики: mongodb, nginx, php, Ubuntu, vpsВ статье описана первичная настройка сервера. Описанные действия, проводились на виртуальной машине Vagrant и VPS.
Установка Nginx
Установим Nginx последней стабильной версии (на данный момент 1.12.1).
Для настройки репозитория нужно добавить в конец файла /etc/apt/sources.list пару строк.
Открываем файл sources.list для редактирования
sudo nano /etc/apt/sources.list
Дописываем в конец файла строки:
deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx
Где xenial – кодовое имя дистрибутива Ubuntu (16.04 – это xenial).
Сохраняем и закрываем файл.
Для проверки подлинности подписи репозитория nginx необходимо добавить ключ, которым были подписаны пакеты и репозиторий, в связку ключей программы apt.
Читать полностью »
AMA, или спроси бэкендера из Avito: анонс
2017-10-11 в 8:58, admin, рубрики: ama, backend, Go, php, python, sphinx, Блог компании Avito, Разработка веб-сайтовЧто такое AMA? Этот формат очень популярен на Reddit. Ты рассказываешь о себе и предлагаешь читателям задавать любые вопросы: Ask Me Anything! Особенно круто это удается у команд профессионалов — в итоге получается ряд коротких и полезных тематических бесед. Нам нравится Reddit, сам формат AMA и Хабрахабр, поэтому мы тоже вступаем в игру и приглашаем вас к диалогу здесь. Этот пост — анонс секции вопросов и ответов, которая будет работать в блоге Avito 13 октября, в пятницу, с 12 до 19 часов по мск. В этот день в AMA с вами будут на связи пять моих коллег, которые занимаются разработкой серверной части Avito. А под катом я напомню, о чем можно у них спросить.
WhatsApp, что внутри?
2017-10-10 в 9:16, admin, рубрики: php, reverse engineering, WhatsApp, Блог компании Бринго, информационная безопасность, криптография, реверс-инжинирингВ продолжение направления публикаций исследований нашей компании о внутренних механизмах крупнейших в мире мессенджеров. Сегодня будем смотреть на WhatsApp в его актуальном состоянии. На самом деле внутренности не сильно изменились за последние три года, изменения там скорее косметические.
В этой статье я подробно покажу как можно изучать протокол работы мессенджера, отвечу на вопрос «может ли WhatsApp читать нашу переписку?» и приложу весь необходимый код на языке PHP.
Читать полностью »
Долгое время я пользовался библиотекой SxGeo от zapimir. И до недавнего времени меня всё устраивало. Устраивало до тех пор, пока не было необходимости добавлять в БД свои данные.
Не найдя в интернете упаковщика данных от SxGeo и не найдя в себе силы требовать нужный мне функционал от разработчика, было принято решение писать свой костыль. Хотя на это решение повлиял и ещё 2 недостатка используемой библиотеки:
- ограничение по количеству справочников;
- невозможность узнать интервал адресов, в который входит искомый адрес;
- отсутствие пакета в packagist.
Собственно, делюсь с вами своей разработкой.
PHP-Дайджест № 118 – свежие новости, материалы и инструменты (24 сентября – 9 октября 2017)
2017-10-08 в 22:53, admin, рубрики: laravel, Magento, php, php-дайджест, ReactPHP, symfony, yii, zend, Блог компании Zfort Group, дайджест, Разработка веб-сайтов, ссылкиСвежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0 RC 3 и другие релизы, 5 лет дайджесту, предложения из PHP Internals, свежая книга по асинхронному PHP, новое расширение-профайлер, и многое другое.
Приятного чтения!
Использование событийной модели в Doctrine 2 + Symfony 3
2017-10-08 в 20:38, admin, рубрики: doctrine, Doctrine ORM, php, symfonyДавайте представим ситуацию: у вас есть заказ в интернет магазине (Entity). Заказ имеет некий статус. При смене статуса заказа необходимо провести кучу сопутствующих действий, например:
- сохранить в заказе дату последнего изменения
- записать в историю по заказу информацию о смене статуса
- отослать письмо / sms клиенту
- вызвать метод API службы доставки / платежной системы / партнера и т.д.
Возникает вопрос как все это правильно организовать с точки зрения программного кода.
Все ниже описанное справедливо для Doctrine 2 и Symfony > 3.1
О паттернах проектирования для работы с РСУБД
2017-10-07 в 20:25, admin, рубрики: active record, data mapper, orm, php, yiiВведение
Работа с РСУБД является одной из важнейших частей разработки веб-приложений. Дискусcии о том, как правильно представить данные из БД в приложении ведутся давно. Существует два основных паттерна для работы с БД: ActiveRecord и DataMapper. ActiveRecord считается многими программистами антипаттерном. Утверждается, что объекты ActiveRecord нарушают принцип единственной обязанности (SRP). DataMapper считается единственно верным подходом к обеспечению персистентности в ООП. Первая часть статьи посвящена тому, что DataMapper далеко не идеален как концептуально, так и на практике. Вторая часть статьи показывает, как можно улучшить свой код используя существующие реализации ActiveRecord и несколько простых правил. Представленный материал относится главным образом к РСУБД, поддерживающим транзакции.
Счетчик копий программы или сбор статистики об использовании
2017-10-07 в 9:54, admin, рубрики: .net, C#, php, web, разработка под windows, сбор статистики о программе, счетчик использованияНекоторое время назад выполнял я заказ для одной конторы. Суть проекта сейчас не важна (это был некий довесок к их корпоративной системе, который они ставили на компы своим клиентам), одним из требований было что бы приложение отправляло отчет об своем использовании. А попросту говоря, ребята хотели знать насколько их программа востребована среди клиентов.
И вот на этой волне, возник у меня вопрос — а действительно, написал ты программу, отдал |продал в добрые руки или просто выложил ее в интернет. И что дальше? Сколько реальных пользователей ее увидели?
Читать полностью »