PHPackages                             cinghie/yii2-traits - 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. cinghie/yii2-traits

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

cinghie/yii2-traits
===================

Yii2 Traits

1.2.4(4y ago)116.9k48BSD-3-ClausePHP

Since Jun 1Pushed 2mo ago5 watchersCompare

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

READMEChangelog (10)Dependencies (24)Versions (14)Used By (8)

Yii2 Traits
-----------

[](#yii2-traits)

[![License](https://camo.githubusercontent.com/1f2e365bd61896a40d61b90769d4af439dd8bab045946a6c9018c2e640d4c0cc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f63696e676869652f796969322d7472616974732e737667)](https://camo.githubusercontent.com/1f2e365bd61896a40d61b90769d4af439dd8bab045946a6c9018c2e640d4c0cc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f63696e676869652f796969322d7472616974732e737667)[![Latest Stable Version](https://camo.githubusercontent.com/963d1fd4bcbba48f8f37a2efe99f79629bdf673a444d962b59c3b94a4c9de1b3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f63696e676869652f796969322d7472616974732e737667)](https://camo.githubusercontent.com/963d1fd4bcbba48f8f37a2efe99f79629bdf673a444d962b59c3b94a4c9de1b3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f63696e676869652f796969322d7472616974732e737667)[![Latest Release Date](https://camo.githubusercontent.com/f3e4c1f6ae896abd1fdcc133df565195fde701705c043e0fe16dcb1a3670492b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652d646174652f63696e676869652f796969322d7472616974732e737667)](https://camo.githubusercontent.com/f3e4c1f6ae896abd1fdcc133df565195fde701705c043e0fe16dcb1a3670492b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652d646174652f63696e676869652f796969322d7472616974732e737667)[![Latest Commit](https://camo.githubusercontent.com/35fedca042b22cdbcb3ae1e77840692e19b61a2229e7849bae3f55f2efe4441c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f63696e676869652f796969322d7472616974732e737667)](https://camo.githubusercontent.com/35fedca042b22cdbcb3ae1e77840692e19b61a2229e7849bae3f55f2efe4441c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f63696e676869652f796969322d7472616974732e737667)[![Total Downloads](https://camo.githubusercontent.com/1305c4ee4dfce7442a340a9f50c4bba8052b0acf9dfba1b6a0279badaefa637e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f63696e676869652f796969322d7472616974732e737667)](https://packagist.org/packages/cinghie/yii2-traits)

Yii2 Traits is a library with most used Traits, to minimize code on development new Modules. It contains a large number of features already implemented:

```
- attributes
- attributeLabels()
- rules(()
- messages
- common functions
- widgets

```

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

[](#installation)

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

Either run

```
$ php composer.phar require cinghie/yii2-traits "*"

```

or add

```
"cinghie/yii2-traits": "*"

```

Configuration
-------------

[](#configuration)

Add in your configuration file the translations

```
'components' => [

    // Internationalization
    'i18n' => [
        'translations' => [
            'traits' => [
                'class' => 'yii\i18n\PhpMessageSource',
                'basePath' => '@vendor/cinghie/yii2-traits/messages',
            ],
        ],
    ],

],
'modules' => [

    // Module Kartik-v Grid
    'gridview' =>  [
        'class' => '\kartik\grid\Module',
    ],

    // Module Kartik-v Markdown Editor
    'markdown' => [
        'class' => 'kartik\markdown\Module',
    ],

],

```

Usage Example
-------------

[](#usage-example)

To include a Trait in your Model:

```
class YourModel extends ActiveRecord
{
    use \cinghie\traits\CreatedTrait;
}

```

Merge rules() and attributeLabels():

```
public function rules()
{
    return array_merge(
        $this->getCreatedRules(),
        [your_rules]
    );
}

public function attributeLabels()
{
    return array_merge(
        $this->getCreatedAttributeLabels(),
        [your_attributeLabels]
    );
}

```

All functions implemented in the Traits can be called like as any function of the model

```
if( $model->isCurrentUserCreator() ) {
    // your code
}

```

Traits
------

[](#traits)

### AccessTrait

[](#accesstrait)

```
- int $access
- getAccessWidget($form): Generate Access Form Widget
- function getAccessGridView(): Generate GridView Access
- function getAccessDetailView(): Generate DetailView Access

```

### AddressTrait

[](#addresstrait)

```
- string $name
- string $latitude
- string $longitude
- string $street
- string $number
- string $postal_code
- string $city
- string $state
- string $country
- function getLatLng($address, $key = null): Get latitude and longitude from Google Maps API

```

### AttachmentTrait

[](#attachmenttrait)

```
- string $extension
- string $filename
- string $mimetype
- function getFileWidget($form,$attachType): Generate File Ipunt Form Widget
- function getFilesWidget($attachType): Generate Files Ipunt Form Widget
- function getExtensionWidget($form): Generate Extension Form Widget
- function getMimeTypeWidget($form): Generate MimeType Form Widget
- function getSizeWidget($form): Generate Size Form Widget
- function getFileUrl(): return file attached
- function deleteFile(): delete file attached
- function getAttachmentType(): Generate Attachment type from mimetype
- function formatSize(): Format size in readable size
- function generateMd5FileName($filename, $extension): Generate a MD5 filename by original filename
- function getAttachmentTypeIcon(): Get Attachmente Type Image by Type

```

### CacheTrait

[](#cachetrait)

```
- function actionCache()
- function actionFlushCache($id)
- function actionFlushCacheKey($id, $key)
- function actionFlushCacheTag($id, $tag)
- function getCache($id)
- function findCaches(array $cachesNames = [])
- function isCacheClass($className)

```

### CreatedTrait

[](#createdtrait)

```
- string $created
- int $created_by
- User $createdBy
- function getCreatedBy(): Relation with User Model
- function getCreatedWidget($form): Generate Created Form Widget
- function getCreatedDetailView(): Generate DetailView for Created
- function getCreatedByWidget($form): Generate CreatedBy Form Widget
- function getCreatedByGridView(): Generate GridView for CreatedBy
- function getCreatedByDetailView(): Generate DetailView for CreatedBy
- function isCurrentUserCreator(): Check if current user is the created_by
- function isUserCreator($user_id): Check if user_id params is the created_by

```

### EditorTrait

[](#editortrait)

```
- function getEditorWidget($form, $field, $requestEditor = '', $value = ''): Generate Editor Widget
- function getCKEditorWidget($form, $field, $value, $options, $preset): Get a CKEditor Editor Widget
- function getImperaviWidget($form, $field, $value, $options, $plugins): Get a Imperavi Editor Widget
- function getMarkdownWidget($form, $field, $value, $options): Get a Markdown Editor Widget
- function getNoEditorWidget($form, $field, $value, $maxLength = false): Get a No-Editor Widget
- function getTinyMCEWidget($form, $field, $value, $options): Get a TinyMCE Editor Widget

```

### ImageTrait

[](#imagetrait)

```
- string $image
- string $image_caption
- string $image_credits
- function getImageWidget(): Generate Image Form Widget
- function getImageCaptionWidget($form): Generate Image Caption Form Widget
- function getImageCreditsWidget($form): Generate Image Credits Form Widget
- function getImageGridView(): Generate GridView for Image
- function getUploadMaxSize(): Get Upload Max Size
- function getImagesAllowed(): Get Allowed images
- function getImagesAccept(): Get Allowed images in Accept Format

```

### LanguageTrait

[](#languagetrait)

```
- string $language
- function getLang(): Get language code (2 chars)
- function getLangTag(): Get language tag (5 chars)
- function getLanguageWidget($form): Generate Language Form Widget
- function getLanguagesSelect2(): Return an array with languages allowed

```

### ModifiedTrait

[](#modifiedtrait)

```
- string $modified
- int $modified_by
- User $modifiedBy
- function getModifiedBy(): Relation with User Model
- function getModifiedWidget($form): Generate Modified Form Widget
- function getModifiedDetailView(): Generate DetailView for Modified
- function getModifiedByWidget($form): Generate ModifiedBy Form Widget
- function getModifiedByGridView(): Generate GridView for ModifiedBy
- function getModifiedByDetailView(): Generate DetailView for ModifiedBy
- function isCurrentUserModifier(): Check if current user is the modified_by
- function isUserModifier($user_id): Check if user_id params is the modified_by

```

### NameAliasTrait

[](#namealiastrait)

```
- string $alias
- string $name
- function generateAlias($name): Generate URL alias by string
- function setAlias($post,$field): Set alias from post
- function purgeAlias($string): Purge alias by string
- function getNameWidget($form): Generate Name Form Widget
- function getAliasWidget($form): Generate Alias Form Widget

```

### OrderingTrait

[](#orderingtrait)

```
- integer $ordering
- function setOrdering($class,$fieldOrdering,$oldOrdering,$lastOrdering): Set Model Ordering on Class
- function setMinOrder(): Set Min Ordering
- function setMaxOrdering($class,$condition): Set Max Ordering
- function getLastOrdering($class,$condition): Get Max ordering in field
- function getOrderingWidget($form, $class, $orderingField, $selectField, $condition): Generate Ordering Form Widget
- function getOrderingSelect2($class, $orderingField = '', array $selectField = [], array $condition = []): Return array with all Items by $cat_id

```

### ParentTrait

[](#parenttrait)

```
- int $parent_id
- getParentWidget($form, $items): Generate Parent Form Widget
- getParentGridView($field, $url, $hideItem): Generate Parent Grid View

```

### SeoTrait

[](#seotrait)

```
- string $robots
- string $author
- string $copyright
- string $metadesc
- string $metakey
- function getRobotsWidget($form): Generate Robots Form Widget
- function getAuthorWidget($form): Generate Author Form Widget
- function getCopyrightWidget($form): Generate Copyright Form Widget
- function getMetaDescriptionWidget($form): Generate Meta Description Form Widget
- function getMetaKeyWidget($form): Generate Meta Key Form Widget
- function getRobotsOptions(): Get Robots Options

```

### SequentialTrait

[](#sequentialtrait)

```
- string generateSequentialCode($number, $prefix, $sequence): Generate Sequential Code

```

### StateTrait

[](#statetrait)

```
- int $state
- function active(): Active model state (Set 1)
- function deactive():  Inactive model state (Set 0)
- function getStateWidget($form): Generate State Form Widget
- function getStateGridView(): Generate GridView for State
- function getStateDetailView(): Generate DetailView for State
- function getStateSelect2(): Return an array with states

```

### TaggableTrait

[](#taggabletrait)

```
- int $tagNames
- function getTagsDetailView(): Generate DetailView for Tags

```

### TitleAliasTrait

[](#titlealiastrait)

```
- string $alias
- string $title
- function generateAlias($name): Generate URL alias by string
- function setAlias($post,$field): Set alias from post
- function purgeAlias($string): Purge alias by string
- function getTitleWidget($form): Generate Title Form Widget
- function getAliasWidget($form): Generate Alias Form Widget

```

### UserHelperTrait

[](#userhelpertrait)

```
- function getUserByEmail($email): Get the User by user email
- function getCurrentUser($field = ''): Get current User or Current User field
- function getCurrentUserProfile($field = ''):  Get current User Profile object or fied if on param
- function getCurrentUserSelect2(): Return an array with current User
- function getRolesSelect2(): Return an array with the User's Roles adding "Public" on first position
- function getUsersSelect2(): Return array with all Users (not blocked or not unconfirmed)

```

### UserTrait

[](#usertrait)

```
- int $user_id
- User user
- function getUser(): Relation with User Model
- function getUserWidget($form): Generate User Form Widget
- function getUserGridView(): Generate GridView for User
- function getUserDetailView(): Generate DetailView for User

```

### VideoTrait

[](#videotrait)

```
- string $video
- string $video_caption
- string $video_credits
- string $video_type
- function getVideoTypeSelect2(): Return array for Video Type
- function getVideoIDWidget($form): Generate Video ID Form Widget
- function getVideoTypeWidget($form): Generate Video Type Form Widget
- function getVideoCaptionWidget($form): Generate Video Caption Form Widget
- function getVideoCreditsWidget($form): Generate Video Credits Form Widget

```

### ViewsHelperTrait

[](#viewshelpertrait)

```
- function getCreateButton(array $url = ['create']): Return action create button
- function getUpdateButton($id = 0): Return action update button
- function getUpdateButtonJavascript($w): Return javascript for action update button
- function getDeleteButton($id = 0): Return action delete button
- function getDeleteButtonJavascript($w): Return javascript for action delete button
- function getPreviewButton(array $url = [ '#' ]): Return action preview button
- function getPreviewButtonJavascript($w): Return javascript for action preview button
- function getActiveButton($id = 0): Return action active button
- function getActiveButtonJavascript($w): Return javascript for action active button
- function getDeactiveButton($id = 0): Return action deactive button
- function getDeactiveButtonJavascript($w): Return javascript for action deactive button
- function getResetButton(array $url = ['index']): Return action reset button
- function getSaveButton(): Return action save button
- function getCancelButton($icon = 'fa fa-times-circle text-red', $title = '', array $url = [ '' ] ): Return action cancel button
- function getExitButton($icon = 'fa fa-sign-out text-blue', $title = '', array $url = [ 'index' ]): Return action exit button
- function getSendButton(): Return action send button
- function getSendButtonJavascript(): Return javascript for action deactive button
- function getStandardButton($icon,$title,$url, array $aClass = [ 'class' => 'btn btn-mini' ], $divClass = 'pull-right text-center' ): Return standard button
- function getEntryInformationsDetailView(): Generate DetailView for Entry Informations

```

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance57

Moderate activity, may be stable

Popularity28

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 99.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~134 days

Recently: every ~308 days

Total

13

Last Release

1651d ago

Major Versions

0.2.0 → 1.0.02017-10-03

### Community

Maintainers

![](https://www.gravatar.com/avatar/cfedb99c8fcbaf668c4f9779d341997b84029673eda224241b11732981cbc8b2?d=identicon)[cinghie](/maintainers/cinghie)

---

Top Contributors

[![cinghie](https://avatars.githubusercontent.com/u/2445152?v=4)](https://github.com/cinghie "cinghie (478 commits)")[![valexus1](https://avatars.githubusercontent.com/u/7592441?v=4)](https://github.com/valexus1 "valexus1 (4 commits)")

---

Tags

yii2 traitsyii2 traits libraryyii2 traits moduleyii2 traits modules

### Embed Badge

![Health badge](/badges/cinghie-yii2-traits/health.svg)

```
[![Health](https://phpackages.com/badges/cinghie-yii2-traits/health.svg)](https://phpackages.com/packages/cinghie-yii2-traits)
```

###  Alternatives

[sintret/yii2-gii-adminlte

Yii2 Generator extension for Gii plugin with adminlte and base on dynagrid. upload excel to system to with log upload

209.6k2](/packages/sintret-yii2-gii-adminlte)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
