Quantcast
Channel: CodeIgniter Forums - All Forums
Viewing all articles
Browse latest Browse all 14346

Using Hooks

$
0
0
Hi,

I'm trying to use my own classes with hooks, so on a fresh install of last CI, I've enabled hooks in config file.
Modified hooks.php by adding :
PHP Code:
$hook['pre_system'][] = array(
 
 'class' => '',
 
 'function' => 'load_app_controllers',
 
 'filename' => 'App_controllers.php',
 
 'filepath' => 'hooks'
); 


Added a file call App_Controllers.php in hooks folder :

PHP Code:
function load_app_controllers()
{
 
 spl_autoload_register('my_own_controllers');
}
function 
my_own_controllers($class)
{
 
 if (strpos($class'CI_') !== 0)
 
 {
 
   if (is_readable(APPPATH 'core/' $class '.php'))
 
   {
 
     require_once(APPPATH 'core/' $class '.php');
 
   }
 
 }




Then a file MY_Controller.php in Controllers :
PHP Code:
<?php

class MY_Controller extends CI_Controller
{
 
 public function __construct()
 
 {
 
   parent::__construct;
 
 }
}

class 
Admin_Controller extends MY_Controller
{
 
 function __construct()
 
 {
 
   parent::__construct();
 
   echo 'This is from admin controller';
 
 }
}

class 
Public_Controller extends MY_Controller
{
 
 function __construct()
 
 {
 
   parent::__construct();
 
   echo 'This is from public controller';
 
 }



And two file in controllers "Admin_Controller.php" :
PHP Code:
<?php

class Admin_Controller extends MY_Controller
{
 
 function __construct()
 
 {
 
   parent::__construct();
 
   echo 'This is from admin controller';
 
 }

Public_Controller.php :
PHP Code:
<?php

class Public_Controller extends MY_Controller
{
 
 function __construct()
 
 {
 
   parent::__construct();
 
   echo 'This is from public controller';
 
 }



And finally modified Welcome.php :
PHP Code:
<?php
defined
('BASEPATH') OR exit('No direct script access allowed');

class 
Welcome extends Admin_Controller 

Problem is that I got error :
Code:
Fatal error: Class 'Admin_Controller' not found in /Applications/MAMP/htdocs/hooks/application/controllers/Welcome.php on line 4
A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/hooks/application/controllers/Welcome.php:4)

Filename: core/Common.php

Line Number: 578

Backtrace:

A PHP Error was encountered

Severity: Error

Message: Class 'Admin_Controller' not found

Filename: controllers/Welcome.php

Line Number: 4

Backtrace:

Someone ?

Viewing all articles
Browse latest Browse all 14346

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>