এখানে কিছু PHP প্রশ্ন এবং তাদের উত্তর বাংলা ভাষায় দেওয়া হল:
উত্তর: PHP একটি সার্ভার-সাইড স্ক্রিপ্টিং ভাষা যা মূলত ওয়েব ডেভেলপমেন্টের জন্য ব্যবহৃত হয়। এর পূর্ণরূপ হলো "Hypertext Preprocessor"। এটি ডায়নামিক ওয়েবসাইট এবং ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। PHP কোড সার্ভারে রান হয় এবং ব্যবহারকারীর ব্রাউজারে HTML আউটপুট করে।
উত্তর: PHP ফাইলের এক্সটেনশন হলো .php। যেমন: index.php
, contact.php
ইত্যাদি।
উত্তর: PHP-তে ভেরিয়েবল $
চিহ্ন দিয়ে ডিক্লেয়ার করা হয়। উদাহরণস্বরূপ:
$name = "রাকিব";
$age = ২৫;
echo
এবং print
এর মধ্যে পার্থক্য কী?উত্তর: echo
এবং print
উভয়ই আউটপুট প্রদর্শনের জন্য ব্যবহৃত হয়। echo
অনেক দ্রুত এবং একাধিক আর্গুমেন্ট নিতে পারে, কিন্তু print
একটি একক আর্গুমেন্ট গ্রহণ করে এবং সবসময় 1
রিটার্ন করে। তবে ব্যবহারিক দিক থেকে দুটো একই ধরনের কাজ করে।
echo "হ্যালো, PHP!";
print "হ্যালো, PHP!";
উত্তর: PHP তে কন্ডিশনাল স্টেটমেন্টগুলি if
, else if
, else
ইত্যাদি ব্যবহার করে লেখা হয়। উদাহরণ:
$age = ২০;
if ($age >= ১৮) {
echo "আপনি ভোট দিতে পারবেন।";
} else {
echo "আপনি এখনও ভোট দেওয়ার যোগ্য নন।";
}
উত্তর: PHP তে লুপ দিয়ে কোন কোড ব্লক বারবার চালানো হয় যতক্ষণ না নির্দিষ্ট কন্ডিশন মেট হয়। PHP-তে প্রধান চার ধরনের লুপ রয়েছে: for
, while
, do-while
, এবং foreach
।
// for লুপের উদাহরণ
for ($i = 0; $i < ৫; $i++) {
echo "সংখ্যা: $i <br>";
}
উত্তর: PHP তে ফাংশন তৈরি করতে function
কীওয়ার্ড ব্যবহার করা হয়। উদাহরণ:
function greet($name) {
return "হ্যালো, " . $name . "!";
}
echo greet("রাকিব");
include
এবং require
এর মধ্যে পার্থক্য কী?উত্তর: include
এবং require
উভয়ই বাহ্যিক ফাইলকে PHP ফাইলে যুক্ত করতে ব্যবহৃত হয়। তবে, require
ফাইলটি লোড করতে ব্যর্থ হলে একটি ফেটাল এরর প্রদর্শন করে এবং স্ক্রিপ্ট বন্ধ হয়ে যায়। অন্যদিকে, include
ফাইলটি লোড করতে ব্যর্থ হলে কেবল একটি ওয়ার্নিং দেয়, কিন্তু স্ক্রিপ্ট চালু থাকে।
include 'header.php';
require 'footer.php';
উত্তর: PHP তে কুকি সেট করতে setcookie()
ফাংশন ব্যবহার করা হয় এবং পড়তে $_COOKIE
সুপারগ্লোবাল ব্যবহার করা হয়।
// কুকি সেট করা
setcookie("user", "রাকিব", time() + (86400 * ৩০), "/");
// কুকি পড়া
if(isset($_COOKIE["user"])) {
echo "স্বাগতম " . $_COOKIE["user"];
} else {
echo "কুকি সেট করা হয়নি!";
}
উত্তর: সেশন হল PHP তে ব্যবহারকারী সম্পর্কিত ডেটা সংরক্ষণ করার একটি উপায় যা সাইটের বিভিন্ন পৃষ্ঠায় ব্যবহার করা যায়। সেশন শুরু করতে session_start()
ফাংশন ব্যবহার করা হয় এবং ডেটা সেভ করতে $_SESSION
সুপারগ্লোবাল ব্যবহার করা হয়।
// সেশন শুরু
session_start();
// সেশন ভেরিয়েবল সেট করা
$_SESSION["username"] = "রাকিব";
// সেশন ডেটা পড়া
echo "স্বাগতম " . $_SESSION["username"];
উত্তর: PHP এর পুরো নাম হলো "Hypertext Preprocessor"।
উত্তর: PHP প্রথম তৈরি করেন রাসমাস লারডর্ফ (Rasmus Lerdorf)।
উত্তর: PHP একটি সার্ভার-সাইড স্ক্রিপ্টিং ভাষা যা ওয়েব ডেভেলপমেন্টের জন্য ব্যবহৃত হয়।
উত্তর: PHP ফাইলের এক্সটেনশন .php
।
উত্তর: PHP তে ভেরিয়েবল $
চিহ্ন দিয়ে ডিক্লেয়ার করা হয়, যেমন $name = "রাকিব";
।
উত্তর: কনস্ট্যান্ট ডিফাইন করতে define()
ফাংশন ব্যবহার করা হয়। যেমন: define("SITE_NAME", "MyWebsite");
।
echo
এবং print
এর মধ্যে পার্থক্য কী?উত্তর: echo
অনেক দ্রুত এবং একাধিক আর্গুমেন্ট নিতে পারে, কিন্তু print
একটি একক আর্গুমেন্ট গ্রহণ করে।
উত্তর: প্রধান ডেটা টাইপগুলি হলো string
, integer
, float
, boolean
, array
, object
, এবং NULL
।
if-else
স্টেটমেন্ট কীভাবে কাজ করে?উত্তর: if-else
স্টেটমেন্ট কন্ডিশন চেক করে এবং সত্য হলে if
ব্লক চালায়, মিথ্যা হলে else
ব্লক চালায়।
switch
স্টেটমেন্ট কী?উত্তর: switch
স্টেটমেন্ট একাধিক কন্ডিশন চেক করে এবং নির্দিষ্ট কেসে কোড চালায়।
$color = "লাল";
switch($color) {
case "লাল":
echo "রং লাল";
break;
default:
echo "রং জানা নেই";
}
for
লুপ কী?উত্তর: for
লুপ একটি নির্দিষ্ট সংখ্যক বার কোড চালাতে ব্যবহৃত হয়। যেমন:
for ($i = 0; $i < 5; $i++) {
echo $i;
}
while
লুপ কীভাবে কাজ করে?উত্তর: while
লুপ একটি কন্ডিশন মেট না হওয়া পর্যন্ত কোড চালাতে থাকে।
$i = 0;
while ($i < 0) {
echo $i;
$i++;
}
উত্তর: অ্যারে একাধিক মান একসাথে সংরক্ষণ করতে ব্যবহার করা হয়।
$fruits = array("আপেল", "কমলা", "কলা");
উত্তর: অ্যাসোসিয়েটিভ অ্যারে কীগুলির মাধ্যমে মান অ্যাক্সেস করা যায়।
$ages = array("রাকিব" => ২৫, "মাহি" => ২২);
foreach
লুপ কী?উত্তর: foreach
লুপ অ্যারেগুলির প্রতিটি উপাদান নিয়ে কাজ করে।
$colors = array("লাল", "সবুজ", "নীল");
foreach ($colors as $color) {
echo $color;
}
উত্তর: function
কীওয়ার্ড দিয়ে ফাংশন তৈরি করা হয়।
function greet($name) {
return "স্বাগতম, " . $name;
}
include
এবং require
এর পার্থক্য কী?উত্তর: require
ফাইল লোড করতে ব্যর্থ হলে ফেটাল এরর দেয়, কিন্তু include
ওয়ার্নিং দেয়।
উত্তর: setcookie()
ফাংশন দিয়ে কুকি সেট করা যায়।
setcookie("user", "রাকিব", time() + (৮৬৪০০ * ৩০), "/");
উত্তর: সেশন হলো ব্যবহারকারীর তথ্য সংরক্ষণের একটি পদ্ধতি যা সাইটের বিভিন্ন পেজে ব্যবহার করা যায়।
উত্তর: সেশন শুরু করতে session_start()
ফাংশন ব্যবহার করা হয়।
_POST
সুপারগ্লোবাল কী?উত্তর: _POST
ফর্ম থেকে ডেটা সংগ্রহ করতে ব্যবহৃত হয় যা POST
মেথডে সাবমিট করা হয়েছে।
উত্তর: MySQL ডাটাবেসে কানেক্ট করতে mysqli_connect()
ফাংশন ব্যবহার করা হয়।
$conn = mysqli_connect("localhost", "root", "", "myDatabase");
উত্তর: mysqli_query()
ফাংশন দিয়ে ডেটা পড়া যায়।
উত্তর: PDO (PHP Data Objects) একটি ডেটাবেস অ্যাবস্ট্রাকশন লেয়ার যা একাধিক ডেটাবেসকে সমর্থন করে।
isset()
এবং empty()
এর মধ্যে পার্থক্য কী?উত্তর: isset()
চেক করে ভেরিয়েবলটি সেট করা আছে কিনা, আর empty()
চেক করে ভেরিয়েবলটি খালি কিনা।
উত্তর: স্ট্রিং যোগ করতে .
অপারেটর ব্যবহার করা হয়।
trim()
ফাংশন কী?উত্তর: trim()
ফাংশন স্ট্রিংয়ের শুরু এবং শেষে থাকা অতিরিক্ত স্পেস অপসারণ করে।
explode()
কী করে?উত্তর: explode()
একটি স্ট্রিংকে অ্যারেতে ভাগ করে।
$str = "আম, কাঁঠাল, লিচু";
$fruits = explode(", ", $str);
উত্তর: defined()
ফাংশন দিয়ে চেক করা যায় যে একটি কনস্ট্যান্ট ডিফাইন করা আছে কিনা।
header()
ফাংশনের কাজ কী?উত্তর: header()
ফাংশন HTTP হেডার প্রেরণ করতে ব্যবহৃত হয়। এটি রিডাইরেকশন, কুকি সেট, ক্যাশিং ইত্যাদির জন্য ব্যবহৃত হয়।
header("Location: newpage.php");
উত্তর: PHP ভেরিয়েবল নামের ক্ষেত্রে কেস-সেনসিটিভ। তবে ফাংশন নাম ও কীওয়ার্ড কেস-সেনসিটিভ নয়।
উত্তর: phpinfo()
ফাংশন ব্যবহার করে PHP এর সংস্করণ চেক করা যায়।
$a = 5;
এবং $b = "5";
। $a == $b
এবং $a === $b
এর মধ্যে পার্থক্য কী?উত্তর: $a == $b
ডেটা টাইপ না দেখে শুধুমাত্র মান তুলনা করে, কিন্তু $a === $b
টাইপ সহ মানও চেক করে।
উত্তর: NULL
মানে কোনও ভেরিয়েবলে কোনো মান নেই।
উত্তর: str_replace()
ফাংশন ব্যবহার করা হয় স্ট্রিং পরিবর্তন করতে।
উত্তর: move_uploaded_file()
ফাংশন ফাইল আপলোড করার জন্য ব্যবহৃত হয়।
উত্তর: fread()
এবং file_get_contents()
ফাংশন ফাইল পড়ার জন্য ব্যবহার করা হয়।
উত্তর: PDO একাধিক ডাটাবেস সমর্থন করে; mysqli কেবল MySQL কে সমর্থন করে।
$GLOBALS
সুপারগ্লোবাল কী?উত্তর: $GLOBALS
সুপারগ্লোবাল সমস্ত গ্লোবাল ভেরিয়েবলের অ্যারে সংরক্ষণ করে।
উত্তর: ini_set('memory_limit', '256M');
ফাংশন দিয়ে মেমরি লিমিট সেট করা যায়।
উত্তর: date_default_timezone_set()
ফাংশন ব্যবহার করা হয়।
উত্তর: array_push()
, array_pop()
, array_merge()
ইত্যাদি।
উত্তর: array_pop()
ফাংশন ব্যবহার করা হয়।
উত্তর: json_encode()
ফাংশন ব্যবহার করে ডেটা JSON ফর্ম্যাটে রূপান্তর করা যায়।
উত্তর: unlink()
ফাংশন দিয়ে ফাইল মুছে ফেলা হয়।
উত্তর: class
কীওয়ার্ড ব্যবহার করে ক্লাস ডিফাইন করা হয়।
class MyClass { /* কোড */ }
উত্তর: new
কীওয়ার্ড ব্যবহার করে অবজেক্ট তৈরি করা হয়।
$obj = new MyClass();
__construct()
কী?উত্তর: __construct()
হল কনস্ট্রাক্টর ফাংশন যা অবজেক্ট তৈরি হওয়ার সময় স্বয়ংক্রিয়ভাবে চালিত হয়।
উত্তর: Encapsulation, Inheritance, Polymorphism।
interface
কী?উত্তর: interface
একটি পদ্ধতি যেখানে ক্লাসে মেথড ডিফাইন করা হয়, কিন্তু এর মধ্যে কোনো ইমপ্লিমেন্টেশন থাকে না।
interface
তৈরি করবেন?উত্তর: interface
কীওয়ার্ড ব্যবহার করে তৈরি করা হয়।
interface MyInterface { /* মেথড ডিক্লারেশন */ }
abstract class
এবং interface
এর মধ্যে পার্থক্য কী?উত্তর: abstract class
এ কিছু মেথড ইমপ্লিমেন্ট করা যেতে পারে, কিন্তু interface
এ সম্ভব নয়।
উত্তর: return
কীওয়ার্ড ব্যবহার করা হয়।
function myFunc() { return "হ্যালো"; }
উত্তর: error_reporting()
, ini_set()
ফাংশন দিয়ে ম্যানেজ করা যায়।
উত্তর: GD লাইব্রেরি ইমেজ তৈরি করতে ব্যবহৃত হয়।
উত্তর: হ্যাঁ, SimpleXML এবং DOMDocument ব্যবহার করা যায়।
উত্তর: //
বা /* */
দিয়ে কমেন্ট লেখা যায়।
উত্তর: এটি সেশন সম্পূর্ণরূপে মুছে ফেলে।
cookie
এবং session
এর মধ্যে পার্থক্য কী?উত্তর: cookie
ব্রাউজারে সংরক্ষিত হয় এবং session
সার্ভারে সংরক্ষিত হয়।
উত্তর: define()
।
উত্তর: mail()
ফাংশন।
isset()
এবং empty()
এর মধ্যে পার্থক্য কী?উত্তর: isset()
চেক করে ভেরিয়েবল সেট করা আছে কিনা, এবং empty()
চেক করে ভেরিয়েবলটি ফাঁকা কিনা।
উত্তর: filter_var()
।
উত্তর: strrev()
ফাংশন।
উত্তর: অবজেক্ট তৈরি করে অ্যাক্সেস করা হয়।
$obj->methodName();
উত্তর: ক্লোজার হলো একটি অ্যানোনিমাস ফাংশন যা বাহ্যিক ভেরিয়েবল অ্যাক্সেস করতে পারে।
উত্তর: clone
কীওয়ার্ড।
উত্তর: self::
দিয়ে।
const
এবং define()
এর মধ্যে পার্থক্য কী?উত্তর: const
কেবল ক্লাসের মধ্যে ব্যবহার করা যায়, কিন্তু define()
যেকোনো স্থানে।
উত্তর: DOM HTML এবং XML ডকুমেন্ট পার্স করতে ব্যবহার করা হয়।
উত্তর: +
, -
, *
, /
, %
।
উত্তর: .
অপারেটর ব্যবহার করা হয়।
উত্তর: PHP তে সাধারণত কাস্টম ক্লাস এবং ফাংশন ব্যবহার করে মডিউল তৈরি করা হয়।
উত্তর: .
অপারেটর দিয়ে।
উত্তর: (int)
, (float)
, (string)
এর মত অপারেটর দিয়ে।
উত্তর: হ্যাঁ, মাল্টি-লাইন কমেন্ট করতে /* */
ব্যবহার করা হয়। উদাহরণ:
/*
এটি একটি
মাল্টি-লাইন কমেন্ট
*/
উত্তর: ইনপুট ফিল্টারিং করা হয় অপ্রয়োজনীয় বা ক্ষতিকর ডেটা থেকে রক্ষা করার জন্য। উদাহরণ:
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
উত্তর: session_start()
ফাংশন ব্যবহার করে সেশন শুরু করা হয়।
session_start();
$_SESSION['username'] = "রাকিব";
উত্তর: define()
ফাংশন ব্যবহার করে কনস্ট্যান্ট ডিফাইন করা হয়।
define("SITE_NAME", "আমার ওয়েবসাইট");
include
এবং include_once
এর মধ্যে পার্থক্য কী?উত্তর: include_once
শুধুমাত্র একবার ফাইল অন্তর্ভুক্ত করে, কিন্তু include
একাধিকবার অন্তর্ভুক্ত করতে পারে।
উত্তর: PHP তে অ্যারে ম্যানিপুলেট করতে array_push()
, array_pop()
, array_merge()
, array_shift()
ইত্যাদি ফাংশন ব্যবহার করা হয়।
উত্তর: time()
ফাংশন ব্যবহার করে বর্তমান টাইমস্ট্যাম্প পাওয়া যায়।
উত্তর: স্ট্যাটিক মেথড হল এমন মেথড যা ক্লাসের অবজেক্ট ছাড়াই সরাসরি অ্যাক্সেস করা যায়। উদাহরণ:
class MyClass {
public static function sayHello() {
return "Hello";
}
}
echo MyClass::sayHello();
উত্তর: ফাংশনে ডিফল্ট প্যারামিটার সরাসরি সেট করা যায়। উদাহরণ:
function greet($name = "Guest") {
return "স্বাগতম, " . $name;
}
উত্তর: জেনারেটর একটি মেমরি-দক্ষ উপায়ে ডেটা প্রক্রিয়া করে yield
কীওয়ার্ড ব্যবহার করে।
function numbers() {
yield 1;
yield 2;
yield 3;
}
foreach (numbers() as $number) {
echo $number;
}
$this
কীওয়ার্ড কী?উত্তর: $this
হল একটি রেফারেন্স যা ক্লাসের বর্তমান অবজেক্ট নির্দেশ করে।
উত্তর: extends
কীওয়ার্ড ব্যবহার করে একটি ক্লাস ইনহেরিট করা যায়।
class ParentClass {}
class ChildClass extends ParentClass {}
উত্তর: clone
কীওয়ার্ড ব্যবহার করে অবজেক্ট কপি করা হয়।
$copy = clone $originalObject;
উত্তর: sprintf()
ফাংশন ব্যবহার করে স্ট্রিং ফর্ম্যাট করা হয়।
$price = 50;
echo sprintf("Total price: $%.2f", $price);
sleep()
ফাংশনের কাজ কী?উত্তর: sleep()
ফাংশন নির্দিষ্ট সময়ের জন্য স্ক্রিপ্টের এক্সিকিউশন থামিয়ে রাখে।
trait
ব্যবহার করা হয়?উত্তর: trait
একই কোড পুনঃব্যবহার করতে ক্লাসের মধ্যে যুক্ত করা হয়।
trait MyTrait {
public function sayHello() {
echo "Hello!";
}
}
class MyClass {
use MyTrait;
}
$obj = new MyClass();
$obj->sayHello();