Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: С чего начать делать сайт? [3]
Форумы портала PHP.SU » » Вопросы новичков » С чего начать делать сайт?

Страниц (3): « 1 2 [3]
 

31. caballero - 19 Декабря, 2011 - 20:20:00 - перейти к сообщению
Цитата:
а нужно обрабатывать mysql_real_escape_string() поле type="file"

Файло бинарником идет если обработать - запортится
32. Slesher - 19 Декабря, 2011 - 20:24:41 - перейти к сообщению
sKaa, ну вы как бы хотели показать мой непроффесиализм(хотя я себя очень уж профи и не считаю) и убедить меня что мой пример - чистейшей воды говнокод. И я попытался мотивировать и аргументировать как для даной ситуации так и в целом что вы неправы, а вы как бы оставили мое сообщения без внимания, хотя на предыдущее обратили его чересчур много.
33. sKaa - 19 Декабря, 2011 - 21:15:12 - перейти к сообщению
Ладно уговорил :
PHP:
скопировать код в буфер обмена
  1. define("MODULES", 1);
  2. if (MODULES) {
  3. define('TRANSLIT_MODULE', 1);
  4. }
  5. // Что это вообще такое? Объявляете константу и тут-же проверяете объявлена ли она?
  6. // Я вам тут не судья но как-то смешно выглядит, ладно может это моё чувство юмора виновато )
  7. // Как вам такой вариант с тернарным оператором?
  8. !defined('MODULE') ? die('') : define('TRANSLIT_MODULE', 1);
  9.  
  10. // Ну, а вообще даже он тут как-то глупо смотрится. Почему нельзя просто ?
  11. define("MODULES", 1);
  12. define('TRANSLIT_MODULE', 1);
  13.  


Далее :
Цитата:

но исходя из ваших слов мне нужно делать аутолоудер для 4+-2 файлов

Давай посчитаем? Я насчитал только 8 и только в этом коде, что ты называешь "ядром".
Теперь давай посчитаем сколько строчек кода уйдет на то, чтобы написать простенький autoload, который вполне будет пригоден для загрузки этих классов.
PHP:
скопировать код в буфер обмена
  1.  
  2. set_include_path( './classes/' . PATH_SEPARATOR .
  3.                            './captcha/' /* ... */);
  4. function __autoload($class_name){
  5.         $filename = $class_name . '.php';
  6.         return include_once($filename);
  7. }
  8.  

Ну, что? Правда это просто?) На коленке накатал только, что.
Далее :
Цитата:
ИМХО, лучше писать из ноля, делать свои простенькие класы, и понемногу перекраивать.

Своё имхо при себе держите. Есть куча готовых фрейворков коды которых были протестированы сотнями программистов, хотя куда им до такого ядра - не расстраивайся, это сарказм. Тут следует исходить из поставленных задач в первую очередь.

Цитата:
sKaa,etoYA,
и как вы предлагаете начать строить свою ЦМС паттернами и исходя из фреймворков, если она будет идти в процедурном стиле?
Я вообще такого не предлогаю. Внимательно читайте, что я там предлогал :
Цитата:

...
2) Процедурный или ООП стиль?
3) Если только вы выберете в пункте 2 - ООП : ...
34. Slesher - 19 Декабря, 2011 - 21:52:40 - перейти к сообщению
sKaa пишет:
Своё имхо при себе держите. Есть куча готовых фрейворков коды которых были протестированы сотнями программистов


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

sKaa пишет:
Ну, что? Правда это просто?)


я умею составлять функции на таком уровне. Просто я не думал делать это целеобразно в моем случае. Если этоЯ примет такой путь верстки - что ж, флаг ему в руки, я и не претендую на единственно правильное решение.
35. etoYA - 20 Декабря, 2011 - 02:10:10 - перейти к сообщению

Хватит холивара плс хД).


Вопрос: Делал я сайты вот с такой структурой. (к примеру)

Index.php
Спойлер (Отобразить)


