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

Сегодня — первая часть рассказа о том, как определить свои задачи и потребности при создании феймворка темы на WordPress.

Некоторые принципы повторного использования кода, которые важно знать

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

  • Тестирование — позволит убедиться в том, что ваш код работоспособен, перед тем как внедрить его 5, 10 или 20 раз.

Вот основные принципы в работе над фреймворком темы:

  • Работайте над "дизайном кода": я знаю, что когда речь заходит о WordPress, понятие "дизайн" обычно касается front-end разработки, но работа над кодом, его разработкой и оформлением не менее важна. Упорядочите функции, классы и страницы прежде чем отобразить их в коде вашей темы.
  • Обобщайте там, где это возможно: возможно, один из ключевых по своей важности принципов заключается в том, чтобы распознать, когда именно вы используете переработанные сниппеты кода, и обобщить их в рамках функций. Это существенно облегчит работу с кодом, управление и обновление его в фреймворке.
  • Тщательно документируйте и тестируйте: это то, что стоит делать в целом с кодом, но в особенности — с тем кодом, который планируете часто использовать повторно в будущем. Документирование поможет вам не забыть то, о чем вы думали в процессе работы над кодом за полгода - год до сегодняшнего дня. Тестирование же поможет вам убедиться в том, что код работоспособен, до того, как применить этот код в 5-й, 10-й или 20-й раз.

Определитесь с потребностями

Теперь, когда мы определились с принципами, которые стоит помнить при работе над фреймворком, нам нужно определиться, что именно мы хотим получить, какие задачи решить. Как вы знаете, у каждого из нас свои задачи при разработке тем для WordPress, у меня они могут быть одни, а у вас — совсем другие. Мои потребности в создании фреймворка были очень просты: мне нужен был базовый фреймворк, способный решить ряд моих стартовых задач.

В процессе разработки WordPress темы для клиентов вы можете заметить, что процесс этот носит ряд повторяющихся операций:

  • Скопировать выбранную по умолчанию тему.
  • Убрать все ненужное.
  • Заменить собственным кодом.

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

Приняв это решение, надо определить свои потребности: что именно вы делаете снова и снова и что можно обобщить в таком фреймворке. Вот мой список требований к фреймворку:

  • Подключаемый CSS: в моем CSS был ряд частей кода, который менялся крайне редко. В частности, — классы WordPress и их определения, общие классы вроде ".hide, .left, .right, .clear", поправки для IE. Если обобщить, то мне нужен дамп файла CSS (master.css), с которым будет работать остальной сайт (и будет работать так, как должен).
  • "Постоянные" для URL-ов темы и URL-ов изображений: в темах, с которыми работаешь, есть 2 типа переменных, нужных для каждой новой темы. Если я могу их легко задать, мне не придется каждый раз беспокоиться о том, как заменить URL-ы для каждого нового сайта и новой темы.
  • Общая (типичная) функциональность WordPress: сюда входят меню, определения функций для боковой панели, и многие другие повторяющиеся в темах общие функции.
  • Страницы, заданные в шаблоне: обычные страницы темы (header, footer, index) с достаточным количеством кода, который всегда остается, и который редко меняешь при разработке новой темы.
  • Типичные папки: обычно тут указаны папка с изображениями, папки с файлами css и css/img.
  • Малый объем: тема всегда должна мало "весить". На мой взгляд, WordPress сам по себе "весит" немало и достаточно сложен как фреймворк; нет смысла создавать "над ним" еще один сложный фреймворк при работе над конкретной темой.

Еще можно включить некторые функции для ряда страниц, например, сообщение о том, что "страница не найдена", навигацию в постах и страницах и т.п.

Посмотрите, что у вас уже есть

Самое классное в open-source ПО — это то, что если вам что-то вдруг понадобится, то это вполне вероятно уже сделано. То же самое — с фреймворками. Уже есть десятки фреймворков, поэтому прежде чем засесть за разработку собственного фреймворка, стоит посмотреть, что у вас уже есть под рукой. Это поможет сэкономить время, не так ли? Не говоря уже о том, что самый лучший способ сэкономить — это вообще не тратить время на кодинг своего фреймворка!


Thematic от ThemeShaper — один из популярных фреймворков

В помощь вам я составил небольшой список фреймворков:

Изучая возможности данных фреймворков, помните о списке своих требований к фреймворку. Тестируйте выбранный фреймворк тщательно: скачивайте, устанавливайте, включайте и пробуйте создать самую простую тему на его основе и "поиграться" с настройками. Так вы увидите, что у вас получается. И только потом принимайте решение.

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

А в следующей публикации я расскажу о том, как применить эти принципы и основы в создании собственного фреймворка на практике.

Источник: WP.TutsPlus.com

Вам понравился материал?

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

1 комментарий

сначала новые
по рейтингу сначала новые по хронологии

Видимо автор не понимает значение слова "фреймворк". Вы бы ещё написали "Создаем синхрофазотрон темы для WordPress своими руками". Читайте википедию, не позорьтесь.