Раскопал среди старых наработок скрипт поиска, по которому еще год назад собирался написать статью, да все как-то руки не доходили. В общем-то ничего инновационного нет, просто упрощение задачи тем, кому надо написать поиск. Допустим, что искать мы будем в базе данных mysql.
Начнем с таблицы. Опредляем таблицу и поля, по которым производится поиск:
<?php
$namebox='name'; # Поле заголовка записи
$textbox='text'; # Поле содержимого записи
?>
подробнее >>Горячая новость от первоисточника: вышел релиз Neutrino Atomic Edition 0.8.7. Разработка этой версии вяло текла в течении 6 месяцев, и в течении этого времени постоянно находились какие-нибудь новые идеи и задумки, и вот наконец код пришел к тому состоянию, каким я хотел его видеть на момент нынешнего релиза.
Все системные функции интегрированы с системой хуков, поэтому в плагинах возможно реализовывать любую дополнительную функциональность, изменяя сайт на атомике до неузнаваемости.
Также была существенно переработана система блоков на сайте. С введением набора регионов, владельцам сайтов больше не требуется лезть в код, чтобы вывести дополнительный блок. Все это делается через админ-панель плагина blocks.
Расширение bjblocks кроме набора готовых php-блоков типа облака тегов, "предыдущая/следующая запись", и "похожие записи", предоставляет также удобный интерфейс для добавления новых php-блоков из других расширений, что позволяет разработчикам плагинов создавать дружественные для пользователя решения.
Встроенный WYSIWYG и простой интерфейс настройки в плагине settings делают Neutrino Atomic Edition по-настоящему дружественной к пользователю минималистичной CMS.
Также в релизе множество других нововведений, полностью переписанный код ядра, и множество вкусностей для разработчиков.
И самое главное: при всех этих добавлениях, Neutrino 0.8.7 не утратила своей основной черты: минималистичности. В архиве движок весит всего 68,3КБ. Было дописано много нового кода, но размер сохранился прежним за счет оптимизации старого кода и исключения старых ненужных плагинов из базовой сборки.
Скачать neutrino-0.8.7-fin.zip (68,3КБ)
Ранее я уже писал заметку о хуках в PHP, о том, что это такое, и даже предлагал свой метод расширения возможностей уже объявленных функций. Как всегда, практика - критерий истины, и, начав применять этот метод на практике, я нашел его довольно сложным и муторным в применении, так как в каждую функцию в конце приходится встраивать довольно громоздкую конструкцию, указывая там и имя функции, и массив ее аргументов, и возвращаемое значение, не забыв получить еще и глобальный массив $hook (кто не в курсе, прочитайте оригинальную статью).
подробнее >>Как известно, в PHP нельзя переназначить функцию, или как-то изменить ее функциональность после объявления. Чтобы обойти это ограничение, веб-программистами используются так называемые хуки, которые в простейшем варианте выглядят примерно так:
<?php
function my_function($param1,$param2,$param3){
if(function_exists('hook_my_function'))
return hook_my_function($param1,$param2,$param3);
# далее идет код, самой функции, например:
return $param1*$param2-$param3;
}
?>
Давайте разберемся, как это работает. В начале самой функции мы проверяем, не был ли создан хук, который должен заменить собой эту самую фукнцию. Если хук-фукнция объявлена, то ей передаются все те же параметры, что были переданы родительской функции(my_function), my_function возвращает значение, возвращенное функцией hook_my_function, не выполняя код своего тела.
В чем недостатки такого подхода?
подробнее >>Первый пост в нем датируется июнем этого года, но, по всей видимости, автор настолько креативен, что список новых постов насчитывает 25 страниц(по 3 записи на страницу).
подробнее >>
