yii2 - Yii 2 use same controller method / action in multiple controllers -


i have method checking whether user logged in in usercontroller.i need same method in other controllers.how can same without copy pasting code controllers.

the controller method looks like

public function is_logged_in() {  	     $session = yii::$app->session;   	     $cookies = yii::$app->request->cookies;  	     //print_r($session);  	     $session->open();  	     $session_cookie_name = yii::$app->params['cookie_name_session_var'];  	     $logged_in = false;  	     //echo "-memn-".$cook_name.' halle - ';  	     //print_r($_session);  	     if(($cook_name = $session->get($session_cookie_name))) {  	     	//echo " - <pre>";  	     	//print_r($cookies);  	     	//exit;  	     	$write_cookies =  yii::$app->response->cookies;  	     	//echo "</pre>";  	     	//echo $cookies->getvalue($cook_name).' placenta';  		     if($u_token = $cookies->getvalue($cook_name)) {  		     	echo "b";  			 	 if($u_token) {  			 	  echo "c";   			 	 	$write_cookies->remove($cook_name);  			 	 	unset($write_cookies[$cook_name]);  			 	 	$session->destroy();  			 	 	$session->open();  			 	 	$cookie_name = sha1($u_token).time();  			 	 	$session[$session_cookie_name] = $cookie_name;  			 	 	$write_cookies->add(new \yii\web\cookie([  	            		'name' => $session[$session_cookie_name],  	            		'value' => $u_token,  	            		'expire' => time() + 6000000  	            	])); // around 1 hour expiry time  	            	$session->close();    			 	 	  			 	 	  			 	 	   			 	 	  			 	 	$logged_in = true;  				 	 //echo $u_token;  			 	 }      		     }    	     }    	       	     if(!$logged_in) {  		     $session->destroy();  	     }  	     return $logged_in;      }

1) can create own component , put method here or place in model (depends on logic of method). component can placed example in components folder (by default doesn't exist). use component in controllers want.

2) if code needs executed before or after actions, can use behaviors.

3) can use inheritance , create custom controller extends yii\web\controller, declare method here , extend other controllers going use logic custom one.


Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -