Хорошей идеей является использование «объектно-реляционного картографа», подобного Idiorm :
$user = ORM::for_table('user')
->where_equal('username', 'j4mie')
->find_one();
$user->first_name = 'Jamie';
$user->save();
$tweets = ORM::for_table('tweet')
->select('tweet.*')
->join('user', array(
'user.id', '=', 'tweet.user_id'
))
->where_equal('user.username', 'j4mie')
->find_many();
foreach ($tweets as $tweet) {
echo $tweet->text;
}
Он не только избавляет вас от SQL-инъекций, но и от синтаксических ошибок! Также поддерживает коллекции моделей с цепочкой методов для фильтрации или применения действий к нескольким результатам сразу и нескольких подключений.
Найденный ответом самостоятельно.
у Richard Dingwall есть превосходное сообщение, проходящее различные стратегии. Мне особенно нравится решение FilterAttribute. Я не поклонник выдавания исключения вокруг волей-неволей, таким образом, я буду видеть, могу ли я изменить к лучшему это:)
Для global.asax, просто добавьте этот код как свой последний маршрут для регистрации:
routes.MapRoute(
"404-PageNotFound",
"{*url}",
new { controller = "StaticContent", action = "PageNotFound" }
);
Это могло бы быть проблемой, когда Вы используете
throw new HttpException(404);
, Когда Вы хотите поймать это, я не знаю никакой другой путь, затем редактируя Вашу веб-конфигурацию.