Настраиваем SEF URL (ЧПУ) в WordPress

В WordPress можно настроить разными способами как будет формироваться URL адрес для записей. Мне больше всего нравится, если запись открывается по ссылке вида: http://site.ru/nazvanie-rubriki-latinizey/nazvanie-zapisi-latinizey

Читать далее «Настраиваем SEF URL (ЧПУ) в WordPress»

Разработка сайтов

Я окончил математико-механический факультет. Во время учёбы мне везло с преподавателями программирования, которые меня познакомили с языками Pascal, С++, Visual С++, Java, С# .NET

Более 10 лет занимаюсь веб-программированием. В начале я писал на чистом PHP/MySQL. Затем стал использовать CMS Joomla. С 2012 года пользуюсь CMS 1C-Битрикс и WordPress

Читать далее «Разработка сайтов»

Установка Codeception на Windows

Процесс установки и написания первого теста описан на официальном сайте. Ещё есть очень хорошее видео на хабре. Но как-то у меня установка Codeception вызывала много вопросов. Поэтому ниже я опишу — как это сделать с помощью скачивания и выполнения phar-архива и выполнения команды bootstrap. А также кратко упомяну — как написать и запустить первый тест.

Читать далее «Установка Codeception на Windows»

Установка Timeline + JSON в WordPress

Как установить VeriteCo TimeLine в WordPress, чтобы показывались в ней записи из некоторой рубрики. Читать далее «Установка Timeline + JSON в WordPress»

Шпаргалка по WordPress

небольшая шпаргалка. Делаю её, по большей части, для себя. Пока в ней только несколько полезных плагинов

Читать далее «Шпаргалка по WordPress»

Регулярные выражения PCRE в PHP. Шпаргалка c примерами

Для работы с регулярными выражениями PCRE удобно пользоваться сайтами для их проверки (например, regex101.com или regexr.com). А если вы выбрали в качестве IDE — Eclpse, то можно установить плагин RegEx Util.

Надеюсь, что пригодится и моя шпаргалка для работы с регулярными выражениями:

Читать далее «Регулярные выражения PCRE в PHP. Шпаргалка c примерами»

Активный пункт меню mod_mainmenu в Joomla

Если не работает выделение активного пункта меню в Joomla попробуйте следующее:

Читать далее «Активный пункт меню mod_mainmenu в Joomla»

установка и использование XDebug в ECLIPSE (PDT Eclipse или PHPEclipse)

Установка XDebug

  • Качаем нужный файл (соответствующий windows и версии php) c сайта http://xdebug.org/download.php
  • Помещаем его в папку php/ext/
  • Добавляем в php.ini
  • Проверить корректность установки можно с помощью ф-ии . Вы должны увидеть раздел XDebug.
  • См. так же: http://drupalcookbook.ru/recept/ustanovka-nastrojka-otladchika-xdebug

 Eclipse PDT

  • открыть Window>Preference>Php>PHP Executables>Add ввести рядом с Executable Path – путь до файла php.exe (с именем файла в конце его). Выбрать PHP Debugger XDebug. Ввести какое-нибудь имя (например, «php 5.3») и нажать OK.
  • открыть Window>Preference>Php>Debug и выбрать PHP Debugger XDebug.  нажать OK.
  • открыть Window>Preference>Php>Debug>Installed Debuggers и проверить, что порт Xdebug совпадает со значением в php.ini. Если нет — поменять где-нибудь.
  • открыть Window>Preference>Php>Debug>PHP Servers и проверить настройки.
  • Запускаем Debug с помощью Run>Debug As>PHP Web Page. (Если нет такого пункта, проверяем, что в Eclipse в данный момент выделена область редактирования нужного файла, а не какое-нибудь другое окошко.) При первом запуске он спросит Launch URL — Введите туда URL, который вы хотите тестировать (В Joomla, скорее всего, он не совпадёт с путём до php файла, который Вам предложат. Проще всего для этого войти в браузер, открыть там нужную страницу и скопировать её сюда).
    • При последующих запусках спрашивать уже не будет. Чтобы поменять — нужно войти в Run>Debug>Debug Configuration>Php Web Page> [найдите нужную конфигурацию,, которая была автоматически создана при первом запуске]> и поменяйте значение URL на нужное
    • По умолчанию будет открываться страница во встроенном браузере. Поменять это можно в Window>Preference>General>Web Browser
    • Когда откроется страница во встроенном (или каком-либо другом) браузере обратите внимание на конструкцию вроде следующей:

      в URL адресе. Вы можете открыть любой браузер и добавить её к URL (в тот момент, когда запущен Debug) и — ура!
    • Вы можете переключиться в другую перспективу PHP Debug через Windows>Open Perspective>PHP Debug. В этой перспективе вы имеете больше возможностей для Debug`а.
    • Вы можете настроить автоматическое переключение перспективы на PHP после остановки Debug  (в Window>Preference>Php>Debug>Workbench Options)

PhpEclipse

  • Для начала переключитесь в перспективу Debug (Windows>Open Perspective>Debug) , после чего добавьте в тестируемый файл breakpoint
  • открыть Window>Preference>PhpEclipse>XDebug ввести рядом с Php Interpreter – путь до файла php.exe (с именем файла в конце его)
  • Debug>Debug configuration… Создаём новую конфигурацию дважды щёлкнув на XDebug Remote Script
  • Вводим имя нашего проекта и любое название в Ide Identification String (рекомендуется использовать короткое и запоминающееся название)
  • Перейти ко вкладке Pathmap. Она определяет как Eclipse трансформирует локальные пути к удалённым путям. Нажмите на кнопку New. И добавьте туда Local path – путь до корня проекта на машине, на которой запущен Eclipse; Remote Path – путь до корня проекта на Web-сервере. (Если они находятся на одной и той же машине, то пути совпадут)
  • Нажать на кнопку Debug
  • Запустить в браузере тестируемую страницу с припиской ?XDEBUG_SESSION_START=[Ide Identification String]

Ссылка: http://www.phpeclipse.com/wiki/Howto/XDebugAndPHPEclipse 

Предупреждение PHP «Deprecated: Function eregi() is deprecated in»

Это связано с использованием PHP версии 5.3 и выше. Начиная с этой версии функция eregi() и некоторые другие объявлены как НЕИСПОЛЬЗУЕМАЯ (DEPRECATED).

Вместо неё нужно использовать preg_match() c модификатором ‘ i ‘;

Например такая ошибка в Joomla 1.0 показывается в файле \modules\mod_mainmenu.php :

Нужно заменить все ereg() на preg_match() c модификатором ‘ i ‘.

Но таких мест в Joomla 1.0 много. И придумать лёгкую замену не получается. Поэтому я просто перед всеми ereg решил вставить @. Для этого заменил все вхождения » ereg» на   » @ ereg» (обращайте внимание на пробелы) и «!ereg» на «@ !ereg».