Skip to main content

CodeIgniter Top 50 Interview Questions and Answers

1) Explain what is CodeIgniter?
Codeigniter is an open source framework for web application. It is used to develop websites on PHP. It is loosely based on MVC pattern, and it is easy to use compare to other PHP framework.

2) Explain what are hooks in CodeIgniter?
Codeigniter’s hooks feature provides a way to change the inner working of the framework without hacking the core files. In other word, hooks allow you to execute a script with a particular path within the Codeigniter. Usually, it is defined in application/config/hooks.php file.
The hooks feature can be globally enabled/disabled by setting the following item in the application/config/config.php file:
$config[‘enablehooks’] = TRUE;

3) Explain how you will load or add a model in CodeIgniter?
Within your controller functions, models will typically be loaded; you will use the function
$this->load->model (‘Model_Name’);

4) Explain what helpers in CodeIgniter are and how you can load a helper file?
In CodeIgniter, helpers are group of function in a particular category that assist you to perform specific functions. In CodeIgniter, you will find many helpers like URL helpers- helping in creating links, Text helpers- perform various text formatting routines, Cookies- helpers set and read cookies. You can load helper file by using command $this->load->helper (‘name’) ;

5) Explain routing in Codeigniter?
In CodeIgniter, the way PHP files served is different rather than accessing it directly from the browser. This process is called routing. Routing in CodeIgniter gives you freedom to customize the default URL pattern to use our own URL pattern according to the requirement. So, whenever there is a request made and matches our URL pattern it will automatically direct to the specified controller and function.

6) Why is there a need to configure the URL routes?
Changing the URL routes has some benefits like
From SEO point of view, to make URL SEO friendly and get more user visits
Hide some URL element such as a function name, controller name, etc. from the users for security reasons
Provide different functionality to particular parts of a system

7) List out different types of hook point in Codeigniter?
Different types of hook point in Codeigniter includes

post_controller_constructor
pre_controller
post_sytem
pre_system
cache_override
display_override
post_controller
$hook[‘pre_controller’] = array(
‘class’ => ‘MyClass’,
‘function’ => ‘Myfunction’,
‘filename’ => ‘Myclass.php’,
‘filepath’ => ‘hooks’,
‘params’ => array(‘param1’, ‘param2’, ‘param3’)
);

8) Mention what are the security parameter for XSS in CodeIgniter?
Codeigniter has got a cross-site scripting hack prevention filter. This filter either runs automatically or you can run it as per item basis, to filter all POST and COOKIE data that come across. The XSS filter will target the commonly used methods to trigger JavaScript or other types of code that attempt to hijack cookies or other malicious activity. If it detects any suspicious thing or anything disallowed is encountered, it will convert the data to character entities.
9) Explain how you can link images/CSS/JavaScript from a view in code igniter?
In HTML, there is no Codeigniter way, as such it is a PHP server side framework. Just use an absolute path to your resources to link images/CSS/JavaScript from a view in CodeIgniter

/css/styles.css
/js/query.php
/img/news/566.gpg

10) Explain what is inhibitor in CodeIgniter?
For CodeIgniter, inhibitor is an error handler class, using the native PHP functions like set_exception_handler, set_error_handler, register_shutdown_function to handle parse errors, exceptions, and fatal errors.

11) Mention what is the default URL pattern used in Codeigniter framework?
Codeigniter framework URL has four main components in default URL pattern. First we have the server name and next we have the controller class name followed by controller function name and function parameters at the end. Codeigniter can be accessed using the URL helper. For example http://servername/controllerName/controllerFunction/parameter1/parameter2.

12) Explain how you can extend the class in Codeigniter?
To extend the native input class in CodeIgniter, you have to build a file named application/core/MY_Input.phpand declare your class with
Class MY_Input extends CI_Input {
}
13) Explain how you can prevent CodeIgniter from CSRF?
There are several ways to protect CodeIgniter from CSRF, one way of doing is to use a hidden field in each form on the website. This hidden field is referred as CSRF token; it is nothing but a random value that alters with each HTTP request sent. As soon as it is inserted in the website forms, it gets saved in the user’s session as well. So, when the form is submitted by the users, the website checks whether it is the same as the one saved in the session. If it is same then, the request is legitimate.

