%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,mail,shell_exec,system,proc_open,popen,ini_alter,dl,proc_close,curl_exec,curl_multi_exec,readfile,parse_ini_file,escapeshellarg,escapeshellcmd,show_source,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,mail,php_uname,phpinfo MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/water/vendor/dektrium/yii2-user/docs/ |
Upload File : |
# Overriding controllers The default Yii2-user controllers provide a lot of functionality that is sufficient for general use cases. But sometimes you may need to extend that functionality and add some logic that suits your needs. > **NOTE:** Overriding the controller requires to duplicate all the logic of the action. Most of the time, it is easier to use > [the events](using-controller-events.md) to implement the functionality. Replacing the whole controller should be considered > as the last solution when nothing else is possible. ## Step 1: Create new controller First of all you should create new controller under your own namespace (it is recommended to use `app\controllers\user`) and extend it from the controller you want to override. For example, if you want to override AdminController you should create `app\controllers\user\AdminController` and extend it from `dektrium\user\controllers\AdminController`: ```php namespace app\controllers\user; use dektrium\user\controllers\AdminController as BaseAdminController; class AdminController extends BaseAdminController { public function actionCreate() { // do your magic } } ``` ## Step 2: Add your controller to controller map To let Yii2-user know about your controller, you should add it to the module's controller map, as follows: ```php ... 'modules' => [ ... 'user' => [ 'class' => 'dektrium\user\Module', 'controllerMap' => [ 'admin' => 'app\controllers\user\AdminController' ], ... ], ... ], ... ```