Awesome
<h1 align="center"> <a href="http://demos.krajee.com" title="Krajee Demos" target="_blank"> <img src="http://kartik-v.github.io/bootstrap-fileinput-samples/samples/krajee-logo-b.png" alt="Krajee Logo"/> </a> <br> yii2-krajee-base <hr> <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DTP3NZQ6G2AYU" title="Donate via Paypal" target="_blank"><img height="60" src="https://kartik-v.github.io/bootstrap-fileinput-samples/samples/donate.png" alt="Donate"/></a> <a href="https://www.buymeacoffee.com/kartikv" title="Buy me a coffee" ><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" height="60" alt="kartikv" /></a> </h1> <div align="center"> </div>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:
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.).
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.