Отладка PHP кода в консоли браузера

Сегодня я задумался, как вывести print_r в консоль браузера? Ведь, сколько раз мы писали злосчастные var_dump и print_r и после этого долго мотали страницу в поиске отладочной информации, а если отладку нужно производить на боевом сайте — то клиенты могли увидеть вашу «работу» по устранению неисправностей.

Итак, поехали: реализации функции вывода отладочной информации PHP в консоль браузера

<?
function cl_print_r ($var, $label = '')
{
	$str = json_encode(print_r ($var, true));
	echo "<script>console.group('".$label."');console.log('".$str."');console.groupEnd();</script>";
}
function cl_var_dump ($var, $label = '')
{
	ob_start();
	var_dump($var);
	$result = json_encode(ob_get_clean());
	echo "<script>console.group('".$label."');console.log('".$result."');console.groupEnd();</script>";
}
//пример использования:
$mas = array ("1", "2", "3", array("key"=>"value"));
cl_print_r($mas, '$mas log cl_print_r');
cl_var_dump($mas, '$mas log cl_var_dump');
?>

В итоге всё будет выглядеть примерно так:

Читать далее

Полезные функции при выводе информации на русском языке (окончания, номера месяцев, дней)

Очень часто веб-разработчики ленятся и вместо, скажем, надписи «3 дня» пишут «дней: 3». Действительно, зачем заморачиваться и программировать еще и функцию подбора окончания слова? Я решил упростить Вам эту задачу и представляю свои функции, которые использую в проектах.

Функция подбора окончания слова:

function num2word($num, $words) {
    $num = $num % 100;
    if ($num > 19) {
        $num = $num % 10;
    }
    switch ($num) {
        case 1: {
                return($words[0]);
            }
        case 2: case 3: case 4: {
                return($words[1]);
            }
        default: {
                return($words[2]);
            }
    }
}

Пример использования:

Читать далее

Полезные ссылки для дизайнеров и верстальщиков

Для дизайнеров:
Freebbble: Бесплатные элементы дизайна из Dribbble.
Couleurs: Простое приложения для определения цветов, которые вы видите на экране.
Pexels: Лучшие бесплатные фото в одном месте.
Для верстальщиков:
Ultimate CSS Gradient Generator: Кроссбраузерный генератор градиента.
Font Squirrel: 100% бесплатные коммерческие шрифты.

Для всех:
Joxi: удобная программа для скриншотов и обмена файлами по сети.

Заготовка собственного компонента фильтра в Битрикс

Заготовку можно скачать отсюда.

Собственно не станем вдаваться в то, как этот фильтр будет выглядеть. Рассмотрим механику его работы.

Что должен делать фильтр? Правильно! Фильтровать информацию по различным параметрам.

Схема работы будет следующая:

Сама форма фильтра только отправляет POST запрос с параметрами фильтрации, а компонент вывода — на основе этих параметров выводит именно ту информацию, которая нам требуется.

component.php компонента вывода будет выглядеть примерно так:

Читать далее

Изменить значение пользовательского свойства элемента инфоблока в Битрикс

Реализуется простой функцией:

// $id_el - id элемента, свойство которого будем изменять
// $property_id - id свойства
// $property_value - значение свойства
CIBlockElement::SetPropertyValuesEx($id_el, false, array($property_id => $property_value));

Подробнее о функции