ФорумПрограммированиеПыхнуть хотите?Готовые решения → CMS на файлах

CMS на файлах

  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Май 19, 2010, 11:47 д.п., спустя 12 минут 50 секунд

    да что не плачь, мне тут "в наследство" достался сайт про паркет от webprofy.ru (которые уже или разорились или ребрендинг сделали). Работает корректно под 4 пыхом. Хрен проссышь что там к чему
  • Boroda

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz Май 19, 2010, 11:36 п.п., спустя 11 часов 48 минут 41 секунду

    CMS работает корректно под любым php.
    Что нибудь толковое можешь сказать по поводу кода? Без мата.
    Что конкретно не так и почему?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Май 20, 2010, 1:30 д.п., спустя 1 час 54 минуты 2 секунды

    на том компе, за которым я сейчас, нет ни винрара ни какого-то редактора с подсветкой кода. Приеду на работу - расскажу
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Май 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 второй доллар не нужен.


    Короче: это все просто ужастно. НО: читай книги, учи язык, смотри как пишут другие и может быть все получится.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Май 20, 2010, 5:34 д.п., спустя 3 минуты 42 секунды

    Абырвалг,
    Зачем так извращаться? Есть же СУБД всеразличные.

    это церковь такая, не лезь в нее если не нравится :)

    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Май 20, 2010, 5:39 д.п., спустя 4 минуты 46 секунд

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

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz Май 20, 2010, 5:48 д.п., спустя 8 минут 40 секунд

    1.MySQL на дух не переношу, хотя интуитивно понимаю, что с базой все попроще будет.
    Почему на файлах? Да потому, что все наглядно и надежно, сайт видишь как он есть. А база это вобщем то тот же файл, только с определенным устройством. В принципе можно и свою базу на файле сделать со сторками и столбцами. Но мне было удобней так как оно есть.
    2. file_put_contents() работает только на php5.
    3. За остальное большое спасибо. Буду разбираться. Подкорректирую.

    Если еще, что найдете, буду признателен.    
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Май 20, 2010, 5:51 д.п., спустя 3 минуты 9 секунд


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

    там где 10-30 страничек контента, все эти монстроузные кмс - хуета для выполнения этой задачи, вот и "встал" вопрос о переходе на файловые кмски, который все больше набирает обороты :)
    Сапожник без сапог
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz Май 20, 2010, 5:53 д.п., спустя 2 минуты 4 секунды

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

    Это всё основано на глубоком опыте использования? Или вам просто страшно начать с мускулем разбираться?
  • Boroda

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz Май 20, 2010, 6 д.п., спустя 7 минут 21 секунду

    Да чего там страшного? На С++ пострашнее задачки решать приходилось.
    Считаю, что для задач среднего сайта файлов будет с лихвой хватать.
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Май 20, 2010, 6:12 д.п., спустя 11 минут 51 секунду

    Boroda, ты очень сильно заблуждаешься.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Май 20, 2010, 6:26 д.п., спустя 13 минут 15 секунд

    2. file_put_contents() работает только на php5.

    ну да. Так а в чем проблема? Используй актуальную версию пыха (>= 5.2.4).
    Спустя 238 сек.
    Дуд, а вот где грань между монстрозной и немонстрозной CMS? И между тем сайтом, которому нужна БД и тем, который без нее обойдется.

    Тебе чего жальче: своего времени или машинного?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Май 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о лучше? бд или такая абстрактно унаследованная модель в данном случае? я бы выбрал модель :)
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Май 20, 2010, 6:57 д.п., спустя 20 минут 29 секунд

    возьми доктрину/пропел/over9000 других ORM'ок и не еби себе мосх. Там абсолютно такие же модели, как в твоем прошлом сообщении
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Май 20, 2010, 6:57 д.п., спустя 23 часа 59 минут 52 секунды


    если бы были хорошие файловые движки :)

    нет ни одного нормального представителя этого семейства, который бы показал что файлы - хорошо :)
    Как ты думаешь, почему? Или "гениальная" мысль сделать такую систему мало кому в голову приходила?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!