<h3>codeigniter hooks à¸à¸³à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¹à¸¥à¸°à¹à¸à¹à¸à¸²à¸ hooks point</h3>
<p></br><br />
สำหรัภhooks à¹à¸ codeigniter à¹à¸à¹à¸à¸à¸µà¹à¸à¸à¸£à¹à¸à¸µà¹à¸¡à¸µà¹à¸§à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸£à¸±à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸«à¸£à¸·à¸à¹à¸à¸£à¸à¸à¸§à¸²à¸¡à¸ªà¸²à¸¡à¸²à¸£à¸<br />
à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸²à¹à¸à¹à¸à¸à¸¡à¸µà¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸à¸à¸à¸ à¹à¸à¸¢à¸à¸µà¹à¹à¸¡à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¹à¸à¸¢à¸¸à¹à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¹à¸à¸¥à¹à¸«à¸¥à¸±à¸ à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸ à¸à¸²à¸à¸¡à¸µà¸à¸²à¸à¸à¸£à¸à¸µà¸à¸µà¹à¹à¸£à¸²à¸à¹à¸à¸à¸à¸²à¸£<br />
à¹à¸à¸´à¹à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸²à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸à¸ controller à¹à¸ ๠à¸à¹à¸à¸à¸à¸µà¹à¸à¸°à¹à¸à¹à¸²à¸ªà¸¹à¹à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸ constructure à¸à¸±à¸à¸à¹à¸à¸±à¹à¸ <!--more--></p>
<p>à¸à¸à¸ controller à¸à¸±à¹à¸ ๠หรืà¸à¸à¸²à¸à¸à¸°à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸²à¹à¸à¸«à¸¥à¸±à¸à¸à¸²à¸à¸à¸µà¹ constructure à¸à¸³à¸à¸²à¸à¹à¸ªà¸£à¹à¸à¹à¸¥à¹à¸§<br />
หรืà¸à¹à¸¡à¹à¸à¸£à¸°à¸à¸±à¹à¸ controller à¸à¸±à¹à¸ ๠à¹à¸à¹à¸à¸³à¸à¸²à¸à¹à¸ªà¸£à¹à¸à¹à¸¥à¹à¸§à¸à¹à¸à¸¢à¹à¸£à¸µà¸¢à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸²à¹à¸ à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸à¹à¸§à¸¢<br />
Hooks class à¹à¸à¹à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸<br />
</br></p>
<h4>à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ hooks</h4>
<p>สำหรัà¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ hooks à¹à¸«à¹à¹à¸à¸´à¸à¹à¸à¸¥à¹ <strong>application/config/config.php</strong> à¹à¸¥à¸°à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸±à¸§à¹à¸à¸£ enable_hooks<br />
à¸à¸²à¸à¸à¹à¸²à¸à¸à¸à¸´à¸à¸µà¹à¹à¸à¹à¸ FALSE à¹à¸«à¹à¹à¸à¹à¸ TRUE</p>
<pre class="lang:default decode:true " title="วิà¸à¸µà¹à¸à¹à¸à¸²à¸ hooks à¹à¸ ci" >$config['enable_hooks'] = TRUE;</pre>
<p></br></p>
<h4>สรà¹à¸²à¸à¹à¸à¸¥à¹ hooks class</h4>
<p>à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸ hooks à¸à¸¥à¸²à¸ªà¸à¸±à¹à¸ à¹à¸«à¹à¹à¸£à¸²à¸ªà¸£à¹à¸²à¸à¹à¸§à¹à¹à¸à¹à¸à¸¥à¹à¸à¹à¸ application/hooks/ à¹à¸à¸à¸µà¹à¸à¸µà¹à¹à¸«à¹à¹à¸£à¸²à¸à¸à¸¥à¸à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸¥à¹ WebHook.php<br />
à¹à¸à¸¢à¸à¸µà¹à¸ ายà¹à¸à¸à¸¥à¸²à¸ªà¸à¸µà¹à¹à¸£à¸²à¸à¸°à¸à¹à¸à¸à¸ªà¸£à¹à¸²à¸ method มาà¹à¸à¸·à¹à¸à¸£à¸°à¸à¸¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸ hooks à¹à¸à¹à¸¥à¸°à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¸§à¸¢ à¸à¸°à¹à¸à¹à¹à¸à¹à¸à¸à¸£à¸°à¸¡à¸²à¸à¸à¸µà¹</p>
<p><strong>application/hooks/WebHook.php</strong></p>
<pre class="lang:default decode:true " title="application/hooks/WebHook.php" ><;?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
 
class WebHook { 
 
