Существуют ли методы для разделения кода и разметки в WordPress? - PullRequest
3 голосов
/ 08 июня 2011

Я обычно работаю с Python, чтобы создавать веб-приложения, и мне нравится, как я могу работать отдельно с уровнями кода и презентации.Мне действительно нравится работать с Jinja2.Но мне иногда приходится работать с WordPress для моих клиентов.Итак, мне интересно, есть ли способы сделать разработку для WordPress менее головной болью со всеми его header.php, index.php и footer.php, а также со всеми другими частями, которые могут хорошо объединиться или нет.Есть какие-нибудь предложения, чтобы сделать его более удобным?

Ответы [ 4 ]

3 голосов
/ 08 июня 2011

Согласен с Денисом, Wordpress просто - это спагетти, и с этим ничего не поделаешь. Тем не менее, если вы пишете свой собственный код для Wordpress (мы создаем темы и плагины для наших клиентов), ничто не помешает вам разделить проблемы на разные файлы, и мы обнаружили, что этот способ намного проще поддерживать. Вам все равно придется столкнуться с ситуациями, когда Wordpress ожидает ванильные файлы PHP, но по крайней мере наш код выглядит прилично;)

1 голос
/ 13 июня 2011

Ответы Дениса и Берри очевидны, но стоит также отметить, что в WordPress есть несколько плагинов, позволяющих использовать шаблоны проектирования MVC.По моему полностью предвзятому мнению, наиболее зрелым является WP MVC (или см. полная документация ), в котором используется файловая структура, которая очень похожа на структуру, найденную в Rails и CakePHP.

Другие плагины на основе MVC включают Tina MVC , Фабрика плагинов и Churro .

1 голос
/ 08 июня 2011

К сожалению, нет. И, насколько я знаю, нет никаких немедленных планов для принятия более MVC-подобной архитектуры.

Некоторые пытались добавить Smarty сверху и тому подобное, но в основном это добавляет раздувание поверх существующего раздувания. (Механизм шаблонов WP часто состоит из пакетов вызовов функций, которые вызывают друг друга, каждый со своим собственным набором плагин-фильтров и глобальных переменных.)

0 голосов
/ 08 июня 2011

Я считаю, что все элементы шаблона многократного использования в качестве отдельного php включаются, а логика представления в качестве функции / объекта темы и бизнес-логика в плагине в порядке, чтобы разделить задачи, поскольку такие объекты / функции всегда доступны, если они загружены правильно.Части шаблона действительно экономят значительное время, если вы постоянно используете определенный код (например, крошки).Я знаю, что это неудовлетворительно, но разделение проблем возможно .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...