পিএইচপি

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে
পিএইচপি
PHP
পিএইচপি লোগো
প্যারাডাইম: নির্দেশমূলক, বস্তু-সংশ্লিষ্ট, ফাংশনভিত্তিক
যিনি ডিজাইন করেছেন: রাসমুস লের্ডর্ফ
ডেভেলপার: দ্য পিএইচপি গ্রুপ
অধুনা প্রকাশ: ৫.৫.১৬ / ২২শে আগষ্ট, ২০১৪
টাইপিং ডিসিপ্লিন: চলমান, দুর্বল
যার দ্বারা প্রভাবিত: সিনট্যাক্স: পার্ল, সি;
বস্তু-সংশ্লিষ্ট প্রোগ্রামিং: জাভা, সি++
বৈধপত্র: পিএইচপি লাইসেন্স
ওয়েবসাইট: php.net

পিএইচপি (PHP) একটি প্রোগ্রামিং ভাষা। এটি মূলত #REDIRECT সার্ভার-সাইড স্ক্রিপ্টিং-এর জন্য ব্যবহৃত হয়। পিএইচপি হচ্ছে একটি স্ক্রিপ্টিং ভাষা যা মূলতঃ চলমান ওয়েব পাতা তৈরির জন্য ডিজাইন করা হয়েছে। ইহা কমান্ড লাইন ইন্টারফেস ক্ষমতাকে অন্তর্ভুক্ত করেছে এবং স্ট্যান্ডআলোন গ্রাফিক্যাল আপ্লিকেশনকে ব্যবহার করতে পারে।

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

ইতিহাস[সম্পাদনা]

পিএইচপি তৈরী শুরু হয়েছিল ১৯৯৪ সালে এবং তখন নাম ছিল Personal Home Page (PHP), যখন রাসমুস লের্ডর্ফ(Rasmus Lerdorf) "কমন গেটওয়ে ইন্টারফেস(CGI)" এর একটি সিরিজ লিখেন পার্ল(Perl) প্রোগ্রামিং ভাষার মাধ্যমে। যেটির কাজ ছিলো তার নিজের ব্যাক্তিগত ওয়েবসাইটের হোমপেইজ মেইনটেইন করা। যেটি তার সিভি এবং ওয়েব ট্রাফিক বা ভিজিটরের সংখ্যা রেকর্ড করত। সাইটের পার্ফরমেন্সের কারনে তিনি একই স্ক্রিপ্ট পুনোরায় সি(প্রোগ্রামিং ভাষা) দিয়ে লিখেন । এবং এর সাথে তিনি ওয়েব ফর্ম এবং ডাটাবেসে যুক্ত হওয়ার সুবিধা যোগ করেন এবং এই রুপায়নের নাম দেন "পার্সোনাল হোম পেইজ(Personal Home Page)" বা সংক্ষেপে পিএইচপি। মুলত এখান থেকেই পিএইচপি তৈরি হয়। এটি সাধারন,ডাইনামিক ওয়েবসাইট তৈরি করার জন্য ব্যাবহৃত হয়। এর পর জুন ৮,১৯৯৫ পিএইচপিতে এইচটিএমএল(HTML) এমবেডেড করে দেওয়া হয়। এরপর ১৯৯৮ সালে ভার্সন ৩ (Version 3) এসেছিল আর পিএইচপি ৫ ভার্সনটি এসেছে ২০০৪ সালে এবং বর্তমানে সর্বশেষ ভার্সনটি হচ্ছে (স্টাবল) ৫.৬.৫ (১ লা ফ্রেব্রয়ারী, ২০১৫)

লাইসেন্স[সম্পাদনা]

পিএইচপি একটি ফ্রি সফটওয়্যার যা PHP License এর অধীনে রিলিজ হয় , যেটা হল:[১]

  4. Products derived from this software may not be called "PHP", nor
     may "PHP" appear in their name, without prior written permission
     from group@php.net.  You may indicate that your software works in
     conjunction with PHP by saying "Foo for PHP" instead of calling
     it "PHP Foo" or "phpfoo"
"পিএইচপি" নামটি ব্যবহারের উপর এই নিষেধাজ্ঞা GNU General Public License (GPL).[২] আইন অনুসারে বেমানান

