Gentoo PHP-FPM: установка и настройка

Устанавливаем php. Смотрите USE флаги. Обязательно указываем USE=»fpm». Остальное по необходимости. Я предпочитаю ставить на decelopment сервере все заранее, т.к. никогда не знаешь, что и когда может пригодиться. Читать далее «Gentoo PHP-FPM: установка и настройка»

Компрессия CSS с помощью PHP

Столкнулся только что с задачей довольно интересной для меня. Ковыряясь в конфигурации CakePHP, наткнулся я на один интересный момент:

Т.е. это значит, что должен существовать некоторый класс csspp, который содержит функцию компрессии css файлов путем удаления комментарием и лишних символов типа ‘пробелы’, ‘табуляция’ и т.п. Около часа поиска данного чуда человеческой мысли ни к чему не привели. Что же тогда оставалось мне делать? Существует 2 варианта: найти подходящий код и воспользоваться или написать всё самому. я выбрал второй вариант.

Код класса csspp с удовольствием выкладываю для общего пользования.

И, естественно, исходник для скачивания:

CSSPP CLASS

FCK (fckeditor) & CakePhp

В статье коротко описывается установка редактора FCK (fckeditor) как хелпера (helper) на cakephp v1.2.

Шаг 1. Подготовка.

  1. Скачать cakephp с оф. сайта.
  2. Скачать FCKeditor с оф. сайта.
  3. Распаковать cakephp и FCKeditor.Дерево каталогов (расположение каталога fckeditor в cake)

Шаг 2. FCK Helper.

Шаг 3. Controllers.

Простой контроллер

Шаг 4. Вюер — еще проще

Шаг 5. Настройка браузера файлов.
В файле app/webroot/js/fckeditor/editor/filemanager/connectors/php/config.php

Древовидная навигация по сайту

Долго я искал способ построения древовидной навигации для сайта. Я не спорю, возможно этот велосипед уже не раз изобретался. Но дерево без ограничения в уровнях — действительно являлось проблеммой для меня.

Ранее я делал нечто подобное на SQL. Это была хранимая процедура на сервере MySQL, при вызове которой мы получали HTML код навигации. Но в коде были свои недостатки, которые я от проекта к проекту решал путем прямого вмешательства.

В этом же коде, написанном на php очень легко реализовано дерево объектов.

В таблице данные я храню в виде:

  • id int auto_increment,
  • parent int,
  • title varchar

Первым делом я загоняю в массив id активного объекта и всех родительских уровней. Делаю это функцией array_unshift($id, $parents_array) для того, чтобы нулевой уровень (родитель объектов первого уровня всегда равен нулю, т.к. у объектов первого уровня нет родителя) был внесен в $parents_array[0], а $id активного элемента был последним в списке ($id активного элемента я вношу в данный массив, потому, что у данного объекта тоже могут оказаться элементы-потомки, которые тоже необходимо выводить).

Читать далее «Древовидная навигация по сайту»