14) Explain how you can enable CSRF (Cross Site Request Forgery) in CodeIgniter?
You can activate CSRF (Cross Site Request Forgery) protection in CodeIgniter by operating your application/config/config.php file and setting it to
$config [ ‘csrf_protection’] = TRUE;
If you avail the form helper, the form_open() function will insert a hidden csrf field in your forms automatically

15) What is Stable version of CodeIgniter?
Version: 3.0.5,
Date January 13, 2016

16) In Which language CodeIgniter is written?
PHP

17) What are the features of codeigniter? Open source framework

Light Weight
CodeIgniter is Extensible
Full Featured database classes

18) How to access config variable in codeigniter?
$this->config->item(‘variable name’);

19) How to unset session in codeigniter?
$this->session->unsetuserdata(‘somename’);;

20) How do you get last insert id in codeigniter?
$this->db->insertid();;

21) Helper vs. Library: CodeIgniter
Helpers are just small functions that help you avoid repetitive code and produce standard results.
Whereas libraries are contains classes, can include different files, talk to database etc.
A library is used in object oriented context (Controller, …), while a helper is more suitable to be used within the Views (non object oriented).
Helper, Plugin and Library:
Since, all three methods achieve the same ends. The question then is when do you use what? Fortunately, CI has also provided that distinction in their user guide which you can go read it yourself.
For me, these are my guidelines on when to use what:

    Plugins – I put all 3rd party codes I’m using in my application as Plugins. I would, as best as I can, try to use classes rather than straight function calls.
    Helpers – Any standalone straight functions calls, which are repetitive in nature, I classify them as Helpers. For example, sorting functions, my own calculation functions, etc
    Libraries – I classify my own classes as ‘Libraries’. Normally, if I’m already writing a class in my application, it would then to be the core logic of the application, as such, I group them all in the Library folder.

22) What helpers in CodeIgniter?
You can to execute below command.

23) Explain Codeigniter File Structure?
following are the folder structure :-
application
cache
Config
Controllers
core
errors
helpers
hooks
language
libraries
logs
models
thirdparty
views
system
core
database
fonts
helpers
language
libraries

24) Explain Application Flow Chart in codeigniter?
The following graphic illustrates how data flows throughout the system:
CodeIgniter application flow
The index.php serves as the front controller, initializing the base resources needed to run CodeIgniter.
The Router examines the HTTP request to determine what should be done with it.
If a cache file exists, it is sent directly to the browser, bypassing the normal system execution.
Security. Before the application controller is loaded, the HTTP request and any user submitted data is filtered for security.
The Controller loads the model, core libraries, helpers, and any other resources needed to process the specific request.
The finalized View is rendered then sent to the web browser to be seen. If caching is enabled, the view is cached first so that on subsequent requests it can be served.

25) Explain MVC in Codeigniter?
CodeIgniter is based on the Model-View-Controller development pattern. MVC is a software approach that separates application logic from presentation. In practice, it permits your web pages to contain minimal scripting since the presentation is separate from the PHP scripting.
The Model represents your data structures. Typically your model classes will contain functions that help you retrieve, insert, and update information in your database.
The View is the information that is being presented to a user.
A View will normally be a web page, but in CodeIgniter, a view can also be a page fragment like a header or footer. It can also be an RSS page, or any other type of “page”.
The Controller serves as an intermediary between the Model, the View, and any other resources needed to process the HTTP request and generate a web page.

26) What are the helpers in codeigniter?
Helpers, as the name suggests, help you with tasks. Each helper file is simply a collection of functions in a particular category. There are URL Helpers, that assist in creating links, there are Form Helpers that help you create form elements, Text Helpers perform various text formatting routines, Cookie Helpers set and read cookies, File Helpers help you deal with files, etc.
Unlike most other systems in CodeIgniter, Helpers are not written in an Object Oriented format. They are simple, procedural functions. Each helper function performs one specific task, with no dependence on other functions.
Loading a helper file is quite simple using the following function:
$this->load->helper(‘name’);

