madeinua/browser-console 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

madeinua/browser-console

最新稳定版本:2.0

Composer 安装命令:

composer require madeinua/browser-console

包简介

PHP to browser console logging with Laravel integration

README 文档

README

A simple PHP class to log messages directly to the browser console. PSR-3 Logger Interface compatible with Laravel integration.

Requirements

  • PHP 8.0 or higher
  • PSR-3 Log (psr/log) ^2.0 or ^3.0

Installation

composer require madeinua/browser-console

Laravel Integration

Publish the configuration file (optional):

php artisan vendor:publish --tag=browser-console-config

Usage

Static Method (Quick Usage)

use BrowserConsole\BrowserConsole;

// Simple message
BrowserConsole::show('Hello World!');

// Output: console.log("Hello World!")

Context Interpolation

BrowserConsole::show('Hello {user}!', ['user' => 'Mark']);

// Output: console.log("Hello Mark!")

Including Timestamp

BrowserConsole::show('Hello', [], true);

// Output: console.log("[2024-01-01 15:00:00] Hello")

Different Data Types

// Arrays (displayed as expandable objects in browser console)
BrowserConsole::show(['name' => 'John', 'age' => 30]);
// Output: console.log({"name":"John","age":30})

// Numbers
BrowserConsole::show(42);
// Output: console.log(42)

// Booleans
BrowserConsole::show(true);
// Output: console.log(true)

PSR-3 Logger Interface

use BrowserConsole\BrowserConsole;

$logger = new BrowserConsole();

// Different log levels
$logger->emergency('System is down!');
$logger->alert('Alert message');
$logger->critical('Critical error');
$logger->error('Error occurred');
$logger->warning('Warning message');
$logger->notice('Notice');
$logger->info('Information');
$logger->debug('Debug info');

// With context interpolation
$logger->info('User {user} logged in', ['user' => 'John']);
// Output: console.info("User John logged in")

Laravel Facade

use BrowserConsole\Facades\Console;

Console::info('Information message');
Console::error('Error message');
Console::show(['data' => 'value']);

Laravel Models and Collections

The logger automatically handles Laravel models and collections:

use App\Models\User;

// Single model
BrowserConsole::show(User::find(1));

// Collection
BrowserConsole::show(User::all());

Enable/Disable Output

$logger = new BrowserConsole(enabled: false);
$logger->info('This will not output anything');

// Or toggle
$logger->setEnabled(true);
$logger->info('Now it outputs');

Laravel Configuration

In your .env file:

BROWSER_CONSOLE_ENABLED=true  # Set to false in production

Or in config/browser-console.php:

return [
    'enabled' => env('BROWSER_CONSOLE_ENABLED', true),
];

Output

All messages are output as JavaScript <script> tags:

<script>console.log("Hello World!")</script>
<script>console.info("Info message")</script>
<script>console.error("Error message")</script>

Testing

composer test

Or with PHPUnit directly:

./vendor/bin/phpunit

License

MIT License. See LICENSE for details.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-08-23