nguyenanhung/codeigniter-basic-helper

CodeIgniter - 基础助手

v1.6.8 2024-09-21 20:23 UTC

README

Latest Stable Version Total Downloads Daily Downloads Monthly Downloads License PHP Version Require

摘要

1 一些与CodeIgniter 3一起使用的基本助手。

它可以集成到其他许多代码库或框架中,但有些函数需要框架 CodeIgniter,但这不会影响使用效率。

如果将此包集成到除 CodeIgniter 之外的框架或其他源中,您需要安装额外的包 nguyenanhung/polyfill-codeigniter-built-in 以获得最佳使用效果。

我也经常与以下框架一起使用此包:

  • CodeIgniter
  • Slim框架
  • FuelPHP
  • PhalconPHP
  • Laravel

目录

一些内置的助手

以下是此库支持的助手列表:

AlphaID助手

  • 助手函数: generateAlphaId - 帮助创建一个基于输入整数的唯一Id 4ew68i32xc,例如 1234

数组助手

  • 助手函数: arrayToObject - 将数组转换为对象
  • 助手函数: to_array - 将字符串或对象转换为数组。
  • 助手函数: arrayToXml - 将数组转换为XML字符串
  • 助手函数: removeArrayElementWithValue - 根据key和value从数组中移除一个元素
  • 助手函数: arrayRecursiveDiff - 通过递归比较两个数组
  • 助手函数: arrayIsAssoc - 检测给定值是否为关联数组。
  • 助手函数: arrayFirstElement - 返回数组的第一个元素。
  • 助手函数: arrayLastElement - 返回数组的最后一个元素。
  • 助手函数: arrayGetElement - 通过点表示法获取数组中的值。
  • 助手函数: arraySetElement - 使用点表示法设置数组中的值。

资源助手

  • 助手函数: assets_url - 获取Assets Url,如果public/目录下存在assets目录,将返回该URL。如果config.php中存在变量assets_version,则将版本号自动添加到CSS和JS文件的末尾。
  • 辅助函数:static_url - 获取静态资源URL,条件是在网站的配置中存在 config_item('static_url')。如果 config.php 文件中存在 assets_version 变量,将自动将版本号添加到CSS和JS文件的末尾。
  • 辅助函数:templates_url - 获取资源URL,条件是在 public/ 目录中存在 templates 文件夹。如果 config.php 文件中存在 assets_version 变量,将自动将版本号添加到CSS和JS文件的末尾。
  • 辅助函数:editor_url - 获取资源URL,条件是在 public/ 目录中存在 assets/editors/ 文件夹。如果 config.php 文件中存在 assets_version 变量,将自动将版本号添加到CSS和JS文件的末尾。
  • 辅助函数:favicon_url - 获取资源URL,条件是在 public/ 目录中存在 assets/favicon/ 文件夹。如果 config.php 文件中存在 assets_version 变量,将自动将版本号添加到CSS和JS文件的末尾。
  • 辅助函数:favicon_html_tag - 根据输入的favicon文件夹URL获取HTML Favicon片段。
  • 辅助函数:storage_url - 在 config.php 文件中需要配置 storage_url 项目。例如:$config['storage_url'] = 'https://storage.nguyenanhung.com/';
  • 辅助函数:go_url - 在 config.php 文件中需要配置 go_url 项目。例如:$config['go_url'] = 'https://go.nguyenanhung.com/';
  • 辅助函数:assets_mobile - 获取移动端界面资产的路径(实际上很少使用,用于维护旧项目)
  • 辅助函数:assets_themes - 获取PC端界面资产的路径(实际上很少使用,用于维护旧项目)
  • 辅助函数:assets_themes_dashboard - 获取仪表板界面资产的路径(实际上很少使用,用于维护旧项目)
  • 辅助函数:assets_themes_comingsoon - 获取“即将推出”界面资产的路径(实际上很少使用,用于维护旧项目)
  • 辅助函数:assets_themes_error - 获取错误界面资产的路径(实际上很少使用,用于维护旧项目)
  • 辅助函数:cdn_js_url - Cloudflare的CDN资源JS,CSS
  • 辅助函数:google_fonts_url - Google字体资源
  • 辅助函数:bootstrapcdn_url - Bootstrap的CDN资源

Blogspot助手

  • 辅助函数:blogspotDescSortWithPublishedTime - 根据发布时间对blogspot的数据feed进行排序
  • 辅助函数:blogspotUSort - 根据USort对blogspot的数据feed进行排序,并根据发布时间降序排列
  • 辅助函数:blogspotFormatInformationItem - 格式化blogspot输入项的数据

