Обьсните пользу многочисленных абстракций на примере zfcUser? не могу никак разобратся с пользой от всего этого. изучил по этому вопросу немеряно различной информации. сам использую ООП на уровне группировки данных ну и определения общих поведенческих методов которые могу использовать пронаследовавшись.
ну вот решил я использовать этот модуль, покажиме мне пожалуйста на практическом примере какую пользу я могу извлечь из того что авторы определили, различные интерфейсы, реализовали гидраторы, мапперы?
ну вот к примеру нужна аунтификация на ajax. мой код (упрошенный)public function loginAction() {
$user = $this->getServiceLocator()->get('some-service-for-make-sql-request')->search(['email'=>$_REQUEST['email'],'pwd'=>$_REQUEST['pwd']]); // service makes some crypt for 'pwd' before sql request
$result = $user ? ['message'=>'ok','userdata'=>$user] : ['message'=>'fail','userdata'=>$user];
return new JsonModel($result);
}
как это сделать на zfcuser? спрашиваю у гугла вот .....
$this->getRequest()->getPost()->set('identity', $data['identity']);
$this->getRequest()->getPost()->set('credential', $data['credential']);
$this->zfcUserAuthentication()->getAuthAdapter()->resetAdapters();
$this->zfcUserAuthentication()->getAuthService()->clearIdentity();
$adapter = $this->zfcUserAuthentication()->getAuthAdapter();
$adapter->prepareForAuthentication($this->getRequest());
$auth = $this->zfcUserAuthentication()->getAuthService()->authenticate($adapter);
if (!$auth->isValid()) {
......
и это только отрывок кода
возьмем модуль bjyauthorize. да можно настроить доступ через конфиг. умолчу что тоже самое можно сделать написав 10 строчек кода в module.php проверив имя модуля контроллера и экшена. ну вот в реальном проекте, пользователь пытается редактировать запись, мне надо проверить в этой записе его user_id или чужой. как?

21 Авг 2019 в 07:08
158 +1
0
Ответы
1

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

На примере zfcUser, использование абстракций позволяет сделать ваш код более структурированным, модульным и расширяемым. Например, при использовании zfcUser для аутентификации пользователя на AJAX запросах, вы можете использовать готовые методы и функции из этого модуля, чтобы управлять аутентификацией пользователя.

В вашем примере, для использования zfcUser для аутентификации на AJAX запросах, вам нужно использовать методы и функции, предоставленные в этом модуле, чтобы корректно аутентифицировать пользователя. Это позволит упростить ваш код и обеспечить безопасность при аутентификации пользователей.

При работе с модулем bjyauthorize, вы также можете использовать абстракции для управления доступом к определенным ресурсам в вашем приложении. Например, вы можете использовать конфигурационные файлы или написать код для проверки доступа пользователя к определенным действиям в вашем приложении.

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

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 654 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир