এই বিষয়গুলো সম্পর্কে আরও বিস্তারিত জানতে কনসেপ্ট পেজ দেখুন।
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
এই অনুশীলনীতে আপনি আপনার প্রিয় রান্নার বই থেকে দুর্দান্ত একটি লাসাগনা রান্না করতে সাহায্য করার জন্য কিছু কোড লিখবেন।
আপনার পাঁচটি কাজ আছে, যেগুলোর সবটাই লাসাগনা রান্নায় ব্যয় হওয়া সময়ের সাথে সম্পর্কিত।
Lasagna ক্লাসে expectedCookTime ফাংশনটি ইমপ্লিমেন্ট করুন, যা কোনো আর্গুমেন্ট নেয় না এবং লাসাগনাটি কত মিনিট ওভেনে থাকা উচিত তা রিটার্ন করে।
রান্নার বই অনুযায়ী, ওভেনে থাকার প্রত্যাশিত সময় মিনিটে ৪০:
<?php
$timer = new Lasagna();
$timer->expectedCookTime()
// => 40
Lasagna ক্লাসে remainingCookTime ফাংশনটি ইমপ্লিমেন্ট করুন, যা আর্গুমেন্ট হিসেবে লাসাগনাটি কত মিনিট ধরে ওভেনে আছে তা নেয় এবং আগের কাজে পাওয়া ওভেনে থাকার প্রত্যাশিত সময়ের ভিত্তিতে লাসাগনাটিকে আর কত মিনিট ওভেনে থাকতে হবে তা রিটার্ন করে।
<?php
$timer = new Lasagna();
$timer->remainingCookTime(30)
// => 10
Lasagna ক্লাসে totalPreparationTime ফাংশনটি ইমপ্লিমেন্ট করুন, যা আর্গুমেন্ট হিসেবে আপনি লাসাগনায় যত স্তর যোগ করেছেন তার সংখ্যা নেয় এবং লাসাগনা প্রস্তুত করতে আপনার কত মিনিট লেগেছে তা রিটার্ন করে, ধরে নিয়ে যে প্রতিটি স্তর প্রস্তুত করতে আপনার ২ মিনিট লাগে।
<?php
$timer = new Lasagna();
$timer->totalPreparationTime(3)
// => 6
Lasagna ক্লাসে totalElapsedTime ফাংশনটি ইমপ্লিমেন্ট করুন, যা দুটি আর্গুমেন্ট নেয়: প্রথম আর্গুমেন্টটি হলো আপনি লাসাগনায় যত স্তর যোগ করেছেন তার সংখ্যা, আর দ্বিতীয় আর্গুমেন্টটি হলো লাসাগনাটি কত মিনিট ধরে ওভেনে আছে তার সংখ্যা।
ফাংশনটি রিটার্ন করবে লাসাগনা রান্নায় আপনি মোট কত মিনিট কাজ করেছেন, যা হলো প্রস্তুতির সময় (মিনিটে) আর এই মুহূর্তে লাসাগনাটি ওভেনে যত সময় (মিনিটে) কাটিয়েছে তার যোগফল।
<?php
$timer = new Lasagna();
$timer->totalElapsedTime(3, 20)
// => 26
Lasagna ক্লাসে alarm ফাংশনটি ইমপ্লিমেন্ট করুন, যা কোনো আর্গুমেন্ট নেয় না এবং লাসাগনা খাওয়ার জন্য প্রস্তুত বোঝায় এমন একটি মেসেজ রিটার্ন করে।
<?php
$timer = new Lasagna();
$timer->alarm()
// => "Ding!"
Exercism-এ সাইন আপ করুন, PHP ট্র্যাকের 11টি কনসেপ্ট122টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।