Я планирую разработать веб-приложение, которое будет иметь множество статических страниц (о, помощь, контакт … и т. Д.) И другие динамические страницы для приложения.
В большинстве случаев я использую CakePHP для разработки любого из моих приложений, но для этого проекта я подумываю о том, чтобы использовать WordPress в качестве рамки для моего приложения, причина в том, что WordPress будет легко создавать статические страницы (легко написать статический страниц) и потому, что регистрация пользователя в wordpress уже существует (мне не нужно ее создавать)
но, с другой стороны, cakephp легко для меня, и я буду фокусироваться на создании моего приложения, не изучая новую структуру.
дайте мне знать, что вы думаете? следует ли использовать wordpress в качестве ядра моего приложения или использовать cakephp?
PS: мое приложение будет в основном поисковой системой, использующей Sphinx для поиска больших данных в базе данных и отображения результата для пользователей и некоторых других простых php (динамических) страниц.
Один из вариантов – настроить WordPress для обслуживания ваших статических страниц (чтобы не тратить время на повторное использование CMS для этого контента) и использовать CakePHP для разработки динамического приложения, которое является основой того, что вы строите
Затем вы можете разместить их в одном домене, и если вы настроите одну и ту же структуру страницы / CSS как для WordPress, так и для CakPHP, тогда она будет плавной для пользователей.
Аналогичный пример у меня – это сайт, на котором работает WordPress для управления контентом, и PHPBB для форума, оба стиля выглядят одинаково:
- Раздел WordPress
- Раздел PHPBB
Это означает, что вам нужно поддерживать 2 страницы (CSS и HTML) и поддерживать их в соответствии друг с другом, но дает преимущество в том, чтобы играть в сильные стороны WordPress управления статическим контентом (о страницах), а также на основе времени (новостные статьи ) с небольшими затратами времени и усилий, позволяя вам больше времени сосредоточиться на игре на силах CakePHPs для вашего динамического приложения, которое является основой того, что вы строите.
Если вы в основном используете WordPress, так как это происходит без большой настройки / разработки, вы должны иметь возможность быстро запускать его с низкой кривой обучения, что позволяет вам сосредоточиться на своем основном приложении.
Я прочитал многие аналитические материалы о принятии решения о создании базовой структуры для моего следующего проекта. Вот выводы;
(ps: Я сильно кодирую WordPress с 1 года, и я опытный веб-разработчик и архитектор программного обеспечения +18 лет)
Аргумент 1 – «Wordpress – это движок CMS / Blog, но не структура приложения»
Это похоже на то, что «Microsoft – технологическая компания».
Это просто неверно. (Да, Microsoft создает хорошие технологии, но это маркетинговая компания. Например: конкурентное преимущество – это не создание лучших технологий на земле, а то, что она делает успешно, для разработчиков решений для бизнеса).
WordPress – это надежная платформа приложений, а функциональность CMS / Blog – это приложение по умолчанию, которое входит в комплект поставки. Я думаю, что главная причина, по которой WordPress оценивается как платформа для разработки 1) пользовательские функции post type / custom fields настолько новы; мы не видели достаточного количества приложений для этих функций. 2) Очень высокий процент сообщества WordPress – это нетехнические люди (дизайнеры, блоггеры и т. Д.) По сравнению с другими «низкоуровневыми платформами», такими как Cake, Code Igniter и т. Д. Таким образом, сообщество разработчиков без WP не знает что WP действительно может сделать.
Аргумент 2 – WordPress не основан на MVC, поэтому он не является надежной платформой для разработки.
Извините, но это не ИСТИНА.
MVC не является религией нового возраста, за которой должны следовать все. Да, это упрощает отладку, развитие с ней структурного подхода к кодированию. В конце концов, это подход (среди многих других), чтобы сделать вашу жизнь проще программистом и сохранить ценные инвестиции компании, встроенные в ваш код.
Архитектура плагина и изоляция пользовательских интерфейсов, основанная на темах, в WP вполне достаточна для многих целей …
Если вы все еще настаиваете на использовании подхода MVC, вы можете это сделать; WP MVC как плагины.
Аргумент 3 – WordPress медленный, и он не масштабируется для сайтов с высоким трафиком.
Не правда.
ДА, WordPress медленнее отображает страницу по сравнению с вашим жестко запрограммированным PHP-кодом (из-за дополнительного выполнения процесса overhad). НО, если вы полагаетесь на производительность рендеринга кода для высокой масштабируемости, извините, вы ничего не знаете о масштабируемости.
WordPress поставляется с zillion кэшированием и плагинами производительности, которые обеспечат лучшую производительность сайта, которую вы вряд ли сможете сопоставить с вашими собственными усилиями.
Окончательный вывод;
Я не хочу быть разработчиком 3.434.533, чтобы создать функциональность для входа / восстановления пароля для его веб-сайта. Вот почему я иду за WP.
В конце дня наше время ограничено в этом мире.
Если у вас уже есть база данных, я, вероятно, поеду с CakePHP, потому что вы уже владеете CakePHP.
Но если вы собираетесь создавать свою базу данных, вам может понадобиться использовать плагин WordPress под названием PODS CMS, который создает пользовательские таблицы вашего собственного контента (так называемые «контейнеры») внутри базы данных WordPress.
Плагин PODS CMS сильно поддерживается, и есть также плагин под названием PODS UI, который работает во встроенном WordPress Admin (для создания интерфейса администрирования для содержимого таблиц / «контейнеров»).
Если вы знаете немного PHP (массивы, объекты, циклы), PODS CMS прост в использовании, и вы часто получаете меньше кода, чем если бы вы просто работали с WordPress Codex. Также есть помощники, позволяющие вам писать SQL, который взаимодействует с существующей структурой таблиц WordPress (страницы, сообщения, категории, теги и т. Д.), Которые в противном случае немного сложны, если вы действительно не изучаете базу данных.
WordPress также предлагает что-то, называемое «настраиваемые поля», но это не часто идеально, поскольку оно просто добавляет контент в существующие таблицы wordpress. Но пользовательские поля работают лучше с большим количеством плагинов WordPress (для таких вещей, как слайдеры функций и виджеты), если вам действительно нравится использовать такие плагины.
Все это говорит о том, что WordPress не самый быстрый и, в зависимости от вашей установки (хостинг, плагин для чтения WordPress), вы можете оказаться на очень медленном сайте. Если вы решите пойти с WordPress, я попытаюсь получить услугу хостинга, рекомендованную для WordPress, и использовать плагин кеша для ускорения работы (например, WP Super Cache).
Используйте WordPress на стороне администратора для редактирования текстового контента (и даже меню). Но используйте специальное приложение CakePHP для вывода этого контента.
CakePHP может читать форматированный контент прямо из таблиц базы данных WordPress (или пользовательских представлений). Вам необходимо определить новое подключение к базе данных и новую модель (например, «Почта»).
Вот пример реализации примера:
Новое подключение к базе данных в /app/database.php :
class DATABASE_CONFIG { // ... var $wp = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'login' => '<wp username>', 'password' => '<wp password>', 'database' => '<wp database>', 'prefix' => 'wp_', ); }
Новая модель в /app/models/post.php :
class Post extends AppModel { var $primaryKey = 'ID'; // could define relations }
Любой контроллер теперь может получать контент, например:
class XxxController extends AppController { function index($postName) { $this->set('post', $this->Post->findByPostName($postName)); } }
И представление может просто выводить содержимое HTML сообщения:
<?php echo $post; ?>
Вот более подробный пример http://code.google.com/p/cakephp-wordpress/ .
Может быть, это должно быть на webapps StackExchange? В любом случае.
WordPress – это не платформа, а CMS, она предоставляет вам систему управления контентом (Content Management System). Если у вас нет особых требований к вашему приложению, WordPress может быть правильным выбором.
Если вам нужны страницы php для отображения динамически загруженного контента, я думаю, что WordPress не для вас. Я полагаю, вы уже знаете, как создавать веб-приложения с помощью CakePhp, так почему бы не использовать его? Если вы считаете, что вам нужна менее сложная структура, я предлагаю Toro (это не имеет ничего общего с такими каркасами, как Kohana или CakePHP, это очень просто).
Я думаю, что для этого проекта CakePHP – лучший выбор, потому что вы уже знаете, как с этим бороться, и если вы разработали с ним другие веб-приложения, вы можете получить оттуда некоторый код для помощи вам в регистрации пользователя и, возможно, в других частях, поэтому вам не нужно слишком много строить, и вы сможете сосредоточиться на основных функциях нового приложения.
Если вы хотите изучить WordPress больше, чем разрабатывать новое приложение, перейдите на WordPress. Всегда хорошо учиться новым вещам.
Используйте WordPress, чтобы сделать свое приложение, и свяжитесь с блоггерами WP-специалистами, чтобы использовать вас в качестве одного из «смелых» для использования WordPress. Вероятно, вы могли бы получить несколько хороших обратных ссылок и некоторую рекламу.
Многие люди, которые поддерживают WordPress для любого веб-сайта, делают это потому, что они очень инвестированы в него (что происходит, когда вы много времени уделяете изучению технологии). Вот почему вы получаете много сильных мнений по таким вопросам. Как я его вижу, WordPress – это всего лишь компиляция большого количества php-файлов, и если вы знаете PHP, вы знаете, как использовать это в своих интересах. Если он добавляет ценность (как вы сказали, он имеет функциональность членства), не добавляя слишком много, что является посторонним, а затем используйте его. В противном случае сохраните его с помощью CakePHP.
Я знаю, что это старый вопрос, но я подумал, что отправлю альтернативное решение для тех, кто хочет внедрить приложение PHP на странице WordPress (таким образом, используя все преимущества CMS в WP, не требуя нескольких фреймворков / тем). В основном, все, что вам нужно сделать, это превратить ваше приложение в шаблон страницы :
<?php /* Template Name: WhateverYouWant */ ?>
/wp-content/themes
WhateverYouWant
Надеюсь это поможет!
использовать cakePHP в качестве основы и wordpress в качестве основы