পিএইচপির অবদান[সম্পাদনা]

বর্তমান যুগে ওয়েব অটোমেশনের জন্য একটি বিশ্বস্ত নাম - পিএইচপিপিএইচপি একটি জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ যার সূচনাই হয়েছিলো ওয়েব ডেভেলপমেন্ট এর জন্য । দিনে দিনে পিএইচপির জনপ্রিয়তা বাড়তে বাড়তে ওয়েব আজ তার আধিপত্য অদ্বিতীয় । বিশ্বের প্রায় ৮২% (রেফ: ১) ওয়েবসাইটই কোন না কোনভাবে পিএইচপির উপর নির্ভরশীল । ফেইসবুকের একটা বিরাট অংশ ডেভেলপ করা পিএইচপিতে । তারা পিএইচপির উপর এতটাই নির্ভরশীল যে ফেইসবুক নিজেরাই পিএইচপির উন্নয়নের জন্য নতুন পিএইচপি ইনজিন (HHVM) রিলিজ করে । উইকিপিডিয়াও কিন্তু ডেভেলপ করা পিএইচপিতে । পিএইচপির প্রবল জনপ্রিয়তা আর চাহিদার কথা চিন্তা করে গুগল সম্প্রতি তাদের এ্যাপ ইনজিন প্ল্যাটফর্মে পিএইচপি সাপোর্ট যোগ করে । আসলে যেখানে ওয়েবের ৮২%-ই পিএইচপি ব্যবহার করে সেখানে উদাহরণ খুজঁতে গেলে হাজার হাজার নমুনা পাওয়া যাবে । ওয়েব নির্ভর প্রজেক্টগুলোতে তাই পিএইচপি ডেভেলপারদের চাহিদাও ব্যাপক । [৩] পিএইচপি ল্যাংগুয়েজটি পৃথিবীতে মাত্র কয়েক বছর হয় এসছে। পিএইচপিকে "Big Boys" ল্যাংগুয়েজ বলা হয় পিএইচপি৫ ভার্সন আসার পর থেকে যেখানে জাভা, সি এসব ল্যাংগুয়েজকে অনেক আগে থেকে "Big Boys" বলা হত। পিএইচপি৫ ভার্সন এসছে ২০০৪ সালে। এসেই বাজিমাৎ। বর্তমানে পৃথিবীতে প্রায় ৪০ ভাগ (প্রায় ২৫০ মিলিয়ন সাইট - ২০১৩ পর্যন্ত) ওয়েব এপ্লিকেশন (সাইট) একা পিএইচপিতে তৈরী বাকি সব ল্যাংগুয়েজ মিলে ৬০ ভাগ।

পিএইচপির সুবিধাসমূহ[সম্পাদনা]

১. “প্রায় সব ডেটাবেস সমর্থন করে” : মুল ৫ টি ডেটাবেস সহ (Oracle, MySQL, PostgreSQL, SQLServer, MongoDB) প্রায় সব ডেটাবেস দিয়ে পিএইচপির কাজ করা যায়। যেকোন ডেটাবেস integrate করা তেমন কঠিন নয় বরং বহুল ব্যবহৃত ডেটাবেসগুলির ড্রাইভার পিএইচপিতে অটোমেটিক সেট করাই আছে।


২. পিএইচপি ইন্জিন মানুষের ব্রেইনের মত : অন্যান্য ল্যাংগুয়েজ এর তুলনায় পিএইচপির ইন্জিন বেশি বুদ্ধিমান। এটা এভাবে যে এখানে ডেটা টাইপ ডিক্লেয়ার করতে হয়না সে নিজেই নিজেই ডেটা দেখে বুঝতে পারে এটা কোন ধরনের ডেটা (loosely typed language)। এছাড়া এখানে টাইপ কাস্ট করা যায় ফলে অপ্রত্যাশিত ভুল হয়না।


৩. সাপোর্ট এবং কমিউনিটি : বেশ ঘন ঘনই পিএইচপির আপডেট বের হচ্ছে এবং খুব দ্রুতই নতুন নতুন ফিচার যোগ করছে। এছাড়া পিএইচপির ব্যবহারকারী তথা কমিউনিটি অনেক বড়। অনেক। যেকোন সমস্যা হলে কোন ফোরামে প্রশ্ন দিলে যত তারাতারি সারা পাবেন অন্য ল্যাংগুয়েজে তা পাবেন না।


