Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2011, 00:02   #21
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от dem66 Посмотреть сообщение
Я пишу на PHP 5.2.
Рад за вас.
А когда ваш хостинг переведут на 5.3.х - вы просто будете искать хостинг с 5.2.х...?

Цитата:
GetParams для получение параметров из пост и get. позволяет написать один фильтр. и потом просто получать отсюда значения.
Я потому и спросил - всего вот этого у вас просто нет, причем то же самое было и в предыдущих версиях.
С GET так вообще глухомань - хоть бы распарсили для приличия, и вернули удобным массивом( parse_str() )...

Работа с БД - по-прежнему одна огромная печаль....
Функционала нет почти, а тот что есть выглядит не очень...:
Цитата:
$query->setTable(htmlspecialchars(addslashes($table)));
$query->addColumn(htmlspecialchars(addslashes($colum)));
$query->addValue(htmlspecialchars(addslashes($value)));
ну хотя бы mysql_real_escape_string(), не говоря о том, что лучше сделать отдельно какой-нибудь метод escape() - и в каждой функции(внутри) просто обрабатывать значения с его помощью - а не копипастить кучу вызовов.

Цитата:
Я пришел сюда за советом
Вы просили прокомментировать - я комментирую...
"Паттерны..., лоадеры..." - у вас там и без них полно проблем, на "бытовом" уровне, так сказать.
И они никуда не исчезнут от того, что вам некогда их решать из-за "более важных проблем" ("Паттерны..., лоадеры...").
Andkorol вне форума Ответить с цитированием
Старый 24.08.2011, 03:16   #22
8oOoRPM
Форумчанин
 
Регистрация: 12.11.2010
Сообщений: 146
По умолчанию

Фак май мозг, в рот мне ноги...

Код:
// это беда!!!!
if(!$query){echo"Could not successfully run query ($sql) <br>".mysql_error(); exit;}

// зачем любом раскладе то???
mysql_fetch_assoc($query)

// в билдере: клиент не должен заморачиваться по поводу sql иньекций, иначе это ай ай ай

// anti_ddos.php - досеры будут этому только рады !

// особое замечание - убрать на... ereg !!!

// это колесо !!! причём по хлеще LSD !!!
$post=GetParams::GetPostPatam();
if(isset($post['submit'])) 

// O_o уличная магия ???
md5(md5(trim($post['password'])));

// особое замечание в userRegister.php - где использование врапера вашего ??? зачем класс работы с БД(про реализацию // молчу) ???

// userAuth.php - та же хрень... кстати чё эт за форматирование такое ???? Notepad++ ???

// Попов ???
 if(!mysql_connect($dbase['host'], $dbase['user'], $dbase['password'])) die ("Not Connected");      
  if(!mysql_select_db($dbase['base'])) die("Не озможно выбрать базу данных $base");

// форматирование сохранено... ИМХО- как же любите парсить всё и вся... + реализация @
function Send_Mail($email, $title, $messages){
include_once(LIBRARY_PATH.'/Kernel/Loaders/LoadConfig.php');
$app = APPLICATION_PATH.'/configs/application.conf';
$conf = Load_Config::Parse($app);
$title = $conf['support']['title'];
$mail = $conf['support']['email'];
$headers  = "Content-type: text/html; charset=utf-8 \r\n"; 
$headers.= "From: $title <$mail>\r\n";
mail($email, $title, $messages, $headers); 
}

// Class Realip
// зачем для каждой функции писать класс ???
// уж лучше положить все подобные функции куда-то в класс Environment

// везде инклуды... зачем тогда автолодер ???? :facePalm:
include_once(LIBRARY_PATH.'/Kernel/plugins/Mail.php');

// ни я первый, ни я последний...
var_dump("View directori create suceful");

// покопался, но чёт рутер не нашёл... мдеа...
8oOoRPM вне форума Ответить с цитированием
Старый 24.08.2011, 17:05   #23
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
По умолчанию

Цитата:
Сообщение от 8oOoRPM Посмотреть сообщение
Цитата:
// это беда!!!!
if(!$query){echo"Could not successfully run query ($sql) <br>".mysql_error(); exit;}
Ну хорошо. Другие варианты?

Цитата:
// зачем любом раскладе то???
mysql_fetch_assoc($query)
А зачем парится и делать все это потом при разборе данных от мускула? Драйвер вытянет все это в ассоциативный массив и отдаст дальше. Готовый массив, то хотите делаете. Не нужно каждый раз с цыклом заморачиватся. Хоть Foreach сразу

