irbees2008/ng-helpers

NGCMS插件辅助函数集合

dev-master 2021-06-21 14:16 UTC

This package is auto-updated.

Last update: 2024-09-21 21:32:05 UTC


README

系统要求

在使用插件之前,您需要确保您的服务器满足以下要求

  • PHP ^7.3|^8.0

连接

插件有两个版本,每个版本都支持其自己的编码类型:UTF-8 和 Windows-1251。您可以通过下载适合您项目的编码版本的插件来连接

或者使用 Composer 管理器

composer require irbees2008/ng-helpers

请注意,UTF-8 编码是默认的。

配置

目前插件没有设置,但在控制面板中激活插件是必须的。

使用

由于插件使用 Plugins 命名空间,因此在使用单独的函数之前,如果当前命名空间不同,则需要明确指定函数名称。

// Импортирование необходимых функций (PHP 5.6+)
use function Plugins\functionName;

// Импортирование необходимых функций
// с использованием псевдонима функции (PHP 5.6+)
use function Plugins\functionName as func;
可用方法

array_dotset

使用“点”表示法设置数组元素的值。

use function Plugins\array_dotset;

$array = [
    'keys' => [
        'first' => 450,
        'second' => 460
    ],

];

array_dotset($array, 'keys.second', 800);

// [
//     'keys' => [
//         'first' => 450,
//         'second' => 800
//     ],
//
// ]

cache

从缓存中获取数据,或将指定数据保存到缓存中。

use function Plugins\cache;

// Сохранить данные в кеш.
cache($plugin, md5('key'), 'value');
use function Plugins\cache;

// Получить данные из кеша.
$value = cache($plugin, md5('key'));

请注意,指定的插件 $plugin 必须有 cache 设置,其值必须设置为 true

cacheRemember

从缓存中获取数据,或执行闭包并保存结果到缓存。

use function Plugins\cacheRemember;

$rows = cacheRemember($plugin, md5('key'), function () {
    return database()
        ->select(
            "select * from `".prefix."_news` where `approve` = 1 order by `views` desc limit 20"
        );
});

请注意,指定的插件 $plugin 必须有 cache 设置,其值必须设置为 true

catz

根据标识符获取分类,或获取所有分类的数组。

use function Plugins\catz;

$categories = catz();

// Итерация всех категорий.
foreach ($categories as $id => $data) {
    //
}
use function Plugins\catz;

// Получить категорию с идентификатором `28`.
$category = catz(28);

config

获取系统配置的值。

use function Plugins\config;

$value = config('key', 'default');

database

获取当前数据库连接。

use function Plugins\database;

$rows = database()->select(
    "select * from `".prefix."_news` where `approve` = 1 order by `views` desc limit 20"
);

请注意,使用此函数时,您对执行的数据库查询负有全部责任 (请参阅维基百科)

dd

打印变量、变量数组或对象并停止脚本执行。

use function Plugins\dd;

$array = [
    'keys' => [
        'first' => 450,
        'second' => 460
    ],

];

dd($array);

// Array
// (
//     [keys] => Array
//         (
//             [first] => 450
//             [second] => 460
//         )
//
// )

请注意,仅在应用程序调试模式下允许使用此功能。

pageInfo

设置当前页的系统信息。

use function Plugins\pageInfo;

pageInfo('key', 'value');
// Примеры использования.

$breadcrumbs[] = [
    'link' => $this->pluginLink,
    'text' => trans('x_filter:title'),

];

pageInfo('info.breadcrumbs', $breadcrumbs);

pageInfo('meta.description', $description);
pageInfo('meta.keywords', $keywords);

request

从全局 $_REQUEST 获取值。

use function Plugins\request;

$value = request('key', 'default');
// Пример использования.
$currentPage = (int) request('page', 1);

setting

根据键获取插件设置,或设置设置数组。

use function Plugins\setting;

// Получить настройку плагина.
$value = setting($plugin, 'key', 'default');

// Задать массив настроек плагина.
setting($plugin, [
    'key' => 'value',
    'another_key' => 'another_value'
]);

使用示例

// Получить настройку плагина.
$cacheExpire = (int) setting($plugin, 'cacheExpire', 60);
// Задать массив настроек плагина.
setting($plugin, [
    // Использовать кеширование данных.
    'cache' => 0,

    // Период обновления кеша.
    'cacheExpire' => 60,

]);

starts_with

确定传递的字符串是否以指定的子字符串开头。

use function Plugins\starts_with;

$result = starts_with('Строка для примера', 'Строка ');

// true

trans

获取字符串的翻译。

use function Plugins\trans;

$string = trans('key');
// Пример использования.
$charset = trans('encoding');

value

为传递的值返回默认值。

use function Plugins\value;

$result = value(true);

// true

$result = value(function () {
    return false;
});

// false

view

输出具有指定上下文的模板并将其作为字符串返回。

use function Plugins\view;

$context = [
    'key' => 'value'
];

return view($template, $context);

许可证

ng-helpers 是开源软件,按照 MIT 许可证分发。