kartik-v / yii2-krajee-base

Foundation classes and components used by Krajee Yii2 extensions
http://demos.krajee.com
Other
68 stars 61 forks source link

Krajee Logo
yii2-krajee-base
Donate       kartikv

[![Stable Version](https://poser.pugx.org/kartik-v/yii2-krajee-base/v/stable)](https://packagist.org/packages/kartik-v/yii2-krajee-base) [![Unstable Version](https://poser.pugx.org/kartik-v/yii2-krajee-base/v/unstable)](https://packagist.org/packages/kartik-v/yii2-krajee-base) [![License](https://poser.pugx.org/kartik-v/yii2-krajee-base/license)](https://packagist.org/packages/kartik-v/yii2-krajee-base) [![Total Downloads](https://poser.pugx.org/kartik-v/yii2-krajee-base/downloads)](https://packagist.org/packages/kartik-v/yii2-krajee-base) [![Monthly Downloads](https://poser.pugx.org/kartik-v/yii2-krajee-base/d/monthly)](https://packagist.org/packages/kartik-v/yii2-krajee-base) [![Daily Downloads](https://poser.pugx.org/kartik-v/yii2-krajee-base/d/daily)](https://packagist.org/packages/kartik-v/yii2-krajee-base)

This is a base library with set of foundation classes and components used by all Yii2 extensions by Krajee. One can use this base library during creation of one's own extensions if needed.

NOTE: This extension depends on the yiisoft/yii2-bootstrap and/or yiisoft/yii2-bootstrap4 extensions. Check the composer.json for this extension's requirements and dependencies.

Why this extension?

To ensure a leaner code base / foundation component for use in all Krajee extensions (e.g. yii2-widgets, yii2-datecontrol, yii2-grid, yii2-dynagrid etc.). This should allow most developers to plug and play components only they need, without needing the complete suite of widgets. For example, this mitigates this issue.

Release Changes

NOTE: Refer the CHANGE LOG for details on changes to various releases.

Extension Classes

Module

Extends Yii Module class for Krajee's Yii2 widgets and usage with translation properties enabled.

Widget

Extends Yii Widget class for Krajee's Yii2 widgets and usage with bootstrap CSS framework.

InputWidget

Extends Yii InputWidget class for Krajee's Yii2 widgets and usage with bootstrap CSS framework. With release v1.3.0, the Input widget automatically now attaches the following HTML5 data attribute for each input that registers jQuery plugins via registerPlugin method:

TranslationTrait

A trait for handling translation functionality using Yii's i18n components.

BootstrapInterface

The interface that defines the constants and method signatures for bootstrap 3.x, 4.x, and 5.x versions that will be implemented in all classes that use BootstrapTrait.

BootstrapTrait

A trait for bootstrap 3.x, 4.x, and 5.x version parsing functionality for Krajee extensions (the class using this trait must implement BootstrapInterface).

AddonTrait

A trait for rendering bootstrap 3.x, 4.x, or 5.x input group addons.

WidgetTrait

A trait for Krajee widgets including prebuilt methods for plugin registration.

AssetBundle

Extends Yii AssetBundle class for Krajee's Yii2 widgets with enhancements for using minimized CSS and JS based on debug mode.

PluginAssetBundle

Extension of the above AssetBundle to include dependency on Bootstrap assets and javascript plugins.

AnimateAsset

An asset bundle for loading various CSS3 animations and effects.

Html5Input

A modified input widget for rendering HTML5 inputs with bootstrap styling and input group addons for Krajee's Yii 2 extensions.

Config

A global configuration and validation helper class for usage across Krajee's Yii 2 extensions.

Lib

A base class for modified standard PHP internal functions. It is specifically built to address warnings in PHP v8.1 and above due to null arguments passed to PHP internal functions which results in deprecation errors in PHP v8.1 and beyond.

Installation

The preferred way to install this extension is through composer.

Note: Read this web tip /wiki on setting the minimum-stability settings for your application's composer.json.

Either run

$ php composer.phar require kartik-v/yii2-krajee-base "dev-master"

or add

"kartik-v/yii2-krajee-base": "dev-master"

to the require section of your composer.json file.

License

yii2-krajee-base is released under the BSD-3-Clause License. See the bundled LICENSE.md for details.