{"id":15282210,"url":"https://github.com/developeruz/yii2-custom-errorhandler","last_synced_at":"2025-04-12T22:06:12.744Z","repository":{"id":56966483,"uuid":"43046968","full_name":"developeruz/yii2-custom-errorhandler","owner":"developeruz","description":"Кастомная обработка ошибок в приложениях Yii 2.x","archived":false,"fork":false,"pushed_at":"2015-09-24T07:44:08.000Z","size":140,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T22:05:57.894Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/developeruz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-24T05:35:59.000Z","updated_at":"2024-12-11T19:51:41.000Z","dependencies_parsed_at":"2022-08-21T11:20:24.544Z","dependency_job_id":null,"html_url":"https://github.com/developeruz/yii2-custom-errorhandler","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developeruz%2Fyii2-custom-errorhandler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developeruz%2Fyii2-custom-errorhandler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developeruz%2Fyii2-custom-errorhandler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developeruz%2Fyii2-custom-errorhandler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/developeruz","download_url":"https://codeload.github.com/developeruz/yii2-custom-errorhandler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248637769,"owners_count":21137538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-30T14:24:39.461Z","updated_at":"2025-04-12T22:06:12.715Z","avatar_url":"https://github.com/developeruz.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Кастомная обработка ошибок в приложениях Yii 2.x\n============\nМодуль позволяет повесить свою обработку на исключения (Exception). \n\n###Когда это нужно###\nНапример для отлавливания \"опасных\" действий пользователя. При возникновении ошибки, вы можете залогировать данные и отследить частоту \nForbiddenHttpException или NotFoundHttpException для конкретного пользователя или IP. Таким образом своевременно заблокировать пользователя \nи/или сообщить администратору о попытке взлома приложения. Самый простой из способов использования модуля - \nпри получении ForbiddenHttpException проверить залогинен ли юзер и если нет - то отправить его на страницу авторизации. \n\n###Установка:###\n```bash\n$ php composer.phar require developeruz/yii2-custom-errorhandler \"*\"\n```\n\n###Настройка:###\n* В конфиге приложения прописываем action который будет вызываться при возникновении ошибок\n```php\n 'components' =\u003e [\n ...\n    'errorHandler' =\u003e [\n       'errorAction' =\u003e 'site/error',\n    ],\n ...\n```\n* Настраиваем action, указанный на предыдущем шаге. В моем примере пишем в site контроллер: \n```php\n public function actions()\n    {\n        return [\n            'error' =\u003e [\n                'class' =\u003e 'developeruz\\yii2_custom_errorhandler\\ErrorHandler',\n                'array_of_exceptions' =\u003e [\n                    403 =\u003e function()\n                    {\n                        return $this-\u003eredirect(Url::to('/site/login'));\n                    }, \n                    500 =\u003e function()\n                    {\n                        //send notification to administrator \n                        ...\n                        return $this-\u003eredirect(Url::to('/site/index'));\n                    }, \n                ]\n            ]\n        ];\n    }\n```\nТеперь при возникновении ForbiddenHttpException пользователя будет перекидывать на страницу авторизации.\n Если обработка ошибки не описана в array_of_exceptions, то она обработается ErrorAction, указанным в параметре $defaultErrorAction \n (по умолчанию yii\\web\\ErrorAction)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloperuz%2Fyii2-custom-errorhandler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeveloperuz%2Fyii2-custom-errorhandler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloperuz%2Fyii2-custom-errorhandler/lists"}