পিএইচপি এসকিউএল ওয়ার্ডপ্রেস জাভাস্ক্রিপ্ট জেকুয়েরি এইচটিএমএল
লগইন
×

পিএইচপি টিউটোরিয়াল

হোম-HOME ইনস্টল-Install গঠনপ্রনালী-Syntax চলক-Variable পিএইচপি Echo / Print তথ্যের ধরণ-Data Types কনস্ট্যান্ট-Constant অপারেটর-Operator ফাংশন-Function সুপারগ্লোভাল-Superglobal

কন্ট্রোল স্টেটমেন্ট

if স্টেটমেন্ট if...Else স্টেটমেন্ট Switch স্টেটমেন্ট While লুপ DO...While লুপ For লুপ

পিএইচপি এ্যারে এবং স্ট্রিং

এ্যারে-Array এ্যারে সর্টিং -Array Sorting মাল্টি এ্যারে-Multi Array স্ট্রিং-String

পিএইচপি এডভান্স

তারিখ এবং সময় পিএইচপি include ফাইল হ্যান্ডলিং-File Handling ফাইল খোলা/পড়া ফাইল তৈরি/লিখা ফাইল আপলোড কুকি-Cookie সেশন-Session ফিল্টার-Filter এডভান্স ফিল্টার-Advance Filter এঁরর হ্যান্ডলিং-Error Handling এক্সেপশন হ্যান্ডেলিং-Exception Handling

পিএইচপি ফরম

ফরম হ্যান্ডলিং ফরম ভ্যালিডেশন আবশ্যক ফরম ফিল্ড ফরম URL/E-mail সম্পূর্ণ ফরম

MySQL ডেটাবেজ

MySQL ডেটাবেজ MySQL ডেটাবেজ সংযোগ MySQL ডেটাবেজ তৈরী MySQL টেবিল তৈরী MySQL তথ্য ইনসার্ট MySQL শেষ আইডি পান MySQL একাধিক তথ্য ইনসার্ট MySQL প্রিপেয়ার্ড স্টেটমেন্ট MySQL তথ্য সিলেক্ট MySQL তথ্য ডিলিট MySQL তথ্য আপডেট MySQL সীমিত তথ্য সিলেক্ট

পিএইচপি- এক্সএমএল

PHP XML Parser PHP SimpleXML Parser PHP XML Parser PHP SimpleXML - Get PHP XML Expat PHP XML Dom

পিএইচপি - এজাক্স

পিএইচপি AJAX পরিচিতি AJAX পিএইচপি AJAX ডেটাবেজ AJAX এক্সএমএল AJAX সারাসরি সার্চ AJAX RSS রির্ডার AJAX Poll

পিএইচপি অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং(OOP)

OOP পরিচিতি OOP class তৈরী OOP objects তৈরী OOP $this কিওয়ার্ড OOP মেথড এবং প্রোপার্টি চেইনিং OOP অ্যাক্সেস মোডিফায়ার OOP ম্যাজিক মেথড এবং কন্সটেন্ট OOP ইনহেরিটেন্স OOP Abstract class এবং method OOP ইন্টারফেস OOP পলিমরফিজম OOP টাইপ হিন্টিং() OOP টাইপ হিন্টিনং ইন্টারফেস OOP স্ট্যাটিক মেথোড এবং প্রোপার্টি

পিএইচপি - রেফারেন্স

Array ফাংশন Calendar ফাংশন date/time ফাংশন Directory ফাংশন Error ফাংশন Filesystem ফাংশন Filter ফাংশন FTP ফাংশন HTTP ফাংশন libxml ফাংশন Mail ফাংশন Math ফাংশন Misc. ফাংশন MySQLi ফাংশন SimpleXML ফাংশন String ফাংশন XML Parser ফাংশন Zip File ফাংশন টাইমজোন Timezones
 

পিএইচপি অবজেক্ট


অবজেক্ট হলো class কর্তৃক সঙ্গায়িত ডেটা স্ট্রাকচার এর বিশেষ এক নিদর্শন(instance)। আপনি একটি ক্লাস(Class) একবার ডিফাইন করে এর অন্তর্গত অসংখ্য অবজেক্ট(Object) তৈরি করতে পারেন।


অবজেক্ট কি?

