Wednesday, 18 February 2015

YII Interview questions

1. What is Yii ?
Yii is a high-performance, component-based PHP framework for developing large-scale Web applications rapidly. It enables maximum reusability in Web programming and can significantly accelerate your Web application development process.
2. What are the requirements need for use Yii framework?
you need a Web server that supports PHP 5.1.0.
You also have knowledge on object-oriented programming (OOP).
3. What is Yii best for?
Yii is a generic Web programming framework that can be used for developing virtually any type of Web application. Because it is light-weight and equipped with sophisticated caching mechanisms, it is especially suited to high-traffic applications, such as portals, forums, content management systems (CMS), e-commerce systems, etc.
4. How to install Yii framework ?
Installation of Yii mainly involves the following two steps:
a. Download Yii Framework from yiiframework.com.
b. Unpack the Yii release file to a Web-accessible directory.
5. What command used to create new Yii project ?
% YiiRoot/framework/yiic webapp WebRoot/testdrive
6. Explain structure of Yii Project?
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
testdrive/
   index.php                 Web application entry script file
   index-test.php            entry script file for the functional tests
   assets/                   containing published resource files
   css/                      containing CSS files
   images/                   containing image files
   themes/                   containing application themes
   protected/                containing protected application files
      yiic                   yiic command line script for Unix/Linux
      yiic.bat               yiic command line script for Windows
      yiic.php               yiic command line PHP script
      commands/              containing customized 'yiic' commands
         shell/              containing customized 'yiic shell' commands
      components/            containing reusable user components
         Controller.php      the base class for all controller classes
         UserIdentity.php    the 'UserIdentity' class used for authentication
      config/                containing configuration files
         console.php         the console application configuration
         main.php            the Web application configuration
         test.php            the configuration for the functional tests
      controllers/           containing controller class files
         SiteController.php  the default controller class
      data/                  containing the sample database
         schema.mysql.sql    the DB schema for the sample MySQL database
         schema.sqlite.sql   the DB schema for the sample SQLite database
         testdrive.db        the sample SQLite database file
      extensions/            containing third-party extensions
      messages/              containing translated messages
      models/                containing model class files
         LoginForm.php       the form model for 'login' action
         ContactForm.php     the form model for 'contact' action
      runtime/               containing temporarily generated files
      tests/                 containing test scripts
      views/                 containing controller view and layout files
         layouts/            containing layout view files
            main.php         the base layout shared by all pages
            column1.php      the layout for pages using a single column
            column2.php      the layout for pages using two columns
         site/               containing view files for the 'site' controller
            pages/           containing "static" pages
               about.php     the view for the "about" page
            contact.php      the view for 'contact' action
            error.php        the view for 'error' action (displaying external errors)
            index.php        the view for 'index' action
            login.php        the view for 'login' action
7. How to connect database on Yii Project?
To use a database, we need to tell the application how to connect to it. This is done in the application configuration fileWebRoot/testdrive/protected/config/main.php, highlighted as follows,
?
1
2
3
4
5
6
7
8
9
10
return array(
    ......
    'components'=>array(
        ......
        'db'=>array(
            'connectionString'=>'sqlite:protected/data/testdrive.db',
        ),
    ),
    ......
);
8. How to configure gii web based code generator tool on Yii Project?
In order to use Gii, we first need to edit the file WebRoot/testdrive/protected/config/main.php, which is known as the application configuration file:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
return array(
    ......
    'import'=>array(
        'application.models.*',
        'application.components.*',
    ),
  
    'modules'=>array(
        'gii'=>array(
            'class'=>'system.gii.GiiModule',
            'password'=>'pick up a password here',
        ),
    ),
);
9. What is MVC ? Why need to use MVC?
MVC (Model – View- Controller ) is a design pattern., which is widely adopted in Web programming.
MVC aims to separate business logic from user interface considerations, so that developers can more easily change each part without affecting the other. In MVC, the model represents the information (the data) and the business rules; the view contains elements of the user interface such as text, form inputs; and the controller manages the communication between the model and the view.
10. How to change debug mode to production mode on yii project ?
Just define YII_DEBUG is false on entry script (root/index.php).
?
1
2
3
4
5
6
7
// remove the following line when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',false);
// include Yii bootstrap file
require_once('path/to/yii/framework/yii.php');
// create application instance and run
$configFile='path/to/config/file.php';
Yii::createWebApplication($configFile)->run();

No comments:

Post a Comment