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

image
PHP содержит очень мощный инструмент — массивы. Половина функций в PHP возвращает результат как ассоциативные массивы. При работе с такими функциями легко допустить ошибки в именовании ключей массива. Понятно что для опытного разработчика это не составляет проблем, но для начинающих это частенько может стать головной болью, особенно если мы получаем огромный json или просто правим legasy код, ну а для не программистов… (таких как я) может послужить генератором говнострашного кода.

Тут приведу некий трюк, который позволяет использовать массив как объект/коллекцию. Возможно кому то это покажется глупым, а кому то даст идеи для применения.

Сразу оговорюсь что реализация рабочая для PHPStorm, в других IDE нужно вам проверять.
Читать полностью »

Изучим все детали основных сервисов передачи сообщений доступных в PHP.

  1. Семафоры
  2. Gearman
  3. JMS с PHP:
    1. QUERCUS
    2. PHPMQ->MANTARAY

1. Семафоры

Semaphore — это PHP модуль, который на самом делал состоит из трех расширений, и включает в себя семафоры, разделяемую память и межпроцессное взаимодействие (IPC). Этот модуль предоставляет обертки к семейству функций System V IPC; чтобы использовать его в PHP, вам нужно включить этот модуль вручную, так как по умолчанию он отключен; чтобы включить поддержку System V семафоров используйте флаг --enable-sysvsem при компиляции, для включения разделяемой памяти скомпилируйте PHP с --enable-sysvshm, и для включения System V сообщений скомпилируйте PHP с опцией --enable-sysvmsg.
Читать полностью »

На конференции //build/ у меня был доклад о Visual Studio Web Tools и расширении Web Essentials. Вы можете найти этот доклад онлайн на сайте Channel9. Во время доклада я использовал несколько расширений, которые будут полезными для любого веб-разработчика Visual Studio 2013. Ниже вы найдете список этих расширений.

Web Essentials

logoСайт: http://vswebessentials.com
Загрузить: Web Essentials в галерее VS

Это расширение команды ASP.NET и Web Tools, которое является неофициальной площадкой для тестирования и обкатки функций. Само расширение развивается opensource-сообществом. Web Essentials предлагает огромное число новых возможностей для веб-разработчиков, такие как компиляторы LESS/Sass/CoffeeScript, дополнительные возможности работы с кодом JavaScript/CSS/HTML/JSON, валидаторы, генераторы спрайтов изображений и многое другое.

SideWaffle

imageСайт: http://sidewaffle.com
Загрузить: SideWaffle в галерее VS

Очень вкусное дополнение для Visual Studio. Это отличный набор шаблонов, который содержит как шаблоны проектов, шаблоны элементов, так и сниппеты для широкого круга сценариев: от создания приложений Angular.js, проектов Nancy FX, Browser Link, расширений Chrome и многого другого.
Читать полностью »

Краулер Openstat при обходе сайтов Рунета, Байнета, Уанета, а также популярных русскоязычных сайтов из других доменов, ежемесячно собирает технометрики для 4,67 млн активных хостов (из 6 136 378 опрошенных).
Используемые технологии (Powered by) — самые длинные (в смысле «Long Data») данные, которые он собирает: количество позиций здесь значительно превосходит остальные метрики — 12 400. С ними неудобно работать, и поэтому для зачина покажу только начальные строки исходной таблицы для тех, кто хочет узнать, какие самые модные ныне версии PHP.

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

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

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

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

Как известно в одной папке не стоит хранить большое количество файлов т.к. очень быстро может произойти сбой в системе или попросту файлы будут очень медленно считываться.

Для решения этой задачи многие программисты берут md5 имени файла f789f789abc898d6892df98d09a8f8, после чего разбивают имя примерно таким образом:

/f7/89/f789abc898d6892df98d09a8f8.jpg
Читать полностью »

Спасибо! И позвольте, я объяснюсь.

В первую очередь, спасибо всем, кто прочитал предыдущие части. Много интересных комментариев написали, и я понял, что должен объяснить, зачем я, собственно, всё это пишу? Зачем мне вообще нужно отделять контроллеры от фреймворка? Скорее всего, об этом не придется думать, потому что

Шансы, что контроллеры придется переносить на другой фреймворк, близки к нулю. (Рафаэль Домс)

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

Всем привет!

Не так давно я начал переписывать один интересный проект, своего рода чат, в котором до моего вмешательства использовался комет-сервер на вебсокеты. Рассказывать о том, что такое WebSockets я не стану, т.к я думаю, что это всем уже известно, да и пост не об этом. Поэтому под катом просто немного PhP-кода.
Читать полностью »

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

Обычно считается, что контроллеры — наиболее связанные классы в приложении. Как правило, на основании данных запроса они получают или сохраняют данные в базу данных, затем превращают данные или результат сохранения в HTML, который выступает в качестве ответа клиенту, который произвел запрос.

Получается, что контроллеры — повсюду, они соединяют те части приложения, которые обычно достаточно независимы друг от друга. Это сильно повышает связанность контроллеров: среди их зависимостей есть менеджер сущностей Doctrine, шаблонизатор Twig, базовый контроллер из FrameworkBundle, и прочее.

В этой записи я покажу, что этот уровень связанности совершенно не нужен. Я покажу вам, как значительно понизить связанность, предприняв всего несколько простых шагов. В результате мы получим контроллер, который можно будет повторно использовать в разных типах приложений, например, на базе Silex или даже Drupal.
Читать полностью »


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