Настраиваем Apache+WordPress+Codeigniter

Пришлось намедни немного поковыряться на одном старом сервере, на котором под управлением  Apache крутится сайт на WordPress.

Задачка свелась к тому, что внутри директории, в которой расположен WordPress, нужно было разместить небольшое приложение, написанное на Codeigniter. Казалось бы, чего проще, ан нет…

Continue reading «Настраиваем Apache+WordPress+Codeigniter»

Настраиваем Apache+WordPress+Codeigniter

Настройка VPS c CentOS. Часть первая.

Решился наконец купить VPS. Сказано — сделано. Заранее оговорюсь — сервер покупался под проекты двух типов — RoR и PHP MVC, поэтому, говоря о настройке, буду расставлять акценты именно вокруг окружения, необходимого для работы веб-приложений.

В качестве ОС выбрал CentOS 5, не потому что 6-ки нету, а потому что у хостера в конфигурации minimal install 6-я версия идет сильно порезаная — нет ни yum, ни rpm, ни компиляторов, согласитесь — несколько гемморно. После активации сервера собственно приступил к настройке.

Continue reading «Настройка VPS c CentOS. Часть первая.»

Настройка VPS c CentOS. Часть первая.

Hg branch, hg merge

Intro

Использовать системы контроля версий в таких задачах как разработка ПО или создание сайтов нынче хороший тон. Так уж сложилось, что в момент выбора куда смигрировать с SVN я решил использовать Mercurial, на тот момент мне эта система показалась немного более простой и удобной, нежели Git. С увеличением количества разработчиков в проекте, ну или просто, если хочется, что бы в репозитории был порядок, неизбежно все приходят к использованию веток. Даже в небольших проектах у меня всегда 2 ветки: default и devel, остальные возникают и исчезают по необходимости. В default, всегда находится стабильный, оттестированый код (хотя чего греха таить, баги тут тоже обитают), devel — общая для всех ветвь разрабатываемого кода, от которой, в процессе, могут создаваться дополнительные ветки для реализации новых фич. Вообще механизм веток в Mercurial не столь прозрачен, на мой взгляд, как в Git, там, как раз таки, данный механизм реализован более удачно. Мне привычнее использовать named branches.

Создание ветки

hg branch test
hg ci -m "new branch for testing code"
hg push --new-branch

Слияния веток

hg up default
hg merge test
hg ci -m "merge with test branch"
hg push

Закрытие ветки

hg up test
hg ci -m "close test branch" --close-branch
hg push

Вот так, довольно просто, можно использовать ветки в Mercurial. Это далеко не единственный вариант, например есть еще перемещаемые маркеры, они же bookmarks.

Hg branch, hg merge

MySQL Workbench и Doctrine ORM

Некоторое время назад я рассказывал о том, как настроить CodeIgniter, Doctrine ORM и Swift. Сегодня расскажу о том, как ускорить этап создания прототипа приложения, создаваемого на этой связке, с помощью MySQL Workbench.

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

Закончив проектирование остается сделать совсем немного. Во-первых, закрепляем все изменения в БД. После этого в дело вступает Doctrine:

//Создаем schema.yml на основе структуры БД
php doctrine generate-yaml-db
//Создаем файлы моделей на основе структуры БД
php doctrine generate-models-db

В результате будут сгенерированы файлы моделей, после этого — have fun 🙂

MySQL Workbench и Doctrine ORM