প্রসিডিউরাল(procedural) প্রোগ্রামিং স্টাইলে সকল ফাংশন এবং ভ্যারিয়েবলগুলো একত্রে গ্লোবাল স্কোপ((global scope) এর মধ্যে থাকে। এগুলোকে ব্যবহার করতে হলে শুধুমাত্র এদের নাম ধরে ডাকলেই হয়।

কিন্তু যখন আপনি ক্লাস ব্যবহার করবেন তখন ক্লাসের কোডসমুহ ক্লাসের বাইরের আলো বাতাস থেকে মুক্ত থাকে, অর্থাৎ অদৃশ্য অবস্থায় থাকে। তাই আপনি ক্লাসের কোডসমূহকে যখন-তখন অ্যাক্সেস করতে পারবেন না। কারণ ক্লাসের মধ্যে অবস্থিত কোডসমূহ ক্লাস স্কোপ দ্বারা এনক্যাপসুলেটেড(encapsulated) বা সুরক্ষিত হয়। এমতাবস্থায় ক্লাস এর কোডসমূহ অ্যাক্সেস করার একটি উপায় তো লাগবেই। আর এই উপায়টিই হলো ক্লাসের অবজেক্ট তৈরি।

আমরা একটি ক্লাস থেকে একাধিক অবজেক্ট তৈরি করতে পারি এবং অবজেক্টগুলো ক্লাসের প্রোপার্টি এবং মেথডসমূহকে অ্যাক্সেস(access) করতে পারে। ক্লাস থেকে তৈরি প্রতিটি অবজেক্ট একই প্রোপার্টি এবং মেথড ব্যবহার করলেও তাদের ভ্যালুসমূহ যথাক্রমে ভিন্ন হয়ে থাকে।

Objects and classes in object oriented PHP

উপরের ছবিটি লক্ষ্য করুন, এখানে একটি ক্লাস থেকে কয়েকটি ভিন্ন মানের অবজেক্ট তৈরি করা হয়েছে।


অবজেক্টের মাধ্যমে প্রোপার্টি অ্যাক্সেস?

আপনি যদি ক্লাস এর প্রোপার্টিকে এক্সেস করতে চান তাহলে অবজেক্ট দ্বারা ঐ ক্লাসের অন্তর্গত প্রোপার্টি(property) গুলোকে অ্যাক্সেস করতে হবে। সুতরাং কোনো ক্লাস এর প্রোপার্টিকে অ্যাক্সেস করার জন্য প্রথমেই ঐ ক্লাসের একটি অবজেক্ট তৈরি করে নিতে হবে। তারপর ঐ অবজেক্টের নাম লিখে এবং এর ডানপাশে প্রোপার্টি এক্সেস(->) অপারেটর ব্যবহার করে প্রোপার্টি এক্সেস করা যাবে।

উদাহরণ
<?php
	class Greeting{

	    public $welcomeMsg = "Welcome Guest<br>";

	}
    // Greeting ক্লাসের অবজেক্ট তৈরি
	$greeting = new Greeting();
	$message = new Greeting();
    // অবজেক্টের মাধ্যমে প্রোপার্টি অ্যাক্সেস
    echo $greeting->welcomeMsg;
    echo $message->welcomeMsg;

?>

ফলাফল
Welcome Guest
Welcome Guest
সতর্কতাঃ ক্লাসের প্রোপার্টিকে অবজেক্টের মাধ্যমে অ্যাক্সেস করার সময় প্রোপার্টির নামের পূর্বে ডলার($) চিহ্ন ব্যবহার করে যাবে না!

অবজেক্টের মাধ্যমে প্রোপার্টি সেট?

আমরা অবজেক্টের মাধ্যমে একটি ক্লাসের প্রোপার্টির মান সেট করতে পারি। যে প্রক্রিয়ায় আমরা ক্লাস থেকে অবজেক্টের মাধ্যমে প্রোপার্টিকে অ্যাক্সেস করেছি ঠিক একই প্রক্রিয়ায় আমরা অবজেক্টের মাধ্যমে একটি ক্লাসের প্রোপার্টির ভ্যালুও সেট করতে পারি।

সুতরাং আমরা অবজেক্টের মাধ্যমে ক্লাস এর প্রোপার্টিকে অ্যাক্সেস করে এবং অ্যাসাইনমেন্ট(=) অপারেটর ব্যবহার করে ক্লাসের প্রোপার্টিতে ভ্যালু সেট করতে পারবোঃ

উদাহরণ
<?php
	class Greeting{

	    public $welcomeMsg = "Welcome Guest<br>";

	}
    // Greeting ক্লাসের অবজেক্ট তৈরি
	$greeting = new Greeting();
	$message = new Greeting();

    echo $greeting->welcomeMsg;
    // অবজেক্টের মাধ্যমে প্রোপার্টির ভ্যালু সেট
    $message->welcomeMsg = "Bye Guest";
    echo $message->welcomeMsg;

?>

ফলাফল
Welcome Guest
Bye Guest
সতর্কতাঃ ক্লাসের প্রোপার্টিকে অবজেক্টের মাধ্যমে অ্যাক্সেস করার সময় প্রোপার্টির নামের পূর্বে ডলার($) চিহ্ন দেওয়া যাবে না।

অবজেক্টের মাধ্যমে মেথড অ্যাক্সেস?

আমরা অবজেক্টের মাধ্যমে একটি ক্লাসের অন্তর্গত মেথডসমূহকে অ্যাক্সেস করতে পারি। প্রোপার্টি অ্যাক্সেস এর ন্যায় ক্লাস থেকে মেথড অ্যাক্সেস করার জন্যও প্রথমে আমরা ঐ ক্লাসের অবজেক্ট তৈরি করে নেব।

তারপর ঐ অবজেক্টের নাম লিখে এবং এর ডান পাশে প্রোপার্টি অ্যাক্সেস(->) অপারেটর ব্যবহার করে মেথডের নাম লিখে প্রথম বন্ধনী"()" ব্যবহার করবো।

অর্থাৎ যে প্রক্রিয়ায় আমরা একটি ফাংশনকে অ্যাক্সেস করি ঠিক একই প্রক্রিয়ায় আমরা অবজেক্টের মাধ্যমে একটি মেথডকেও অ্যাক্সেস করতে পারবোঃ

উদাহরণ
<?php
	class Greeting{

	public function message(){
	echo "Welcome Guest";}

	}

	// ক্লাসের অবজেক্ট তৈরি
	$greeting = new Greeting();
	// অবজেক্টের মাধ্যমে মেথড অ্যাক্সেস
	$greeting->message();
?>

ফলাফল
Welcome Guest