/yii2-krajee-base

Foundation classes and components used by Krajee Yii2 extensions

Primary LanguagePHPOtherNOASSERTION

Krajee Logo
yii2-krajee-base
Donate       kartikv

Stable Version Unstable Version License Total Downloads Monthly Downloads Daily Downloads

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

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

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

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:

  • data-krajee-{name} the client options of the plugin. The tag {name} will be replaced with the registered jQuery plugin name (e.g. select2, typeahead etc.).

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

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.

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).

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

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

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

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

An asset bundle for loading various CSS3 animations and effects.

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

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

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.