Записи в категорії «PHP»

PhpStorm: показ / підсвічування .ctp файлів, як PHP файлів

Довелось правити старий проект, написаний на CakePHP. В ньому файли вигляду (вюшки, англ. views) збережені в форматі *.ctp. Якщо правити код в PhpStorm’і, то підсвічування коду згідно синтаксису PHP не підтягується. Виглядає «сіро» і не читабельно:

PhpStorm не підсвічує .ctp файли
PhpStorm не підсвічує .ctp файли

Читати далі

Враження від конференції PHP Frameworks day 2013

Всім привіт. Приїхав з цьогорічного PHP Frameworks day і вирішив написати невеличкий відгук. Загалом все було цікаво. Нижче трохи конкретики.

Читати далі

Їду на PHP Frameworks Day 2013

PHP Frameworks Day 2013

Уже зовсім скоро, 12 жовтня, в Києві відбудеться конференція PHP Frameworks Day 2013.

Сам захід обіцяє бути вельми корисним для PHP-розробників. Багато всього, але особисто мені цікаво послухати доповіді про Silex (мікрофреймворк), Yii (дуже швидкий PHP-фреймворк, мій вибір), і звісно «темна конячка» у вигляді Phalcon‘а. Були ідеї рік тому писати новий проект на останньому, але «я і моя молода команда» побоялись його тоді використовувати. А Phalcon тим часом набуває популярності.

До слова, цьогоріч я був на аналогічній конференції по JavaScript. Було класно, тому від майбутньої здибанки девелоперів ще більші очікування.

Читати далі

Як увімкнути OpenSSL для PHP під Windows?

Варіант перший. Встановити OpenSSL для Windows. Або ж другий варант, який мені подобається більше.

В корені папки PHP лежить два файли: libeay32.dll та ssleay32.dll (вони входять в пакет). Скопіюйте їх і покладіть в папку C:\Windows\System32.

В папці з розширеннями PHP (ext) має бути файл php_openssl.dll. Якщо такого нема, то викачайте собі zip-архів для вашої версії PHP. В цьому архіві дана бібліотека присутня, скопіюйте її до себе в папку ext.

Читати далі

Вкрай повільне підключення до MySQL з PHP

Цими вихідними почав переписувати один свій давній веб-сайт на Yii. Про код промовчу, він жахливий, хоч і працює стабільно уже… більше п’яти років. За цей час даний сайт я сідав переписувати не раз, то на «чистому» PHP, то на Kohana… та на довго мене не вистачало. Але мова зараз не про це.

Так як вдома я «зносив» систему, то поставив свіжу версію локального сервера. По плану зробив чистий проект на Yii, прописав параметри підключення до MySQL. Нічого незвичного, все як і завжди. Пишу код, тішусь швидкодією фреймворка. Як дійшло до з’єднання з базою стається халепа. З’єднання займає трохи більше 1 секунди!

Читати далі

PHP: виявлення українських символів у тексті

Як ми перевірятимемо? Ми спробуємо виявити в тексті українські букви. Це звісно нічого не гарантує на 100%, адже такі ж символи (більшість з них) є в інших абетках. Можна звісно шукати виключно специфічні українські букви такі як «ґіїє», але цей спосіб теж не ідеальний. Тож перед вами компроміс.

function isUkrainian($text) {
    return preg_match('/[А-Яа-яҐІЇЄґіїє]/u', $text);
}

Приклади використання і результат виконання функції:

$text_ukr = "Львів — місто обласного підпорядкування в Україні.";
var_dump(
    isUkrainian($text_ukr)
);
// результат: int(1)

Примітка! Функція preg_match() повертає кількість знайдених відповідностей. Це може бути 0 (збігів не знайдено) і 1, оскільки preg_match() припиняє свою роботу після першого знайденого збігу.

Читати далі

Вставка «м’яких» переносів для довгих слів

Як відомо, теґ <wbr> вказує браузеру місце, де допускається робити перенесення рядка в тексті, якщо цього вимагає ширина батьківського елемента.

// для ANSI
implode('<wbr>', str_split($message));

// для UTF-8
implode('<wbr>', mb_str_split($message));

Для роботи з рядками в UTF-8 можна використати самописну функцію mb_str_split, на яку я натрапив в мережі:

mb_internal_encoding('UTF-8');

function mb_str_split($str, $length = 25){
	if ($length < 1) return false;
	$result = array();
	for ($i = 0; $i < mb_strlen($str); $i += $length) {
		$result[] = mb_substr($str, $i, $length);
	}
	return $result;
}