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

В последнее время в веб-разработке уследить за всеми техническими новинками и трендами становится практически невозможно из-за их взрывного роста. А держать руку на пульсе все-таки хочется, так как, я думаю, двигаться вперед и предлагать конкурентоспособный продукт можно только аккумулируя опыт других людей – кроме, конечно, случаев счастливых озарений или случайности.
На Хабре в последнее время стали популярны дайджесты с обзорами изменений, которые происходят в мире каждый день по самой различной тематике – и это, признаться, становится едва ли ни единственным окном в мир смежных знаний, которые мне любопытны.
Хочу продолжить славную традицию очередным дайджестом – на этот рад по фреймворку из мира PHP – о Drupal.
Надеюсь, что данный дайджест найдет своего читателя, как среди людей постоянно практикующих эту систему, так и из смежных технологий, фреймворков. На собственном опыте, я знаю, как полезно бывает почерпнуть знания из других систем, так как бывают материалы абсолютно универсальные: посвященные архитектуре приложений, оценкам, работе с требованиями, заказчиком, HTML/CSS/JS, виртуализации, сервисам и т.п.
Читать полностью »

в 8:48, , рубрики: framework, php, yii

Yii 2.0.1 - 1

Нам очень приятно объявить о выходе версии 2.0.1 PHP фреймворка Yii. Подробнее о том, как установить эту версию или обновиться на неё читайте на странице http://www.yiiframework.com/download/.

Версия 2.0.1 — патч-релиз ветки 2.0, содержащий около 90 небольших улучшений и исправлений. Полный список изменений можно почитать на GitHub. Кроме улучшений самого кода была проделана значительная работа по документации. Особенно по полному руководству по Yii 2.0, переводимому на множество языков. Спасибо всем, кто подарил нам часть своего драгоценного времени улучшая Yii.

За разработкой фреймворка можно следить, поставив звёздочку или нажав watch на странице проекта на GitHub. Также можно подписаться на Twitter и присоединиться к группе в Facebook.

Далее будут рассмотрены самые важные изменения.

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

Не редко при разработке некоего проекта, возникает необходимость в формировании отчетной статистики. Если проект разрабатывается на Delphi, C# или к примеру, на С++ и под Windows, то тут проблем нет. Всего лишь необходимо воспользоваться COM объектом. Но дела обстоят иначе, если необходимо сформировать отчет в формате excel на PHP. И чтобы это творение функционировало на UNIX-подобных системах. Но, к счастью, не так все плохо. И библиотек для этого хватает. Я свой выбор остановил на PHPExcel. Я уже пару лет работаю с этой библиотекой, и остаюсь доволен. Поскольку она является кроссплатформенной, то не возникает проблем с переносимостью.
PHPExcel позволяет производить импорт и экспорт данных в excel. Применять различные стили оформления к отчетам. В общем, все на высоте. Даже есть возможность работы с формулами (сам я не пробовал). Только помните, что вся работа (чтение и запись) должна вестись в кодировке utf-8.
Читать полностью »

Tantum possumus quantum scimus

Пожалуй каждый согласится — мониторинг является одной из важнейших составляющих ИТ инфраструктуры.
Необходимо знать о состоянии твоих подопечных, ведь очень не хочется «внезапно» обнаружить рассыпавшийся RAID, забитый доверху корневой раздел или LA превышающую все пределы разумного.
image

Инструменты, для постоянного наблюдения за жизнедеятельностью оборудования, каждый выбирает сам.
Кому-то по душе Nagios, кто-то выберет Munin, а так же найдутся любители проприетарных или иных решений.

Мы же, создавая услугу мониторинга для своих клиентов, выбрали Zabbix.
Но мало просто подключить сервер к мониторингу, нужно организовать взаимосвязь с тикетной системой и личным кабинетом пользователя. Помимо информирования о наличии проблемы, автоматически создать заявку в службу технической поддержки, для скорейшего реагирования на инцедент, а так же дополнительно уведомить клиента по email.

Под хаброкатом расскажем как у нас это получилось.
Читать полностью »

С помощью библиотеки DOMPDF можно создавать PDF файлы из HTML кода. Нужно только сверстать некий HTML шаблон и передать его DOMPDF и уже на выходе получить сгенерированный PDF файл. Но не надо забывать и то, что эта библиотека не движок для обработки веб-страниц, а значит и шаблоны должны быть сверстаны с использованием самых базовых средств: HTML тегов и CSS стилей. Хотя разработчики заявляют, что их библиотека поддерживает стандарты CSS 2.1 и даже некоторые свойства CSS 3. С полным их перечнем можно ознакомиться здесь. Есть, кстати, один минус – она является довольно “прожорливой” к оперативной памяти. Поэтому возможно придется задуматься об аренде виртуального выделенного сервера. Но это зависит от содержания и объема планируемых PDF документов. С другой стороны она вам может помочь сэкономить много времени на разработку различных отчетов в формате PDF.Читать полностью »

image
По всей видимости, на наших глазах родился еще один легендарный коммит (осторожно, в комментариях сплошные гифки):

github.com/composer/composer/commit/ac676f47f7bbc619678a29deae097b6b0710b799

При попытке разобраться с проблемой производительности Композера поступило предположение, что причина проблемы кроется в сборщике мусора:

Это действительно может быть проблемой по части GC. Если создается много объектов, и все они не могут быть «удалены», то GC в PHP начинает сходить с ума — он постоянно пытается провести сборку мусора, но убирать-то нечего — поэтому он просто тратит лишнее время/такты процессора. На это указывает и то, что проблема выявляется только на больших проектах (= много объектов), но не так заметна на маленьких (= GC включается не так часто).
Читать полностью »

От переводчика: при разработке Web-payment.ru на фреймворке CakePHP мы сталкивались с самого начала с тем, что логаут пользователей происходил каждые несколько часов, а это слишком короткий промежуток времени. При этом сколь большие значения timeout и cookieTimeout мы бы не выставляли в настройках ядра, ничего не менялось. Данная статья решила для нас эту проблему.

В прошлом году я обращался к этому вопросу как минимум дважды, но практически безрезультатно. После длительных поисков решения я снова отложил его на неопределенное время. Здесь также следует сказать, что когда дело касается отлаживания session/cookie вещей (в данном случае — аутентификации), процесс поиска багов никогда не отличался простотой, поскольку он зависит от множества факторов, которые складываясь вместе, усложняют обнаружение проблемы.

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

Дайджест интересных новостей и материалов из мира PHP № 52 (16 – 30 ноября 2014) - 1

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать полностью »

image

Когда заходит речь о разработке, мы все пытаемся найти более эффективные и быстрые способы программирования, порой не замечая, что кто-то уже сталкивался с похожей задачей, и изящно её реализовал. Что вы скажете, если мы сократим на 3/4 наш говнокод, всего лишь добавив несколько простых и эффективных зависимостей?

Для тех, кто не знает что такое Laravel 4 — это PHP фреймворк для быстрой разработки. Этот фреймворк с открытым исходным кодом на github, сделан для настоящих ремесленников веб-программирования такими же ремесленниками. Как говорится, «для программистов от программистов». Но статья не о прелестях Laravel, и не о его преимуществах перед другими фреймворками, об этом я с удовольствием расскажу в других статьях. Здесь я расскажу о пяти наиболее значимых и важных дополнений к Laravel 4, которые сэкономят вам драгоценные минуты кодинга.

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

Поиск на сайте своими руками - 1

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


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