|
|
|
| Вообщем я хочу написать ядро для движка.
В ядро должны войти основные функции.
Движок:
Новости
Аккаунт
пока этого хватит...
Но в последующем будут создаваться новые модули, которые должны подключаться к движку.
Как можно будет более оптимизированее для сервера реализовать function.php.
Если можно подскажите наилучшую структуру и если можете предоставить хорошие примеры.
Кстати в ядре должна содержаться фнкциция для подключения новых модулей (сделанных позже, чтоб не прописывать в самом коде движка).
Буду очень благодарен. | |
|
|
|
|
|
|
|
для: f12
(04.04.2006 в 18:52)
| | что вы понимаете под "движком"? вопрос очень общий.. | |
|
|
|
|
|
|
|
для: Лёлик
(04.04.2006 в 19:00)
| | Я собираюсь написать CMS систему, и хочу узнать как наиболее оптимизированей реализовать всё выше сказаное. | |
|
|
|
|
|
|
|
для: F12
(04.04.2006 в 19:08)
| | ну можно написать "большую" и "мощную" админку типа коммерчских (Битрикс и компания), на которых можно сайты создавать. я лично считаю их слишкоим громосткими и сложными. ими может нормально пользоваться только специалист, а тут вопрос "нафига мне эта сложная система за денежку если сам могу сделать не хуже." я использую схему "точоных" кмс. т.е. я насоздавал много модулей (новости, каталог, фитдбэк и т.п.), заранее заложив в них свойства маштабируемости и тонкой настраиваемости. и под каждый сайт собираю из кусков. если встречается какае-то не тривиальная задача, делаю инфивидуальный модуль. плюс в том, что в таких кмс нет ничего лишнего и построены они по топологии сайты, так что ей могут пользоваться простые юзеры, что порой важней всей круточти функциональной навороченности системы. | |
|
|
|
|
|
|
|
для: Лёлик
(04.04.2006 в 19:14)
| | >на создавал много модулей (новости, каталог, фитдбэк и
>т.п.), заранее заложив в них свойства маштабируемости и
>тонкой настраиваемости. и под каждый сайт собираю их кусков.
>если встречается какае-то не трифиальная задачу, делаю
>инфивидуально модуль. плюс в том, что в таких кмс нет ничего
>лишнего и посторены по топологии сайты, так что ей могут
>пользоваться не специалисты.
Всё вот это как раз относится к тому что я хочу сделать.
И пытаюсь сделать сразу всё качественно, чтоб потом не переберать весь код и не заниматься оптимизацией по 5 раз.
Поэтому начинаю с хорошо организованного ядра системы. | |
|
|
|
|
|
|
|
для: F12
(04.04.2006 в 19:20)
| | > Поэтому начинаю с хорошо организованного ядра системы.
Это вы правильно. Я когда был зеленым брасался с разу в бой и естественно потом переделывал.
а какую-то определенную схему вам наверное посоветовать и не смогу, честно говоря даже не знаю есть ли какая-либо подобная классификация. главное заложите маштабируемость, расширяемость и более простая настройку.
К примеру о настройке: я уже и с трубом помню,ч то у меня в скриптах, все настройки провожу через конфинурационные файлы. во время сосдания конечно пришлось попотеть, зато сейчас за 5 минут настраивается. | |
|
|
|
|
|
|
|
для: f12
(04.04.2006 в 18:52)
| | Мда, основных функций у Вас!!!... :)
Теперь по поводу function.php
Вы там что собираетесь хранить? Весь движок чтоли? Я бы вынес туда только функции для обработки данных, ну например скажем функция
<?
function strip($str)
{
return (get_magic_quotes_gpc()) ? stripslashes($str) : $str;
}
?>
|
(Т.е. смысл её в том, чтобы постоянно не проверять включены ли кавычки), но никак не саму функциональную часть движка...
Делаем примерно так. Допустим у нас есть папка mod/. В этой папке будут хранится все модули движка, причем все эти модули должны удовлетворять каким то условиям, например:
- все файлы одного конкретного модуля должны лежать в одной папке
- в папке каждого модуля должны бвть обязательные файлы, скажем index.php и config.php
Ну а дальше должен быть раздел, который отвечает за размещение этих модов, (подключение новых, добавление информации о модах в базу, включение/выключение модов и т.д.)
Дальше использовать эти модули очень легко. В корне движка делаем index.php примерно с таким содержимым
<?
switch($_GET['mod'])
{
case "news": include BASEDIR."/mod/news/index.php";
case "account": include BASEDIR."/mod/account/index.php";
default: include BASEDIR."/mod/err404/index.php";
}
?>
|
Кстати эту конструкцию можно генерировать автоматически на основе данных о всех модулях которые установлены.
Вообщем тут я описал, самую малую часть того что можно было написать, но суть остается та же...
Если хотите пример http://danneo.com/. Сам ей пользуюсь, и впринципе доволен. Модули под неё пишутся довольно легко, главное придерживаться некоторых правил... | |
|
|
|
|
|
|
|
для: Евгений Петров
(04.04.2006 в 19:17)
| | >Вы там что собираетесь хранить? Весь движок чтоли? Я бы вынес туда только функции для обработки данных
Вот как раз обработку я там и собираюсь хранить.
И нужно продумать как можно больше хороших и нужных функций для ускорения обработки и уменьшения нагрузки.
Насчёт модулей спасибо за совет. | |
|
|
|
|
|
|
|
для: F12
(04.04.2006 в 19:29)
| | Ну что кто-нибудь поможет? | |
|
|
|
|
|
|
|
для: f12
(04.04.2006 в 23:23)
| | up.... | |
|
|
|
|
|
|
|
для: F12
(04.04.2006 в 19:29)
| | Советую взять за пример, структуру движка PHP-NUKE. | |
|
|
|
|
|
|
|
для: Night_Charter
(05.04.2006 в 18:17)
| | советую держаться подальше от Нюка и нюкоподобных движков. они дырявые как решето. баг на баге сидит и багом погоняет. | |
|
|
|
|
|
|
|
для: elenaki
(05.04.2006 в 19:05)
| | Я не говорил, что взять движок НЮКА и переправить копирайты. D)
Я имел ввиду, взять за структуру. | |
|
|
|