字节助手

  • 辅助函数:bytesHumanFormat - 从字节数据中显示易读的格式

图表渲染助手

  • 辅助函数:bear_framework_default_get_data_chart
  • 辅助函数:bear_framework_default_get_data_chart_report

通用助手

  • 辅助函数:isEmpty - 检查输入是否为空
  • 辅助函数:defaultCompressHtmlOutput - 压缩HTML输出,默认配置
  • 辅助函数:generateRandomUniqueId - 使用UUID创建一个随机的唯一ID字符串
  • 辅助函数:generateRandomNanoUniqueId - 使用NanoID创建一个随机的唯一ID字符串

数据库助手

  • 辅助函数:generate_list_id_with_parent_id - 创建一个包含父ID子依赖项的ID列表。例如:用于在单个页面内容中显示父分类及其子分类的内容

日期助手

  • 辅助函数:dayFloor - 计算两个日期之间的天数差
  • 辅助函数:getZuluTime - 获取Zulu时间的日期参数
  • 辅助函数:iso_8601_utc_time - 与getZuluTime函数类似
  • 辅助函数: getYesterday - 返回相邻前一天的日期
  • 辅助函数: smart_bear_date_range - 返回包含一系列日期的数组
  • 辅助函数: format_datetime_vn - 格式化日期为越南风格
  • 辅助函数: get_start_and_end_date_for_week - 获取一周的开始和结束日期

调试助手

这些函数用于调试

  • 辅助函数: dd
  • 辅助函数: ddd
  • 辅助函数: dump

ENV助手

  • 辅助函数: bear_get_env - 从 .env 文件中获取值

转义助手

  • 辅助函数: bear_framework_basic_clean_str - 简单清理输入字符串

Facebook助手

  • 辅助函数: widget_facebook_div_init - 创建 <div id="fb-root"></div>
  • 辅助函数: widget_facebook_script_init - 创建初始化脚本,用于嵌入 Facebook JS
  • 辅助函数: widget_facebook_comments - 创建 Facebook 评论框
  • 辅助函数: widget_facebook_share_button - 创建 Facebook 分享按钮
  • 辅助函数: widget_facebook_like_button - 创建 Facebook 点赞按钮
  • 辅助函数: widget_facebook_save_button - 创建将内容保存到 Facebook 的按钮

文件助手

  • 辅助函数: formatSizeUnits - 将输入整数格式化为易于阅读的文件大小格式
  • 辅助函数: generateFileIndex - 自动创建 index.html 文件内容
  • 辅助函数: generateFileHtaccess - 自动创建 .htaccess 文件内容
  • 辅助函数: generateFileReadme - 自动创建 README.md 文件内容
  • 辅助函数: makeNewFolder - 创建新文件夹并生成其中包含的 3 个文件: README.md, index.html, .htaccess. 如果第二个参数为 true,则还会创建 .gitkeep 文件
  • 辅助函数: new_folder - 与 makeNewFolder 函数功能相似
  • 辅助函数: scan_folder - 扫描并获取文件夹中的数据信息列表
  • 辅助函数: getAllFileSizeInFolder - 获取文件夹中的所有文件大小
  • 辅助函数: getAllFileInFolder - 获取文件夹中的所有文件

表单助手

  • 辅助函数: join_value_multiple - 连接多个值

Gravatar助手

  • 辅助函数: bear_framework_show_gravatar - 显示自定义大小和用户名的 Gravatar URL

HTML助手

  • 辅助函数: meta_dns_prefetch
  • 辅助函数: meta_property
  • 辅助函数: tachPage
  • 辅助函数: stripHtmlTag
  • 辅助函数: strip_only_tags
  • 辅助函数: tracking_google_analytics
  • 辅助函数: tracking_google_gtag_analytics_default
  • 辅助函数: bear_framework_show_jsonld_script

图片助手

  • 辅助函数: google_image_resize - 使用 Google Gadget Proxy 来调整图片大小
  • 辅助函数: google_image_proxy_dns_prefetch - 当使用 google_image_resize 时提供 DNS Prefetch
  • 辅助函数: wordpress_proxy - 使用 WordPress Proxy 来调整图片大小和缓存图片
  • 辅助函数: wordpress_proxy_dns_prefetch - 当使用 wordpress_proxy 时提供 DNS Prefetch
  • 辅助函数: bear_framework_image_url - 格式化图片 URL - 仅适用于 BEAR 框架
  • 辅助函数: create_image_thumbnail - 创建缩略图 - 仅适用于 BEAR 框架