27) How you will use or add codeigniter libraries?
When we use the term “Libraries” we are normally referring to the classes that are located in the libraries directory and described in the Class Reference of this user guide. In this case, however, we will instead describe how you can create your own libraries within your application/libraries directory in order to maintain separation between your local resources and the global framework resources.
See more at http://ellislab.com/codeigniter/user-guide/general/creatinglibraries.html

28) How you will work with error handling in codeigniter?
CodeIgniter lets you build error reporting into your applications using the functions described below. In addition, it has an error logging class that permits error and debugging messages to be saved as text files.
show_error(‘message’ [, int $statuscode= 500 ] )
This function will display the error message supplied to it using template application/errors/errorgeneral.php.
show_404(‘page’ [, ‘logerror’])
This function will display the 404 error message supplied to it using template application/errors/error404.php.
log_message(‘level’, ‘message’)
This function lets you write messages to your log files. You must supply one of three “levels” in the first parameter, indicating what type of message it is (debug, error, info), with the message itself in the second parameter.

29) How to unset session in codeigniter?
We can use unsetuserdata to destroy particular session variable
this->session->unset_userdata(‘somename’);
We can use sessdestroy to destroy all session:
$this->session->sess_destroy();

30) How do you use aliases with autoloading models in codeigniter?
We can auto load model like this:
$autoload[‘model’] = array(array(‘usersmodel’, ‘users’), array(‘newsmodel’, ‘news’), ‘categorymodel’);

31) How to get random records in mysql using codeigniter?
We can use this:
$this->db->order_by(‘id’,’RANDOM’);

32) What are the security parameter for XSS in CodeIgniter?
Codeigniter has got a cross-site scripting hack prevention filter. This filter either runs automatically or you can run it as per item basis, to filter all POST and COOKIE data that come across. The XSS filter will target the commonly used methods to trigger JavaScript or other types of code that attempt to hijack cookies or other malicious activity. If it detects any suspicious thing or anything disallowed is encountered, it will convert the data to character entities.

33) How do you set default timezone in codeigniter?
We can do by adding date_default_timezone_set(‘America/LosAngeles’); in index.php

34) Who developed codeigniter?
Codeigniter was developed bt ellislab Inc.

35) Why codeigniter is called as loosely based mvc framework?
Reason behind this is we does not need to follow strict mvc pattern while creating application.We can also able to build with model only view and controllers are enough to built a application.

36) How do I pass parameters to a controller’s index() function?
The obvious problem is that a second parameter on the URL will be interpreted as the method name. Short answer – use a URL like this: /controller/index/param1/param2 Long answer – using _remap()

37) How do I do a COUNT(‘foo’) using the Active Record functions?
You need to use the SQL AS feature, where you assign a new name to a piece of data. For example: $this->db->select(“COUNT(‘foo’) AS foo_count”, FALSE);// Run your query, and then use the

38) How do I call one Controller’s methods from a different Controller?
Answers : 12 Short answer: You don’t Wrong answer: Use the $CI = get_instance() trick. Long answer: You shouldn’t actually be trying to do this. It implies that your design isn’t quite right, but on the

39) Can I cache only certain parts of a page?
This is related to the question above about nested templates and partials. Basically, CI cache library (1.5.4) only supports full page caching – it’s all or nothing. There are several

40) Can I extend the core Database class?
No, you can not. This is quite explicitly described in the Creating Libraries section of the user guide: [quote] The Database classes can not be extended or replaced with your own classes, nor can

41) What is the difference between set_flashdata and set_userdata?
set_userdata is for adding session data.
set_flashdata is for adding session data that will only be available for the next request, and is then automatically cleared.

42) Is there a way to cycle $this->input->post() items?
There are no CodeIgniter functions to do this, but you can accomplish this easily with a construct such as this one. The result of this function is a $safe_post_array that contains all posted data

43) Tell me the Setting Database Configuration

44) How you will use or add codeigniter libraries?
When we use the term “Libraries” we are normally referring to the classes that are located in the libraries directory and described in the Class Reference of this user guide. In this case, however,

45) How you will work with error handling in codeigniter?

