I like to tweak CodeIgniter beyond what the common settings are. There are a few quirks here and there that I sometimes wish were native features of CodeIgniter. Some internal settings make it seem like they are going to work but then you realize that they just don't work the same across all servers. So, here's my CodeIgniter setup.
First thing, of course, is to download CodeIgniter and extract it to the folder location where you'll be using it from. Visit that directory in your browser and you'll notice that CodeIgniter is setup and ready to go. That's it! Simple, right?
To make most out of CodeIgniter you'll want to keep reading.
First, open application/config/routes.php and modify the $route['default_controller'] element. I normally change mine to main. Open the application/controllers/ directory and rename the Welcome.php file to Main.php. Open the Main.php file and change the class name from Welcome to Main. Test to make sure it's working.
Next, I remove the index.php from the address bar. You can follow my tutorial here.
Next is setting up the config.php file. I've tried left and right to work with the ENVIRONMENT global, but it just misbehaves across different servers. The main goal that I'm trying to achieve is to figure out if I'm on the production server or development server automatically. So, instead of using the ENVIRONMENT global, I'll use $_SERVER["HTTP_HOST"]. In the config.php file, I'm just trying to modify the $config['base_url'] element. Here's the code I use to achieve that:
// Initialize to production server
$config['base_url'] = 'https://dinocajic.com/some_application_folder';
if ($_SERVER["HTTP_HOST"] == "localhost") {
// If developing, change to local folder
$config['base_url'] = 'http://localhost/fcwt_local_folder';
}
While I'm in the config file, I'll make sure that $config['uri_protocol'] is set to 'REQUEST_URI.'
Next, I'll open the application/config/autoload.php file. I'll modify the following elements so that certain libraries are auto-loaded:
Last but not least is the database.php file. When you open it up, you'll notice a $db['default'] element holding the connection settings. I'll set this to my production server. Next, I'll copy the $db['default'] array and paste it immediately below the default one. I'll change the key from default to development: $db['development'] = array(...). I'll fill out my local server connection settings. Last but not least is to modify the $active_group variable; it tells CodeIgniter which database settings to use. The code that I use to change between the default and development settings is as follows:
// Production settings
$active_group = 'default';
if ($_SERVER["HTTP_HOST"] == "localhost") {
// If on localhost, change to development
$active_group = 'development';
}
And that's it. From there I'll start creating the new controllers, views and models.
First thing, of course, is to download CodeIgniter and extract it to the folder location where you'll be using it from. Visit that directory in your browser and you'll notice that CodeIgniter is setup and ready to go. That's it! Simple, right?
To make most out of CodeIgniter you'll want to keep reading.
First, open application/config/routes.php and modify the $route['default_controller'] element. I normally change mine to main. Open the application/controllers/ directory and rename the Welcome.php file to Main.php. Open the Main.php file and change the class name from Welcome to Main. Test to make sure it's working.
Next, I remove the index.php from the address bar. You can follow my tutorial here.
Next is setting up the config.php file. I've tried left and right to work with the ENVIRONMENT global, but it just misbehaves across different servers. The main goal that I'm trying to achieve is to figure out if I'm on the production server or development server automatically. So, instead of using the ENVIRONMENT global, I'll use $_SERVER["HTTP_HOST"]. In the config.php file, I'm just trying to modify the $config['base_url'] element. Here's the code I use to achieve that:
// Initialize to production server
$config['base_url'] = 'https://dinocajic.com/some_application_folder';
if ($_SERVER["HTTP_HOST"] == "localhost") {
// If developing, change to local folder
$config['base_url'] = 'http://localhost/fcwt_local_folder';
}
While I'm in the config file, I'll make sure that $config['uri_protocol'] is set to 'REQUEST_URI.'
Next, I'll open the application/config/autoload.php file. I'll modify the following elements so that certain libraries are auto-loaded:
- $autoload['helper'] = array('url');
- $autoload['libraries'] = array('database');
Those two I always auto-load. Often, I'll load other libraries once I find it necessary.
Last but not least is the database.php file. When you open it up, you'll notice a $db['default'] element holding the connection settings. I'll set this to my production server. Next, I'll copy the $db['default'] array and paste it immediately below the default one. I'll change the key from default to development: $db['development'] = array(...). I'll fill out my local server connection settings. Last but not least is to modify the $active_group variable; it tells CodeIgniter which database settings to use. The code that I use to change between the default and development settings is as follows:
// Production settings
$active_group = 'default';
if ($_SERVER["HTTP_HOST"] == "localhost") {
// If on localhost, change to development
$active_group = 'development';
}
And that's it. From there I'll start creating the new controllers, views and models.
Comments
Post a Comment