定制 jcergolj/in-app-notifications-for-laravel 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jcergolj/in-app-notifications-for-laravel

最新稳定版本:v1.0

Composer 安装命令:

composer require jcergolj/in-app-notifications-for-laravel

包简介

Simple package for setting and displaying in-app notifications for Laravel

README 文档

README

Package for displaying in app notifications for Laravel

Key features

  • notification is closed automatically after 5s,
  • you can change the timeout,
  • styled wiht tailwind css by default,
  • you can modify the component and use different framework or none at all

Installation

Requirements

Required PHP >=8.2

Installing package

composer require jcergolj/in-app-notifications-for-laravel

Publishing config file

If you wish to modify the component view

php artisan vendor:publish --provider="Jcergolj\InAppNotifications\InAppNotificationsServiceProvider"

Usage

Add components to your layouts/app.blade.php file

    <x-in-app-notifications::notification />

Set notification inside controller

<?php

namespace App\Http\Controllers;

use Jcergolj\InAppNotifications\Facades\InAppNotification;

class UserController extends Controller
{
    public function store(Request $request)
    {
        InAppNotification::success('User was successfully created.');

        return view('mailboxes.index');
    }
}

Avaiable methods

<?php

InAppNotification::success($message);

InAppNotification::error($message);

InAppNotification::warning($message);

InAppNotification::info($message);

Change the default timeout

Inside register's AppServiceProvider.php file

<?php

public function register(): void
{
    $this->app->bind('in-app-notification', function () {
        return new Jcergolj\InAppNotifications\InAppNotification(10000); // 10 seconds
    });
}

It has use Illuminate\Support\Traits\Macroable;

If you wish so you can extend InAppNotitication class utilising Macroable trait.

// AppServiceProvider.php

InAppNotitication::macro('customMethod', function () {

});

// e.g. inside controller

InAppNotification::customMethod();

Testing

Package comes with few handy assertions:

// add this for adding testable macro
InAppNotification::fake();

InAppNotification::assertSet()
InAppNotification::assertSet('Assert against this text.');

InAppNotification::assertSuccess()
InAppNotification::assertSuccess('Success');

InAppNotification::assertError();
InAppNotification::assertError('Error');

InAppNotification::assertInfo();
InAppNotification::assertInfo('Info');

InAppNotification::assertWarning();
InAppNotification::assertWarning('Warning');

InAppNotification::assertTimeout(10000);

统计信息

  • 总下载量: 2.67k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 14
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 14
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-02-23