পিএইচপি ওয়েব প্রোগ্রামিং - নাসির খান সৈকত

পিএইচপি ওয়েব প্রোগ্রামিং - নাসির খান সৈকত

"পিএইচপি ওয়েব প্রোগ্রামিং" বইটিতে প্রোগ্রামিং-এর মৌলিক বিষয়গুলো থেকে শুরু করে পূর্ণাঙ্গ অ্যাপলিকেশন তৈরী ধাপে ধাপে আলোচনা করা হয়েছে। প্রোগ্রামিং ভাষার বিভিন্ন ফিচার বা বৈশিষ্টগুলো ব্যবহার করে বিভিন্ন ধরনের প্রোগ্রামিং সমস্যার সমাধান করা হয়ে থাকে। একটি অংশের সাথে অপর একটি অংশ তার সাথে আরও একটি এভাবে প্রোগ্রামগুলো তৈরী করা হয়। একটি অংশের কোড অপর অংশের সাথে যুক্ত হবে কিনা বা কি কি শর্তে যুক্ত হতে পারবে সেগুলো নিয়ন্ত্রণ করা যায়। 

এই বইতে প্রোগ্রামিং ভাষা হিসেবে ব্যবহার করা হয়েছে পিএইচপি (PHP)। সেই সাথে ডাটাবেজ হিসেবে মাইএসকিউএল (MySQL) এবং ওয়েব ডিজাইনের জন্য এইচটিএমএল (HTML) এবং সিএসএস (CSS) নিয়ে একাধিক অধ্যায়ে আলোচনা করা হয়েছে।

 php web programming book banner

সূচিপত্র

ভূমিকা

লেখক পরিচিতি

লেখকের কথা

অধ্যায় ১ – সূচনা

অধ্যায় ২ – ভ্যারিয়েবল

অধ্যায় ৩ – ডেটা টাইপ

অধ্যায় ৪ – অপারেটর

অধ্যায় ৫ – কনট্রোল স্ট্রাকচার

অধ্যায় ৬ – ফাংশন (Function)

অধ্যায় ৭ – প্রয়োজনীয় কিছু ফাংশন

অধ্যায় ৮ – অবজেক্ট-ওরিয়েন্টেড পিএইচপি

অধ্যায় ৯ – এরর (Error) ও এক্সেপশন (Exception)

অধ্যায় ১০ – পিএইচপি কীভাবে কাজ করে

অধ্যায় ১১ – ওয়েব কনসেপ্ট

অধ্যায় ১২ – এইচটিএমএল (HTML)

অধ্যায় ১৩ – সিএসএস (CSS)

অধ্যায় ১৪ – পিএইচপি, এইচটিএমএল ও সিএসএস-এর সমন্বয়

অধ্যায় ১৫ – ফর্ম ব্যবস্থাপনা

অধ্যায় ১৬ – $_SERVER ভ্যারিয়েবল

অধ্যায় ১৭ – ফাইলের সঙ্গে ফাইল যুক্ত করা

অধ্যায় ১৮ – কুকি (Cookie)

অধ্যায় ১৯ – সেশন (Session)

অধ্যায় ২০ – ডেটা ফিল্টারিং (Filtering)

অধ্যায় ২১ – ইমেইল (Email)

অধ্যায় ২২ – রেগুলার এক্সপ্রেশন

অধ্যায় ২৩ – ডেটাবেজ ম্যানেজমেন্ট সিস্টেম

অধ্যায় ২৪ – মাইএসকিউএল ডেটাবেজ

অধ্যায় ২৫ – মাইএসকিউএল ক্লায়েন্টের ব্যবহার পদ্ধতি

অধ্যায় ২৬ – পিএইচপি কোড থেকে ডেটাবেজ ব্যবহার

অধ্যায় ২৭ – এজ্যাক্স (AJAX)

অধ্যায় ২৮ – অ্যাপ্লিকেশনের নিরাপত্তা

অধ্যায় ২৯ – পিএইচপি স্ট্যান্ডার্ড রেকমেন্ডেশন

অধ্যায় ৩০ – পিএইচপি প্যাকেজ

অধ্যায় ৩১ – সিএমএস ও ফ্রেমওয়ার্ক

 

ভূমিকা

ইন্টারনেটের সহজলভ্যতা ও দ্রুতগতির কারণে এখন সফটওয়্যার তৈরি করে বিতরণ করার জন্য ক্লায়েন্ট-সার্ভারভিত্তিক অ্যাপ্লিকেশন মডেল খুবই জনপ্রিয়। এই পদ্ধতিতে সফটওয়্যারের মূল অংশটি থাকে একটি কম্পিউটারে, যাকে বলা হয় সার্ভার। আর সেই সঙ্গে থাকে ক্লায়েন্ট অ্যাপ্লিকেশন যা ওই সার্ভারের সঙ্গে যোগাযোগ করে। ক্লায়েন্ট অ্যাপ্লিকেশনগুলো অধিকাংশ ক্ষেত্রেই ওয়েব কিংবা মোবাইল ফোন অ্যাপ্লিকেশন হতে পারে, তবে ডেস্কটপভিত্তিক ক্লায়েন্ট অ্যাপ্লিকেশনও তৈরি করা হয়। ব্যবহারকারীরা সরাসরি এই অ্যাপ্লিকেশনগুলো ব্যবহার করেন, কিন্তু সার্ভার অ্যাপ্লিকেশনের গুরুত্বপূর্ণ অংশটুকু রয়ে যায় তাঁদের চোখের আড়ালে। সার্ভার অংশের সফটওয়্যার অ্যাপ্লিকেশন তৈরির ক্ষেত্রে অনেক বছর ধরেই পৃথিবীর সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষার নাম পিএইচপি। গত বিশ বছরে অনেক প্রোগ্রামিং ভাষা ও সেসব ভাষায় তৈরি বিভিন্ন ওয়েব ফ্রেমওয়ার্ক জনপ্রিয়তা অর্জন করলেও সংখ্যার বিচারে এখনও পিএইচপি এক নম্বর।

পিএইচপি নিয়ে দ্বিমিক প্রকাশনীর একটি বই দীর্ঘদিন ধরেই পাঠকদের প্রত্যাশিত ছিল। কিন্তু আমরা এমন কাউকে খুঁজছিলাম যিনি পেশাগত জীবনে পিএইচপি ব্যবহার করেন এবং এই বিষয়ে একটি বই লিখতে ইচ্ছুক হবেন। এই দুইয়ের সমন্বয় ঘটানো একটু কঠিন বটে, তবে সৌভাগ্যবশত আমরা পেয়ে যাই নাসির খান সৈকতকে। সৈকতের সঙ্গে আমার পরিচয় অনেক বছরের। প্রোগ্রামার ও লেখক হিসেবে তাঁর ওপর আমার বরাবরই আস্থা ছিল। তাই সৈকতের কাছ থেকে বইটি পাওয়া আমাদের জন্য অত্যন্ত আনন্দের।

বইটিতে পিএইচপি প্রোগ্রামিং ভাষার সঙ্গে একেবারে গোড়া থেকে পাঠককে পরিচয় করিয়ে দেওয়া হয়েছে। আর যেহেতু পিএইচপি ভাষার মূল ব্যবহার হচ্ছে ওয়েব অ্যাপ্লিকেশন তৈরিতে, তাই বইতে এই বিষয়েও আলোকপাত করা হয়েছে। পাঠক যেন নিজে নিজে একটি পূর্ণাঙ্গ ওয়েব অ্যাপ্লিকেশন তৈরির স্বাদ পেতে পারেন, সেজন্য এইচটিএমএল, সিএসএস, ডেটাবেজ ইত্যাটি বিষয়েও আলোচনা করা হয়েছে। আশা করি, এই বইটির মাধ্যমে বাংলা ভাষাভাষী অনেকেই ওয়েব প্রোগ্রামিংয়ের আনন্দময় জগতে প্রবেশ করবে এবং বিষয়টি উপভোগ করবে।

তামিম শাহরিয়ার সুবিন
সিডনি
ডিসেম্বর, ২০২০

 

লেখকের কথা

