পিএইচপি

একটি প্রোগ্রামিং ভাষা

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

পিএইচপি
পিএইচপি লোগো
প্যারাডাইমনির্দেশমূলক, বস্তু-সংশ্লিষ্ট, ফাংশনভিত্তিক
নকশাকাররাসমুস লের্ডর্ফ
বিকাশকারীদ্য পিএইচপি গ্রুপ
স্থিতিশীল সংস্করণ
৭.৩.১ / ১০ জানুয়ারি ২০১৯; ৫ বছর আগে (2019-01-10)
টাইপিং পদ্ধতিচলমান, দুর্বল
লাইসেন্সপিএইচপি লাইসেন্স
যার দ্বারা প্রভাবিত
সিনট্যাক্স: পার্ল, সি;
বস্তু-সংশ্লিষ্ট প্রোগ্রামিং: জাভা, সি++
যাকে প্রভাবিত করেছে
হ্যাক

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

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

পিএইচপি তৈরী শুরু হয়েছিল ১৯৯৪ সালে এবং তখন নাম ছিল 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).[২] আইন অনুসারে বেমানান

পিএইচপির ফ্রেমওয়ার্ক সম্পাদনা

রিয়েল লাইফ প্রজেক্টকে সহজ ও টিমের সকলের জন্য বোধগম্য করে তোলার জন্য ফ্রেমওয়ার্ক এর উদ্ভাবন হয়েছে। ফ্রেমওয়ার্কের ধারণা আসছে মূলত সিকিউরিটি, কোডের রিডেবিলিটি বাড়ানোর জন্য। জনপ্রিয় অনেকগুলো ফ্রেমওয়ার্ক বর্তমানে ব্যবহৃত হয়ে আসছে।

ক্রমিক নাম রিলিজ বর্তমান ভার্সন
লারাভেল(Laravel) ২৩ আগস্ট ২০০৬ 10.10[৩]
কোডইগনিটার(Codeigniter) ২৮ ফ্রেব্রুয়ারি ২০০৬ 3.1.10[৪]
সিম্ফোনি(Symphony) অক্টোবর ২০০৫ 4.2[৫]
ওয়াইআইআই(Yii) ডিসেম্বর ২০০৮ 2.0.17[৬]
কেকপিএইচপি(CakePHP) এপ্রিল ২০০৫ 4.0[৬]

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

