Форум → Программирование → Пыхнуть хотите? → Готовые решения → CMS на файлах
CMS на файлах
Страницы: ← Предыдущая страница • Следующая страница →
-
Май 19, 2010, 11:47 д.п., спустя 12 минут 50 секунд
да что не плачь, мне тут "в наследство" достался сайт про паркет от webprofy.ru (которые уже или разорились или ребрендинг сделали). Работает корректно под 4 пыхом. Хрен проссышь что там к чему -
Май 19, 2010, 11:36 п.п., спустя 11 часов 48 минут 41 секунду
CMS работает корректно под любым php.
Что нибудь толковое можешь сказать по поводу кода? Без мата.
Что конкретно не так и почему? -
Май 20, 2010, 1:30 д.п., спустя 1 час 54 минуты 2 секунды
на том компе, за которым я сейчас, нет ни винрара ни какого-то редактора с подсветкой кода. Приеду на работу - расскажу -
Май 20, 2010, 5:31 д.п., спустя 4 часа 57 секунд
итак, прежде всего плохо то, что она на файлах. Зачем так извращаться? Есть же СУБД всеразличные.
а во-вторых там все так плохо, что я даже не знаю, что и написать. У меня просто глаза на лоб лезут
1) комментарии в стиле КО.// Подключить все сообщения об ошибках
error_reporting(E_ALL);
зачем ты это пишешь? кодер средней руки и так знает что это такое. А коль незнает - IDE подскажет
2) "древний", неактуальный кодif (eregi(quotemeta($ReqName), $FileName))
{
echo "Попытка неавторизованного доступа!";
exit();
}
eregi уже давно является deprecated. Используй preg_math. Зачем fopen, fwrite, fclose если есть file_put_contents?
3) отсутствие единого стиля кодирования// Закрытие неавторизованного доступа
if (eregi(quotemeta($ReqName), $FileName))
{
echo "Попытка неавторизованного доступа!";
exit();
}
// Разбиение запрашиваемого URL
$urlparse=parse_url($ReqName);
$urlinfo= pathinfo($ReqName);
// Определение названия страницы без ".html"
$AllPageName = ($urlparse['path']!="/"? str_replace(".html","",$urlinfo['basename'] ):"index");
// Переход на страницу поиска от Google
$str = strpos( $AllPageName, '?' );
if( $str > 0 )
$AllPageName = substr( $AllPageName, 0, $str);
ты уж определись: переменные с маленькой буквы начинаются или с большой. И где ставить пробелы в скобках в IF'е
4) невозможность какого-либо расширенияif(!$ModComm)
// Подключение файла рекламы
include ("data/php/ad.php");
вот это че ваще такое? а если я хочу на одной странице подключать рекламу а на другой - нет?
// функция для создания временных текстовых файлов
function touchString($file)
{
global $Lock_dir; // global - плохо
// определение названия файла без пути к нему
$dir = substr(strrchr($file, "/"), 1);
$tmp = "$Lock_dir/".$dir.".tmp";
if ( !is_writeable ($Lock_dir))
{
echo"\n<br><b>WARNING:</b>
На папку <b>'$Lock_dir'</b> не установлены права
доступа на запись!<br>\n";
return FALSE; // так ошибки никто не обрабатывает. Кидай эксепшн
}
5)function ClearFile($file)
{
if (!is_readable($file)) return FALSE;
$this->touchString($file);
$this->$fclear = fopen($file, "w");
if($this->$fclear !== false)
$sito = fclose($this->$fclear);
$this->delString($file);
return $sito; // гагага, сито. Что за сито? через которое мама муку процеживает когда печет?
}
всю эту еботню можно заменить на is_writable($file) && file_put_contents($file, '');
объясни мне пожалуйста, что это за переменная $fclear. Откуда она взялась тут? Если ты имеешь в виду "var $fclear;", то при обращении к ней через $this второй доллар не нужен.
Короче: это все просто ужастно. НО: читай книги, учи язык, смотри как пишут другие и может быть все получится. -
Май 20, 2010, 5:34 д.п., спустя 3 минуты 42 секунды
Абырвалг,Зачем так извращаться? Есть же СУБД всеразличные.
это церковь такая, не лезь в нее если не нравится :)Сапожник без сапог -
Май 20, 2010, 5:39 д.п., спустя 4 минуты 46 секунд
ну это не добавит ни новых фич ни производительности. Это что-то типа демок шестидесятичетырехкиллобайтных? так то ж мастера делают, после нескольких лет подготовки -
Май 20, 2010, 5:48 д.п., спустя 8 минут 40 секунд
1.MySQL на дух не переношу, хотя интуитивно понимаю, что с базой все попроще будет.
Почему на файлах? Да потому, что все наглядно и надежно, сайт видишь как он есть. А база это вобщем то тот же файл, только с определенным устройством. В принципе можно и свою базу на файле сделать со сторками и столбцами. Но мне было удобней так как оно есть.
2. file_put_contents() работает только на php5.
3. За остальное большое спасибо. Буду разбираться. Подкорректирую.
Если еще, что найдете, буду признателен. -
Май 20, 2010, 5:51 д.п., спустя 3 минуты 9 секунд
для небольших сайтов бд просто излишня :)
ну это не добавит ни новых фич ни производительности. Это что-то типа демок шестидесятичетырехкиллобайтных? так то ж мастера делают, после нескольких лет подготовки
там где 10-30 страничек контента, все эти монстроузные кмс - хуета для выполнения этой задачи, вот и "встал" вопрос о переходе на файловые кмски, который все больше набирает обороты :)Сапожник без сапог -
Май 20, 2010, 5:53 д.п., спустя 2 минуты 4 секунды
1.MySQL на дух не переношу, хотя интуитивно понимаю, что с базой все попроще будет.
Почему на файлах? Да потому, что все наглядно и надежно, сайт видишь как он есть. А база это вобщем то тот же файл, только с определенным устройством. В принципе можно и свою базу на файле сделать со сторками и столбцами. Но мне было удобней так как оно есть.
Это всё основано на глубоком опыте использования? Или вам просто страшно начать с мускулем разбираться? -
Май 20, 2010, 6 д.п., спустя 7 минут 21 секунду
Да чего там страшного? На С++ пострашнее задачки решать приходилось.
Считаю, что для задач среднего сайта файлов будет с лихвой хватать. -
-
Май 20, 2010, 6:26 д.п., спустя 13 минут 15 секунд
2. file_put_contents() работает только на php5.
ну да. Так а в чем проблема? Используй актуальную версию пыха (>= 5.2.4).Спустя 238 сек.Дуд, а вот где грань между монстрозной и немонстрозной CMS? И между тем сайтом, которому нужна БД и тем, который без нее обойдется.
Тебе чего жальче: своего времени или машинного? -
Май 20, 2010, 6:36 д.п., спустя 10 минут 51 секунду
Абырвалг, сайты визитки с каталогами, заточенные под сео - сектор "веб студий" я бы делал на файловых, если бы были хорошие файловые движки :)
порталы, пусть даже дле и тп, естетственно на бд.Спустя 192 сек.своего времени естетственно. просто ты как и все думаешь если файлы - плохо, потому что формат и тп надо соблюдать, ибо нет ни одного нормального представителя этого семейства, который бы показал что файлы - хорошо :)
ведь в сайтах компаний больше чем select * from table where id=$id очень редко делается, а ебаться с бд, полями и тп - время которое тратится впустую :)
я вижу хорошую файловую кмс - которая позволит сделать нечтоDataStore::getModel("Pages");
$page = $pages->getById($id);
$page->title = $newtitle;
$page->save();
xnо лучше? бд или такая абстрактно унаследованная модель в данном случае? я бы выбрал модель :)Сапожник без сапог -
Май 20, 2010, 6:57 д.п., спустя 20 минут 29 секунд
возьми доктрину/пропел/over9000 других ORM'ок и не еби себе мосх. Там абсолютно такие же модели, как в твоем прошлом сообщении -
Май 20, 2010, 6:57 д.п., спустя 23 часа 59 минут 52 секунды
Как ты думаешь, почему? Или "гениальная" мысль сделать такую систему мало кому в голову приходила?
если бы были хорошие файловые движки :)
нет ни одного нормального представителя этого семейства, который бы показал что файлы - хорошо :)
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!