বাংলা, ইংরেজি ও গণিতের মতো কম্পিউটার প্রোগ্রামিং শেখাও একই রকম গুরুত্বপূর্ণ। যে যত আগে এই বিষয়ে দক্ষ হতে পারবে সে ততট আগে এর সুবিধাগুলো নিতে পারবে। আর এজন্য যে কম্পিউটারবিজ্ঞানের শিক্ষার্থী হতে হবে, এমন নয়। বরং প্রোগ্রামিং শেখা উচিত স্কুল থেকে। কলেজে ভর্তি হওয়ার সময় থেকেই নিজের একটি ওয়েবসাইট থাকতে পারে, যা তার নিজের তৈরি করা। আর যারা কলেজ-জীবন পার করে এসেছেন তাঁরা এখন শিখতে পারেন এবং এখন থেকেই চালু করতে পারেন নিজের ব্যক্তিগত ওয়েবসাইট।

আমরা এখানে ধারাবাহিকভাবে প্রোগ্রামিং শিখব এবং সেগুলো নিজে নিজে চর্চা করব। প্রোগ্রামিং ভাষা হিসেবে ব্যবহার করব পিএইচপি (PHP)।

পিএইচপি অত্যন্ত জনপ্রিয় একটি প্রোগ্রামিং ভাষা। পিএইচপি জেনারেল পারপাস প্রোগ্রামিং ভাষা বলা হলেও এটি তৈরি করা হয়েছিল মূলত ওয়েবসাইট তৈরির উদ্দেশ্যে। ১৯৯৪ সালে রাসমাস লারডর্ফ (Rasmus Lerdorf) নামের একজন প্রোগ্রামার প্রথম এই প্রোগ্রামিং ভাষা তৈরির কাজ শুরু করেন। সেই সময় Personal Home Page-এর সংক্ষিপ্ত রূপ হিসেবে PHP নাম দেওয়া হয়েছিল। বর্তমানে এটি পরিবর্তন করে করা হয়েছে PHP: Hypertext Preprocessor এবং এই প্রোগ্রামিং ভাষার মান উন্নয়নের দায়িত্বে রয়েছে পিএইচপি গ্রুপ (https://www.php.net)।

পিএইচপি একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা। এটি যেমন কমান্ড লাইন থেকে ব্যবহার করা যায়, তেমনি এটি দিয়ে এইচটিএমএল (HTML) কোডের সমন্বয়ে বিভিন্ন ওয়েব অ্যাপ্লিকেশন তৈরি করা যায়। অ্যাপ্লিকেশন এপিআই তৈরির জন্য পিএইচপি অত্যন্ত জনপ্রিয় একটি প্রোগ্রামিং ভাষা। পিএইচপিভিত্তিক বিভিন্ন জনপ্রিয় কনটেন্ট ম্যানেজমেন্ট সিস্টেম (সিএমএস) রয়েছে, যেমন ওয়ার্ডপ্রেস (Wordpress), জুমলা (Joomla), দ্রুপাল (Drupal) ইত্যাদি। অন্যদিকে লারাভেল (Laravel) ও সিম্ফনি (Symfony) রয়েছে জনপ্রিয় পিএইচপি ফ্রেমওয়ার্কের তালিকায়। পিএইচপি প্রোগ্রামিং ভাষায় দক্ষতা থাকলে এগুলো ব্যবহার করে নানা কাজের অ্যাপ্লিকেশন তৈরি করা যাবে।

ব্যাকএন্ড বা সার্ভার-সাইড প্রোগ্রামিংয়ের জন্য পিএইচপি বেশি পরিচিত। পিএইচপি প্রায় সব ধরনের অপারেটিং সিস্টেম থেকে ব্যবহার করা যায়। তাই উইন্ডোজ, লিনাক্স বা ম্যাক, যে যেমন কম্পিউটারই ব্যবহার করেন সেখান থেকেই শিখতে পারবেন। পিএইচপি প্রোগ্রামিং ভাষা ব্যবহার করে ডেটাবেজ সার্ভার থেকে তথ্য নিয়ে এসে প্রদর্শন করা যায়, এবং জনপ্রিয় প্রায় সবগুলো ডেটাবেজ সিস্টেমের সঙ্গে পিএইচপি যুক্ত করে ব্যবহার করার সুযোগ রয়েছে। ফেসবুক, ইয়াহু, উইকিপিডিয়া, ওয়ার্ডপ্রেস, ফ্লিকার, বাইডুর মতো ওয়েবসাইটগুলো তৈরি করা হয়েছে পিএইচপি প্রোগ্রামিং ভাষা ব্যবহার করে। শুধু তা-ই নয়, বর্তমানে ইন্টারনেটের প্রায় 80 (আশি) ভাগ ওয়েবসাইট তৈরিতে কোনো না কোনোভাবে পিএইচপি ব্যবহার করা হয়েছে।

পিএইচপি দিয়ে যেকোনো ধরনের অ্যাপ্লিকেশন তৈরি করা যায়। কাজের সুবিধার জন্য রয়েছে নানা সিএমএস বা ফ্রেমওয়ার্ক। কোনো বিশেষ অ্যাপ্লিকেশন, সিএমএস বা ফ্রেমওয়ার্ক ব্যবহারে দক্ষ হওয়ার অর্থ এই নয় যে প্রোগ্রামিংয়ে দক্ষতা এসেছে। কারণ, সিএমএস বা ফ্রেমওয়ার্কে নিয়মিত প্রয়োজন হয় এমন অনেকটা অংশ তৈরি করাই থাকে। ফলে এগুলো ব্যবহার করে নতুন অ্যাপ্লিকেশন তৈরি করা যায়, এমনকি কাজের সুবিধার জন্য আরো নানা বৈশিষ্ট্য যুক্ত করা থাকে। তবে আগে থেকে তৈরি করা অংশগুলো প্রয়োজন অনুযায়ী পরিবর্তন বা নিজের মতো তৈরি করে ব্যবহার করা যায়, এমনকি সম্পূ্র্ণ একটি সিএমএস বা ফ্রেমওয়ার্কও তৈরি করা সম্ভব। এজন্য প্রথমে প্রোগ্রামিংয়ের সব বিষয়ে দক্ষতা অর্জন করা জরুরি।

কম্পিউটার ব্যবহারের সাধারণ জ্ঞান আছে বা শিখতে আগ্রহী এমন যে-কেউই পিএইচপি প্রোগ্রামিং শিখতে পারবে। কোন বিষয়ে লেখাপড়া করেছে বা বর্তমানে পড়ছে, এটি একেবারেই গুরুত্বপূর্ণ নয়। তবে বর্তমান সময়ে প্রায় সব ধরনের কাজের ক্ষেত্রেই কম্পিউটারের ব্যবহার বাড়ছে। তাই কম্পিউটার বিজ্ঞানের শিক্ষার্থী না হলেও প্রোগ্রামিংয়ে দক্ষতা থাকলে অন্য সব ধরনের কাজের ক্ষেত্রেই অন্যদের থেকে এগিয়ে থাকা সম্ভব। কম্পিউটার প্রোগ্রামিং জানা থাকলে লেখাপড়া, চাকরি, ব্যবসায়সহ নানা ক্ষেত্রে এই জ্ঞান ব্যবহার করে উন্নতি করা সম্ভব। ফ্রিল্যান্সার হিসেবে কাজ পাওয়ার বা সফল হওয়ার ক্ষেত্রে প্রোগ্রামিংয়ের দক্ষতা একটি বড়ো ভূমিকা পালন করতে পারে।

আমরা পিএইচপি ভাষা ব্যবহার করে প্রোগ্রামিংয়ের বিভিন্ন দিক জানব। আগে কখনো প্রোগ্রামিং শেখেনি বা খুব সামান্য চর্চা করেছে, এমন ব্যক্তিদের উদ্দেশ্য করে ধারাবাহিকভাবে নতুন নতুন বিষয় নিয়ে আলোচনা করা হবে। পিএইচপি শেখার জন্য আগে থেকে কোনো কিছু শিখে রাখার প্রয়োজন নেই। শেখার শুরুতে আমরা কয়েকটি সফটওয়্যার ইনস্টল করব, তবে সেগুলো কীভাবে কাজ করে তা প্রথমেই জানার প্রয়োজন নেই। ধাপে ধাপে আমরা পিএইচপি শিখতে থাকব এবং কিছুটা দক্ষ হওয়ার পরে ওয়েব-প্রযুক্তির অন্যান্য নানা দিক, সিএমএস ও ফ্রেমওয়ার্ক ইত্যাদি সম্পর্কে জানব।

Related Articles