46) Explain routing in Codeigniter?
In CodeIgniter, the way PHP files served is different rather than accessing it directly from the browser. This process is called routing. Routing in CodeIgniter gives you freedom to customize the

47) Why is there a need to configure the URL routes?
Changing the URL routes has some benefits like From SEO point of view, to make URL SEO friendly and get more user visits Hide some URL element such as a function name, controller name, etc. from

48) Explain how you can prevent CodeIgniter from CSRF?
There are several ways to protect CodeIgniter from CSRF, one way of doing is to use a hidden field in each form on the website. This hidden field is referred as CSRF token; it is nothing but a

49) Explain how you can enable CSRF (Cross Site Request Forgery) in CodeIgniter?
You can activate CSRF (Cross Site Request Forgery) protection in CodeIgniter by operating your application/config/config.php file and setting it to $config [ ‘csrf_protection’] =

50) Which is the best ORM for codeigniter?
DataMapper
An Object Relational Mapper written in PHP for CodeIgniter. It is designed to map your Database tables into easy to work with objects, fully aware of the relationships between each other.
Website: http://datamapper.wanwizard.eu/
Gas ORM
A lightweight and easy-to-use ORM for CodeIgniter. Gas was built specifically for CodeIgniter app. It uses CodeIgniter Database packages, a powerful DBAL which support numerous DB drivers. Gas ORM provide a set of methods that will map your database tables and its relationship, into accessible object.
Website: http://gasorm-doc.taufanaditya.com/
Doctrine
Website: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/

Comments

Popular posts from this blog

Symbols Used in Excel Formula | The purpose of Symbols in Excel Formula

Following symbols are used in Excel Formula. They will perform different actions in Excel Formulas and Functions. Each of these special characters have used for different purpose in Excel. Symbol Name Description = Equal to Every Excel Formula begins with Equal to symbol (=). Example: = B1+B6 () Parentheses All Arguments of the Excel Functions specified between the Parentheses. Example: =COUNTIF ( B1:B5,5 ) () Parentheses Expressions specified in the Parentheses will be evaluated first. Parentheses changes the order of the evaluation in Excel Formula. Example:   =25+ ( 35*2 ) +5 * Asterisk Wild card operator to to denote all values in a List. Example:   =COUNTIF(B1:B5,” * “) , Comma List of the Arguments of a Function Separated by Comma in Excel Formula. Example:   =COUNTIF(B1:B5 , “>” &C1) & Ampersand Concatenate Operator to connect two strings into one in Excel Formula. Example:   =”Total: “ & SUM(C2:C25) $ Dollar Makes Cell Reference as Absolute in Excel Formula. Exam

How to create a Barcode Using PHP Barcode 128 Generator

A barcode is an optical, machine-readable, representation of data, the data usually describes something about the object that carries the barcode.We will use PHP to generate Barcode in this tutorial. In this script, we are using coding which will generate barcodes in barcode format Code 128 . First, we will create index.php which will ask for the user input for which Barcode has to be created PHP Barcode Generator <fieldset><legend>Detail Informations</legend><form action="createbarcode.php" method="post"><b>Enter Your Code </b><input name="barcode" type="text" /><input type="submit" value="Create Barcode" /></form></fieldset> Now we will create createbarcode.php which will call function from Barcode code128 class for creating barcode <? php include('barcode128.php'); // include php barcode 128 class // design our barcode display echo

How to change a MySQL database’s table prefix

Changing a database table prefix is easy and here’s the simple step-by-step guide! For WordPress installations, it’s essential! How to change a prefix 1. In your text editor, change database_name, old_prefix_ and new_prefix_ to the required values: SET @database = "database_name"; SET @old_prefix = "old_prefix_"; SET @new_prefix = "new_prefix_"; SELECT concat( "RENAME TABLE ", TABLE_NAME, " TO ", replace(TABLE_NAME, @old_prefix, @new_prefix), ';' ) AS "SQL"  FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database; 2. Run the query in cPanel or PHPMyAdmin on your WordPress database 3. The output will be a series of SQL queries that will rename the tables for you 4. Run the output 5. Done!   How to add a prefix    If your database doesn’t have a prefix at all, follow the steps above but use the below query that’s been slightly modified fo