৪. শেখা সহজ এবং বড় প্রজেক্ট করা যায় : অন্যান্য ল্যাংগুয়েজের তুলনায় পিএইচপি শেখা সহজ। শুধু এইচটিএমএল এর মধ্যে কোড লিখে সার্ভারে রেখে ব্রাউজারে রান করালেই আউটপুট দেখতে পাচ্ছেন। [৪]

মাস্কট[সম্পাদনা]

হাতি, পিএইচপি মাস্কট

পিএইচপির মাস্কট হল একটি হাতি । এটি ডিজাইন করেন ভিনসেন্ট পনটিয়ার[৫] ১৯৯৮ সালে । [৬]

আরও দেখুন[সম্পাদনা]

প্রকাশের ইতিহাস[সম্পাদনা]

Key
Color Meaning Development
Red পুরাতন প্রকাশন পরিবর্তন হয়নি
Yellow স্ট্যাবল ভার্ষন সিকিউরিটি সমাধান
Green স্ট্যাবল ভার্ষন বাগ এবং সিকিউরিটি সমাধান
Blue ভবিষ্যত ভার্ষন নতুন ফিচার
Version Release date Supported until[৭] Notes
1.0 ৮ জুন ১৯৯৫ Officially called "Personal Home Page Tools (PHP Tools)". This is the first use of the name "PHP".[৮]
2.0 ১ নভেম্বর ১৯৯৭ Officially called "PHP/FI 2.0". This is the first release that could actually be characterised as PHP, being a standalone language with many features that have endured to the present day.
3.0 ৬ জুন ১৯৯৮ ২০ অক্টোবর ২০০০[৭] Development moves from one person to multiple developers. Zeev Suraski and Andi Gutmans rewrite the base for this version.[৮]
4.0 ২২ মে ২০০০ ২৩ জুন ২০০১[৭] Added more advanced two-stage parse/execute tag-parsing system called the Zend engine.[৯]
4.1 ১০ ডিসেম্বর ২০০১ ১২ মার্চ ২০০২[৭] Introduced "superglobals" ($_GET, $_POST, $_SESSION, etc.)[৯]
4.2 ২২ এপ্রিল ২০০২ ৬ সেপ্টেম্বর ২০০২[৭] Disabled register_globals by default. Data received over the network is not inserted directly into the global namespace anymore, closing possible security holes in applications.[৯]
4.3 ২৭ ডিসেম্বর ২০০২ ৩১ মার্চ ২০০৫[৭] Introduced the command-line interface (CLI), to supplement the CGI.[৯][১০]
4.4 ১১ জুলাই ২০০৫ ৭ আগস্ট ২০০৮[৭] Fixed a memory corruption bug, which required breaking binary compatibility with extensions compiled against PHP version 4.3.x.[১১]
5.0 ১৩ জুলাই ২০০৪ ৫ সেপ্টেম্বর ২০০৫[৭] Zend Engine II with a new object model.[১২]
5.1 ২৪ নভেম্বর ২০০৫ ২৪ আগস্ট ২০০৬[৭] Performance improvements with introduction of compiler variables in re-engineered PHP Engine.[১২] Added PHP Data Objects (PDO) as a consistent interface for accessing databases.[১৩]
5.2 ২ নভেম্বর ২০০৬ ৬ জানুয়ারি ২০১১[৭] Enabled the filter extension by default. Native JSON support.[১২]
5.3 ৩০ জুন ২০০৯ ১৪ আগস্ট ২০১৪[৭] Namespace support; late static bindings, jump label (limited goto), closures, PHP archives (phar), garbage collection for circular references, improved Windows support, sqlite3, mysqlnd as a replacement for libmysql as underlying library for the extensions that work with MySQL, fileinfo as a replacement for mime_magic for better MIME support, the Internationalization extension, and deprecation of ereg extension.
5.4 ১ মার্চ ২০১২ ৩ সেপ্টেম্বর ২০১৫[৭] Trait support, short array syntax support. Removed items: register_globals, safe_mode, allow_call_time_pass_reference, session_register(), session_unregister() and session_is_registered(). Built-in web server.[১৪] Several improvements to existing features, performance and reduced memory requirements.
5.5 ২০ জুন ২০১৩ 21 July 2016[৭] Support for generators, finally blocks for exceptions handling, OpCache (based on Zend Optimizer+) bundled in official distribution.[১৫]
5.6 ২৮ আগস্ট ২০১৪ ৩১ ডিসেম্বর ২০১৮[১৬] Constant scalar expressions, variadic functions, argument unpacking, new exponentiation operator, extensions of the use statement for functions and constants, new phpdbg debugger as a SAPI module, and other smaller improvements.[১৭]
6.x Not released প্রযোজ্য নয় Abandoned version of PHP that planned to include native Unicode support.[১৮][১৯]
7.0 ৩ ডিসেম্বর ২০১৫[২০] ৩ ডিসেম্বর ২০১৮[১৬] Zend Engine 3 (performance improvements[২১] and 64-bit integer support on Windows[২২]), uniform variable syntax,[২৩] AST-based compilation process,[২৪] added Closure::call(),[২৫] bitwise shift consistency across platforms,[২৬] ?? (null coalesce) operator,[২৭] Unicode codepoint escape syntax,[২৮] return type declarations,[২৯] scalar type (integer, float, string and boolean) declarations,[৩০] <=> "spaceship" three-way comparison operator,[৩১] generator delegation,[৩২] anonymous classes,[৩৩] simpler and more consistently available CSPRNG API,[৩৪] replacement of many remaining internal PHP "errors" with the more modern exceptions,[৩৫] and shorthand syntax for importing multiple items from a namespace.[৩৬]
7.1 November 2016[৩৭] 3 years after release[৩৮] void return type,[৩৯] class constant visibility modifiers,[৪০] nullable types[৪১]

