PHP মূলত JAVA এর মত পিউর Object Oriented Programming নয় … PHP ভার্সন 3.0 থেকে Object-oriented programming ফিচার সাপোর্ট করা শুরু করেছে … আর দিন দিন তা ইম্প্রুভ করছে …
.
প্রোগ্রামিং এর ভাষায় OOP কি তা বুঝাতে গেলে যাদের এডুকেশন ব্যাক গ্রাউন্ড কম্পিউটার সাইন্স বা ইঞ্জিনিয়ারিং নয় তারা সবাই আমাকে লাঠি দিয়ে দৌড়ানি দিবেন ... তাই সহজ ভাষায় বলি … অবজেক্ট আর ক্লাস নিয়ে প্রোগ্রামিং করাই Object Oriented Programming … কথা হল তবে অবজেক্ট কি আর ক্লাস কি ? …
.
ধরে নিন, আমার নাম “সুমন” আর আপনার নাম “রহিম” … “সুমন” আর “রহিম” দু' জনের কিছু সাধারণ বৈশিষ্ট্য আছে … যেমনঃ দু জনের হাত আছে, পা আছে, মুখ আছ, কথা বলতে পারি ইত্যাদি … কারণ, আমরা দুজনেই মানুষ …
.
.
.
.
.
তারপরেও আমরা দু'জন কিনতু এক নই … আমাদের মাঝে অনেক পার্থক্যও থাকতে পারে … যেমনঃ দু' জনে দেখতে একরকম নই, উচ্চতা ভিন্ন, গায়ের রঙ এক নয় ইত্যাদি ...
এখানে মানুষ হল “ক্লাস” আর “সুমন” ও “রহিম” হল “মানুষ” ক্লাসের দু'টো অবজেক্ট …
.
আরেকটি উদাহরণ দেই … ধরেন আপনি Toytoa Corolla ও Toyota Allion গাড়ি তৈরি করেন … এখন সব গাড়িরই কিছু সাধারণ বৈশিষ্ট্য থাকে … যেমনঃ Corolla ও Allion দু' টোরই ৪ টি চাকা থাকে, ৪ টি ডোর থাকে, ১ টি ড্রাইভিং হুইল থাকে, ১ টি বনেট থাকে ইত্যাদি …
.
Corolla ও Allion দু' টিই Car হলেও তাদের মাঝে বৈশিষ্ট্যগত অনেক তফাতও আছে … যেমনঃ দু'টার ইঞ্জিন এক নয়, বডি এলিমেন্টস এক নয়, লোগো দেখতে ভিন্ন রকম ইত্যাদি …
.
তাই এখানে Corolla ও Allion দু' জনেই হল “অবজেক্ট” আর Car হল তাদের “ক্লাস” … তার মানে Corolla ও Allion দু' জনেই Car ক্লাসের দু'টো অবজেক্ট …
.
.
.
.
.
কোন কিছুর সাধারণ বৈশিষ্ট্য গুলো নিয়ে তৈরি হয় “ক্লাস” যেমনঃ Car, Humnanইত্যাদি হল “ক্লাস” … আর এক একটি ইনডিভিজুয়াল জিনিস হল “অবজেক্ট” যেমনঃ Corolla. Allion এরা “Car” ক্লাসের Object আবার Rahim, Sumon এরা “Human” ক্লাসের Object …
.
এখন কথা হল এই অবজেক্ট আর ক্লাস কিভাবে আমার কাজ সহজ করবে ? … বা এর কেরামতি কি ? … ধরেন আপনাকে বলা হল … “সুমন” আর “রহিম” সম্পর্কে সব কিছু বল …
.
তাহলে আপনি এভাবে বলা শুরু করবেন … সুমনের ২টি হাত আছে, ২ টি পা আছে, ১ টি নাক আছে, ১ টি মুখ আছে, ২ টি কান আছে, তার বাসা ঢাকায়, পেশায় সে সফটওয়্যার ইঞ্জিনিয়ার, তার গায়ের রঙ ফর্সা …
.
আবার রহিমের বেলায় … রহিমের ২টি হাত আছে, ২ টি পা আছে, ১ টি নাক আছে, ১ টি মুখ আছে, ২ টি কান আছে, তার বাসা সিলেটে, পেশায় সে ডাক্তার, তার গায়ের রঙ শ্যামলা …
.
.
.
.
.
খেয়াল করেন দু' জনের ক্ষেত্রেই কমন বৈশিষ্ট্য গুলো আমাকে ২ বার বলতে হয়েছে … ২টি হাত আছে, ২ টি পা আছে, ১ টি নাক আছে, ১ টি মুখ আছে, ২ টি কান আছে …
.
কিনতু এটাকে আমরা যদি OOP দিয়ে বলি তবে অনেক শর্টে এভাবে বলা যায় …
সুমন একজন মানুষ … তার বাসা ঢাকায়, পেশায় সে ইঞ্জিনিয়ার, তার গায়ের রঙ ফর্সা …
রহিম একজন মানুষ … তার বাসা সিলেটে, পেশায় সে ডাক্তার, তার গায়ের রঙ শ্যামলা …
রহিম একজন মানুষ … তার বাসা সিলেটে, পেশায় সে ডাক্তার, তার গায়ের রঙ শ্যামলা …
.
কারণ আমরা জানি সব মানুষেরই ২টি হাত আছে, ২ টি পা আছে, ১ টি নাক আছে, ১ টি মুখ আছে, ২ টি কান আছে … তাই মানুষ বলাটাই এনাফ ...
.
OOP এভাবেই আমাদের কাজের পরিমাণ কমায় … সময় বাঁচায় … কাজকে সহজ করে … শুরুতে OOP খুব কঠিন আর জটিল মনে হবে কিনতু একবার এর মজা বুঝলে দেখবেন যে OOP ছাড়া কোডিং করতে আপনার আর ভালো লাগছে না …
.
.
.
.
.
এছাড়া OOP তে প্রোগ্রামিং এর কমন সমস্যা গুলো ছোট ছোট ক্লাসে ভাগ করে নেয়া হয় বলে কাজ শুধু সহজই হয়ে যায় তা নয় … বরং পরবর্তীতে প্রোগ্রামিং বাগ শলভ করাও খুব সহজ হয় … বড় বড় প্রজেক্টের জটিলতা অনেক কমে যায় … আসলে OOP এর সুবিধা একটা পোস্টে বলে শেষ করা অসম্ভব ...
.
এখন আসি কিভাবে শিখব … প্রোগ্রামিং শেখার ক্ষেত্রে আমি বরাবরই সবাইকে বই পড়তে বলি … কারণ বিভিন্ন ইংরেজি বই গুলো লিখে থাকেন বিশ্বের বিভিন্ন নামকরা বিশ্ববিদ্যালয়ের শিক্ষকগণ ও প্রোগ্রামিং গিক … তাই বই পড়া মানে তাদের কাছ থেকে শেখা … যে কোন পোস্ট বা ভিডিও ভিত্তিক টিউটোরিয়াল থেকেও ১০ গুণ বেশি জানা ও শেখা যায় বই পড়ে …
.
PHP তে OOP শিখতে নিচের বই গুলো এক এক করে শেষ করে ফেলেন 😊 …
============================================
============================================
১) PHP Object-Oriented Solutions by David Powers
২) PHP Objects, Patterns, and Practice by by Matt Zandstra
৩) PHP Advanced and Object-Oriented Programming: Visual QuickPro by by Larry Ullman
৪) PHP in Action: Objects, Design, Agility by by Dagfinn Reiersol and Marcus Baker
৫) Object-Oriented Programming with PHP5 by Hasin Hayder
৬) Object-Oriented PHP: Concepts, Techniques, and Code by Peter Lavin
.
এখানে একটা কথা না বললেই নয় ৫ নম্বর বইটা কিনতু আমাদের প্রিয় “হাসিন হায়দার” বসের লিখা grin emoticon …
.
কিছু ফ্রি টিউটোরিয়াল লিঙ্ক 😊 …
==================
==================
.
.
.
.
.
.
.
.
.
কিছু পেইড টিউটোরিয়াল লিঙ্ক 😊 …
====================
====================
1) Beginners PHP Object Oriented Programming --> https://goo.gl/lttcvl
2) PHP Object Oriented Programming --> https://goo.gl/Yp5WMo
3) PHP Object Oriented Programming: Build a Login System -- >https://goo.gl/65iG70
4) Build An OOP Site --> https://goo.gl/i8Qln5
.
5) PHP OOP: Object Oriented Programming for beginners -->https://goo.gl/KO6BfJ
6) Learn Object Oriented Programming PHP fundamentals bootcamp -->https://goo.gl/3t4bSG
.
শেষ কথা, OOP শেখার আগে প্রোগ্রামিং এ আপনার বেসিক ক্লিয়ার করুন … তারপরে OOP এর জগতে ডুব দেন … কারণ, OOP একটি Advanced Term … এটা শিখে আয়ত্ত করতে একটু সময় লাগে …
.
আমি আবারও বলছি একবার OOP এর মজা বুঝলে কোনদিন আর Procedural ওয়েতে প্রোগ্রামিং কোড লিখে আপনি মজা পাবেন না … এছাড়া PHP এর ফ্রেমওয়ার্ক গুলো যেমন Laravel, CI, Symfony শিখতেও OOP খুব কাজে দিবে 😊 ...
Writer: Din Muhammad Sumon

Thank you very much For this Helpful Post.
উত্তরমুছুনThank you also. Please share it, so that your friend also can learn it.
মুছুন