У меня есть много контроллеров FW/1, которые могут выполнять разные функции в зависимости от того, является ли запрос получением или отправкой. У меня есть много кода, который выглядит так
if (cgi.request_method == "post") {
Недавно я установил CLI CodeChecker от Commandbox и отключил его на своих контроллерах. Я получаю предупреждения, такие как:
Don't use shared scope variables in a CFC | Standards | Severity: 4
Avoid using shared scope variables from within a CFC as it breaks encapsulation.
Users//jamesmohler/Sites/ColdFusion/P.../messagesController.cfc:13
Я вернулся к Справочному руководству FW/1 , и я заметил, что у него есть функция под названием getCGIRequestMethod()
Вопрос
Я все это время неправильно тестировал POST
? Чего именно мне рекомендуется избегать?
cgi.request_method
(или другой глобально доступный метод области видимости) изменится наcgi.requestMethod
, то вам придется изменить каждое место, на которое ссылаетсяrequest_method
, а не просто изменить его вgetCGIRequestMethod()
. Я вижу обе стороны. Весь смысл области действияCGI
заключался в том, что она доступна для всего запроса, независимо от того, какой язык вы используете. Но если посмотреть на это под более широким углом, это по-прежнему глобальная переменная, а глобальные переменные (по определению) могут быть изменены вне части кода, с которым вы работаете. - person Shawn   schedule 16.10.2018doGet
иdoPost
предлагают в сервлетах Java. Они будут вызываться на основе данных CGI и передавать полезную нагрузку. - person Alex   schedule 16.10.2018