nadirlc/utilities-framework

此包已被放弃,不再维护。没有建议的替代包。

提供实用函数的Php类集合

v1.0.0 2019-03-20 12:06 UTC

This package is auto-updated.

Last update: 2020-08-11 05:24:00 UTC


README

Utilities Framework

介绍

实用框架是一组Php库,提供错误处理、日志记录、电子邮件、抓取网页、脚本分析、数据库抽象、加密、模板引擎等函数。它需要Php 7.2及以上版本。这些库易于使用,可以与自定义应用程序和Php框架一起使用。

实用框架的代码全部注释,符合PSR-2编码规范。

功能

实用框架具有以下功能

  1. 数据库管理

    它提供与数据库交互的函数。它包括查询构建器、数据库缓存管理器和数据库日志管理器。它还提供基于PDO的数据库元查询运行器和数据库事务管理器。

  2. 方法验证

    该功能允许将方法参数值与方法的Doc Block注释中的信息进行验证。此功能由注释管理器包提供。

  3. 错误管理

    它允许使用HTML模板文件显示应用程序错误。模板文件可以轻松自定义。默认模板文件用于显示浏览器和命令行中的格式化错误消息。

  4. 文件和文件夹管理

    它提供获取URL内容、检查网络连接是否正常、按文件夹搜索文件以及递归复制文件夹内容的函数。

  5. 电子邮件处理

    它提供以纯文本格式和HTML格式发送电子邮件的函数,并支持附件。它基于Pear Mail库,因此支持通过SMTP服务器、Php邮件函数和Sendmail库发送电子邮件。

  6. 日志管理

    它提供将日志数据保存和更新到数据库的函数。它使用PDO库来保存数据,因此可以将日志数据保存到所有由PDO支持的数据库。

  7. 模板引擎

    它提供了一个模板引擎,允许将HTML布局代码与数据分离。它还允许模板递归构建。这意味着一个模板可以由一个或多个模板组成,这些模板可以包含更多模板。这允许将复杂的网站布局分成简单的布局文件,这些文件由模板引擎自动组合。

  8. 加密

    它提供使用新的LibSodium库加密和解密数据的功能,该库是Php >= 7.2的一部分。

  9. 字符串工具

    它提供将数据导出为RSS格式、将相对URL转换为绝对URL、检查字符串是否为有效的JSON、HTML或Base64编码等功能。

  10. 分析器

    它允许在函数调用之间测量内存使用和执行时间。

  11. 缓存管理器

    它允许将数据存储在缓存中。它支持内存缓存和数据库缓存。

  12. 身份验证

    它提供使用HTTP摘要身份验证验证用户的功能。

以下截图显示了错误处理组件显示的错误消息。

Error Handler Component

以下截图显示了错误处理组件显示的MySQL查询日志,作为错误的一部分。

MySQL Query Log

安装

  1. 使用Composer安装

    运行命令:composer require nadirlc/utilities-framework

    或者

  2. Utilities Framework GitHub仓库下载

    运行命令:git clone https://github.com/nadirlc/utilities-framework.git

用法

可以通过工厂函数访问Utilities Framework的所有组件。要使用功能,我们首先需要创建相关组件的对象。例如:UtilitiesFramework::Factory("email", $parameters);。要发送电子邮件,可以使用以下代码:


/* The Email class requires Mail and Mail_Mime pear package */
include_once ("Mail.php");
include_once ("Mail/mime.php");
        
/* Change the from and to emails to your email address */
$from_email       = "nadir@dev.pakjiddat.pk";
$to_email         = "nadir@dev.pakjiddat.pk";
/** The parameters for the email object */
$parameters       = array("params" => "", "backend" => "mail");
/* The Email class object is fetched */
$email            = UtilitiesFramework::Factory("email", $parameters);
/** The email is sent */
$is_sent          = $email->SendEmail($from_email, $to_email, "Utilitiesframework Test",
                        "<h3>test html content</h3>", 
                        null,
                        array("file-path")
                    );
/** If the email was sent, then information message is shown */
if ($is_sent) echo "Email was successfully sent";
else echo "Email could not be sent";

示例

/examples文件夹包含每个组件的示例用法。