Цитата:
// в билдере: клиент не должен заморачиваться по поводу sql иньекций, иначе это ай ай ай
А что проще защищать входящие данные и сразу все фильтровать? Что это за программист который не сделает фильтр данных для базы?
А если мне например нужно в форме писать Java скрипты, HTML, PHP?? Общий фильтр входящих данных все это сразу отрежет.

Цитата:
// anti_ddos.php - досеры будут этому только рады !
И чему здесь радоваться? Занесет айпишник в .htaccess делов то. сменят еще раз забаним. Мне места не жалко. Заодно не будут бить сайт частыми F5. И есть школьники которым все по--ру и они при парсинге даже тайм-аутов не ставят.

Цитата:
// особое замечание - убрать на... ereg !!!
Ну и что в них не нравится? Хорошо... Как тогда сделать толковое ЧПУ?

Цитата:
// это колесо !!! причём по хлеще LSD !!!
$post=GetParams::GetPostPatam();
if(isset($post['submit']))
Это где такое нашли?

Цитата:
// O_o уличная магия ???
md5(md5(trim($post['password'])));
Что плохого в двойном шифровании?


Цитата:
// особое замечание в userRegister.php - где использование врапера вашего ??? зачем класс работы с БД(про реализацию // молчу) ???
А я его вобще не использую. Надо бы его удалить, недоглядел. Кому надо тот напишет.
// userAuth.php - та же хрень... кстати чё эт за форматирование такое ???? Notepad++ ???
[QUOTE]
На линуксе нотпада нет, ЕСТЬ Geany. И чем плох этот скрипт?

Цитата:
// Попов ???
if(!mysql_connect($dbase['host'], $dbase['user'], $dbase['password'])) die ("Not Connected");
if(!mysql_select_db($dbase['base'])) die("Не озможно выбрать базу данных $base");
А что плохого? данные берутся из конфига. Или вы предлагаете их здесь прописывать? Или просто каждый раз передавать этой функции все необходимые данные чтобы она подключилась


Цитата:
// форматирование сохранено... ИМХО- как же любите парсить всё и вся... + реализация @
function Send_Mail($email, $title, $messages){
include_once(LIBRARY_PATH.'/Kernel/Loaders/LoadConfig.php');
$app = APPLICATION_PATH.'/configs/application.conf';
$conf = Load_Config::Parse($app);
$title = $conf['support']['title'];
$mail = $conf['support']['email'];
$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers.= "From: $title <$mail>\r\n";
mail($email, $title, $messages, $headers);
}
Ну хорошо а как тогда при отправке почты узнать что писать в заголовке и куда отправлять? каждый раз лазить и править этот скрипт? Все пишется в одном конфиге. И как использовать конфиг если его перед этим не роспарсить?

Цитата:
// Class Realip
// зачем для каждой функции писать класс ???
Потомучто это отдельный скрипт и эго задача получить айпи когда это потребуется. И он используется редко. И так удобнее.

Цитата:
// везде инклуды... зачем тогда автолодер ???? :facePalm:
include_once(LIBRARY_PATH.'/Kernel/plugins/Mail.php');
А то что эта функия используется для отправки на почту админу сообющения об ошибке. Причем обработчик ошибок грузится еще до загрузки фронта, какой нах автолоадер если он в этот момент даже не подключен. И к тому же автолоадеру нужно скармливать длинные имена класов. Потомучто при роспарсивании из него получается путь к файлу. А это мне не всегда нравится.


Цитата:
// ни я первый, ни я последний...
var_dump("View directori create suceful");
В консили удобнее так

Цитата:
// покопался, но чёт рутер не нашёл... мдеа...
конфиг с настройками "Application/config/router.ini"
dem66 вне форума Ответить с цитированием
Старый 24.08.2011, 17:12   #24
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
А когда ваш хостинг переведут на 5.3.х - вы просто будете искать хостинг с 5.2.х...?
Например? Сейчас еще и с PHP 4 хосты есть. А вы говорите 5.3. Когда через лет 5? Уже 5.4 Давно есть?
И кстати чем им не понравилось break и continue

Цитата:
С GET так вообще глухомань - хоть бы распарсили для приличия, и вернули удобным массивом
На--ра? Например? Что предусмотреть все случаи жизни? А если например распарсивать строку не надо? А надо все то что было написано на передаче влупить сразу какой то функции. Например передать путь к какому то файлу. Там ведь тоже присутствует /.

Проще этот AUERY STRING уже потом обработать так как это требуется. Или вы предлагаете использовать простой GET?

Хотя я над этим подумаю. У меня просто закончились идеи и даже не знаю с чего начинать.

