Нужен совет по созданию CMS PHP

seosniks
На сайте с 13.08.2007
Offline
389
529

Добрый день, добрый человек заглянувший сюда..

Хочу сделать специфическую, небольшую cms для управления сайтовм, и возник вопрос.

Как лучше выводить контент новости , из базы база на файлах.

есть у меня файл например news.php в нем 1000 новостей, структура такова.

<news>контент

<news>контент
<news>контент

Как лучше реализовать, чтоб был оптимизирован код, и менее потреблялось ресурсов

Если сделать так


$news = file_get_contents("news .php");
$ok = explode("<metka>", $template);
$all= count($ok);

Ну а дальше вывод новостей через

foreach  или for.

Если ли возможность не загружать в переменную сразу весь контент а брать только запрошенные юзером страницы?

может сразу забирать массив?

$file=array();

$file=file('news.php');

$size_temp=sizeof($file);

$nik= $file[1];// новость [1] [2] итд

Подскажите самый простой пример.

Я хочу загружать контент, затем шаблон, шаблон придется грузить file_get_contents, так как инклюдить его не получиться.

затем обрабатывать все переменные в шаблоне, типа {text} {title} Формировать и выводить на сайт. Стоит ли делать кеширование сгенерированных страниц, либо на файлах этого не стоит делать?

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

В общем хотелось бы услышать ваши советы, возможно у вас есть замечательное решение..

Спасибо.

siv1987
На сайте с 02.04.2009
Offline
427
#1

Даже для небольшой кмс делать бд на файлах мне кажется это извращение. Делайте нормально на субд, и не занимайтесь ерундой.

Ayavryk
На сайте с 11.10.2003
Offline
209
#2

По существу вы хотите написать свою собственную базу данных. Зачем вам это?

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
[Удален]
#3

>По существу вы хотите написать свою собственную базу данных. Зачем вам это?

я для своей CMS написал) и успешно ее использую.

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#4

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

Но пихать все в один текстовый файл это точно не самый лучший вариант.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
DV
На сайте с 01.05.2010
Offline
644
#5

1. Да, лучше использовать нормальную СУБД. Поискав по форуму, есть вероятность наткнуться на обсуждение как раз этого вопроса, где-то пол года назад.

Я раньше тоже городил таблички в файлах, потом поработал с MySQL, и понял, что это очень удобно!

2. А стоит ли велосипедостроение вообще свечь? Вполне вероятно, найдётся CMS, кторая вас устроит.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
[Удален]
#6

вообще задача у Топикстартера примитивная, реально не вижу смысла конкретно под эту задачу подымать мускл. Если он конечно не собрался делать портал со свистелками...

Конечно можно сделать и на MySQL и на PostgreSQL и на MongoDB , но зачем ?!

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#7

В ПХП есть своя "встроенная" СУБД SQLite. Если у Вас не сильно большой сайт, то Вам вполне ее хватит.

Почему решили делать именно на файлах? Проблема с быстродействием? На малых проектах это заметить практически нереально:)

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

www.site.ru/content.php?id=5


$f = fopen( 'FILE.txt', 'r' );//открываем поток
$id = $_GET['id'];//прием номера новости из глоб.масс _GET

for($i=0; $id != $i; $i++)
{
$content = fgets($f);
}
//далее уже работаем с $content в которую падает необходимая нам строка.

Вроде бы все правильно сделал, если что, поправьте, знатоки:)

Подпись))
Ayavryk
На сайте с 11.10.2003
Offline
209
#8
awilum:
>я для своей CMS написал) и успешно ее использую.

А вы мне покажите программиста, который не изобретал свою БД, свою ОРМ, свою CMS, свой шаблонизатор? Но оно того имхо в 99% ничего не стоило, за исключением осознания того что в некоторых случаях лучше иметь дело с готовыми решениями.

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