Site Cloner PHP Script
Bargain Hunter PHP Script
Job Hunter PHP Script
Site Login and Access Control PHP Script

Codeigniter can be used within Joomla. There is a component which can be installed so that this procedure can occur. The website for which there is some documentation and the download can be found here. When I first arrived at this website, I was relieved to find it had been developed by Azrul, since I have worked with their extensions and find them excellent. For Joomla 1.5, you can install the component through the backend installer and create a menu item. The external link works best with the proper url. The extension is a little dated since it uses Codeigniter 1.5.3. Codeigniter is now in version 2.0. You could upgrade to 1.7.3 or 2.0 using the files and instructions at the Codeigniter website. Personally, I will wait for new revised books about Codeigniter 2.0 before I move from a previous version.

UNLIKE AZRUL’S EXAMPLE, if you want to use a newer version you can take your current Codeigniter application and insert it into the applications folder. Unlike, the 1.5.3 version, there will be no specific application folders for each application, unless you desire to make that happen. Now, the controller files called ciexample.php will reside in the controller folder with all the rest of them. If you make separate view folders for each controller all files will be nicely organized for as many applications and pages as you want.

Alternatively, you could just change the name of the external link to the default controller (which is specified in the routes.php file) and the application can be up and running in minutes. For Joomla 1.6, or 1.5 for that matter, you can extract the files and dump them into the appropriate directories (root directory, administrator/component directory and the component directory), then make an external link to the appropriate path such as http://localhost/mysandbox/codeigniter/index.php/ciexample.

After the installation takes place, you will load the sample page. You will also notice that the page with the sample text is all white. Why? Well, when Codeigniter loads the ciexample controller, there is no header, content, footer nor stylesheet. At this point, you must make another template exactly like the Joomla installation, with an almost-identical menu. If this was done well, nobody would notice that Codeigniter is used within Joomla.

However, the Codeigniter 1.5.3 application will load 1 view file.

The more recent versions can load various views from 1 controller file. Therefore, all other files need to be included with the include() function if you are using the Codeigniter 1.5.3 code. The upside is that new folders can be added into the views directory to create various, organized pages. Another positive is security. But, fast development time and a nice model to create database driven components with CodeIgniter classes, pure php, one or two simple stylesheets, and Javascript / JS libraries make developing with Codeigniter a treat.

One downside to creating components with CodeIgniter is that the backend parameters will not work like Joomla components that use the typical Joomla MVC. If Joomla components were made with CodeIgniter, a strong CRUD method would help a layman update and modify databases.

One more issue which could arise is coding the css. For example, using absolute urls will work in all cases on any server. In some instances, the index() and another function within the controller could have slightly different links to the stylesheet. You can always make specific stylesheets for each view or you can use absolute urls. If absolute urls are not used, the results can vary between a WAMP machine and the live site on a Linux Server.

You can read all sorts of opinions about speed and performance regarding using CodeIgniter within Joomla, but, it does load pages rather fast. On a WAMP server, a page with 300 words and an image can freshly load in .07 seconds and faster upon a loaded cache. Personally, I would not consider the speed performance as an issue for which not to use CodeIgniter within Joomla.