	public function __construct(){ 
	 
	} 
	public function pre_system(){ 
	 	echo "pre_system.<;br>;"; 
	} 
} 
?>;</pre>
<p></br></p>
<h4>à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¹à¸à¹à¸à¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¸à¸ hooks class</h4>
<p>หลัà¸à¸à¸²à¸à¹à¸à¹à¸à¸¥à¸²à¸ªà¹à¸¥à¸°à¸à¸±à¸à¸à¹à¸à¸±à¹à¸à¸à¸µà¹à¸à¸°à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¹à¸¥à¹à¸§ à¹à¸«à¹à¹à¸£à¸²à¹à¸à¸à¸³à¸«à¸à¸à¸¥à¸³à¸à¸±à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸µà¹à¹à¸à¸¥à¹<br />
สำหรัà¸à¸à¸²à¸£à¸ªà¸±à¹à¸à¹à¸«à¹à¸à¸¥à¸²à¸ª WebHook à¸à¸³à¸à¸²à¸à¹à¸à¹à¸¥à¸°à¹à¸¡à¸à¸à¸à¹à¸à¸à¹à¸à¹à¸à¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸à¸à¸±à¹à¸à¹à¸£à¸²à¸à¸°à¹à¸à¸µà¸¢à¸à¸à¸³à¸ªà¸±à¹à¸à¹à¸ hooks.php à¹à¸à¹à¸à¸±à¸à¸à¸µà¹</p>
<p><strong>application/config/hooks.php</strong></p>
<pre class="lang:default decode:true " title="application/hooks/WebHook.php" > 
<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 
 
$hook['pre_system'] = array( 
 'class' => 'WebHook', // à¸à¸·à¹à¸à¸à¸¥à¸²à¸ª 
 'function' => 'pre_system', // à¸à¸·à¹à¸à¸à¸±à¸à¸à¹à¸à¸±à¹à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¸«à¸£à¸·à¸à¹à¸¡à¸à¸à¸ 
 'filename' => 'WebHook.php', // à¸à¸·à¹à¸à¹à¸à¸¥à¹ 
 'filepath' => 'hooks', // à¹à¸à¸¥à¹à¸à¹à¸à¸«à¸£à¸·à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸à¸à¹à¸à¸¥à¹ 
 'params' => '' // สำหรัà¸à¸ªà¹à¸à¸à¸±à¸§à¹à¸à¸£à¸à¸²à¸£à¸²à¸¡à¸´à¹à¸à¸à¸£à¹à¹à¸à¹à¸à¸à¸à¸²à¹à¸£à¸¢à¹ 
); 
</pre>
<p></br></p>
<h4>Hook Points</h4>
<p>à¹à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸ hook class à¸à¸±à¹à¸ à¸à¸°à¸à¹à¸à¸à¸¡à¸µà¸à¸±à¸§à¹à¸à¸£à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸à¸à¸±à¸§à¸à¸³à¸«à¸à¸à¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸<br />
à¹à¸£à¸²à¹à¸£à¸µà¸¢à¸à¸ªà¸´à¹à¸à¸à¸±à¹à¸à¸§à¹à¸² Hook Points à¹à¸ codeigniter framework มี Hook Points à¹à¸«à¹à¹à¸£à¸²à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¸«à¸¥à¸±à¸ ๠à¸à¸±à¸à¸à¸µà¹</p>
<ul>
<li><strong>pre_system</strong> à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸à¸±à¹à¸à¹à¸à¹à¹à¸£à¸à¹à¸£à¸´à¹à¸¡à¸à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸£à¸°à¸à¸</li>
<li><strong>pre_controller</strong> à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸à¸±à¸à¸à¸µà¸à¹à¸à¸à¸à¸µà¹à¸à¸±à¸§à¸à¸§à¸à¸à¸¸à¸¡ (controller) à¹à¸à¹à¸à¸°à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸</li>
<li><strong>post_controller_constructor</strong> à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸à¸±à¸à¸à¸µà¹à¸¡à¸·à¹à¸ constructructor à¸à¸³à¸à¸²à¸</li>
<li><strong>post_controller</strong> à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸à¸±à¸à¸à¸µà¹à¸¡à¸·à¹à¸ controller à¸à¸³à¸à¸²à¸à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸£à¸¹à¸à¹</li>
<li><strong>post_system</strong> à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸«à¸¥à¸±à¸à¸ªà¸´à¹à¸à¸ªà¸¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸£à¸°à¸à¸à¸«à¸¥à¸±à¸à¸à¸±à¹à¸à¸«à¸¡à¸</li>
</ul>
<p>hook points à¸à¸·à¹à¸ ๠à¸à¹à¸²à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸²à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¹à¸à¸µà¹ <a href="https://www.codeigniter.com/user_guide/general/hooks.html" target="_blank">https://www.codeigniter.com/user_guide/general/hooks.html</a><br />
</br></p>
<h4>สรà¹à¸²à¸ Controller มาà¸à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸</h4>
<p>หลัà¸à¸à¸²à¸à¸à¸µà¹à¹à¸£à¸²à¹à¸à¹à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ สรà¹à¸²à¸ hook class à¹à¸¥à¸°à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¸à¸±à¸à¸à¹à¸à¸±à¹à¸à¸à¸à¸ hook class à¹à¸¥à¹à¸§<br />
à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¸à¹à¸à¹à¸«à¹à¸¥à¸à¸à¸ªà¸£à¹à¸²à¸ controller มาà¸à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸¹à¸§à¹à¸²à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸°à¹à¸à¹à¸à¸à¸¢à¹à¸²à¸à¹à¸£</p>
<p><strong>application/controllers/Home.php</strong></p>
<pre class="lang:default decode:true " title="application/controllers/Home.php" > 
<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 
 