Последний раз редактировалось dem66; 24.08.2011 в 17:14.
dem66 вне форума Ответить с цитированием
Старый 24.08.2011, 19:19   #25
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

To dem66:

Я вот читаю ваши ответы на разные замечания - и понимаю, что вас на самом деле мало волнует чужое мнение.

На все замечания у вас либо пустые отмазки типа "да, да - это всё будет, только потом...", либо вообще откровенное забивание на очевидные вещи "а чё, мне и так норм, всё работает!..".

С таким вашим отношением - далее детально рассматривать и комментировать что-либо нет ни малейшего ни желания, ни смысла.

Мое обобщенное мнение - откровенно слабый продукт, с кучей устаревшего функционала, хаотичной логикой (а местами - с полным её отсутствием), отсутствием очевидного и необходимого функционала.
Код плохо форматирован, комментарии и сообщения с кучей ошибок, безопасность
на низком уровне, много ошибок.

Рад за вас, если вам удается на таком движке выкатывать какие-то проекты - но "в народ" этот движок ещё долго не пойдет.
Учитывая вышеперечисленное - пока это и к лучшему.

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

Помните - программистов много, профессионалов мало.
Andkorol вне форума Ответить с цитированием
Старый 24.08.2011, 22:06   #26
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
По умолчанию

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

Последний раз редактировалось dem66; 25.08.2011 в 11:30.
dem66 вне форума Ответить с цитированием
Старый 24.08.2011, 23:43   #27
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Цитата:
Сообщение от dem66 Посмотреть сообщение
Я отмахиваюсь? Вот вы подскажите как сделать правельн оя и сделаю. Все только ругаются. Еслиб ктото чтото полезно сказал, что можно былобы применить.
Пробелы ставить научись
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Старый 25.08.2011, 18:21   #28
8oOoRPM
Форумчанин
 
Регистрация: 12.11.2010
Сообщений: 146
По умолчанию Ответецц

Уважаемый TraceSmile вот пару советов:

1. Для врапера БД использовать PDO, посмотреть реализацию Doctrine Dbal
2. Рутинг это сердце фреймворка !!! Смотреть Symfony routing
3. Автолодер нужен для того чтоб не было include и require !!!
4. Много грамматических ошибок !!!
5. Конфиг кэшировать при парсинге хотя бы...
6. ВСЁ что я написал, брал из файлов, я открыл ВСЕ !!! что повторялось(ошибки и недочёты) я не постил по два раза!!!

Вот как должен строится рутинг в фреймворке:

PHP код:
$Engine->get('/post/{id}/{language}', function($id$language) use ($Engine){
  
// ... здесь код
   
if ( !$idExists )
  {
      
$Engine->abort('404''Данная страница не найдена');
  }
 
// ... далее ещё код
})
/*айди по умолчанию*/->value('id'1)
/*язык по умолчанию*/->value('language''ru')
/*пропускает только цифры для айди поста*/->asset('id''\d+'); 
8oOoRPM вне форума Ответить с цитированием
Старый 25.08.2011, 18:23   #29
8oOoRPM
Форумчанин
 
Регистрация: 12.11.2010
Сообщений: 146
По умолчанию

П.С. такого в пыхе до 5.3 не построишь !!!
8oOoRPM вне форума Ответить с цитированием
Старый 25.08.2011, 21:47   #30
dem66
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 316
По умолчанию

Цитата:
Сообщение от 8oOoRPM Посмотреть сообщение
5. Конфиг кэшировать при парсинге хотя бы...
Во это идея хорошая. Можно ведь попробовать записать в кэш уже распарсеный конфиг в виде ассоциативного массива?

Благо мои скрипты это позволяю. Видели ведь в плагинах скрипт который сохраняет в файл ассоциативный массив? Пр этом не нужно делать serialize и unserialize. А если как то ухитрится и хранить его в оперативке???

Предложенный вариант роута ведь уже под конкретную ситуацию.

И теперь еще вопрос. Почему все хранят конфиги и роуты в Php виде? Чем не устраивает INI, Yuml???

Ведь удобнее сделать так->
Index.Controller="Index"
Index.Action="Index"

Page.Controller="Index"
Page.Action="Page"

И потом просто подставить эти значения в скрипте. Я делал по примеру Зенда.

Причем здесь TraceSmile?

И если сильно захотеть то построить можно.
dem66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Windows 98 и Framework 2 doober Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 7 12.07.2010 14:37
Framework 3.5 psycho-coder Общие вопросы .NET 8 17.07.2009 14:33
PHP и MySQL: Тестирование студентов Sanakan PHP 3 27.05.2009 20:26
Framework Blackout Софт 8 19.02.2009 09:49