IP助手

  • 辅助函数: getIPAddress - 获取用户的实际 IP 地址
  • 辅助函数: getIPAddressByHaProxy - 获取用户的实际 IP 地址(如果服务器运行 Ha Proxy),通过 HTTP_X_FORWARDED_FOR 变量
  • 辅助函数: validateIP - 验证一个字符串是否为 IP 地址。如果是 IP 地址,则返回 TRUE
  • 辅助函数: validateIPV4 - 验证一个字符串是否为 IPv4 地址。如果是 IPv4 地址,则返回 TRUE
  • 辅助函数: validateIPV6 - 验证一个字符串是否为 IPv6 地址。如果是 IPv6 地址,则返回 TRUE
  • 辅助函数: getIpInformation - 向 IP-API 发起请求以获取 IP 地址的信息

元数据助手

  • 辅助函数:setupMetaDnsPrefetch - 生成类似于 <link href='//data.nguyenanhung.com/' rel='dns-prefetch' /> 的 DNS 预取 HTML 段

货币助手

  • 辅助函数:money_number_format - 格式化货币,将检测当前区域设置

NanoID助手

该辅助函数使用 hidehalo/nanoid-php 包来生成一个随机 ID,比 UUID 更小、更轻、更安全。

目前,使用 nanoid 相比传统的 uuid 更加流行

要使用此包,需要通过命令 composer require nguyenanhung/nanoid-helper 安装 nguyenanhung/nanoid-helper

  • 辅助函数:randomNanoId

数字助手

  • 辅助函数:convertNumberToWords - 将数字转换为文字,例如 123 转换为 One Hundred Twenty Three

分页助手

  • 辅助函数:view_paginations
  • 辅助函数:view_more
  • 辅助函数:select_page
  • 辅助函数:get_paginations_title
  • 辅助函数:get_paginations_number
  • 辅助函数:bear_framework_news_view_pagination - 为 BEAR Project 定制的分页函数

占位符助手

  • 辅助函数:placeholder_img

请求助手

  • 辅助函数:sendSimpleGetRequest - 使用 CURL 通过 GET 方法执行一个简单的请求
  • 辅助函数:sendSimpleRestfulExecuteRequest - 使用 CURL 执行一个简单的 Restful API 请求
  • 辅助函数:bear_post_async_request - 发起异步 POST 请求 - 在网站内部执行不等待响应的 POST 请求,不会影响或延迟正在运行的进程
  • 辅助函数:get_http_response_code - 使用 get_headers 获取 HTTP 响应代码

安全助手

  • 辅助函数:xssValidation - 验证输入数据是否受到 XSS 攻击。此函数没有进行转义,如需转义,请安装额外的包 nguyenanhung/security

Sentry助手

  • 辅助函数:log_to_sentry - 通过 Monolog 处理器将日志记录到 Sentry

字符串助手

  • 辅助函数:countStringsInText - 计算文本中的单词数量
  • 辅助函数:findMiddleInString - 获取字符串中的中间部分
  • 辅助函数:str_insert - 在定义的位置将一个或多个字符串插入到另一个字符串中
  • 辅助函数:str_between - 返回字符串中左右元素之间的内容
  • 辅助函数:str_after - 返回给定值之后的字符串部分
  • 辅助函数:str_before - 获取给定值之前的字符串部分
  • 辅助函数:str_limit_words - 限制字符串中的单词数量。将 $end 的值放置在字符串末尾
  • 辅助函数:str_limit_characters - 限制字符串中的字符数量。将 $end 的值放置在字符串末尾
  • 辅助函数:str_contains - 测试字符串是否包含指定的元素
  • 辅助函数:str_ignore_contains - 测试字符串是否包含指定的元素。忽略大小写
  • 辅助函数:str_starts_with - 判断给定字符串是否以指定的子字符串开头
  • 辅助函数:str_ignore_starts_with - 判断给定字符串是否以指定的子字符串开头。忽略大小写
  • 辅助函数:str_ends_with - 判断给定字符串是否以指定的子字符串结尾
  • 辅助函数:str_ignore_ends_with - 判断给定字符串是否以指定的子字符串结尾。忽略大小写
  • 辅助函数:str_after_last - 返回给定搜索值之后的字符串部分
  • 辅助函数:hide_characters - 将 nguyenanhung 转换为 ngxyexanxunx,作为一个非常简单和可预测的字符编码函数,但有必要隐藏一些简单的内容

