Search

How To Use Hooks In CodeIgniter

  • Share this:
post-title

हुक की परिभाषा (Definition of Hooks)

CodeIgniter के हुक फ़ीचर हमें Core फ़ाइलों को बदले बिना फ्रेमवर्क के internal work को बदलने की अनुमति देते हैं। सरल शब्दों में, हुक हमें किसी स्क्रिप्ट को किसी विशेष path के साथ Executed करने की अनुमति देते हैं। Codeigniter उदाहरण के लिए, आपको यह जाँचने की आवश्यकता है कि उपयोगकर्ता लॉग इन है या नहीं कुछ नियंत्रक के निष्पादन से पहले। क्या आप हुक का उपयोग कर सकते हैं और कोड लिखने के लिए अपना समय बचा सकते हैं।

हूकस फाइल कोडिनेटर में निम्नलिखित स्थान पर स्थित है।

  1. application/config/hooks.php
  2. application /hooks

Codeigniter में हुक को Enable करना (Enabling Hooks in Codeigniter)

Codeigniter में Hook को सक्षम करने के लिए, application / config / config.php फ़ाइल पर जाएँ और इसे नीचे दिए गए अनुसार TRUE सेट करें।

$config['enable_hooks'] = TRUE; 

Codeigniter में हुक को परिभाषित करें (Define Hooks in Codeigniter)

एक हुक application/config/hooks.php फाइल में परिभाषित किया गया है। प्रत्येक हुक को प्रोटोटाइप के साथ एक सरणी के रूप में परिभाषित किया जाता है

$hook['pre_controller'][] = array(
        'class'    => 'MyClassName',
        'function' => 'MyfunctionName',
        'filename' => 'Filename.php',
        'filepath' => 'hooks',
        'params'   => array('beers', 'wines')
);

 

यदि एक से अधिक स्क्रिप्ट के साथ एक ही हुक का उपयोग करना चाहते हैं, तो आप इसी फाइल अपनी हुक्स पॉइंट को एक के नीचे एक जोड़ते चले जायेंगे 

हुक के प्रकार (Type Of Hooks)

Hooks Name Description
pre_systemIt is called very early during system execution.Only hook class and benchmark have been loaded at this point.
pre_controllerIt is called before your controller being called. At this point all base classes, security checks and routing have been done.
post_controller_constructoIt is called immediately after your controller is instantiated, but before any method call.
post_controllerIt is called immediately after your controller is fully executed.
display_overrideIt is used to send the final page at the end of file execution.
cache_overrideIt enables you to call your own method instead of the _display_cache() method in the Output Library.
post_systemIt is called end of system execution after the finalized data is sent to the browser.

Codeigniter  में हुक उदाहरण (Hooks Example in Codeigniter)

  1. पहले हमें ऊपर बताए अनुसार हुक को सक्षम करने की आवश्यकता है।
  2. application/controller के अंदर एक नई फ़ाइल बनाएं।
<?php defined('BASEPATH') OR exit('No direct script access allowed');  
	class HooksExample extends CI_Controller {  
		public function index()  
		    {  
			echo "CodeIgniter hooks Tutorial HooksExample Controller";  
		}  
	}  

ब्राउज़र में "http: // localhost / HooksExample" चलाएं।  उसके बाद आपको को कुछ ऐसे आउटपुट देखने को मिलेगा

CodeIgniter hooks Tutorial HooksExample Controller

उसके बाद अब हम एक नई फ़ाइल बनाते है application/hooks/OutPut.php के अंदर जिसका नाम हम OutPut.php रख लेते है  

<?php defined('BASEPATH') OR exit('No direct script access allowed');  
	class OutPut extends CI_Controller {  
		public function index()  
		    {  
			echo "CodeIgniter hooks Tutorial OutPut Controller";  
		}  
	} 

अब हमें application/config/hooks file में हुक को परिभाषित करने की आवश्यकता है।

$hook['pre_controller'][] = array(
        'class'    => 'MyClassName',
        'function' => 'MyfunctionName',
        'filename' => 'MyClassName.php',
        'filepath' => 'hooks',
        'params'   => array('beers', 'wines')
);

अब आपको कुछ  ऐसे आउटपुट देखने को मिलेगा

CodeIgniter hooks Tutorial OutPut Controller