PHPackages                             yiier/yii2-helpers - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. yiier/yii2-helpers

ActiveYii2-extension[Utility &amp; Helpers](/categories/utility)

yiier/yii2-helpers
==================

Helpers for Yii2

v2.1.1(5y ago)116.6k↓45.8%32BSD-4-ClausePHP

Since May 8Pushed 5y ago3 watchersCompare

[ Source](https://github.com/yiier/yii2-helpers)[ Packagist](https://packagist.org/packages/yiier/yii2-helpers)[ RSS](/packages/yiier-yii2-helpers/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (19)Used By (2)

Helpers for Yii2
================

[](#helpers-for-yii2)

Helpers for Yii2

[![Latest Stable Version](https://camo.githubusercontent.com/468e7a9b5ff7a8238de228529ea7a7879e2d47f382cbb06e0416a323c45409b8/68747470733a2f2f706f7365722e707567782e6f72672f79696965722f796969322d68656c706572732f762f737461626c65)](https://packagist.org/packages/yiier/yii2-helpers)[![Total Downloads](https://camo.githubusercontent.com/28509be0d8f2db5d772f133011201e7bea46524e9479cf0f7fded57190a7d950/68747470733a2f2f706f7365722e707567782e6f72672f79696965722f796969322d68656c706572732f646f776e6c6f616473)](https://packagist.org/packages/yiier/yii2-helpers)[![Latest Unstable Version](https://camo.githubusercontent.com/4c48b32e0bd0681dd315bb1ef56a21261e4e172b098f728cd8799bd634baa473/68747470733a2f2f706f7365722e707567782e6f72672f79696965722f796969322d68656c706572732f762f756e737461626c65)](https://packagist.org/packages/yiier/yii2-helpers)[![License](https://camo.githubusercontent.com/b260392d8b3bcb8a7a240bd7ae592ff64a4316ed966482b972375dcbba275584/68747470733a2f2f706f7365722e707567782e6f72672f79696965722f796969322d68656c706572732f6c6963656e7365)](https://packagist.org/packages/yiier/yii2-helpers)

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require --prefer-dist yiier/yii2-helpers "*"

```

or add

```
"yiier/yii2-helpers": "*"

```

to the require section of your `composer.json` file.

Method Listing
--------------

[](#method-listing)

### arrayShift

[](#arrayshift)

```
ArrayHelper::arrayShift([0 => 'a', 2 => 'c', 1 => 'b']);
// [2 => 'c', 1 => 'b']
```

### saveAll

[](#saveall)

```
$rows = [];
foreach ($items as $key => $value) {
    $rows[$key]['title'] = $value['title'];
    $rows[$key]['user_id'] = $userId;
}
if (!ModelHelper::saveAll(Post::tableName(), $rows)) {
    throw new Exception();
}
```

### Global Functions

[](#global-functions)

change `composer.json` file, add this:

```
"autoload": {
    "files": [
      "vendor/yiier/yii2-helpers/src/GlobalFunctions.php",
      "vendor/yiier/yii2-helpers/src/SupportFunctions.php"
    ]
},

```

then run

```
$ composer dump

```

### SearchModel

[](#searchmodel)

示例一

```
$searchModel = new SearchModel([
    'model' => Topic::className(),
    'scenario' => 'default',
]);
$dataProvider = $searchModel->search(['SearchModel' => Yii::$app->request->queryParams]);
return $this->render('index', [
     'dataProvider' => $dataProvider,
]);
```

示例二

```
$searchModel = new SearchModel([
    'defaultOrder' => ['id' => SORT_DESC],
    'model' => Topic::className(),
    'scenario' => 'default',
    'relations' => ['comment' => []], // 关联表（可以是Model里面的关联）
    'partialMatchAttributes' => ['title'], // 模糊查询
    'pageSize' => 15
]);
$dataProvider = $searchModel->search(['SearchModel' => Yii::$app->request->queryParams]);
$dataProvider->query->andWhere([Topic::tableName() . '.user_id' => 23, Comment::tableName() . '.status' => 1]);
return $this->render('index', [
     'dataProvider' => $dataProvider,
]);
```

### FileTarget

[](#filetarget)

Can achieve results：`@app/runtime/logs/error/20151223_app.log`

change config file, main.php

```
'components' => [
    'log' => [
        'traceLevel' => YII_DEBUG ? 3 : 0,
        'targets' => [
            /**
             * 错误级别日志：当某些需要立马解决的致命问题发生的时候，调用此方法记录相关信息。
             * 使用方法：Yii::error()
             */
            [
                'class' => 'yiier\helpers\FileTarget',
                // 日志等级
                'levels' => ['error'],
                // 被收集记录的额外数据
                'logVars' => ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION', '_SERVER'],
                // 排除404错误
                'except' => ['yii\web\HttpException:404'],
                // 指定日志保存的文件名
                'logFile' => '@app/runtime/logs/error/app.log',
                // 是否开启日志 (@app/runtime/logs/error/20151223_app.log)
                'enableDatePrefix' => true,
            ],
            /**
             * 警告级别日志：当某些期望之外的事情发生的时候，使用该方法。
             * 使用方法：Yii::warning()
             */
            [
                'class' => 'yiier\helpers\FileTarget',
                // 日志等级
                'levels' => ['warning'],
                // 被收集记录的额外数据
                'logVars' => ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION', '_SERVER'],
                // 指定日志保存的文件名
                'logFile' => '@app/runtime/logs/warning/app.log',
                // 是否开启日志 (@app/runtime/logs/warning/20151223_app.log)
                'enableDatePrefix' => true,
            ],
            /**
             * info 级别日志：在某些位置记录一些比较有用的信息的时候使用。
             * 使用方法：Yii::info()
             */
            [
                'class' => 'yiier\helpers\FileTarget',
                'enabled' => false, // 表示关闭
                // 日志等级
                'levels' => ['info'],
                // 被收集记录的额外数据
                'logVars' => ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION', '_SERVER'],
                // 指定日志保存的文件名
                'logFile' => '@app/runtime/logs/info/app.log',
                // 是否开启日志 (@app/runtime/logs/info/20151223_app.log)
                'enableDatePrefix' => true,
            ],
            /**
             * trace 级别日志：记录关于某段代码运行的相关消息。主要是用于开发环境。
             * 使用方法：Yii::trace()
             */
            [
                'class' => 'yiier\helpers\FileTarget',
                'enabled' => false, // 表示关闭
                // 日志等级
                'levels' => ['trace'],
                // 被收集记录的额外数据
                'logVars' => ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION', '_SERVER'],
                // 指定日志保存的文件名
                'logFile' => '@app/runtime/logs/trace/app.log',
                // 是否开启日志 (@app/runtime/logs/trace/20151223_app.log)
                'enableDatePrefix' => true,
            ],
            [
                'class' => 'yiier\helpers\FileTarget',
                'enabled' => false, // 表示关闭
                'levels' => ['profile'],
                'logVars' => [],
                'maxFileSize' => 1024,
                'logFile' => '@app/runtime/logs/app/app.log',
                'enableDatePrefix' => true,
            ],
        ],
    ],
],
```

### ResponseHandler

[](#responsehandler)

RESTful Response Handler, change config file `main.php`:

```
'components' => [
    'response' => [
        'class' => 'yii\web\Response',
        'on beforeSend' => function ($event) {
            yii::createObject([
                'class' => 'yiier\helpers\ResponseHandler',
                'event' => $event,
            ])->formatResponse();
        },
    ],
]
```

### Migration

[](#migration)

```
