From f4fb1db458fab52d0493ead52c9ea7e01206eaa7 Mon Sep 17 00:00:00 2001 From: Joël Cox Date: Sun, 9 Oct 2011 18:39:39 +0200 Subject: Moved tutorial to new user guide directory. --- user_guide/general/core_classes.html | 186 ----------------------------------- 1 file changed, 186 deletions(-) delete mode 100644 user_guide/general/core_classes.html (limited to 'user_guide/general/core_classes.html') diff --git a/user_guide/general/core_classes.html b/user_guide/general/core_classes.html deleted file mode 100644 index b8917864f..000000000 --- a/user_guide/general/core_classes.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - - -Creating Core System Classes : CodeIgniter User Guide - - - - - - - - - - - - - - - - - - - - - -
- - - - - -

CodeIgniter User Guide Version 2.0.3

-
- - - - - - - - - -
- - -
- - - -
- -

Creating Core System Classes

- -

Every time CodeIgniter runs there are several base classes that are initialized automatically as part of the core framework. -It is possible, however, to swap any of the core system classes with your own versions or even extend the core versions.

- -

Most users will never have any need to do this, -but the option to replace or extend them does exist for those who would like to significantly alter the CodeIgniter core. -

- -

Note:  Messing with a core system class has a lot of implications, so make sure you -know what you are doing before attempting it.

- - -

System Class List

- -

The following is a list of the core system files that are invoked every time CodeIgniter runs:

- - - -

Replacing Core Classes

- -

To use one of your own system classes instead of a default one simply place your version inside your local application/core directory:

- -application/core/some-class.php - -

If this directory does not exist you can create it.

- -

Any file named identically to one from the list above will be used instead of the one normally used.

- -

Please note that your class must use CI as a prefix. For example, if your file is named Input.php the class will be named:

- - -class CI_Input {

- -} -
- - - -

Extending Core Class

- -

If all you need to do is add some functionality to an existing library - perhaps add a function or two - then -it's overkill to replace the entire library with your version. In this case it's better to simply extend the class. -Extending a class is nearly identical to replacing a class with a couple exceptions:

- - - -

For example, to extend the native Input class you'll create a file named application/core/MY_Input.php, and declare your class with:

- - -class MY_Input extends CI_Input {

- -}
- -

Note: If you need to use a constructor in your class make sure you extend the parent constructor:

- - -class MY_Input extends CI_Input {
-
-    function __construct()
-    {
-        parent::__construct();
-    }
-}
- -

Tip:  Any functions in your class that are named identically to the functions in the parent class will be used instead of the native ones -(this is known as "method overriding"). -This allows you to substantially alter the CodeIgniter core.

- -

If you are extending the Controller core class, then be sure to extend your new class in your application controller's constructors.

- -class Welcome extends MY_Controller {
-
-    function __construct()
-    {
-        parent::__construct();
-    }
-
-    function index()
-    {
-        $this->load->view('welcome_message');
-    }
-}
- -

Setting Your Own Prefix

- -

To set your own sub-class prefix, open your application/config/config.php file and look for this item:

- -$config['subclass_prefix'] = 'MY_'; - -

Please note that all native CodeIgniter libraries are prefixed with CI_ so DO NOT use that as your prefix.

- - - - -
- - - - - - - \ No newline at end of file -- cgit v1.2.3-24-g4f1b