CMS или нет для моего сайта?

Я создаю веб-сайт http://newfutureuniversity.org/, и я не уверен, стоит ли перестраивать его под CMS или нет. Я могу делать процедурный PHP, но не ООП PHP (хотя я мог бы изучить его при необходимости). Я боролся с этой проблемой в течение некоторого времени, поэтому я решил задать ее здесь.

Моя страница сейчас работает следующим образом: каждая страница имеет включение в начале и в конце, и каждая из них вызывает другие включения. Например, тот, что в начале, вызывает 'translation.php', 'login.php', 'menu.php' и т. Д.

Требования

  • Управление кодом. Я в настоящее время использую AjaXplorer. Это здорово, очень полно и мало того, что он не может сделать инструментами, которые предоставляет мой хост ( 000webhost). Другой хорошей стороной является то, что она позволяет нескольким пользователям с разными разрешениями. Мне нужен этот функционал, чтобы остаться.

  • Блог. Я использую Chyrp для ведения блога, поскольку он легок и выполняет свои задачи для блога.

  • Пользователи. Не используя движок, просто создайте свой собственный на старом простом PHP. Пользователи могут зарегистрироваться, войти и т. Д.

  • Языки. Также построено мое собственное. Это позволяет мне переводить каждый бит информации.

  • Wiki. Или похожие. Мне нужен (еще не сделанный) высоко персонализированный вики-движок для файлов на странице. Я еще не уверен, если найти какой-нибудь легкий и персонализировать его или делать сам. Кроме того, я должен включить CKeditor в движок вики.

  • Еще несколько будущих функций, о которых мне еще нужно подумать.

Как видите, мне нужны "базовые" и разные типы двигателей, работающих одновременно в разных каталогах.

Проблемы

Если бы не было проблем, я бы не писал этот вопрос. Вот основные проблемы, которые я нахожу:

  • Централизованный пользователь. Самая важная проблема. Поскольку я смешиваю разные движки, каждый использует (и даже хуже, если я включаю вики) разные пользовательские таблицы. Я хочу, чтобы посетитель регистрировался только один раз, а затем имел возможность просматривать вики, блог, отправлять файлы или делать что-либо еще с тем же именем пользователя.

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

  • Стиль. Вместо того, чтобы вручную менять движки, использовать одинаковый стиль по умолчанию для каждого. Это, вероятно, не возможно, но также не очень важно (и не нужно), просто отнимает много времени.

Следовательно, эти механизмы должны быть построены на одной и той же "базе" (CMS), а не работать отдельно в разных каталогах. Я думал о переходе на Drupal для огромной поддержки или Joomla для того, чтобы быть "более" настраиваемым, основываясь на том, что я читал онлайн.

Вопрос

Будут ли эти 2 CMS (или любые другие, которые вы предлагаете) соблюдать все требования и решать проблемы? Или модули CMS (вики, блог и т. Д.) По-прежнему создаются автономно? Это означает, что каждый из них будет создавать свою структуру пользовательских таблиц. Есть ли другие преимущества использования CMS?

В идеале CMS сама будет создавать пользовательские таблицы, а затем модули будут обращаться к ним, а не создавать свои собственные. Я никогда не работал с CMS, поэтому мне нужно было бы узнать о них, но это не проблема, если она работает.

2 ответа

Решение

CMS НЕ является основой. CMS позволяет пользователям / администраторам, которые не знают php, html, css или любого другого языка, который вы можете использовать для изменения содержимого вашего сайта. В каком-то смысле это не должно ограничивать ваше кодирование. Другими словами, CMS может быть частью фреймворка или частью вашего домашнего кода. Я вижу ответ, который начинается с "Когда я использовал CMS..". Когда вы делаете свой сайт интерактивным в некотором роде, это CMS. Вы управляете содержимым своего сайта с помощью формы, которая помещает некоторый текст в базу данных. Так же, как текстовая область, которую я сейчас набираю, я пользователь, который использует CMS stackExchange, но у меня просто меньше прав, чем у администратора. Но я снова использую CMS. Но stackexchange строит его сайты в какой-то фреймворке, поэтому вы можете использовать фреймворк и реализовать функциональность CMS.

Кроме того, попытайтесь понять ООП, это трудно понять, но когда вы освоите его, это будет здорово. Это значительно упрощает ваш код. Я узнал это через Flash (ActionScript 3.0). Мне легче понять основы ООП, потому что у вас есть прямой визуальный вывод того, что вы делаете. Это проще, чем PHP-OOP, поскольку PHP и OOP на самом деле не подходят друг другу. Это выглядит как ООП (который с каждым разом становится все лучше и лучше). Поэтому постарайтесь сначала изучить ООП.

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

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

На вашем месте я бы потратил время на изучение того, как использовать фреймворки, Zend, воспламенитель кода, YII и т. Д. CMS просто связывает ваши руки с точки зрения новых функций макета или простых улучшений функциональности.

Обязательно зайдите на PHP/ ООП. Вы найдете множество простых решений для многих проблем, с которыми вы сталкиваетесь при использовании CMS, а также вы улучшите свои навыки программирования, что является самым важным, не так ли?

Другие вопросы по тегам