定制 bigdropinc/yii2-active-take 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bigdropinc/yii2-active-take

Composer 安装命令:

composer require bigdropinc/yii2-active-take

包简介

Provides your ActiveRecords and ActiveQuery with mechanism of raising error when record not found

README 文档

README

Provides your ActiveRecords and ActiveQuery with mechanism of raising error when record not found, not saved or validation failed

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist bigdropinc/yii2-active-take "*"

or add

"bigdropinc/yii2-active-take": "*"

to the require section of your composer.json file.

Usage

Please, try to remember how many times you make compare like this

if(User::findOne($id) !== null){

}

Or something like this

if($model->save()){

}

OOP best practice said that method should not return null. Much better raise an exception. But in many cases we really need to get null value without raising exceptions. But in many cases no... This extension brings you opportunity to raise and process ActiveRecordExceptions during the interaction with ActiveRecord methods in very simple way. It's can make your code much more simple, clear and readable. It will allowed you to remove ugly and routine compare with null.

Active Record

By using bigdropinc\take\ActiveRecordTrait into your ActiveRecord class you got this features:

  • all method "find" methods will get the pair "take" method (findOne - takeOne, findAll - takeAll). If find method returns empty result, take method will raise an RecordNotFoundException
  • method validateOrFail will raise RecordInvalidException if validate returns false
  • method saveOrFail will raise RecordInvalidException if model has validation errors during save. Also saveOrFail will raise RecordNotSavedException if model validations was passed but model saving returned false

Active Query

By using bigdropinc\take\ActiveRecordTrait into your ActiveRecord class you got this features:

  • method takeOne will behaves like method one but raise an RecordNotFoundException if nothing found
  • method takeAll will behaves like method all but raise an RecordNotFoundException if nothing found

Error Handler

To render 404 page while RecordNotFoundException was raising, you should modify your main config file:

'components' => [
        'errorHandler' => [
            'class' => 'bigdropinc\take\ErrorHandler'
        ],
    ],

统计信息

  • 总下载量: 240
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2017-05-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固