- Language
- English
- Compatible XF 2.x versions
- 2.2
- Additional requirements
- php 7.3
1. Introduction
During use, Add the requires section to addon.json to document the dependancy:
{
"require": {
"MMO/CoreLib": [
2020270,
"[MMO] Core Library v2.2.2+"
]
}
}
2. Template additions
We are adding various functions for templates that will make it easier for you to work with them, as well as add several useful functions.
Template Function:
mcl_diff_for_humanGet the difference time in a human readable format in the current locale
Template Function:
mcl_phrase_pluralAfter defining a translation phrase that has pluralization options, you may use the
mcl_phrase_plural function to retrieve the phrase for a given "count".3. Options
MMO\CoreLib\Option\UserGroup - Displays a list of user groups with the ability to select a checkbox type.MMO\CoreLib\Option\UserUpgrade - Displays a list of promotions of user groups with the ability to select the type of checkboxMMO\CoreLib\Option\CustomFields\Contact - Displays additional user fields of type contactsMMO\CoreLib\Option\CustomFields\Personal - Displays additional user fields of type personalsMMO\CoreLib\Option\CustomFields\Prefefernces - Displays additional user fields of type preferences4. Traits. New in 2.2.3
Macroable - A trait to dynamically add methods to a class.$macroableClass = new class() {
use Illuminate\Support\Traits\Macroable;
};
$macroableClass::macro('concatenate', function(... $strings) {
return implode('-', $strings);
};
$macroableClass->concatenate('one', 'two', 'three'); // returns 'one-two-three'
Callables passed to the
macro function will be bound to the class$macroableClass = new class() {
protected $name = 'myName';
use Illuminate\Support\Traits\Macroable;
};
$macroableClass::macro('getName', function() {
return $this->name;
};
$macroableClass->getName(); // returns 'myName'
5. Collections. New in 2.2.3
The
MMO\CoreLib\Util\Collection class provides a fluent, convenient wrapper for working with arrays of data. The collect helper returns a new MMO\CoreLib\Util\Collection instance for the given array. So, creating a collection is as simple as:PHP:
$collection = collect([1, 2, 3]);Collections are "macroable", which allows you to add additional methods to the Collection class at run time. The
MMO\CoreLib\Util\Collection class' macro method accepts a closure that will be executed when your macro is called. The macro closure may access the collection's other methods via $this, just as if it were a real method of the collection class.