তথ্যসূত্র[সম্পাদনা]

  1. "The PHP License, version 3.01"। সংগৃহীত ২০১০-০৫-২০ 
  2. "GPL-Incompatible, Free Software Licenses"Various Licenses and Comments about Them। Free Software Foundation। সংগৃহীত ২০১১-০১-০৩ 
  3. http://php.net/usage.php
  4. http://www.webcoachbd.com/tips-guru/52-programming-tips/278-why-php-renowned
  5. "PHP: ElePHPant"। ৪ Oct ২০১৪। সংগৃহীত ৪ Oct ২০১৪ 
  6. https://wwphp-fb.github.io/faq/community/elephpant/
  7. ৭.০০ ৭.০১ ৭.০২ ৭.০৩ ৭.০৪ ৭.০৫ ৭.০৬ ৭.০৭ ৭.০৮ ৭.০৯ ৭.১০ ৭.১১ ৭.১২ "Unsupported Branches"php.net। সংগৃহীত ২০১৫-১১-১৪ 
  8. ৮.০ ৮.১ উদ্ধৃতি ত্রুটি: অবৈধ <ref> ট্যাগ; about_PHP নামের ref গুলির জন্য কোন টেক্সট প্রদান করা হয়নি
  9. ৯.০ ৯.১ ৯.২ ৯.৩ "PHP: PHP 4 ChangeLog"। The PHP Group। ২০০৮-০১-০৩। সংগৃহীত ২০০৮-০২-২২ 
  10. "Using PHP from the command line"PHP Manual। The PHP Group। সংগৃহীত ২০০৯-০৯-১১ 
  11. "PHP 4.4.0 Release Announcement"PHP Mannual। The PHP Group। সংগৃহীত ২০১৩-১১-২৪ 
  12. ১২.০ ১২.১ ১২.২ "PHP: PHP 5 ChangeLog"। The PHP Group। ২০০৭-১১-০৮। সংগৃহীত ২০০৮-০২-২২ 
  13. "PHP manual: PDO"। The PHP Group। ২০১১-১১-১৫। সংগৃহীত ২০১১-১১-১৫ 
  14. "Built-in web server"। সংগৃহীত মার্চ ২৬, ২০১২ 
  15. "PHP 5.5.0 changes"php.net। সংগৃহীত ২০১৫-০৩-০৩ 
  16. ১৬.০ ১৬.১ "Supported Versions"php.net। সংগৃহীত ২০১৫-১২-০২ 
  17. "Migrating from PHP 5.5.x to PHP 5.6.x"php.net। সংগৃহীত ২০১৪-০৩-২৪ 
  18. "Resetting PHP 6"। "There have been books on the shelves purporting to cover PHP 6 since at least 2008. But, in March 2010, the PHP 6 release is not out - in fact, it is not even close to out. Recent events suggest that PHP 6 will not be released before 2011 - if, indeed, it is released at all." 
  19. "PHP 7 moves full speed ahead"। "Recent versions of PHP have been part of the 5.x release series, but there will be no PHP 6. “We’re going to skip [version] 6 because years ago, we had plans for a 6 but those plans were very different from what we’re doing now,” Gutmans said. Going right to version 7 avoids confusion." 
  20. উদ্ধৃতি ত্রুটি: অবৈধ <ref> ট্যাগ; php7final নামের ref গুলির জন্য কোন টেক্সট প্রদান করা হয়নি
  21. উদ্ধৃতি ত্রুটি: অবৈধ <ref> ট্যাগ; phpng নামের ref গুলির জন্য কোন টেক্সট প্রদান করা হয়নি
  22. "PHP: rfc:size_t_and_int64_next"php.net। সংগৃহীত ১৬ ডিসেম্বর ২০১৪ 
  23. উদ্ধৃতি ত্রুটি: অবৈধ <ref> ট্যাগ; uvs নামের ref গুলির জন্য কোন টেক্সট প্রদান করা হয়নি
  24. "PHP: rfc:abstract_syntax_tree"php.net। সংগৃহীত ১৬ ডিসেম্বর ২০১৪ 
  25. "PHP: rfc:closure_apply"php.net। সংগৃহীত ১৬ ডিসেম্বর ২০১৪ 
  26. "PHP: rfc:integer_semantics"php.net। সংগৃহীত ১৬ ডিসেম্বর ২০১৪ 
  27. "PHP: rfc:isset_ternary"php.net। সংগৃহীত ১৬ ডিসেম্বর ২০১৪ 
  28. "RFC: Unicode Codepoint Escape Syntax"। ২০১৪-১১-২৪। সংগৃহীত ২০১৪-১২-১৯ 
  29. উদ্ধৃতি ত্রুটি: অবৈধ <ref> ট্যাগ; return-types নামের ref গুলির জন্য কোন টেক্সট প্রদান করা হয়নি
  30. উদ্ধৃতি ত্রুটি: অবৈধ <ref> ট্যাগ; scalar-types নামের ref গুলির জন্য কোন টেক্সট প্রদান করা হয়নি
  31. "Combined Comparison (Spaceship) Operator"php.net। সংগৃহীত ২০১৫-০৫-২১ 
  32. "PHP RFC: Generator Delegation"php.net। সংগৃহীত ২০১৫-০৫-২১ 
  33. "PHP RFC: Anonymous Classes"php.net। সংগৃহীত ২০১৫-০৫-২১ 
  34. "PHP RFC: Easy User-land CSPRNG"php.net। সংগৃহীত ২০১৫-০৫-২১ 
  35. "PHP RFC: Exceptions in the engine (for PHP 7)"php.net। সংগৃহীত ২০১৫-০৫-২১ 
  36. "PHP RFC: Group Use Declarations"php.net। সংগৃহীত ২০১৫-০৫-২১ 
  37. "Preparation Tasks"। সংগৃহীত ৫ জুলাই ২০১৬ 
  38. উদ্ধৃতি ত্রুটি: অবৈধ <ref> ট্যাগ; releaseprocess নামের ref গুলির জন্য কোন টেক্সট প্রদান করা হয়নি
  39. "PHP: rfc:void_return_type"php.net। ২০১৫-১১-০৯। সংগৃহীত ২০১৫-১১-১৪ 
  40. "PHP: rfc:class_constant_visibility"php.net। ২০১৫-১০-২৭। সংগৃহীত ২০১৫-১২-০৮ 
  41. "PHP RFC: Nullable Types"php.net। ২০১৪-০৪-১০। সংগৃহীত ২০১৬-০৬-১৪ 

বহিঃসংযোগ[সম্পাদনা]