افتح مجلدًا فارغًا
أنشئ مجلدًا للمشروع، واختره مجلد عمل للمحادثة، وحدد Ask first قبل أن تكتب طلبك.
يصبح درس PHP OOP أوضح حين يكون الصنف من تأليفك، لذا السيناريو هنا صنف Product له اسم وسعر ودالة تعيد وصفًا. يزداد منحنى تعلّم PHP حدّة عند ظهور الأصناف، ويبقيه ملف واحد وخطوات صغيرة قابلًا للإدارة. شغّله بعد كل تغيير.
أنشئ مجلدًا للمشروع، واختره مجلد عمل للمحادثة، وحدد Ask first قبل أن تكتب طلبك.
اطلب Product.php باسم وسعر خاصين ودالة بانية ودالة تعيد وصفًا.
افتح البطاقة واقرأ الملف أو الـ diff. يتوقف Ask first قبل حفظ أي شيء، فيمكنك رفضه.
يشغّل Shell الأمر php Product.php ويطبع المخرجات الحقيقية؛ قارن الأوصاف المطبوعة بما توقعته.
.فارغProduct.phpتم الحفظphp -l Product.phpexit 0php Product.phpexit 0<?php
// Add up the minutes in a small daily practice plan.
declare(strict_types=1);
$minutes = ['read' => 20, 'type' => 25, 'review' => 10];
foreach ($minutes as $task => $amount) {
echo "$task: $amount minutes\n";
}
echo 'Total: ' . array_sum($minutes) . " minutes\n";totals.php تمرين إحماء منفصل. يخزّن ثلاثة أزمنة في مصفوفة ترابطية، ويطبع كلًا منها بـ foreach ويجمعها بـ array_sum، فاقرأه قبل أن تكتب الصنف.
بعد أن يعمل Product.php، اطلب دالة تطبّق خصمًا على السعر وتعيد القيمة الجديدة بنوع float. يعدّل edit_file الصنف الموجود ويعرض التعديل على هيئة diff، فترى بالضبط أي الأسطر أُضيفت قبل أن تقبلها في وضع Ask first. أبقِ declare(strict_types=1) في الأعلى وأعطِ الدالة نوع إرجاع، لأن الأنواع الصارمة تجعل الوسيط الخاطئ يفشل بوضوح بدل أن يُحوَّل بصمت. تشرح المصادر المتعمقة عن أساسيات PHP، مثل دليل PHP، أنواع الإرجاع والأنواع الصارمة بالتفصيل. بعد ذلك يشغّل Shell الأمرين php -l Product.php وphp Product.php. النتيجة حقيقية. اطبع السعر القديم والجديد بنفسك وتحقق من الحساب يدويًا قبل أن تثق بالدالة.
إذا كنت تعرف HTML وCSS وتتساءل هل تتعلم PHP أم JavaScript بعدهما، فهذه الجلسة تُريك النصف الخاص بالخادم: يعمل PHP على الخادم، بينما تصادف JavaScript عادةً في المتصفح. اطلب صفحة نموذج اتصال تعرض رسالة شكر فقط مع اسم المرسل بعد تهريبه عبر htmlspecialchars. يحفظها write_file، ويشغّل Shell الأمر php -l عليها، وتشغّل php -S localhost:8000 في طرفيتك الخاصة للاختبار المحلي فقط. افتح الصفحة. أرسل اسمًا. اقرأ كل diff في وضع Ask first، واختبر الصفحة بنفسك قبل أن تقبل التغيير التالي.