Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как лучше организовать ядро движка?
 
 автор: f12   (04.04.2006 в 18:52)   письмо автору
 
 

Вообщем я хочу написать ядро для движка.
В ядро должны войти основные функции.
Движок:
Новости
Аккаунт
пока этого хватит...
Но в последующем будут создаваться новые модули, которые должны подключаться к движку.
Как можно будет более оптимизированее для сервера реализовать function.php.

Если можно подскажите наилучшую структуру и если можете предоставить хорошие примеры.
Кстати в ядре должна содержаться фнкциция для подключения новых модулей (сделанных позже, чтоб не прописывать в самом коде движка).

Буду очень благодарен.

   
 
 автор: Лёлик   (04.04.2006 в 19:00)   письмо автору
 
   для: f12   (04.04.2006 в 18:52)
 

что вы понимаете под "движком"? вопрос очень общий..

   
 
 автор: F12   (04.04.2006 в 19:08)   письмо автору
 
   для: Лёлик   (04.04.2006 в 19:00)
 

Я собираюсь написать CMS систему, и хочу узнать как наиболее оптимизированей реализовать всё выше сказаное.

   
 
 автор: Лёлик   (04.04.2006 в 19:14)   письмо автору
 
   для: F12   (04.04.2006 в 19:08)
 

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

   
 
 автор: F12   (04.04.2006 в 19:20)   письмо автору
 
   для: Лёлик   (04.04.2006 в 19:14)
 

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

Всё вот это как раз относится к тому что я хочу сделать.

И пытаюсь сделать сразу всё качественно, чтоб потом не переберать весь код и не заниматься оптимизацией по 5 раз.
Поэтому начинаю с хорошо организованного ядра системы.

   
 
 автор: Лёлик   (04.04.2006 в 19:26)   письмо автору
 
   для: F12   (04.04.2006 в 19:20)
 

> Поэтому начинаю с хорошо организованного ядра системы.

Это вы правильно. Я когда был зеленым брасался с разу в бой и естественно потом переделывал.

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

   
 
 автор: Евгений Петров   (04.04.2006 в 19:17)   письмо автору
 
   для: 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/. Сам ей пользуюсь, и впринципе доволен. Модули под неё пишутся довольно легко, главное придерживаться некоторых правил...

   
 
 автор: F12   (04.04.2006 в 19:29)   письмо автору
 
   для: Евгений Петров   (04.04.2006 в 19:17)
 

>Вы там что собираетесь хранить? Весь движок чтоли? Я бы вынес туда только функции для обработки данных

Вот как раз обработку я там и собираюсь хранить.
И нужно продумать как можно больше хороших и нужных функций для ускорения обработки и уменьшения нагрузки.

Насчёт модулей спасибо за совет.

   
 
 автор: f12   (04.04.2006 в 23:23)   письмо автору
 
   для: F12   (04.04.2006 в 19:29)
 

Ну что кто-нибудь поможет?

   
 
 автор: F12   (05.04.2006 в 17:44)   письмо автору
 
   для: f12   (04.04.2006 в 23:23)
 

up....

   
 
 автор: Night_Charter   (05.04.2006 в 18:17)   письмо автору
 
   для: F12   (04.04.2006 в 19:29)
 

Советую взять за пример, структуру движка PHP-NUKE.

   
 
 автор: elenaki   (05.04.2006 в 19:05)   письмо автору
 
   для: Night_Charter   (05.04.2006 в 18:17)
 

советую держаться подальше от Нюка и нюкоподобных движков. они дырявые как решето. баг на баге сидит и багом погоняет.

   
 
 автор: Night_Charter   (05.04.2006 в 19:15)   письмо автору
 
   для: elenaki   (05.04.2006 в 19:05)
 

Я не говорил, что взять движок НЮКА и переправить копирайты. D)
Я имел ввиду, взять за структуру.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования