ট্র্যাক
/
PHP
PHP
/
সিলেবাস
/
মৌলিক বিষয়
মৌ

মৌলিক বিষয় মধ্যে PHP

১টি অনুশীলনী

মৌলিক বিষয় সম্পর্কে

সাধারণ সিনট্যাক্স

PHP একটি ইন্টারপ্রেটেড ভাষা, অর্থাৎ এটি আপনার লেখা কোড সরাসরি চালায়। PHP কোড ফাইল হলো টেক্সট ফাইল, যাতে PHP কোডের শুরু বোঝাতে <?php ওপেনিং ট্যাগটি থাকে। ফাইলে যদি শুধু PHP কোড থাকে, তাহলে PHP কোডের শেষ বোঝাতে ব্যবহৃত ক্লোজিং ট্যাগ ?> বাদ দেওয়া সম্ভব। PHP ট্যাগ সম্পর্কে আরও জানতে PHP ট্যাগ ডকুমেন্টেশন দেখুন।

<?php

// All PHP code goes here

// No closing tag required at the end

সহজে পড়ার জন্য সব কোড উদাহরণে PHP ওপেনিং ট্যাগ <?php বাদ দেওয়া হয়েছে। তবে সব PHP অনুশীলনীতে এটি দেওয়া আছে, তাই আপনাকে নিজে এটি যোগ করতে হবে না।

সব স্টেটমেন্ট, যেমন অ্যাসাইনমেন্ট বা ফাংশন কল, নির্দেশ আলাদা করার জন্য ; দিয়ে শেষ হতে হবে। ; বাদ দেওয়া (যেমন JavaScript-এ করা হয়) অনুমোদিত নয় এবং এতে সিনট্যাক্স এরর হয়। PHP ডকুমেন্টেশন থেকে নির্দেশ পৃথকীকরণ সম্পর্কে আরও জানুন।

$message = "Success!"; // Statement correctly ends with `;`
$message = "I know JavaScript." // PHP Parse error: syntax error, [...]

মান ও ভ্যারিয়েবল

PHP একটি ডাইনামিক টাইপের প্রোগ্রামিং ভাষা। মানের টাইপ কেবল প্রোগ্রাম চলার সময়ই যাচাই করা হয়। অ্যাসাইনমেন্ট = অপারেটর ব্যবহার করে যেকোনো মানের টাইপ যেকোনো ভ্যারিয়েবল নামে অ্যাসাইন করা যায়। ভ্যারিয়েবল নাম অবশ্যই ডলার $ চিহ্ন দিয়ে শুরু হতে হবে। ভ্যারিয়েবল সম্পর্কে আরও গভীরে জানতে PHP ভ্যারিয়েবল ডকুমেন্টেশন দেখুন।

$count = 1; // Assign an integer value of 1
$count = 2; // Re-assign a new value to the variable

$count = false; // You may assign any value type

// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";

ফাংশন ও মেথড

লিটারেল মান এবং ভ্যারিয়েবলে সংরক্ষিত মান ফাংশনে পাঠানো যায়। ফাংশনের প্যারামিটার ডিফাইন করার সময় পাঠানো মান ধরে রাখতে নতুন ভ্যারিয়েবল তৈরি হয়।

// Declare the window_width function
function window_width($width)
{
    echo $width; // Access the value passed into the function as $width
    // ...
}

window_width(100); // Call the function with the literal value 100

$newWidth = 100;
window_width($newWidth); // Call the function with the value stored in $newWidth

ফাংশন return কিওয়ার্ড ব্যবহার করে মান রিটার্ন করতে পারে। রিটার্ন করার মান লিটারেল হতে পারে, ভ্যারিয়েবলে সংরক্ষিত হতে পারে, কিংবা কোনো নির্দেশের ফলাফল হতে পারে।

function window_height()
{
    $heightOffset = 10;

    return 100 + $heightOffset;
}

ক্লাসের ভেতরের ফাংশন এবং তাদের ইনস্ট্যান্সকে মেথড বলা হয়। একটি মেথড কল করতে হলে নামের আগে ইনস্ট্যান্স ও -> বসাতে হয়। new অপারেশন দিয়ে একটি ক্লাস ইনস্ট্যান্স তৈরি হয়। মেথডগুলো বিশেষ ভ্যারিয়েবল $this ব্যবহার করতে পারে, যা বর্তমান ইনস্ট্যান্সকে বোঝায়।

<?php
// Calculator.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

পরের অনুশীলনীগুলোতে আমরা ফাংশন ও ক্লাস নিয়ে আরও গভীরে যাব।

সহজ ডিবাগিং

ডিবাগিংয়ের একটি প্রাথমিক উপায় হিসেবে ভ্যারিয়েবলের মান ও তার ভেতরের বিষয়বস্তু প্রিন্ট করলে কী ঘটছে তা বুঝতে সুবিধা হয়। PHP নিচের উপায়ে মান প্রিন্ট করতে পারে:

  • echo $variable; দিয়ে মানের একটি স্ট্রিং রূপ আউটপুট দেওয়া যায়
  • print $variable;, যা echo $variable;-এর মতোই কাজ করে
  • var_dump($variable); দিয়ে মান সম্পর্কে আরও বিস্তারিত জানা যায়, যেমন PHP যে টাইপ দেখে

echo বা print ব্যবহার করলে: খালি স্ট্রিং, false এবং null দেখা যাবে না। আর ক্লাস ও ইনস্ট্যান্স দিলে এরা এরর দেবে। এগুলো দেখতে var_dump() ব্যবহার করুন।

অনলাইন এডিটরে আপনার তৈরি আউটপুট টেস্টের ফলাফলের সাথে দেখানো হয়। আর CLI ব্যবহার করলে, টেস্টের সারসংক্ষেপের আগে প্রোগ্রেস ইন্ডিকেটরের সাথে মিশে আউটপুট দেখা যায়।

কোড সংগঠন

PHP এবং আরও অনেক ভাষায় ফাইল হলো কোড সংগঠনের মৌলিক একক। কোড ব্লকে দেখতে হবে এমন ফাইলের নাম বোঝাতে আমরা একটি মন্তব্য ব্যবহার করি। আপনাকে কখনোই আপনার ফাইলে এমন মন্তব্য যোগ করতে হবে না:

<?php
// NameOfPhpFile.php

[...]

কোড, ফাংশন ও ক্লাস সবই একটি ফাইলে থাকতে পারে। তবে সাধারণত এ ধরনের কোড একক আলাদা আলাদা ফাইলে থাকে।

প্রতিটি ফাইলে একটি ক্লাস রাখা এবং ফাইলের নাম ক্লাসের সাথে মিলিয়ে রাখা কমন প্র্যাকটিস।

<?php
// Calculator.php

class Calculator {
    // ...

    function add($x, $y)
    {
        return $x + $y;
    }
}

ফাংশনগুলো সাধারণত তাদের কমন বিষয় বর্ণনা করে এমন ফাইলে একসাথে রাখা হয়।

<?php
// window_handling.php

function window_paint()
{
    // ...
}

function window_size($width, $height)
{
    // ...
}

function window_move($x, $y)
{
    // ...
}

আর প্রায়ই এমন ফাইল থাকে যেগুলোতে সরাসরি চালানোর জন্য স্টেটমেন্ট থাকে, যেমন একটি index.php, যা সাধারণত ওয়েব অ্যাপ্লিকেশনের এন্ট্রিপয়েন্ট হিসেবে ব্যবহৃত হয়।

<?php
// index.php

$sum = add(1, 2);
// ...

নামকরণের নিয়ম

ক্লাসের নাম সবই PascalCase হওয়া উচিত। স্টাইল স্ট্যান্ডার্ডের উপর নির্ভর করে ভ্যারিয়েবল, ফাংশন ও মেথডের নাম camelCase বা snake_case যেকোনো একটি হতে পারে। নামে অক্ষর a-zA-Z, সংখ্যা 0-9 এবং আন্ডারস্কোর _ থাকতে পারে, কিন্তু নাম কোনো সংখ্যা দিয়ে শুরু হতে পারবে না।

মন্তব্য

এক লাইনের মন্তব্য // দিয়ে শুরু হয়, আর /* ও */ দিয়ে টেক্সটের একটি অংশ মুড়ে দিলে তা বহু-লাইনের মন্তব্য হয়ে যায়।

// Single-line comment

/*
  Multi-line comment
*/
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

মৌলিক বিষয় শিখুন