Laravel Tinker هو أداة قوية بتسمح لك بالتعامل مع التطبيق بتاعك عن طريق سطر الأوامر (CLI) بشكل مباشر. يعني تقدر تنفذ أكواد PHP، تتفاعل مع الموديلات (Models)، وتختبر الوظائف المختلفة في التطبيق بدون الحاجة لإنشاء سكريبتات أو حتى تشغيل الموقع في المتصفح...

كل حاجة عن Laravel Tinker وطريقة استخدامه للمبتدئين
Table of contents [Show]
إيه هو Laravel Tinker؟
Laravel Tinker هو أداة قوية بتسمح لك بالتعامل مع التطبيق بتاعك عن طريق سطر الأوامر (CLI) بشكل مباشر. يعني تقدر تنفذ أكواد PHP، تتفاعل مع الموديلات (Models)، وتختبر الوظائف المختلفة في التطبيق بدون الحاجة لإنشاء سكريبتات أو حتى تشغيل الموقع في المتصفح.
مميزات Laravel Tinker
تصحيح الأخطاء (Debugging): تقدر تستخدم Tinker لاختبار الكود بسرعة، وتشوف النتايج فورًا.
التجربة السريعة (Rapid Prototyping): اختبار أفكار جديدة بدون الحاجة لإنشاء صفحات أو API.
التعامل مع قاعدة البيانات: إمكانية تنفيذ استعلامات مباشرة على قاعدة البيانات.
سهولة التطوير: يختصر وقت كتابة الكود ويجعل التجربة البرمجية أسرع.
تثبيت Laravel Tinker
لو عندك Laravel، فأنت بالفعل عندك Tinker لأنه بييجي مع Laravel بشكل افتراضي، ولكن لو محتاج تثبته يدويًا:
composer require laravel/tinker
تشغيل Laravel Tinker
بمجرد تثبيته، تقدر تفتح سطر الأوامر وتشغل Tinker عن طريق:
php artisan tinker
الاستخدام الأساسي لـ Laravel Tinker
1- تنفيذ أوامر PHP مباشرة
داخل Tinker، تقدر تكتب أي كود PHP وتشوف النتيجة فورًا:
echo "مرحبًا بـ Tinker!";
2- التعامل مع الموديلات (Models)
مثلاً لو عندك موديل User
وعايز تجيب كل المستخدمين:
$users = App\Models\User::all();
3- إنشاء مستخدم جديد
$user = new App\Models\User;
$user->name = 'أحمد';
$user->email = 'ahmed@example.com';
$user->password = bcrypt('password');
$user->save();
4- تنفيذ استعلامات على قاعدة البيانات
$users = DB::table('users')->where('active', 1)->get();
الاستخدام المتقدم لـ Laravel Tinker
1- تشغيل أوامر Artisan من داخل Tinker
ممكن تشغل أوامر Laravel Artisan بسهولة، زي تشغيل الـ Migrations:
Artisan::call('migrate');
2- استخدام الـ Service Container
ممكن تستدعي الخدمات داخل Laravel مباشرة:
$cache = app('cache');
3- التعامل مع العلاقات بين الموديلات
مثلاً، لو عندك علاقة بين المستخدمين والمقالات، تقدر تجيب مقالات مستخدم معين:
$user = App\Models\User::find(1);
$posts = $user->posts;
أمثلة عملية لاستخدام Tinker
1- تجربة خاصية جديدة
مثلاً، لو عايز تبعت إيميل ترحيبي لمستخدم جديد:
$user = App\Models\User::find(1);
Mail::to($user->email)->send(new App\Mail\WelcomeMail($user));
2- تصحيح الأخطاء (Debugging)
لو عندك مشكلة في بيانات مستخدم معين، ممكن تطبعها مباشرة:
$user = App\Models\User::find(1);
dd($user->toArray());
3- تحديث مجموعة بيانات
لو عايز تفعل كل المستخدمين دفعة واحدة:
App\Models\User::query()->update(['active' => 1]);
الخلاصة
Laravel Tinker أداة قوية بتسهل التعامل مع التطبيق خلال التطوير. من خلاله تقدر تكتب أكواد، تتفاعل مع قاعدة البيانات، وتختبر أي شيء بسرعة بدون الحاجة لتشغيل الموقع. سواء كنت مبتدئ أو محترف، استخدام Tinker هيحسن تجربتك في تطوير Laravel بشكل كبير!