В папке template есть папка css и img. Файлы rightcollum,footer,header содержат
CODE (html):
скопировать код в буфер обмена
  1. <div id="header"></div>


Переключение страниц сайта(подключение модулей). делай с помощью файла

к примеру

data.php
PHP:
скопировать код в буфер обмена
  1.  
  2. $act = $_GET['act'] ? $act = $_GET['act'] : $act = 'index';
  3. swtich ($act) {
  4.     case 'index';
  5.          require_once($_SERVER['DOCUMENT_ROOT'].'index.php');
  6.          break;
  7.     case 'blog';
  8.          require_once($_SERVER['DOCUMENT_ROOT'].'/modules/blog.php');
  9.          break;
  10.     default:
  11.          echo 'Нет такой страницы';
  12. }
  13.  


Офк базы... И.т.д

Но вот тут такая беда. К примеру файл content.php содержит

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <div id="content">
  3.      <?PHP require_once($_SERVER['DOCUMENT_ROOT'].'/inc/data.php');
  4. </div>
  5.  



Натолкните на мысль, как сделать, чтобы css и html были независимы от php. Т.е. Только ненужны cms,фреймворки. Делаю не сайт, а только для практики...

P.S возможны ошибки в кодах, но на них не обращайте внимания, писал прям тут..
36. DeepVarvar - 20 Декабря, 2011 - 07:04:33 - перейти к сообщению
etoYA пишет:
чтобы css и html были независимы от php
Указывать всегда полный путь от корня (не файловой системы, а домена/хоста):
/styles/main.css
[b]/images/image.png
/js/main.js[/b]
etoYA пишет:
switch...case...case...default

Ну сделай хотябы подобие "__autoload":
PHP:
скопировать код в буфер обмена
  1. define("ROOT",$_SERVER['DOCUMENT_ROOT']);
  2. $module =  (isset($_GET['act'])) ? (string)$_GET['act'] : "main";
  3. require_once (file_exists(ROOT."/modules/".$module.".php"))
  4.   ? ROOT."/modules/".$module.".php" : ROOT."/modules/404.php";

Кроме того отдели логику от вывода.
Так же самому легче будет.
37. Самогонщик - 20 Декабря, 2011 - 07:11:18 - перейти к сообщению
Добавлю: больше проверок на $_GET['act']!
38. DeepVarvar - 20 Декабря, 2011 - 07:27:30 - перейти к сообщению
Ну тогда уж лучше написать ф-цию проверки/очистки и прогонять через нее все "ГЕТы", а не только $_GET['act'].
(Добавление)
etoYA, вот так РАхитектура и наклюкивается.
39. Самогонщик - 20 Декабря, 2011 - 07:40:54 - перейти к сообщению
DeepVarvar пишет:
Ну тогда уж лучше написать ф-цию проверки/очистки и прогонять через нее все "ГЕТы"
Возможно и там, только к $_GET['act'] жёсткие требования, 26 букв, цифры, _ и всё.

Вот философский вопрос: как быть?
1. можно бахнуть один чистильщик на весь проект
2. можно проверять перед непосредственным использованием
3. можно сделать что-то вроде настроек модуля, где в декларативном стиле записаны ключ => фильтр.

Кто какие ещё варианты знает?
(Добавление)
Цитата:
С чего начать делать сайт?

С требований. Это однозначно.
40. DeepVarvar - 20 Декабря, 2011 - 08:19:46 - перейти к сообщению
Мне импонируют 1 и 3. Собственно 3 это "прокачанный" 1.
41. LIME - 20 Декабря, 2011 - 10:27:28 - перейти к сообщению
нда ))
а что никто не вспомнил что сначала хорошо бы эскизы нарисовать))
эскизы сайта нарисуйте схематично
со связями какая страничка какими меню и ссылками открывается
42. Самогонщик - 20 Декабря, 2011 - 10:31:24 - перейти к сообщению
LIME пишет:

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

 

Powered by ExBB FM 1.0 RC1