pixielity/laravel-response
Composer 安装命令:
composer require pixielity/laravel-response
包简介
Response package with JSON API standard responses, error handling, and response helpers
README 文档
README
Comprehensive localization and internationalization package for Laravel applications, providing translation files, automatic locale detection, and timezone handling.
Features
- 🌍 Multi-Language Support: Pre-configured translations for English and Arabic
- 🔄 Automatic Locale Detection: Smart locale detection from multiple sources
- ⏰ Timezone Handling: Request-based timezone configuration
- 🎯 Middleware: Ready-to-use middlewares for locale and timezone
- 📦 Laravel Integration: Seamless integration with Laravel's translation system
- 🚀 Easy to Extend: Simple to add new languages and translations
Installation
This package is included in the Pixielity Framework. If you need to install it separately:
composer require pixielity/laravel-localization
The service provider will be auto-discovered by Laravel.
Configuration
Locale Configuration
Create a config/localization.php file:
return [
'default' => 'en',
'auto_detect' => true,
'headers' => ['x-language', 'x-locale', 'locale', 'accept-language'],
'query_params' => ['lang', 'locale'],
'locales' => [
'en' => ['enabled' => true, 'name' => 'English'],
'ar' => ['enabled' => true, 'name' => 'Arabic'],
'fr' => ['enabled' => false, 'name' => 'French'],
],
];
Timezone Configuration
Add to your .env:
APP_TIMEZONE=UTC
APP_TIMEZONE_HEADER=X-Timezone
Usage
Applying Middlewares
Global Middleware
In bootstrap/app.php:
->withMiddleware(function (Middleware $middleware) {
$middleware->append([
\Pixielity\Localization\Middlewares\SetLocale::class,
\Pixielity\Localization\Middlewares\TimezoneMiddleware::class,
]);
})
Route Middleware
Route::middleware(['set.locale', 'timezone'])->group(function () {
Route::get('/users', [UserController::class, 'index']);
});
Using Translations
// In controllers or views
__('localization::validation.required');
__('localization::crud.created');
// With parameters
__('localization::validation.min.string', ['attribute' => 'password', 'min' => 8]);
Setting Locale Programmatically
// Set locale
app()->setLocale('ar');
// Get current locale
$locale = app()->getLocale();
Client-Side Usage
Setting Locale via Header
fetch("/api/users", {
headers: {
"X-Language": "ar",
},
});
Setting Locale via Query Parameter
fetch("/api/users?lang=ar");
Setting Locale via Path Segment
fetch("/ar/api/users");
Setting Timezone
fetch("/api/users", {
headers: {
"X-Timezone": Intl.DateTimeFormat().resolvedOptions().timeZone,
},
});
Locale Detection Priority
The SetLocale middleware detects locale in the following priority order:
User Preference (highest priority)
- Authenticated user's saved locale preference
- Stored in
users.localecolumn
Query Parameters
?lang=aror?locale=ar
Path Segment
/ar/api/users
Route Parameters
{locale}/users
Request Headers
X-Language,X-Locale,Accept-Language
Default Locale (fallback)
- From configuration
Available Translations
English (en)
crud.php- CRUD operation messagesvalidation.php- Validation messages
Arabic (ar)
crud.php- CRUD operation messages (RTL)validation.php- Validation messages (RTL)
Adding New Languages
- Create a new language directory:
mkdir packages/Framework/src/Localization/src/lang/fr
- Add translation files:
// packages/Framework/src/Localization/src/lang/fr/crud.php
return [
'created' => 'Créé avec succès',
'updated' => 'Mis à jour avec succès',
// ...
];
- Enable in configuration:
'locales' => [
'fr' => ['enabled' => true, 'name' => 'French'],
],
Middleware Details
SetLocale Middleware
Automatically sets the application locale based on request data.
Alias: set.locale
Priority: 50
Features:
- Multi-source locale detection
- User preference support
- Validation of enabled locales
- Logging context integration
TimezoneMiddleware
Sets the application timezone based on request headers or user preferences.
Alias: timezone
Priority: 45
Features:
- Header-based timezone detection
- User preference fallback
- Timezone validation
- Response header injection
Publishing Translations
To customize translations in your application:
php artisan vendor:publish --tag=localization-lang
This will copy translation files to lang/vendor/localization/.
Directory Structure
src/Localization/
├── src/
│ ├── Middlewares/
│ │ ├── SetLocale.php
│ │ └── TimezoneMiddleware.php
│ ├── Providers/
│ │ └── LocalizationServiceProvider.php
│ └── lang/
│ ├── en/
│ │ ├── crud.php
│ │ └── validation.php
│ └── ar/
│ ├── crud.php
│ └── validation.php
├── composer.json
└── README.md
License
MIT License - see LICENSE file for details.
Support
For issues and questions, please contact support@pixielity.com
pixielity/laravel-response 适用场景与选型建议
pixielity/laravel-response 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 02 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「response」 「laravel」 「error-handling」 「JSON-API」 「pixielity」 「response-helpers」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 pixielity/laravel-response 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 pixielity/laravel-response 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 pixielity/laravel-response 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Logging and Notifications for Laravel Console Commands.
HTTP request logger middleware for Laravel
Enables simple 404 Page NotFound handling, also for multilingual sites.
Prevent sensitive exception details from leaking in Laravel applications
a package for handle api errors
Class to generate a standard structure for api json responses
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 25
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-08