class Home extends CI_Controller { 
 
	public function __construct() 
	{ 
		parent::__construct(); 
	} 
	public function index() 
	{ 
		 
	} 
} 
</pre>
<p>à¸à¸¥à¸¥à¸±à¸à¸à¹</p>
<pre class="lang:default decode:true " >pre_system</pre>
<p></br></p>
<h4>à¸à¸à¸ªà¸à¸à¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸ Hook Points</h4>
<p>à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸à¹à¸à¸±à¹à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸¥à¸° point à¹à¸ application/hooks/WebHook.php à¸à¸±à¸à¸à¸µà¹<br />
<strong>application/hooks/WebHook.php</strong></p>
<pre class="lang:default decode:true " title="application/hooks/WebHook.php" > 
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
 
class WebHook { 
 
	public function __construct(){ 
	 
	} 
	public function pre_system(){ 
	 	echo "pre_system.<br>"; 
	}	 
	public function pre_controller(){ 
	 	echo "pre_controller.<br>"; 
	} 
	public function post_controller_constructor(){ 
	 	echo "post_controller_constructor.<br>"; 
	} 
	public function post_controller(){ 
	 	echo "post_controller.<br>"; 
	} 
	public function post_system(){ 
	 	echo "post_system.<br>"; 
	} 
} 
?> 
</pre>
<p>à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¸à¸±à¸à¸à¹à¸à¸±à¹à¸à¹à¸à¸à¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸à¸à¸à¸à¹à¸à¸¢à¸à¸³à¸«à¸à¸ hook points à¸à¸µà¹à¹à¸à¸¥à¹ application/config/hooks.php à¸à¸±à¸à¸à¸µà¹<br />
<strong>application/config/hooks.php</strong></p>
<pre class="lang:default decode:true " title="application/config/hooks.php" > 
<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 
 
$hook['pre_system'] = array( 
 'class' => 'WebHook', 
 'function' => 'pre_system', 
 'filename' => 'WebHook.php', 
 'filepath' => 'hooks', 
 'params' => '' 
); 
$hook['pre_controller'] = array( 
 'class' => 'WebHook', 
 'function' => 'pre_controller', 
 'filename' => 'WebHook.php', 
 'filepath' => 'hooks', 
 'params' => '' 
); 
$hook['post_controller_constructor'] = array( 
 'class' => 'WebHook', 
 'function' => 'post_controller_constructor', 
 'filename' => 'WebHook.php', 
 'filepath' => 'hooks', 
 'params' => '' 
); 
$hook['post_controller'] = array( 
 'class' => 'WebHook', 
 'function' => 'post_controller', 
 'filename' => 'WebHook.php', 
 'filepath' => 'hooks', 
 'params' => '' 
); 
$hook['post_system'] = array( 
 'class' => 'WebHook', 
 'function' => 'post_system', 
 'filename' => 'WebHook.php', 
 'filepath' => 'hooks', 
 'params' => '' 
); 
 
</pre>
<p>à¸à¸¥à¸¥à¸±à¸à¸à¹</p>
<pre class="lang:default decode:true " > 
pre_system. 
pre_controller. 
post_controller_constructor. 
post_controller. 
post_system. 
</pre>
<p><img src="https://www.codebee.co.th/labs/wp-content/uploads/2016/07/วิà¸à¸µà¹à¸à¹à¸à¸²à¸-hooks-à¹à¸-codeigniter.png" alt="วิà¸à¸µà¹à¸à¹à¸à¸²à¸-hooks-à¹à¸-codeigniter" /><br />
หลัà¸à¸à¸²à¸à¸à¸µà¹à¹à¸£à¸²à¸à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸à¸à¸à¸µà¹à¹à¸¥à¹à¸§ à¸à¸°à¸à¸³à¹à¸«à¹à¹à¸£à¸²à¸à¸£à¸²à¸à¸§à¹à¸² hook point à¹à¸«à¸ à¸à¸³à¸à¸²à¸à¸à¹à¸à¸ - หลัภà¹à¸¥à¸°à¸à¸³à¸à¸²à¸à¸à¸à¸à¹à¸«à¸<br />
à¹à¸¡à¸·à¹à¸à¸à¸£à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸µà¹à¹à¸¥à¹à¸§à¸à¹à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸§à¸²à¸¡à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸ hooks à¹à¸ codeigniter framework à¹à¸à¸à¸£à¸°à¸¢à¸¸à¸à¸à¹à¹à¸à¹à¹à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸<br />
à¸à¸±à¸à¸à¸²à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¹à¸²à¸ ๠à¹à¸à¹à¸à¸µà¸¢à¸´à¹à¸à¸à¸¶à¹à¸ à¹à¸¥à¸°à¸¢à¸±à¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸§à¸²à¸¡à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸ codeigniter à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹à¸à¸µà¸à¸à¹à¸§à¸¢</p>

codeigniter hooks ทำความเข้าใจและใช้งาน hooks point

php-codeigniter-framework
