Create custom params file in yii framework

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

Create custom params file in yii framework

Yii framework is come with powerful inbuild 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 yii beginner write parameter in main.php because thats 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 every thing in mail.php because its main config file. So the best way is create seperate params.php in the same directory and include it in you main.php file. Check is below 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