Zend Framework 2 + Doctrine. Сущности и связи

Приветствую всех, кто заскочил! В прошлой статье я дал обзорную характеристику ZendFramework и ORM Doctrine, рассказал, как это все установить.

Пришло время посмотреть реализацию!

Что такое Entity

В соответствии с принципом MVC, первым и самым фундаментальным элементом системы является модель. В случае с нашей ORM модель носит название Entity, или сущность. У нас, как и у любого серьезного проекта, есть база данных со множеством таблиц. Так вот, сущность олицетворяет собой программное «отображение» таблицы БД.

Одна таблица — одна сущность.

читать далее «Zend Framework 2 + Doctrine. Сущности и связи»

Создание и использование шорткодов в WordPress

Привет постоянным читателям и случайным посетителям! Сегодня поговорим про WordPress и чудеса его настройки.

Я выбрал WordPress для своего блога по большей части потому, что это самая распространенная CMS в мире. Утверждается, что вести блог с этой системой проще простого. Быстрый старт и никаких заморочек с настройками, открыл редактор и штампуй статьи, лишь бы было о чем писать. И я готов подтвердить — так оно и есть!

Но в один прекрасный день настал момент, когда мне перестало хватать свободы действий в управлении своим сайтом. И я полез в исходный код, изучил файловую структуру темы, почти полностью переписал все ее исходные файлы, полностью сменил внешний вид и внедрил микроразметку. О ней я обязательно в подробностях напишу, но позже, там жуткие заморочки. Сейчас речь пойдет о возможности расширения базового функционала WordPress без использования плагинов!

читать далее «Создание и использование шорткодов в WordPress»

Вставить код JavaScript на страницу WordPress

Во время изучения премудростей великого и ужасного JavaScript`а, я задался очевидным вопросом: «Как тестировать скрипты?». Да ладно, тестировать можно и на локальном сервере, но внедрять в конечном счете мне их нужно на сайты с WP. Из коробки WordPress не позволяет подключать JavaScript в любом виде, а уж тем более исполнять PHP код. Но если для обхода второго ограничения есть легкие простые плагины, например Exec-PHP, то ради джаваскрипта ставить еще один плагин совсем не хочется.

Если писать скрипт напрямую в страницу, то WP любезно заменит все переносы строк абзацами и заменит кавычки так, что скрипт перестанет работать. Поэтому в голову приходит два логичных решения этой проблемы. Оба они имеют право на существование, так что давайте разбираться.

читать далее «Вставить код JavaScript на страницу WordPress»

Раскрывающийся список на jQuery

До последнего тянул и не использовал JavaScript в своих проектах. И понял, что очень зря. Появилась задача — сделать красиво скрывающийся и раскрывающийся по нажатию блок. В качестве испытательного полигона был выбран этот бложик, а в качестве блока — обычный вложенный список. Суть в том, чтобы заставить элементы вложенного списка появляться и исчезать по нажатию на элемент внешнего.

Допустим, у нас такой список.

<ul>
    <li><h3>Аверченко Аркадий</h3>
        <ul>
            <li>Повести и рассказы</li>
        </ul>
    </li>
    <li><h3>Андреев Леонид</h3>
        <ul>
            <li>Иуда Искариот</li>
        </ul>
    </li>
    <li><h3>Бодров Виталий</h3>
        <ul>
            <li>Кровь титанов(4 книги)</li>
            <li>Хоббит, или туда-сюда-обратно</li>
        </ul>
    </li>
</ul>

Каждый элемент внешнего списка авторов содержит вложенный список их произведений. Нужно сделать так, чтобы при нажатии на имя автора, список его произведений красиво всплывал под ним, и, не менее красиво, исчезал при повторном нажатии. Покажу два решения.

читать далее «Раскрывающийся список на jQuery»

Zend Framework 2 + Doctrine. Настройка и структура проекта

Привет всем! С этой статьи я начну погружение в удивительный мир Zend Framework 2. Не могу точно сказать, насколько глубоко уйду, но настройка и простейший пример реализации будут точно. С первого взгляда Zend для меня показался просто жуткой бессмыслицей. Зачем прятать работу с базой данных в такую замысловатую ООП оболочку? Нам давали задание написать простейший каталог интернет магазина и там мы вполне обошлись безо всяких фреймворков.

Но все мои возмущения улетучились, когда этап настройки миновал и началась, непосредственно, реализация. Фреймворки — это круто! Стоит один раз пройти через круги ада и понять, как все работает и сразу круто! Давайте вступим на самый первый круг и поймем, что это вообще такое и что здесь происходит.

читать далее «Zend Framework 2 + Doctrine. Настройка и структура проекта»