braincrafted/json
Object-oriented wrapper around PHP’s json_encode() and json_decode() providing simple static encode/decode methods plus exception-based error handling. Supports decoding to arrays or objects via Json::DECODE_ASSOC and Json::DECODE_OBJECT.
json_encode()/json_decode(), offering structured error handling but no additional functionality (e.g., validation, serialization/deserialization of custom objects, or schema enforcement).json_encode() errors are opaque).json_encode() with @ operator, json_last_error(), or JsonException).Illuminate\Support\Facades\Json facade already wraps json_encode()/json_decode() with error handling (since Laravel 5.5+). This package offers no unique value beyond what Laravel provides natively.Json::encode() instead of json_encode()).Braincrafted\Json) may conflict with other packages.JsonException in PHP 8.0+.JsonException; this package throws JsonDecodeException (custom). Mixed environments may cause inconsistencies.JSON_THROW_ON_ERROR is default).Json facade or native json_encode() in PHP 7.3+.Json facade or native PHP functions?
JsonException exists).json-schema or Laravel’s Illuminate/Validation.JsonException suffice).Braincrafted\Json) may clash with other packages. Use composer require braincrafted/json --ignore-platform-req cautiously.Json::encode() (built-in).json_encode($data, JSON_THROW_ON_ERROR) + try-catch (JsonException).json_encode()/json_decode() calls in the codebase.Json::encode().composer.json to include the package.json_encode() with Json::encode() and json_decode() with Json::decode().JsonException (PHP 8.0+) vs. custom JsonDecodeException.json_last_error_msg() behavior changes).Json facade or service provider autoloading.json_decode() handles BOM; this package may not.JsonDecodeException to JsonException for PHP 8.0+ (if needed).JsonDecodeException may surface in logs.JsonException).Json facade: Actively maintained, zero additional dependencies.json_* functions as a reference.json_encode() with @ operator or JSON_THROW_ON_ERROR.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Malformed JSON input | Custom JsonDecodeException thrown. |
Wrap in try-catch; log and fallback to native. |
| PHP version upgrade (e.g., 7.4→8.0) | Package breaks (no JsonException). |
Fork and patch, or replace with native functions. |
| Namespace collision | Autoloading errors. | Use fully qualified namespaces or alias. |
| Laravel service provider conflicts | Json facade overrides. |
Avoid using Laravel’s Json facade alongside. |
Deprecation of json_encode() |
Future PHP versions. | Migrate to Json::encode() or native alternatives. |
Json::encode()/Json::decode()).How can I help you explore Laravel packages today?