文本助手

  • 辅助函数:convert_string_utf8_to_vietnamese
  • 辅助函数:clean_allowfullscreen
  • 辅助函数:clean_text
  • 辅助函数:clean_title
  • 辅助函数:clean_text_mobile
  • 辅助函数:bodautru
  • 辅助函数:bodaunhay
  • 辅助函数:searchs_snippets
  • 辅助函数: tags_snippets
  • 辅助函数: tags_clean
  • 辅助函数: highlight_keyword_phrase - 在文本字符串中突出显示关键词
  • 辅助函数: format_keyword_highlight_phrase - 格式化关键词以供 highlight_keyword_phrase 函数使用

TinyUrl助手

  • 辅助函数: short_url_with_tinyurl - 基于 TinyURL API 的短网址支持函数

URL助手

  • 辅助函数: encodeId_Url_byHungDEV
  • 辅助函数: decodeId_Url_byHungDEV
  • 辅助函数: convertToLatin
  • 辅助函数: specialCharToNormalChar
  • 辅助函数: alphabetOnly
  • 辅助函数: boDauTiengViet
  • 辅助函数: removeSpecialChar
  • 辅助函数: getPermalinksSEO
  • 辅助函数: share_url - 创建适用于社交媒体的标准化分享 URL,非常有利于 SEO
  • 辅助函数: private_url - 专门为 CodeIgniter 框架定制的函数
  • 辅助函数: private_api_url - 专门为 CodeIgniter 框架定制的函数
  • 辅助函数: cdn_url - 专门为 CodeIgniter 框架定制的函数
  • 辅助函数: images_url - 专门为 CodeIgniter 框架定制的函数
  • 辅助函数: audio_url - 专门为 CodeIgniter 框架定制的函数
  • 辅助函数: append_params_into_url - 向 URL 添加参数
  • 辅助函数: append_query_string_to_current_url - 获取包含查询字符串的当前 URL - 专门为 CodeIgniter 框架定制的函数

UUID助手

  • 辅助函数: generate_uuid_v4 - 创建一个随机的 v4 UUID 字符串

VN省助手

  • 辅助函数: check_vn_province_code - 检查越南一些省份的省份代码

视频嵌入助手

  • 辅助函数: convert_video_embed_vimeo - 将视频 URL 转换为 Vimeo 嵌入式视频(很少使用,留在这里因为许多旧项目仍在使用)
  • 辅助函数: convert_video_embed_dailymotion - 将视频 URL 转换为 Dailymotion 嵌入式视频(很少使用,留在这里因为许多旧项目仍在使用)
  • 辅助函数: convert_video_embed_youtube - 将视频 URL 转换为 YouTube 嵌入式视频(很少使用,留在这里因为许多旧项目仍在使用)
  • 辅助函数: convert_video_v_embed_youtube - 将视频 URL 转换为 YouTube 嵌入式视频(很少使用,留在这里因为许多旧项目仍在使用)
  • 辅助函数: youtube_image_thumbnail - 将 YouTube ID 转换为 YouTube 缩略图 URL

XML助手

  • 辅助函数: parse_sitemap - 支持渲染 Sitemap 内容的函数
  • 辅助函数: parse_sitemap_index - 支持渲染 Sitemap 索引内容的函数
  • 辅助函数: xml_convert - 将保留的 XML 字符转换为实体
  • 辅助函数: xml_get_value - 从 XML 字符串获取值
  • 辅助函数: xml_to_json - 将 XML 字符串转换为 JSON

简单的RESTful助手

提供快速调用 RESTful API 方法的一个类

  • 执行对 RESTful API 服务的请求: SimpleRestful::execute($url, $type, $data)

简单的cURL助手

提供快速调用外部请求的方法的一个类,使用简单的 Curl,例如

<?php
use nguyenanhung\CodeIgniter\BasicHelper\SimpleCurl;

$curl = new SimpleCurl();
$curl->setUrl('https://example.com')
    ->setPost(array('field1'=>'value1'))
    ->createCurl();

$response = $curl->getResponse();

简单的图像库

提供一些处理图像的方法的一个类

  • 方法 googleGadgetsProxy - 使用 Google Gadgets Proxy 创建 URL 缩放
  • 方法 googleGadgetsProxyDnsPrefetch - 设置 Google Gadgets Proxy 的 DNS 预提取,以提高查询速度
  • 方法 wordpressProxy - 使用 WordPress Proxy 创建 URL 缩放
  • 方法 wordpressProxyDnsPrefetch - 设置 WordPress Proxy 的 DNS 预提取,以提高查询速度
  • 方法 createThumbnail - 创建缩略图的函数,使用时需要安装 nguyenanhung/image
  • 方法 createThumbnailWithCodeIgniterCache - 创建缩略图并与 CodeIgniter 缓存库结合使用的函数,使用时需要安装 nguyenanhung/image

维护者 & 支持者