edydeyemi/flash-messages

Plasticbrain的基于会话的FlashMessages库的分支,支持Bootstrap 4和Bootstrap 5

v1.0.1 2016-04-01 08:39 UTC

This package is not auto-updated.

Last update: 2024-09-22 17:17:02 UTC


README

将消息存储在会话数据中,直到检索。支持Bootstrap 4或Bootstrap 5。

注意

这是PlasticBrain的PHPFlashMessages的新版本的分支版本 - https://github.com/plasticbrain/PhpFlashMessages。这个分支版本同时支持Bootstrap V4和Bootstrap V5

功能

  • 命名空间
  • PSR-4自动加载兼容
  • 使用composer安装
  • 与Bootstrap4或Bootstrap 5兼容
  • 完全可定制的消息
  • URL重定向

安装

使用Composer

composer require Edydeyemi/php-flash-messages

不使用composer

下载FlashMessages.php并将其保存到您的项目目录中。

导入文件

require '/path/to/FlashMessages.php';

基本用法

默认主题是Bootstrap V5。传递4到构造函数中以切换到Bootstrap V4。

// Start a Session
if (!session_id()) @session_start();
	
// Instantiate the class
$msg = new \Edydeyemi\FlashMessages\FlashMessages(); 
    or  
$msg = new \Edydeyemi\FlashMessages\FlashMessages(4); 

// Add messages
$msg->info('This is an info message');
$msg->success('This is a success message');
$msg->warning('This is a warning message');
$msg->error('This is an error message');


// If you need to check for errors (eg: when validating a form) you can:
if ($msg->hasErrors()) {
	// There ARE errors
} else {
  // There are NOT any errors
}
	
// Wherever you want to display the messages simply call:
$msg->display();

消息类型常量

每个消息类型都可以通过其常量来引用:INFO、SUCCESS、WARNING、ERROR。例如

$msg::INFO
$msg::SUCCESS
$msg::WARNING
$msg::ERROR

重定向

在显示消息之前可以重定向到不同的URL。例如,重定向回表单(并显示错误消息)以便用户可以纠正错误。

执行此操作的首选方法是传递URL作为第二个参数

$msg->error('This is an error message', 'http://yoursite.com/another-page');

重定向在附加到消息的消息被排队时执行。因此,如果您需要多个消息并且需要重定向,请将URL包含在最后一个消息中

$msg->success('This is a success message');
$msg->success('This is another success message');
$msg->error('This is an error message', 'http://redirect-url.com');   

辅助方法

hasErrors()

检查是否有排队的ERROR消息。

if ($msg->hasErrors()) {
    // There are errors, so do something like redirect
}

hasMessages ([string $type])

检查是否有特定消息类型(或任何消息)排队。

// Check if there are any INFO messages
if ($msg->hasMessages($msg::INFO)) {
    ...
}

// Check if there are any SUCCESS messages
if ($msg->hasMessages($msg::SUCCESS)) {
    ...
}

// Check if there are any WARNING messages
if ($msg->hasMessages($msg::WARNING)) {
    ...
}

// Check if there are any ERROR messages
if ($msg->hasMessages($msg::ERROR)) {
    ...
}

// See if there are *any* messages queued at all
if ($msg->hasMessages()) {
    ...
}

setCloseBtn (string $html)

设置显示在(非粘性)消息上的关闭按钮的HTML。

$msg->setCloseBtn('<button type="button" class="close" 
                        data-dismiss="alert" 
                        aria-label="Close">
                        <span aria-hidden="true">&amp;times;</span>
                    </button>')

setCssClassMap (array $cssClassMap)

设置用于每个特定消息类型的CSS类。

$msg->setCssClassMap([
    $msg::INFO    => 'alert-info',
    $msg::SUCCESS => 'alert-success',
    $msg::WARNING => 'alert-warning',
    $msg::ERROR   => 'alert-danger',
]);

setMsgAfter (string $msgAfter)

在消息(但在包装器内)之后添加一段文本(HTML或其他内容)。

例如,将消息包裹在<p>标签中

$msg->setMsgAfter('</p>')

setMsgBefore (string $msgBefore)

在消息(但在包装器内)之前添加一段文本(HTML或其他内容)。

例如,将消息包裹在<p>标签中

$msg->setMsgBefore('<p>')

setMsgCssClass ([string $cssClass])

设置应用于所有消息的CSS类,无论其类型如何。

$msg->setMsgCssClass('alert')

setMsgWrapper (string $html)

设置包装每个消息的HTML。HTML应包含两个占位符(%s),用于CSS类和消息文本。

$msg->setMsgWrapper("<div class='%s'>%s</div>")

许可证

MIT许可证(MIT)

版权所有 (c) 2023 Edydeyemi && SoftMage Solutions

以下条件下,任何人都可以免费获得此软件及其相关文档副本(“软件”)的副本,以无限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向获得软件的人提供这样做,前提是

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

本软件按照“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他任何原因,这些索赔、损害或其他责任源于、产生于或与软件或软件的使用或其他方式有关。

许可证

MIT许可证(MIT)

版权所有(c)2015 迈克·埃弗哈特 & PlasticBrain 媒体有限责任公司

以下条件下,任何人都可以免费获得此软件及其相关文档副本(“软件”)的副本,以无限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向获得软件的人提供这样做,前提是

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

本软件按照“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他任何原因,这些索赔、损害或其他责任源于、产生于或与软件或软件的使用或其他方式有关。