Here in this article, we will be listing frequently asked YII Interview Questions and Answers with the belief that they will be helpful for you to gain higher marks. Also, to let you know that this article has been written under the guidance of industry professionals and covered all the current competencies.
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.
YII 2.0
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).
array(
'name'=>'Yii Framework',
'defaultController'=>'site',
)
Create Session
Yii::app()->session['name'] = "umesh singh";
Get value from session
$name = Yii::app()->session['name'];
Unset session like
unset(Yii::app()->session['name']);
Remove all session
Yii::app()->session->clear();
Remove session from server
Yii::app()->session->destroy();
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>',
),
],
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.