Архив Март, 2009

Хитрости PHP: INCLUDE vs MYSQL на примере php меню

Недавно пришлось писать меню для CMS  (именно для той о которой я писал в пред идущем посте Хитрости PHP: Якорная вставка функций я еще много про эту CMS расскажу). Думаю многие  сталкивались с такой задачей, это не сложный скрипт. Я решил сделать меню, максимально универсально.

Основные требования которые я перед собой поставил при написание меню:

  1. Возможность быстро и удобно менять внешний вид меню (вертикальное, горизонтальное, выпадающее и тп.), с минимальным присутствием программиста.
  2. Возможность выводить в меню, пункты модулей (например модуль “новости”, рубрики новостей должны быть подразделами, хотя сами рубрики хранятся отдельно).

Читать запись полностью »

Хитрости PHP: Якорная вставка функций

Как-то в ходе работы мне пришлось писать CMS (и не одну, хотя с каждым апгрейдом они получались все лучше:)). Одними из многих требований были :

  1. Модульность, с легкой возможностью подключения и отключения модулей.
  2. Возможность дописывания модулей другими программистами, без доступа к ядру CMS (что подразумевало написания хорошего мануала).

Первый пункт особой сложности для меня не представлял, решался он разработки архитектуры файлов модулей и разработкой алгоритма подключения/отключения/настройки модулей, а вот со вторым пришлось подумать…

Решений я видел несколько:

  1. Вставлять в ключевых местах CMS циклы с подключениями файлов модулей. Например, если существует файл в папке модуля с именем include_page.php то подключать его перед выводом страницы тем самым, создав этот файл, можно получить доступ к редактированию данных страницы. Но мне это решение не понравилось. Очень много файлов, да и не удобно, сложно управлять порядком подключения дополнительных файлов, плюс некоторые файлы могут конфликтовать, т.к. нет ни какой иерархии и архитектуры. В общем как идея она имеет место, но я ее не принял.
  2. “Якорная вставка функций” - это не научное название, просто я это так назвал:). И именно этот вариант я и выбрал. Сейчас расскажу как оно работает.

Смысл “якорной вставки функции”, как и в первом варианте, заключается в раставление в основных местах “функций якорей”, но в этом случае ни какие файлы не подключаются, а всего лишь запускаются функции, которые были добавлены в глобальный массив. Плюсы этого метода для меня были в том, что доступа как такового ко всем переменным нет. То есть - можно объявить в функции нужную переменную как глобальную, но это если ты знаешь ее, если нет, то и не нужно ее трогать. Таким образом, ни каких конфликтов не будет все используемые переменные внутри функции. Читать запись полностью »

Кто такие программисты?

xxx> гента ставится за день максимум, если не протупить в чем нибудь..

xxx> например, я однажды протупил с винтами - упорно пытался доказать, что у меня сата-шные винты, а не иде, как было на самом деле

 

yyy> Это фигня. Я как-то четыре часа бодался с джентой, пытаясь настроить блютус на ноуте.

yyy> Практически настроил.

yyy> Потом выяснилось, что я купил ноут без блютуса.

Из баша

 

Кто же такие на самом деле программисты? Или же программеры, как они чаще сами себя называют. Людям далеким от этих интересных созданий может прийти в голову устоявшийся образ – такой суровый дядька с бородой, в свитере, заправленном в старые джинсы, и даже возможно с бутылкой пива в руке. Действительно ли это так? Читать запись полностью »