22

I have come across this page

https://www.codeigniter.com/user_guide/general/reserved_names.html

Could someone please explain to me what following constants do:

EXT
FCPATH
SELF
BASEPATH
APPPATH

Thanks

akinuri
  • 10,690
  • 10
  • 65
  • 102
lomse
  • 4,045
  • 6
  • 47
  • 68

3 Answers3

41

These constants are each defined in the index.php page:

/*
 * -------------------------------------------------------------------
 *  Now that we know the path, set the main path constants
 * -------------------------------------------------------------------
 */
    // The name of THIS file
    define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));

    // The PHP file extension
    // this global constant is deprecated.
    define('EXT', '.php');

    // Path to the system folder
    define('BASEPATH', str_replace("\\", "/", $system_path));

    // Path to the front controller (this file)
    define('FCPATH', str_replace(SELF, '', __FILE__));

    // Name of the "system folder"
    define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));


    // The path to the "application" folder
    if (is_dir($application_folder))
    {
            define('APPPATH', $application_folder.'/');
    }
    else
    {
            if ( ! is_dir(BASEPATH.$application_folder.'/'))
            {
                    exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF);
            }

            define('APPPATH', BASEPATH.$application_folder.'/');
    }

Starting at line 196 on https://github.com/EllisLab/CodeIgniter/blob/develop/index.php

swatkins
  • 13,530
  • 4
  • 46
  • 78
21

You can find its short definition in index.php on the root of your CI folder.

EXT: The PHP file extension
FCPATH: Path to the front controller (this file) (root of CI)
SELF: The name of THIS file (index.php)
BASEPATH: Path to the system folder
APPPATH: The path to the "application" folder
Community
  • 1
  • 1
SubRed
  • 3,169
  • 1
  • 18
  • 17
17

SELF = index.php

Use when you want to include something from your root folder
FCPATH = C:\xampp\htdocs\your_root_folder\

Use when you want to include something from your application folder
APPPATH = C:\xampp\htdocs\your_root_folder\application\

BASEPATH = C:\xampp\htdocs\your_root_folder\system\

akinuri
  • 10,690
  • 10
  • 65
  • 102