PHP Lint

Проверка PHP-кода на ошибки, cli.

«405 method not allowed» IIS for Restful methods

По-умолчанию в IIS запрещены методы, которые используется в Restful API, например DELETE, PUT и другие.

Для того, что бы разрешить эти методы нужно:

  1. В диспетчере IIS открыть Сопоставления обработчиков
  2. Найти обработчик PHP, зайти в его настройки
  3. Ограничение запроса…
  4. Команды
  5. Прописать необходимые методы, например: GET,POST,PUT,DELETE, а также можно разрешить все.

Включить отдачу .woff .woff2 .svg в IIS

По-умолчанию, в IIS отключен обработчик для файлов шрифтов (например, .woff .woff2) и графики в .svg. Что бы включить нужно сделать следующее:

  1. В Диспетчере служб IIS перейти в «Типы MIME»
  2. Добавить

Значения:

Расширение MIME
.woff application/x-woff
.wof2 application/x-woff2
.svg image/svg+xml

Flat array to nested in php

Requirements = PHP 5.3

Usage:

Thanks! http://stackoverflow.com/a/27360654/1886270

Автоматическое форматирование кода в соответствии со стандартами PSR в PHPStorm

Пользователь Fabien Potencier (fabpot) разработал инструмент, который автоматически форматирует и перестраивает ваш код следуя стандартам PSR.

Этот пост и инструкция помогут вам установить этот инструмент и добавить его в PHPStorm, добавить сочетание клавиш что бы выполнять проверку текущего открытого файла.

Continue reading

Добавление тега rel=canonical в OpenCart

OpenCart бесплатная система для создания интернет-магазинов. Насмотря на свою поулярность, некотоые функции отсутствуют. Это особенно заметно в SEO. OpenCart имеет инструмент добавления тега rel=”canonical” на страницы товаров, но нет возможности добавить данный тег на страницу категорий или же на не менее важную домашнюю страницу.

Если установить OpenCart без исправления этой проблемы, поиск Google по запросу site:yourdomain.com вернет миллионы вариантов для каждой категории, страницы будут дублироваться.

Continue reading

Разбор GET (Query) параметров на Dart

Потребовалось разобрать URL текущей страницы и получить значения GET-параметров по их имени. Набросал функцию:

Данная функция принимает имя параметра, а возвращает его значение, если он найден, иначе пустую строку.

MySQL 5.6 & PHP 4.4

В MySQL 5.6 значительно поменялись настройки безопасности.

При попытке соединения с базой данных из PHP 4.4.x появляется ошибка:

Что бы заставить работать PHP 4.4 вместе с MySQL 5.6 нужно:

  1. Добавить в файл my.conf параметр skip-secure-auth после чего нужно перезапустить сервис MySQL
  2. Обновить информацию о пароле пользователя. Вместо нового формата нужно использовать старый. Для этого:

ASP: Печать на форму и чтение параметров

Совсем уже простая задача: Сделать страничку, с использованием ASP и VBScript, на которой будет форма (тестовое поле и кнопка). По Клику на кнопку на страницу вывести то, что было написано в тестовом поле.

Код:

Идея простая. Берем форму, а дальше к ней пишем скриптик на языке VBScript (Да, знаю, штука гадкая, но заставили). Внимание следует обратить на тег RUNAT=»SERVER» — это значит, что этот скрипт должен исполняться на сервере.

Внутри его: есть объект Response (ответ) и у него метод Write, который умеет писать на страницу.  Request.QueryString позволяет получить значение переданного параметра. в качестве параметра принимает строку, в которой содержится имя элемента формы — в нашем случае это Text1. Совместив 2 функции можно выполнить задание.

Для работы примера потребуется IIS со включенной поддержкой ASP.

О API Яндекс.Фоток. Как получить Token из php

У нас (как и у всех) был новый год. Я давно ничего не писал, так как праздники, а потом сессия (сейчас я студент), но вот она закрыта и можно что-то интересное сюда написать.

Сейчас занялся Яндексом, а точнее его api для приложений. Первое что пригодилось — Api Яндекс.Фоток. Этот интерфейс позволяет общаться с сервисом хранения фотографий яндекса. Первое что нужно для работы с ним — получение токена от пользователя. Для того, что бы получить этот token я написал следующую функцию:

 

Я захотел использовать метод по логину и паролю, поэтому передаю и эти параметры. Процедура получения токена описана в api на этой странице. Для получения token’а нужно отправить POST запрос на специальный адрес.Здесь я в основном настраиваю тот самый запрос.

Указываю, куда отправить запрос; Указываю, что нужно прерываться при ошибке; Что нужно следовать редиректам; Указываю, что нужно сохранить результат выполнения в переменную; Указываю время до тайм-аута в 9 ms; говорю, что это будет тот самый POST-запрос и указываю данные которые нужно отправить — как в документе с Яндекса. После чего выполняю запрос и завершаю работу с cURL.

После выполнения запроса, в переменной $result будет находится документ в формате json, который остается только преобразовать в массив и извлечь нужные данные.

Преобразование делается с помощью функции json_decode(). Флаг true означает, что на выходе мне нужен ассоциативный массив. Последний шаг — возвращение самого ключа из функции. На этом всё.