[...]тут был пост http://phpclub.ru/talk/showthread.php?s=&postid=855195#post855195[/...]
я тоже когда-то так думал, и гордился тем что система при неправельном запросе пытается выдать страницу, потом обнаружил в поисковиках кучу левых страниц, а поисковые боты регулярно лазили по этим страницам, ведь для бота если url не выдает ошибку, значит его нужно кэшировать.но часто она бывает слишком мелочная
ололо. зачем делать недо-проверку? почему бы её не делать вообще.и то, и то - ошибка, но часто она бывает слишком мелочная, чтоб на нее обращать внимания
кастование - приведение типа.что значить после кастования?
как раз нет. я никогда не проверяю - нулевое число или нет. (int) и дальше передаём как есть в запрос без проверокну и в чем нелогичность? ты же всеравно делаешь проверку, как минимум на то не нулевой ли id, в чем проблема, сделать проверку число это или нет?
class newsViewController extends simpleController
{
protected function getView()
{
$newsMapper = $this->toolkit->getMapper('news', 'news');
$id = $this->request->getInteger('id');
$news = $newsMapper->searchByKey($id);
if (empty($news)) {
return $this->forward404($newsMapper);
}
$this->smarty->assign('news', $news);
return $this->smarty->fetch('news/view.tpl');
}
}
ты глупый. поиск записи с id=0 "в сто раз" быстрее поиска по любому другому id (попадающему в диапазон). сложность поиска в случае с id=0 = O(1), в случае с ненулевым числом, и меньшим max значения ключа - O(log2 N).- у сайта далеко не один запрос их около десятка, и когда какой-нибудь бот начнет перебирать различные варианты строк вместо id, то в итоге получится сотни левых некэшированных запросов (в моем случае, по логам было видно, что перебирают боты, причем тупорылые, т.к. пытаются к разным урлам, добавлять одно и тоже)
кто мешает на неправильный запрос выдавать 404 ?- когда запросы коверкаются людьми, и в итоге на неправильный запрос выдается страница, то это страница довольно легко может попасть в индекс поисковикам (счетчики, контекстная реклама и т.п.), зачем плодить дубликаты.
Согласен с тем, что на не найдено надо выдавать 404. с запросом же, или без - на усмотрение программиста.потом обнаружил в поисковиках кучу левых страниц, а поисковые боты регулярно лазили по этим страницам, ведь для бота если url не выдает ошибку, значит его нужно кэшировать.
Это ты глупый, отправка запроса mysql, парсинг его, пусть даже сверхбыстрое выполнение, возврат результатов, проверка результатов, значительно медленнее, чем сразу проверить значение, и не выполнение не только этого запроса, но и зачастую нескольких более сложных.ты глупый. поиск записи с id=0 "в сто раз"
Ты вообще читать умеешь, я изначально говорил о том, что лучше выдавать 404, когда вводят левые параметрыкто мешает на неправильный запрос выдавать 404
вот только до кода получения новостей и статей по теме дело не дойдёт. потому что новость не найдена.Или у тебя сайты исключительно выдают только новость по id и всё? У меня к примеру, к новости, выдаются еще новости и статьи по теме по теме, и т.п.
молодец, что говорил. я и не отрицаю, что говорил. мою точку зрения я изложил уже давно: если проверять, то проверять полностью и нормально. !$id это шиза, приводящая к рассмотрению частных случаев в коде и не решающая озвученную проблему, только запутывающая код.Ты вообще читать умеешь, я изначально говорил о том, что лучше выдавать 404, когда вводят левые параметры
как только конкретно этот кусок кода станет тормозить систему - он и должен быть рассмотрен как кандидат на оптимизацию. до этого момента - не нужно усложнять себе же жизнь, подставляя подобные "подпорки-оптимизацеи".Это ты глупый, отправка запроса mysql, парсинг его, пусть даже сверхбыстрое выполнение, возврат результатов, проверка результатов, значительно медленнее, чем сразу проверить значение, и не выполнение не только этого запроса, но и зачастую нескольких более сложных.
Ты похоже просто не того зацитировал!$id это шиза,
у меня с тобой по этому вопросу, мнения совпадают.Так оно и тормозило, так как, как я уже писал выше подобной хренью занимались не вручную. А поскольку на сайте было около 60 тысяч новостей и немного меньше статей, то намного быстрее сделать проверку параметров и выдать 404, чем гонять мускуль зря, тем более, что ботов контент сайта врядли интересовал.подставляя подобные "подпорки-оптимизацеи".
Ну это главное чтобы в привычку вошло, первым делом проверил входные параметры на соответствие ожидаемым, если всё ок, то можно дальше выполнять всё остальное.теоретически, правда. на практике мне настолько вылизывать лень.
на самом деле число новостей не влияет на производительность конкретно этого запроса.А поскольку на сайте было около 60 тысяч новостей

Ты явно перетрудился, или читаешь как-то тему по диагонали. Где в теме написано что обсуждается конкретно запрос выборки новости по id?на самом деле число новостей не влияет на производительность конкретно этого запроса.