Create custom params file in yii framework

Back to Blog
yii framework developer in mumbai india - ezeelive technologies

Create custom params file in yii framework

Yii framework comes with powerful inbuilt features eg.
1. Model-View-Controller (MVC) design pattern
2. Database Access Objects (DAO)
3. Custom Query Builder, Active Record (AR) and DB Migration
4. Form input and validation
5. AJAX-enabled widgets
6. Authentication and authorization
7. Layout Skinning and theming
8. Web services
9. Internationalization (I18N) and localization (L10N)
10. Layered caching scheme
11. Error handling and logging
12. Security
13. Unit and functionality testing
14. Automatic code generation (Gii Module)
15. Friendly with third-party code
16. Detailed documentation
17. Extension library etc.

Most of the Yii beginner write parameter in main.php because that’s pattern comes in installed Yii framework. This is fine if you have less parameter but if you are building large web portal or application then it’s very hard to manage everything in mail.php because of its main config file. So the best way is creating separate params.php in the same directory and includes it in your main.php file. The check is the example of params.php and main.php files.

config/main.php :

'params'=>require(dirname(__FILE__).'/params.php'),

config/params.php :

<?php
return array(
 'defaultPageSize'=>10,
 'websiteName'=>'ezeelive.com',
 'copyrightInfo'=>'Copyright &copy; '.date("Y").' Ezeelive Technologies. All Rights Reserved.',
 ...
 ...
);
?>

In Yii2 Framework:

1. config/main.php (advance backend application):

<?php // You can add your custom params file here $params = array_merge( require(__DIR__ . '/../../common/config/params.php'), require(__DIR__ . '/../../common/config/params-local.php'), require(__DIR__ . '/params.php'), require(__DIR__ . '/params-local.php') ); return [ 'id' => 'backend-app',
        'name' => 'Backend App',
        'basePath' => dirname(__DIR__),
        'bootstrap' => ['log'],
        'controllerNamespace' => 'backend\controllers',
        'modules' => [],
        'components' => [
            'log' => [
                'traceLevel' => YII_DEBUG ? 3 : 0,
                'targets' => [
                    [
                        'class' => 'yii\log\FileTarget',
                        'levels' => ['error', 'warning'],
                    ],
                ],
            ],
            'errorHandler' => [
                'errorAction' => 'site/error',
            ],
        ],
        'params' => $params,
    ];

In this example, we are using params.php file.

2. In params.php:

<?php return [ 'adminEmail' => 'info@ezeelive.com',
 ];

3. Access param variable:

  $params['mandrill_api_key'] 
  OR 
  \Yii::$app->params['mandrill_api_key']

Share this post

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to Blog