Что такое по Вашему CMS без базы / файловая CMS?

Brand from Amber
На сайте с 18.08.2007
Offline
293
#11
Stek:
Вообще скорость доступа и измеряет выбор информации.

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

Лучший способ понять что-то самому - объяснить это другому.
[Удален]
#12

>Сделать модификацию для файловой CMS в десятки раз сложнее чем для базы.

бред чистой воды, дальше можно и не читать.

S
На сайте с 23.05.2004
Offline
315
#13
бред чистой воды, дальше можно и не читать.

Ок. Мне надо выбрать 20 статей с определенной датой. С SQL - это одна строка запроса. С файловой выходит 2 решения:

1. перечитать все файлы и директории, что бы получить список и оттуда уже выбрать по дате.

2. хранить даты статей в отдельном файле индексе.

Теперь нам надо выбрать еще и с правами пользователя. К пункту 2 добавляется еще и файл с правами, или же в этот индекс с датами, пишем и права. А если чуть сложнее, еще и вхождения групп ?

Базы данных - это не обязательно SQL-базы данных. Поэтому замечание Brand from Amber справедливо.

Возможно. Но как понимаю , в свете данного топика, идет сравнение CMS на MySQL (или что то похожее) vs "храним записи в отдельных файлах".

Это просто подпись.
[Удален]
#14

>Сделать модификацию для файловой CMS в десятки раз сложнее чем для базы.

S
На сайте с 23.05.2004
Offline
315
#15

Любителю /рукалицо , просьба отписать решение для cms на файлах, в качестве простой выборки статей по дате. А уж вообще шикарно, если он сможет это сделать это на примере какой нибудь существующей cms , код которой можно посмотреть.

Или задача не по силам, в отличии от вставки картинки в форум ? :)

[Удален]
#16

Stek

Вот вам для профита: http://www.cmsbezmysql.ru/category/blogs изучайте. 🚬

HraKK
На сайте с 02.03.2009
Offline
128
#17
Brand from Amber:
Более того, файлы также используются в связке с БД как кэширующий элемент для высоконагруженных проектов.

memcache если уж быть точным.

А вообще движки без mysql(Pg, etc) - бред полный практически всегда. Они нужны только для саттелитов или чего-то подобного. Базы данных сейчас бесплатные относительно, так что не юзать удобный инструмент или идиотство или мазохизм

HraKK добавил 02.01.2011 в 16:14

Dreammaker,

MongoDB хорошая штука.

я гарант (/ru/forum/493343) уже не оказываю данные услуги, извините.
S
На сайте с 23.05.2004
Offline
315
#18

А я давно изучил, поэтому и утверждаю подобное.

Вы же, ехидно хихикая, не можете ответить даже на элементарный вопрос, пытаясь уйти от ответа, подсовывая мне зачем то каталог с файловыми движками.

Ок, ладно, проехали :) Давайте дальше, по вашей ссылке берем первую же цмс "Simple PHP Blog v.0.7" , смотрим как она сохраняет данные:

		function write_file( $filename, $str ) {

if ( strtolower( strrchr( $filename, '.' ) ) == '.gz' && extension_loaded( 'zlib' ) ) {
$str = gzencode( $str, 9 );
}

fileio::make_dir(dirname($filename));

@umask(0);

$length = strlen($str);
$bytes_written = file_put_contents( $filename, $str );

if ( $length == $bytes_written ) {
@chmod($filename, 0777);
return $bytes_written;
} else {
return false;
}
}
function make_dir( $dir, $mode=0777 ) {

@umask(0);
if (is_dir($dir) || @mkdir($dir,$mode)) {
return true;
}
if (!fileio::make_dir(dirname($dir),$mode)) {
return false;
}
if (@mkdir($dir,$mode)) {
return true;
} else {
return false;
}
}

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

Ах, да, вот нашел в этой CMS функцию чтения контента :


$basedir = CONTENT_DIR;

// YEAR directories
$entry_array = array();
$dir = $basedir;
if ( @is_dir( $dir ) ) {
if ( $year_dir_handle = @opendir( $dir ) ) {
while ( ( $year_dir = readdir( $year_dir_handle ) ) !== false ) {
if ( is_dir( $dir . $year_dir ) ) {
if ( $year_dir != '.' && $year_dir != '..' && $year_dir != 'static' ) {

// MONTH directories

if ( $month_dir_handle = @opendir( $dir . $year_dir . '/' ) ) {
while ( ( $month_dir = readdir( $month_dir_handle ) ) !== false ) {
if ( is_dir( $dir . $year_dir . '/' . $month_dir ) ) {
if ( $month_dir != '.' && $month_dir != '..' ) {

// ENTRIES

if ( $entry_dir_handle = @opendir( $dir . $year_dir . '/' . $month_dir . '/' ) ) {
while ( ( $entry_filename = readdir( $entry_dir_handle ) ) !== false ) {
if ( is_file( $dir . $year_dir . '/' . $month_dir . '/' . $entry_filename ) ) {

$ext = strtolower( strrchr( $entry_filename, '.' ) );
if ( $ext == '.txt' || $ext == '.gz' ) {

// Store Blog Entry Information
$value = blog_entry_to_array($dir . $year_dir . '/' . $month_dir . '/' . $entry_filename);
array_push( $entry_array, implode( '|', array( $entry_filename, $year_dir, $month_dir, $value['SUBJECT'] ) ) );
}

}
}
}

// END of ENTRIES

}
}
}
}

// END of MONTH directories
}
}
}
}
}

и конечно же, что бы все это не загнуло файловую систему нафиг, решение сперто у индусов:


// To avoid server overload
sleep(1);
$output_str = '';
$entry_file_array = blog_entry_listing();
$results = 0;

Поистине CMS на файлах проще, быстрее и надежнее :)

Orangesoda
На сайте с 22.08.2010
Offline
17
#19

О чем вы тут спорите.

CMS c БД намного правильнее, чем CMS на файлах.

Выигрыш от файлов только тогда, когда не нужны никакие сортировки, выборки и т.д.

То есть тогда, когда у нас маленький, не требующий сложных манипуляций с данными, сайт-визитка.

Stek,

В этих cms bez mysql полно такого бреда.

PS Мне кажется, что о превосходстве файловых cms говорят те, кто не может/не хочет учить SQL

PPS Может тоже написать cms bez mysql?

[Удален]
#20

Stek

мля откройте для себя хотя бы Gladius DB ее юзают популярные файловые CMS.

Все, я спалил тему, теперь можете делать свою CMS продавать как тут обычно делают...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий