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

CMS на файлах

  • Абырвалг

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

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

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

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

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

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

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

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

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

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

    Spritz 20 мая 2010 г. 16: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 г. 16:34, спустя 3 минуты 42 секунды

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

    Spritz 20 мая 2010 г. 17:00, спустя 7 минут 21 секунду

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

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

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

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

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

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

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

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

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

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

    Spritz 20 мая 2010 г. 17: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 г. 17:57, спустя 20 минут 29 секунд

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

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

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


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

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

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