PHP

Lets start with the basics. All computer code is a strict language construct with very specific rules. Some languages are compiled and some are interpreted. Compiling a script means that we convert the script into machine code and always run that compiled version of it. Since its already in the form of machine code, it runs faster and can only produce an error if the input it receives is wrong. Interpreted languages are run "as is", is 'interpreted' as it goes along, leading to both slower execution and more potential for run-time errors. But the single advantage it holds, is that is readable and therefore immediately editable. In a fast-moving world, this is advantageous, compared to a compiled file where the original source code may not be available.

PHP or PHP: Hypertext Preprocessor, is an interpreted language which fits in seamlessly to a standard static HTML webpage. It provides dynamic content, is able to send and retrieve information from a database on demand and is extremely versatile. Since it's both 'free-to-use' and been around a long time, it's one of the most popular options on the market. A quick search online will pull up php solutions and examples to just about any problem you can think of.

MVC's and classes

Here is a practical question: given a major system (think of a bank, insurance company, or national retailer), how can you stop unscrupulous employees working on the IT code from rigging it in their favour? After all, who will ever know? Typically, the one urban legend that persists, is of bank employees filtering off fractions of cents from interest payments, into a new account.

The answer is MVC's in conjunction with classes.

Models, Views and Controllers (MVC) divides up a computer system into three very unique and specific tasks. It's possible for any number of employees to work on all of these sections, but in sensitive systems, its highly desirable to maintain barriers between the three. Let's look at each section and see how it fits together.
Models: interacts with the database and returns data.
Views: display data to the end-user.
Controllers: sends and retrieves data from the model and sends it to the view.

So how does it work? It is only the model that interacts with the database. Both the controller and view have no understanding of how the database is structured and therefore cannot extract data directly. The controller sits in the middle and passes the information from the model to the end-user and back again, via the view. In sensitive systems, strict divisions can be entrenched between the three sections, with no sharing except by highly controlled processes.

Classes allow us to create re-usable code. If, for example, a controller wants to extract the details of a client for display in different places, eg for printed statements and for online editing, it can call the same model function which will return the same data in the same format. Classes also have the ability to control how data is extracted. For example, a "private" function can only send data to another function, whereas a "public" one can send data directly to a user.

Codeigniter

Codeigniter is a framework which allows us to create MVC projects in a streamlined manner, using pre-existing tools. It's open-source and is freely changeable. Setting up a basic site is easy and customising it for more complex ones is provided by the various tools and documentation available. The framework encourages separation of the model-view-controller but does not prevent transgressions. This allows developers to create solid, robust code while working to optimal speed. Essentially, it provides the ability to adhere to the principal without getting bogged down in a rules-based system.

Codeigniter provides a limited amount of useful library functions, as well as allowing external libraries to be installed rapidly, typically payment or email methods. Essentially then, Codeigniter is ideal for the small to medium type of business which requires a solid framework that can be quickly developed, extended and maintained.

Copyright © 2026 E-Strategic. All rights reserved.

Terms & Conditions