لمزيد من المعلومات التفصيلية حول هذه الموضوعات، زُر صفحة المفهوم.
وسم فتح PHP <?php يحدد بداية كود PHP.
يجب أن تنتهي كل عبارة بـ ; لفصل التعليمات.
<?php
$message = "Success!"; // Statement correctly ends with `;`
$message = "I fail." // PHP Parse error: syntax error, [...]
لسهولة القراءة، تُغفل جميع أمثلة الكود وسم فتح PHP <?php.
تبدأ التعليقات أحادية السطر بـ //.
// Single line comment
باستخدام عامل الإسناد =، يمكن إسناد قيمة إلى متغير.
يجب أن تبدأ أسماء المتغيرات بعلامة الدولار $ وأن تتبع اصطلاحات التسمية.
$count = 1; // Assign value of 1
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
يمكن تمرير القيم والمتغيرات إلى الدوال.
تصبح وسائط الدالة متغيرات جديدة تحمل القيم الممرَّرة.
يمكن للدوال إرجاع أي قيمة باستخدام الكلمة المفتاحية return.
function window_height($height)
{
return $height + 10;
}
window_height(100);
// => 110
تُسمّى الدوال الموجودة داخل الأصناف ونُسخها طرقًا.
لاستدعاء طريقة، تُسبق باسمها النسخة و->.
يمكن للطرق الوصول إلى المتغير الخاص $this، الذي يشير إلى النسخة الحالية.
<?php
class Calculator {
public function sub($x, $y)
{
return $this->add($x, -$y); // Calls the method add() of the current instance
}
public function add($x, $y)
{
return $x + $y;
}
}
$calculator = new Calculator(); // Creates a new instance of Calculator class
$calculator->sub(3, 1); // Calls the method sub() of the instance stored in $calculator
// => 2
في هذا التمرين ستكتب بعض الكود لمساعدتك في طهي لازانيا رائعة من كتاب الطبخ المفضل لديك.
لديك خمس مهام، كلها متعلقة بالوقت الذي تقضيه في طهي اللازانيا.
نفّذ الدالة expectedCookTime في الصنف Lasagna، وهي لا تأخذ أي وسائط وتُرجع عدد الدقائق التي ينبغي أن تبقى فيها اللازانيا في الفرن.
وفقًا لكتاب الطبخ، الزمن المتوقع للطهي في الفرن بالدقائق هو 40:
<?php
$timer = new Lasagna();
$timer->expectedCookTime()
// => 40
نفّذ الدالة remainingCookTime في الصنف Lasagna، وهي تأخذ عدد الدقائق الفعلي الذي أمضته اللازانيا في الفرن كوسيط، وتُرجع عدد الدقائق التي يجب أن تبقى فيها اللازانيا في الفرن، استنادًا إلى الزمن المتوقع للطهي في الفرن بالدقائق من المهمة السابقة.
<?php
$timer = new Lasagna();
$timer->remainingCookTime(30)
// => 10
نفّذ الدالة totalPreparationTime في الصنف Lasagna، وهي تأخذ عدد الطبقات التي أضفتها إلى اللازانيا كوسيط، وتُرجع عدد الدقائق التي أمضيتها في تحضير اللازانيا، بافتراض أن كل طبقة تستغرق 2 دقيقة لتحضيرها.
<?php
$timer = new Lasagna();
$timer->totalPreparationTime(3)
// => 6
نفّذ الدالة totalElapsedTime في الصنف Lasagna، وهي تأخذ وسيطين: الوسيط الأول هو عدد الطبقات التي أضفتها إلى اللازانيا، والوسيط الثاني هو عدد الدقائق التي أمضتها اللازانيا في الفرن.
ينبغي أن تُرجع الدالة مجموع الدقائق التي عملتها في طهي اللازانيا، وهو مجموع زمن التحضير بالدقائق، والزمن بالدقائق الذي أمضته اللازانيا في الفرن في تلك اللحظة.
<?php
$timer = new Lasagna();
$timer->totalElapsedTime(3, 20)
// => 26
نفّذ الدالة alarm في الصنف Lasagna، وهي لا تأخذ أي وسائط وتُرجع رسالة تشير إلى أن اللازانيا جاهزة للأكل.
<?php
$timer = new Lasagna();
$timer->alarm()
// => "Ding!"
سجّل في Exercism لتتعلّم وتتقن PHP عبر 11 مفهومًا122 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.