Top ad
Web Developer, WordPress Expert. Bsc in EEE from UIU

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) http://goo.gl/98hf0Z

2) http://goo.gl/lJplVF

3) http://goo.gl/phtxD2

4) https://goo.gl/4zePme

.
.

5 ) http://goo.gl/vce45F

6) http://goo.gl/HW0kVP

7) https://goo.gl/kj0YzM

.

8) http://goo.gl/D2Y6pJ

9) http://goo.gl/gDptV4

.
.
.

কিছু পেইড টিউটোরিয়াল লিঙ্ক 😊
====================

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 খুব কাজে দিবে 😊

Leave a Reply

Your email address will not be published. Required fields are marked *


ব্লগ সম্পর্কে

সফটটেক ব্লগ একটি বাংলা কমিউনিটি ব্লগিং প্ল্যাটফরম যেখানে লেখক নিবন্ধন করে তাঁদের লেখা প্রকাশ করতে পারেন । এখানে শুধু বিজ্ঞান ও প্রযুক্তি বিষয়ক লেখা প্রকাশ করা হয় ।

যোগাযোগ

ঠিকানাঃ হাউজ#৪, লেভেল#৬, রোড#১/এ, সেক্টর#৯, আমিন টাওয়ার এপার্টমেন্ট, উত্তরা, ঢাকা - ১২৩০