يعد أمر Artisan's tinker طريقة رائعة لإصلاح تطبيقك في الوحدة الطرفية. لسوء الحظ، قد يكون تشغيل بضعة أسطر من التعليمات البرمجية وإجراء التعديلات ونسخ/لصق التعليمات البرمجية أمرًا مزعجًا. ألن يكون من الرائع العبث في المتصفح؟
ستضيف هذه الحزمة طريقًا إلى تطبيقك حيث يمكنك تعديل محتوى قلبك.
في حالة ما إذا كان الضوء يؤذي عينيك، فهناك الوضع المظلم أيضًا.
نحن نستثمر الكثير من الموارد في إنشاء أفضل الحزم مفتوحة المصدر في فئتها. يمكنك دعمنا عن طريق شراء أحد منتجاتنا المدفوعة.
نحن نقدر بشدة إرسالك لنا بطاقة بريدية من مسقط رأسك، مع ذكر الحزمة (الحزم) التي تستخدمها. ستجد عنواننا على صفحة الاتصال لدينا. ننشر جميع البطاقات البريدية المستلمة على جدار البطاقات البريدية الافتراضية لدينا.
يمكن لهذه الحزمة تشغيل تعليمات برمجية عشوائية. ما لم تكن تعرف ما تفعله، فلا يجب عليك أبدًا تثبيت هذا أو استخدامه في بيئة إنتاج، أو أي بيئة تتعامل فيها مع بيانات العالم الحقيقي.
يمكنك تثبيت الحزمة عبر الملحن:
composer require spatie/laravel-web-tinker --dev
بعد ذلك، يجب عليك نشر الأصول من هذه الحزمة عن طريق تشغيل هذا الأمر.
php artisan web-tinker:install
اختياريًا، يمكنك نشر ملف التكوين الخاص بالحزمة.
php artisan vendor:publish --provider= " SpatieWebTinkerWebTinkerServiceProvider " --tag= " config "
هذا هو المحتوى الذي سيتم نشره على config/web-tinker.php
return [
/*
* The web tinker page will be available on this path.
*/
' path ' => ' /tinker ' ,
/*
* Possible values are 'auto', 'light' and 'dark'.
*/
' theme ' => ' auto ' ,
/*
* By default this package will only run in local development.
* Do not change this, unless you know what your are doing.
*/
' enabled ' => env ( ' APP_ENV ' ) === ' local ' ,
/*
* This class can modify the output returned by Tinker. You can replace this with
* any class that implements SpatieWebTinkerOutputModifiersOutputModifier.
*/
' output_modifier ' => Spatie WebTinker OutputModifiers PrefixDateTime::class,
/*
* These middleware will be assigned to every WebTinker route, giving you the chance
* to add your own middlewares to this list or change any of the existing middleware.
*/
' middleware ' => [
Illuminate Cookie Middleware EncryptCookies::class,
Illuminate Session Middleware StartSession::class,
Spatie WebTinker Http Middleware Authorize::class,
],
/*
* If you want to fine-tune PsySH configuration specify
* configuration file name, relative to the root of your
* application directory.
*/
' config_file ' => env ( ' PSYSH_CONFIG ' , null ),
];
افتراضيًا، سيتم تشغيل هذه الحزمة فقط في بيئة محلية.
تفضل بزيارة /tinker
في بيئتك المحلية لتطبيقك لعرض صفحة العبث.
إذا كنت تريد تشغيل هذا في بيئة أخرى (لا ننصح بذلك)، فهناك خطوتان يجب عليك تنفيذهما.
viewWebTinker
. المكان الجيد للقيام بذلك هو AuthServiceProvider
الذي يأتي مع Laravel. public function boot ()
{
$ this -> registerPolicies ();
Gate:: define ( ' viewWebTinker ' , function ( $ user = null ) {
// return true if access to web tinker is allowed
});
}
enabled
في ملف تكوين web-tinker
على true
. يمكنك تعديل مخرجات العبث عن طريق تحديد معدل الإخراج في مفتاح output_modifier
الخاص بملف تكوين web-tinker
. معدل الإخراج هو أي فئة تطبق SpatieWebTinkerOutputModifiersOutputModifier
.
هكذا تبدو تلك الواجهة.
namespace Spatie WebTinker OutputModifiers ;
interface OutputModifier
{
public function modify ( string $ output = '' ): string ;
}
سيستخدم التثبيت الافتراضي لهذه الحزمة معدّل إخراج PrefixDataTime
الذي يبدأ الإخراج من Tinker بالتاريخ والوقت الحالي.
composer test
الرجاء مراجعة سجل التغيير للحصول على مزيد من المعلومات حول ما تغير مؤخرًا.
يرجى الاطلاع على المساهمة للحصول على التفاصيل.
إذا وجدت خطأً يتعلق بالأمان، فيرجى إرسال بريد إلكتروني إلى العنوان [email protected] بدلاً من استخدام أداة تعقب المشكلات.
هذه الحزمة مستوحاة من حزمة أدوات nova-tinker-tool التي صممها Marcel Pociot وتستخدمها.
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.