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
其他信息
- 授权协议: MIT
- 更新时间: 2022-08-23