YII Interview Questions

Last update: 30 Mar 2020, 27 QuestionsAsk Question
A Quick Overview of YII
YII Interview Questions

Best YII Interview Questions And Answers

Yii is a component-based, high-performance PHP framework for developing extensive Web applications quickly. Yii enables maximum reusability in programming and significantly accelerates the process of web application development.

Symfony Laravel YII
Allow developers to create scalable and robust applications Full-stack PHP framework Fast and high-performance app development framework
APIs enable easy integration with third-party apps Supports Object Relationship Mapping Utilizes Composer dependency manager to handle installations and dependencies
Compatible with other front-end frameworks Robust and reliable for creating web apps. Fastest PHP framework

Reading our vast question bank will make it easy for you to crack the Yii basic interview questions.

Yii is not developed by a single individual. A strong team of core developers and an online community of professionals has been contributing to this framework's development.

In any Yii application, you need to open the main.php file in the protected/config/main.php folder. Now search for the "DB" parameter. In this parameter, you can add the database name, hostname, username, and password for your database server.

Table prefix is defined using Gii by setting to tbl_. Once you set it, UserController will get generated instead of TblUserController.

The Yii Framework includes a class naming convention in which the names of classes map to the directories where they are stored. For your information, “framework/” directory is the root level directory of Yii that stores all classes hierarchically. Also, in Yii, the class names may contain only alphanumeric characters. Though numbers are allowed but are discouraged. You can use Dot (.) just in place of path separators.

In Yii, a component is an independent code written for a particular task which can be used by summoning controllers. An example of elements is an email component.

The Yii Framework provides many classes that simplify common coding tasks like array manipulation, code generation, etc. These are called Helper classes. These can be found under yii\helpers. These classes are static, which means they merely contain static methods and should never be instantiated.

S.no render() renderPartial()
1. Used for presenting views that correspond to what users see a web page. Used for rendering a portion of a page
2. Places the render result into the layout. Does not place the results of rendering in the layout.
3. Performs output processing and outputs the result. Does not perform output processing

To get the IP address of a user within the Yii Framework, the following code can be used:
echo Yii::app()->request->userHostAddress;
You can call this code from anywhere within your Yii application.

This information was frequently asked during Yii interview questions for experienced professionals.

Gii is one of the most powerful web-based, code-generator modules in the Yii Framework. It helps the developers in creating fully-customized forms and models for databases.

You can get the current controller name by:
//Controller Name
echo Yii::$app->controller->id;

You can get current action name by:
echo Yii::$app->controller->action->id;

To install the Yii Framework, your server requires PHP 5.4 or higher version, mbstring extension, and PCRE-support

You can set the default controller file through (protected/config/main.php).
    'name'=>'Yii Framework',

Create Session

Yii::app()->session['name'] = "umesh singh";

Get value from session

$name = Yii::app()->session['name'];

Unset session like


Remove all session


Remove session from server


Widgets are instances of CWidget or their child class. This component is primarily for presentational purposes and is embedded in the view script to help generate a complex UI.

namespace appassets;

use yiiwebAssetBundle;

class DemoAsset extends AssetBundle {

public $basePath = ‘@webroot’;

public $baseUrl = ‘@web’;

public $js = [‘js/demo.js’];


Create an .htaccess file and add this code.

RewriteEngine on

# If a directory or a file exists, use it directly

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

# Otherwise forward it to index.php

RewriteRule . index.php

2. Now Modify common/config/main-local.php

'urlManager' => [
   'class' => 'yii\web\UrlManager',
   'showScriptName' => false,   
   'enablePrettyUrl' => true,
   'rules' => array(
      '<controller:\w+>/<id:\d+>' => '<controller>/view',
      '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
      '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
Add Review