Основное отличие состоит в том, что
$_GET['key'];
- это зависимость от окружающей среды. Это требует, чтобы суперглобальный был доступен и содержал ключ этого имени. Это также простой доступ к массиву, в то время как
$this->getRequest()->getParam('key');
- это вызов метода API. Доступ к запросу является абстрактным. Нет зависимости от реальной среды. Объект запроса может быть ложным. Метод getParam
всегда будет возвращать значение независимо от того, является ли оно $_GET
или $_POST
.
Лучше поместить абстракцию поверх запроса, поскольку она обеспечивает большую развязку, меньше зависимостей и, следовательно, облегчает тестирование и поддержку приложения.