Key
Color Meaning Development
Red পুরাতন প্রকাশন পরিবর্তন হয়নি
Yellow স্ট্যাবল ভার্ষন সিকিউরিটি সমাধান
Green স্ট্যাবল ভার্ষন বাগ এবং সিকিউরিটি সমাধান
Blue ভবিষ্যত ভার্ষন নতুন ফিচার

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

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

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

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

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

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. "Laravel: Laravel latest realease"। 26-03-2019।  এখানে তারিখের মান পরীক্ষা করুন: |তারিখ= (সাহায্য)
  4. "CI: Cii latest realease"। 26-03-2019।  এখানে তারিখের মান পরীক্ষা করুন: |তারিখ= (সাহায্য)
  5. "Cakephp Documentation"। 26-03-2019।  এখানে তারিখের মান পরীক্ষা করুন: |তারিখ= (সাহায্য)
  6. "Yii: Yii latest realease" 
  7. "PHP: ElePHPant"। ৪ অক্টো ২০১৪। সংগ্রহের তারিখ ৪ অক্টো ২০১৪ 
  8. https://wwphp-fb.github.io/faq/community/elephpant/
  9. "Unsupported Branches"php.net। সংগ্রহের তারিখ ২০১৫-১১-১৪ 
  10. উদ্ধৃতি ত্রুটি: <ref> ট্যাগ বৈধ নয়; about PHP নামের সূত্রটির জন্য কোন লেখা প্রদান করা হয়নি
  11. "PHP: PHP 4 ChangeLog"। The PHP Group। ২০০৮-০১-০৩। সংগ্রহের তারিখ ২০০৮-০২-২২ 
  12. "Using PHP from the command line"PHP Manual। The PHP Group। সংগ্রহের তারিখ ২০০৯-০৯-১১ 
  13. "PHP 4.4.0 Release Announcement"PHP Mannual। The PHP Group। সংগ্রহের তারিখ ২০১৩-১১-২৪ 
  14. "PHP: PHP 5 ChangeLog"। The PHP Group। ২০০৭-১১-০৮। সংগ্রহের তারিখ ২০০৮-০২-২২ 
  15. "PHP manual: PDO"। The PHP Group। ২০১১-১১-১৫। সংগ্রহের তারিখ ২০১১-১১-১৫ 
  16. "Built-in web server"। সংগ্রহের তারিখ মার্চ ২৬, ২০১২ 
  17. "PHP 5.5.0 changes"php.net। ২০১৫-০৩-০১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৫-০৩-০৩ 
  18. "Supported Versions"php.net। সংগ্রহের তারিখ ২০১৫-১২-০২ 
  19. "Migrating from PHP 5.5.x to PHP 5.6.x"php.net। সংগ্রহের তারিখ ২০১৪-০৩-২৪ 
  20. "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. 
  21. "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. 
  22. উদ্ধৃতি ত্রুটি: <ref> ট্যাগ বৈধ নয়; php7final নামের সূত্রটির জন্য কোন লেখা প্রদান করা হয়নি
  23. উদ্ধৃতি ত্রুটি: <ref> ট্যাগ বৈধ নয়; phpng নামের সূত্রটির জন্য কোন লেখা প্রদান করা হয়নি
  24. "PHP: rfc:size_t_and_int64_next"php.net। সংগ্রহের তারিখ ১৬ ডিসেম্বর ২০১৪ 
  25. উদ্ধৃতি ত্রুটি: <ref> ট্যাগ বৈধ নয়; uvs নামের সূত্রটির জন্য কোন লেখা প্রদান করা হয়নি
  26. "PHP: rfc:abstract_syntax_tree"php.net। সংগ্রহের তারিখ ১৬ ডিসেম্বর ২০১৪ 
  27. "PHP: rfc:closure_apply"php.net। সংগ্রহের তারিখ ১৬ ডিসেম্বর ২০১৪ 
  28. "PHP: rfc:integer_semantics"php.net। সংগ্রহের তারিখ ১৬ ডিসেম্বর ২০১৪ 
  29. "PHP: rfc:isset_ternary"php.net। সংগ্রহের তারিখ ১৬ ডিসেম্বর ২০১৪ 
  30. "RFC: Unicode Codepoint Escape Syntax"। ২০১৪-১১-২৪। সংগ্রহের তারিখ ২০১৪-১২-১৯ 
  31. উদ্ধৃতি ত্রুটি: <ref> ট্যাগ বৈধ নয়; return-types নামের সূত্রটির জন্য কোন লেখা প্রদান করা হয়নি
  32. উদ্ধৃতি ত্রুটি: <ref> ট্যাগ বৈধ নয়; scalar-types নামের সূত্রটির জন্য কোন লেখা প্রদান করা হয়নি
  33. "Combined Comparison (Spaceship) Operator"php.net। সংগ্রহের তারিখ ২০১৫-০৫-২১ 
  34. "PHP RFC: Generator Delegation"php.net। সংগ্রহের তারিখ ২০১৫-০৫-২১ 
  35. "PHP RFC: Anonymous Classes"php.net। সংগ্রহের তারিখ ২০১৫-০৫-২১ 
  36. "PHP RFC: Easy User-land CSPRNG"php.net। সংগ্রহের তারিখ ২০১৫-০৫-২১ 
  37. "PHP RFC: Exceptions in the engine (for PHP 7)"php.net। সংগ্রহের তারিখ ২০১৫-০৫-২১ 
  38. "PHP RFC: Group Use Declarations"php.net। সংগ্রহের তারিখ ২০১৫-০৫-২১ 
  39. "Preparation Tasks"। সংগ্রহের তারিখ ৫ জুলাই ২০১৬ 
  40. উদ্ধৃতি ত্রুটি: <ref> ট্যাগ বৈধ নয়; releaseprocess নামের সূত্রটির জন্য কোন লেখা প্রদান করা হয়নি
  41. "PHP: rfc:void_return_type"php.net। ২০১৫-১১-০৯। সংগ্রহের তারিখ ২০১৫-১১-১৪ 
  42. "PHP: rfc:class_constant_visibility"php.net। ২০১৫-১০-২৭। সংগ্রহের তারিখ ২০১৫-১২-০৮ 
  43. "PHP RFC: Nullable Types"php.net। ২০১৪-০৪-১০। সংগ্রহের তারিখ ২০১৬-০৬-১৪ 

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