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

Небольшой гайд по созданию простейшего RESTful api с помощью Zend framework 2 (далее zf2).

Нам потребуется zf2 v2.3@dev, а так же Doctrine 2 ORM.

Итак, начнем с создания структуры директорий нашего api:

mkdir -pv zf2-api/{config/autoload,public,module/v1/{config,src/v1/{Controller,Service,Entities}}}

Загружаем композер

curl -sS https://getcomposer.org/installer | php

Так же нам потребуется создать composer.json с такими зависимостями и установить их.

"require": {
        "php": ">=5.4",
        "zendframework/zendframework": "2.*@dev",
        "doctrine/doctrine-orm-module" :"0.*"
    }

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

Удивительно, что на Хабре всё ещё нет статей об этом гениальном DI контейнере для PHP.
Почему гениальном? Потому, что весь код этого творения укладывается в 80 строк – маленький объект с большими возможностями.
Контейнер представляет из себя один класс, и его подключение в проект выглядит следующим образом:

require_once '/path/to/Pimple.php';

Создание контейнера так же просто:

$container = new Pimple();

Как и многие другие DI контейнеры, Pimple поддерживает два вида данных: сервисы и параметры.
Читать полностью »

Несколько часов назад стало известно, что известный веб-сайт для разработчиков PHP — php.net скомпрометирован вредоносным содержимым (JavaScript) и осуществляет доставку вредоносного ПО для пользователей через набор эксплойтов.

We are continuing to work through the repercussions of the php.net malware issue described in a news post earlier today. As part of this, the php.net systems team have audited every server operated by php.net, and have found that two servers were compromised: the server which hosted the www.php.net, static.php.net and git.php.net domains, and was previously suspected based on the JavaScript malware, and the server hosting bugs.php.net. The method by which these servers were compromised is unknown at this time.

A further update on php.net

php.net скомпрометирован

One of our research tools flagged php.net as distributing malware. The site appears to have been compromised and had some of its javascript altered to exploit vulnerable systems visiting the website, instead of ad network vector that we typically see in more popular sites.

Barracuda Labs

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

Не далее как вчера стал свидетелем пренеприятного события, а именно, отсутствие доступа к php.net. О чем вскорее было написано в посте http://habrahabr.ru/post/198816/.
Сегодня доступ к ресурсу со стороны Chrome и Firefox был восстановлен.Читать полностью »

Внедрение веб-сокетов позволяет веб-приложения обрабатывать данные в режиме реального времени, не прибегая к «хакам», таким как long-polling.
Одним из примеров применения, является отображение результатов спортивного матча. Даже сейчас, много сайтов, которые показывают эти данные используют Flash-приложения, т.к. Action Script позволяет общаться с сервером через сокет-соединения. Тем не менее, вев-сокеты позволяют сделать тоже самое используя только HTML и JavaScript. Это, мы постараемся сделать в данном руководстве, используя php-сервер.
image
Читать полностью »

Наверное, многие сталкивались с вопросом неработающей интерактивной консоли PHP.

Когда вводишь

# php -a

и видишь только надпись «Interactive mode enabled», после которой что ни вводи, интерпретация и исполнение введённых команд не работает. На самом деле это не совсем так. На самом деле это специальный режим, которым надо ещё уметь пользоваться. Описание работы данного режима не входит в задачи моего поста. Для обычного же непосвящённого пользователя он выглядит именно так: ничего не работает. А вот тем, чтобы «работало» так, как мы привыкли в консолях python или node.js, мы и займёмся.

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

В этом уроке я предлагаю рассмотреть, как делается минимальный модуль для Concrete5 CMS (в терминологии системы модули называются блоками) на примере модуля «Разделитель».

Допущу себе небольшое отступление и упомяну, что при разработке расширений для Concrete5 широко используется схема MVC, по этой причине я бы рекомендовал незнакомым с ней, сначала разрбраться что это такое и только потом продолжить чтение.
Читать полностью »

Вы пробовали заказать в Макдональдсе жаренного на орудийном шомполе поросенка с домашним вином и, на десерт, девушку рядом с вами за столиком, для приятной беседы во время трапезы? Даже не думали об этом?? Вот-вот — статья как раз об этом, о стереотипах программиста и лени, двигающей прогресс. А если серьезно — в статье мы напишем очень полезный многим высокопроизводительный сетевой сервер на PHP за пару часов. Я совершенно серьезно :-)
Производительный сетевой сервер на PHP
Читать полностью »

PhpStorm 7: за пределами языкаСпешим сообщить о выходе PhpStorm 7 — новой версии IDE для разработки на PHP от JetBrains.

PhpStorm 7 позволит вам не отставать от последних изменений в PHP и других языках для веб-разработки. В этом выпуске IDE интегрирован ряд современных инструментов и предусмотрено еще больше возможностей для расширения за счет поддержки основных PHP-фреймворков.

В 7-й версии вас ждут многие новые фичи, а также улучшения, коснувшиеся всех подсистем продукта.

Давайте посмотрим, что нового в PhpStorm 7!
Читать полностью »

В работе на языке Python я частенько использую библиотеку Pytils для работы с русским текстом, и мне очень не хватало этой библиотеки при работе на PHP. Возможно, я искал плохо, но все, что я находил, не предоставляло подобных возможностей либо не слишком отвечало моим понятиям о чистом коде.

И вот, однажды я решил портировать библиотеку на PHP, и теперь хочу поделиться ею с народом и очень надеюсь на помощь в ее улучшении: буду рад советам, баг-репортам и особенно pull-реквестам. Библиотека находится на GitHub'е: github.com/Andre-487/php_rutils

Возможности библиотеки

PHP RUtils — порт Pytils на PHP. Это утилиты для работы с русским текстом. Утилиты разделены на следующие модули (классы):

  • Numeral — работа с числами: склонение существительных в зависимости от количества, числа прописью, суммы денег в рублях и копейках прописью.
  • Dt — работа с датами: расширение формата дат PHP русскими именами месяцев, дней недели; временные периоды (например, 24 976 дней назад).
  • Translit — транслитерация, подготовка строк для использования в URL'ях, именах файлов.
  • Typo — небольшой набор правил типографики простого текста.

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


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