آشنایی با تاریخچه ی شکل گیری زبان برنامه نویسی پی اچ پی

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
آشنایی با تاریخچه ی شکل گیری زبان برنامه نویسی پی اچ پی


اولین نسخه از زبان PHP در سال 1994 توسط Rasmus Lerdorf نوشته شد (در ابتدا PHP مخفف واژگان Personal Home Page به معنی «صفحه ی شخصی» بود.) در واقع این برنامه نویس دانمارکی یکسری CGI ها را با استفاده از زبان Perl نوشت که این وظیفه را داشتند تا رزومه او را در وب سایت شخص اش در معرض دید دیگران قرار داده و همچنین ترافیک وب سایت شخصی او را نمایش دهند که بعدها این دستورات با استفاده از زبان C بازنویسی شدند (البته نسخه یی که امروزه ما استفاده می‌کنیم با آنچه در سال 1994 طراحی شده بود کاملاً متفاوت است.)

نکته
اصطلاح CGI مخفف واژگان Common Gateway Interface است. در واقع CGI ها به منزله استانداردی هستند که با استفاده از آن ها، وب سرورها -که در آموزش‌های آتی بیشتر با آن‌ها آشنا می شویم- می توانند ایجاد محتوای صفحات وب را مدیریت کنند.

اطلاعیه ی شماره یک انتشار زبان پی اچ پی در سال 1995 در گروه خبری یوزنت به شرح زیر است:

From: [email protected] (Rasmus Lerdorf)
Subject: Announce: Personal Home Page Tools (PHP Tools)
Date: 1995/06/08
Message-ID: <[email protected]>#1/1
organization: none
newsgroups: comp.infosystems.
Please, ورود or عضویت to view URLs content!

Announcing the Personal Home Page Tools (PHP Tools) version 1.0.
These tools are a set of small tight cgi binaries written in C.
They perform a number of functions including:
. Logging accesses to your pages in your own private log files
. Real-time viewing of log information
. Providing a nice interface to this log information
. Displaying last access information right on your pages
. Full daily and total access counters
. Banning access to users based on their domain
. Password protecting pages based on users' domains
. Tracking accesses ** based on users' e-mail addresses **
. Tracking referring URL's - HTTP_REFERER support
. Performing server-side includes without needing server support for it
. Ability to not log accesses from certain domains (ie. your own)
. Easily create and display forms
. Ability to use form information in following documents

Here is what you don't need to use these tools:
. You do not need root access - install in your ~/public_html dir
. You do not need server-side includes enabled in your server
. You do not need access to Perl or Tcl or any other script interpreter
. You do not need access to the httpd log files

The only requirement for these tools to work is that you have the ability to execute your own cgi programs. Ask your system administrator if you are not sure what this means.

The tools also allow you to implement a guestbook or any other form that needs to write information and display it to users later in about 2 minutes.

The tools are in the public domain distributed under the GNU Public License. Yes, that means they are free!

For a complete demonstration of these tools, point your browser at:
Please, ورود or عضویت to view URLs content!


--
Rasmus Lerdorf
[email protected]
Please, ورود or عضویت to view URLs content!

آنچه از اطلاعیه ی فوق هویدا می باشد این است که توسعه دهندگان در آن سال‌ها چه دغدغه هایی داشته اند؛ چیزهایی همچون صفحاتی برای عرضه به گروه‌های خاصی از کاربران، ساخت فرم ها، دسترسی به دیتای ذخیره شده در دیتابیس و نمایش آن در صفحات و … جزو مسائلی بوده‌اند که آقای Lerdorf را متقاعده کرده بود تا این زبان را پایه ریزی کند.

همان طور که پیش از این هم اشاره یی کردیم، Business Logic یا «منطق» این زبان با استفاده از زبان برنامه نویسی C نوشته شده اما ساختار زبان به گونه یی است که توسعه دهندگان قادر به توسعه ی این زبان با نوشتن ماژول هایی به زبان C می باشند.

در تکمیل تاریخچه ی نسخه اول این زبان، بایستی گفت که آقای Lerdorf روی پروژه ی نسبتاً بزرگی برای دانشگاه تورنتو کار می‌کرد که این پروژه نیاز به ابزارهایی داشت تا بتوانند داده‌ها را از جاهای مختلفی جمع آوری کرده سپس در قالب یک صفحه ی تحت وب نمایش دهد. او از همان نسخه های ابتدایی زبان پی اچ پی برای این پروژه استفاده کرد اما باتوجه به این که این نسخه از زبان پی اچ پی برای پروژه ی نسبتاً بزرگی همچون پروژه ی دانشگاه تورنتو آن طور که باید و شاید کارآمد نبود، تغییراتی می بایست در وب سرور صورت می پذیرفت (وب سرور نام نرم افزاری است که ارتباط مابین کاربر و سرور را برقرار می سازد.)

وب سروری که در آن زمان برای این پروژه استفاده شده بود NCSA نام داشت و تغییرات صورت گرفته در آن مشکلات این زبان را رفع کرده بود اما این کار یک مشکل بزرگ داشت؛ اگر کسی می‌خواست از این زبان برای طراحی صفحات وب استفاده کند، حتماً می بایست از نسخه ی تغییر پیدا کرده این وب سرور استفاده کند.

در همین اثنی، وب سروری به نام Apache (آپاچی) داشت در میان توسعه دهندگان محبوبیت پیدا می‌کرد و نکته ی جالب این که این نرم‌افزار دست توسعه دهندگان را باز می گذاشت تا راحت‌تر بتوانند زبان پی اچ پی را روی سرور اجرا کنند.

آقای Lerdorf سپس قابلیت های کار با فرم ها در صفحات وب و ارتباط با پایگاه داده را نیز به این زبان اضافه نمود که در نهایت چیزی تحت عنوان Personal Home Page/Forms Interpreter یا به طور خلاصه PHP/FI نام گرفت که چنانچه بخواهیم آن را ترجمه کنیم می توانیم معادلی همچون «تحلیلگر فرم ها و صفحات وب سایت شخصی» برای آن در نظر بگیریم. در حقیقت او به دنبال این مسئله بود تا بتواند به راحتی وب سایت شخصی خود را به صورت دینامیک آپدیت نگاه دارد. با تغییراتی که در این زبان صورت گرفت، در نهایت در سال 1996 نسخه ی (PHP 2.0 (PHP/FI با اطلاعیه یی به شرح زیر به دنیا عرضه شد:

From: [email protected] (Rasmus Lerdorf)
Subject: ANNOUNCE: PHP/FI Server-side HTML-Embedded Scripting Language
Date: 1996/04/16
Newsgroups: comp.infosystems.
Please, ورود or عضویت to view URLs content!


PHP/FI is a server-side HTML embedded scripting language. It has built-in access logging and access restriction features and also support for embedded SQL queries to mSQL and/or Postgres95 backend databases.

It is most likely the fastest and simplest tool available for creating database-enabled web sites.

It will work with any UNIX-based web server on every UNIX flavour out
there. The package is completely free of charge for all uses including
commercial.

Feature List:
. Access Logging
Log every hit to your pages in either a dbm or an mSQL database.
Having hit information in a database format makes later analysis easier.
. Access Restriction
Password protect your pages, or restrict access based on the refering URL plus many other options.
. mSQL Support
Embed mSQL queries right in your HTML source files
. Postgres95 Support
Embed Postgres95 queries right in your HTML source files
. DBM Support
DB, DBM, NDBM and GDBM are all supported
. RFC-1867 File Upload Support
Create file upload forms
. Variables, Arrays, Associative Arrays
. User-Defined Functions with static variables + recursion
. Conditionals and While loops
Writing conditional dynamic web pages could not be easier than with the PHP/FI conditionals and looping support
. Extended Regular Expressions
Powerful string manipulation support through full regexp support
. Raw HTTP Header Control
Lets you send customized HTTP headers to the browser for advanced features such as cookies.
. Dynamic GIF Image Creation
Thomas Boutell's GD library is supported through an easy-to-use set of tags.

It can be downloaded from the File Archive at: <URL:
Please, ورود or عضویت to view URLs content!
>
--
Rasmus Lerdorf
[email protected]
این اولین باری بود که اصطلاح Scripting Language مورد استفاده قرار گرفت. زبان‌های Scripting با زبان‌های Programming تاحدودی فرق دارند. زبان‌های برنامه نویسی -مثل جاوا- فضایی برای برنامه نویس ایجاد می‌کنند که یک برنامه را با سینتکسی شبیه به زبان انگلیسی نوشته سپس سورس کد اصطلاحاً کامپایل می‌شود یعنی از کدها به زبان ماشین -یا همان 0 و 1 که توسط سیستم قابل فهم هستند- تبدیل می‌شوند و در نهایت برنامه اجرا می شود. اما برنامه‌های نوشته شده با زبان‌های اسکریپتینگ هیچ نیازی به کامپایل شدن ندارند. برنامه به محض اجرا خط به خط اصطلاحاً Interprete (اینترپریت یا تفسیر) می شود (برای کسب اطلاعات بیشتر در این باره، به آموزش قبل مراجعه نمایید.)

در اواسط سال 1997 نسخه ی دوم زبان پی اچ پی توانسته بود توسعه دهندگان قابل توجهی را به خود جلب کند اما کماکان مشکلاتی در زمینه ی Parsing Engine یا «موتور پردازشگر» این زبان وجود داشت. علاوه بر این، این زبان صرفاً توسط یک نفر توسعه می یافت و فقط چند نفری بودند که در افزودن بخش‌هایی به این زبان مشارکت داشتند.

در همین زمان بود که Zeev Suraski و Andi Gutmans در تلاویو اسرائیل داوطلب شدند تا Parsing Engine این زبان را بازنویسی کنند که در نهایت قرار شد این تغییرات در نسخه ی 3 اعمال شوند و در سال 1998 بخش هایی از این زبان را بازنویسی کرده و آن را تحت عنوان PHP عرضه کردند با این تفاوت که PHP مخفف واژگان PHP: Hypertext Preprocessor شد که حرف P اول به همان واژگان Personal Home Page اشاره دارد، حرف H به واژه ی Hypertext و حرف P آخر هم به Preprocessor. به طور کلی منظور از Hypertext Preprocessor این است که زبان پی اچ پی دیتا را پیش از آن که در قالب اچ تی ام ال در معرض دید کاربر قرار بگیرد پردازش می کند. به عبارت دیگر نام جدید این زبان PHP: Hypertext Preprocessor شد:

abf9c87cc4e366e87796794a226420b0.jpg


تصویر سمت چپ مربوط به Rasmus Lerdorf، تصویر وسط مربوط به Andi Gutmans و تصویر سمت راست مربوط به Zeev Suraski است.

علاوه بر این دو توسعه دهنده، افراد دیگری هم پیدا شدند که تمایل خود را برای مشارکت در توسعه بخش‌های دیگر زبان پی اچ پی نشان دادند و این شد که زبان برنامه نویسی پی اچ پی از یک پروژه ی تک نفره،‌ به یک پروژه ی اپن سورس واقعی با چندین نفر توسعه‌دهنده از سراسر دنیا مبدل شد. در سال 1998 بیانیه یی برای انتشار نسخه ی PHP 3.0 منتشر شد که متن آن به این شرح است:

June 6, 1998 -- The PHP Development Team announced the release of PHP 3.0, the latest release of the server-side scripting solution already in use on over 70,000 World Wide Web sites.

This all-new version of the popular scripting language includes support for all major operating systems (Windows 95/NT, most versions of Unix, and Macintosh) and web servers (including Apache, Netscape servers, WebSite Pro, and Microsoft Internet Information Server).

PHP 3.0 also supports a wide range of databases, including Oracle, Sybase, Solid, MySQ, mSQL, and PostgreSQL, as well as ODBC data sources.

New features include persistent database connections, support for the SNMP and IMAP protocols, and a revamped C API for extending the language with new features.

"PHP is a very programmer-friendly scripting language suitable for
people with little or no programming experience as well as the
seasoned web developer who needs to get things done quickly. The
best thing about PHP is that you get results quickly," said Rasmus Lerdorf, one of the developers of the language.

"Version 3 provides a much more powerful, reliable, and efficient
implementation of the language, while maintaining the ease of use and
rapid development that were the key to PHP's success in the past,"
added Andi Gutmans, one of the implementors of the new language core.

"At Circle Net we have found PHP to be the most robust platform for
rapid web-based application development available today," said Troy
Cobb, Chief Technology Officer at Circle Net, Inc. "Our use of PHP
has cut our development time in half, and more than doubled our client
satisfaction. PHP has enabled us to provide database-driven dynamic
solutions which perform at phenomenal speeds."

PHP 3.0 is available for free download in source form and binaries for
several platforms at
Please, ورود or عضویت to view URLs content!
.

The PHP Development Team is an international group of programmers who
lead the open development of PHP and related projects.

For more information, the PHP Development Team can be contacted at
[email protected].
در سال 2000 آقایان Zeev Suraski و Andi Gutmans شرکتی تحت عنوان Zend تاسیس کردند و در آن شرکت هسته اصلی پی اچ پی را بازنویسی کرده و تغییرات گسترده ای در آن ایجاد کردند که این تغییرات در قالب چیزی به نام Zend Engine شکل گرفت و آن را در همین سال در قالب نسخه 4.0 روانه بازار کردند. نسخه ی PHP 4.0 در 22 ماه مه سال 2000 با تلاش توسعه دهندگان بسیاری و صرف زمان قابل توجهی به دنیا عرضه شد.

در سال 2004 نسخه 5 از این زبان به دنیا عرضه شد که دارای ویژگی های بسیاری می باشد که از آن جمله می توان به برنامه نویسی شیئ گرایی و ارتباط بهتر با پایگاه داده ها اشاره کرد (در واقع هر کدام از نسخه های پی اچ پی دارای آپدیت هایی هم می باشند مثلا نسخه 5.2 اما با توجه به این که توضیح پیرامون این آپدیت ها صرفاً به طولانی تر شدن تاریخچه منجر خواهد شد، از توضیح پیرامون این مسئله خودداری خواهیم کرد.)

یکی از چیزهای جالب در مورد نسخه های مختلف زبان پی اچ پی این است که نسخه ی PHP 6.0 این زبان هرگز عرضه نشد و به یکباره پس از نسخه ی PHP 5.6، نسخه ی PHP 7.0 به بازار عرضه شد. یکی از خصیصه های اصلی PHP 6.0، پشتیبانی از Unicode بود. به عبارت دیگر، این نسخه از پی اچ پی قرار بود تا کاراکترهای کلیه ی زبان‌های زنده ی دنیا را ساپورت کند اما طراحان این زبان نتوانستند آن طور که باید و شاید این نوع پشتیبانی را به زبان پی اچ پی بیفزایند و تا حدودی به برند این نسخه از زبان برنامه نویسی پی اچ پی لطمه خورد و از همین روی توسعه ی PHP 6.0 متوقف شد!

در دسامبر سال 2015 نسخه ی PHP 7.0.0 به دنیا عرضه شد. پس از عرضه ی PHP 5 در سال 2004، نسخه ی 7 زبان برنامه نویسی پی اچ پی دربرگیرنده ی مهم ترین تغییرات اعمال شده در این زبان است که از آن جمله می توان به عملکرد بسیار بالا، کاهش استفاده از حافظه و بسیاری ویژگی های جدید اشاره کرد. به یمن استفاده از Zend Engine 3.0، وب اپلیکیشن های نوشته شده با پی اچ پی نسخه ی 7 از سرعتی تا 2x و کاهش استفاده از حافظه به میزان 50% خواهیم بود که در نهایت این امکان در اختیار توسعه دهندگان قرار می گیرد تا بدون ارتقاء سخت افزار، بتوانند تعداد کاربران به مراتب بیشتری را پوشش دهند.

PHP-GTK چیست؟
به طور کلی، GTK یک Library (لایبرری یا کتابخانه) برای طراحی GUI یا «رابط های گرافیکی کاربری» است. این لایبرری زمانی شکل گرفت که توسعه دهندگان نرم‌افزار GIMP که برای ویرایش تصاویر استفاده می‌شود، آن را با زبان C نوشتند لذا به آن GIMP Toolkit هم گفته می شود. از آن زمان به بعد، جی تی کی به عنوان یکی از مشهورترین ابزارهای طراحی رابط کاربری شناخته می‌شود و در دنیای اپن سورس بسیاری از رابط های گرافیکی نرم‌افزارها با استفاده از آن طراحی می شود.

PHP-GTK هم مجموعه یی از Binding ها برای زبان برنامه نویسی پی اچ پی است که این امکان را به توسعه دهندگان می‌دهد تا با استفاده از این زبان، اقدام به طراحی نرم افزارهای دسکتاپ کنند.

به خاطر داشته باشید
در دنیای برنامه نویسی، منظور از Binding یک زبان برنامه نویسی به یک لایبرری این است که یک API طراحی شده که با استفاده از آن می‌توان از کدهای قرار گرفته در لایبرری در زبان برنامه نویسی مد نظر خود استفاده کرد (API مخفف واژگان Application Programming Interface به معنی «رابط های برنامه نویسی اپلیکیشن» می باشد. به طور خلاصه، ای پی آی به راحتی این امکان را در اختیار یک برنامه نویس می‌دهد تا به‌ برخی یا تمامی قابلیت‌های یک نرم‌افزار دیگر دسترسی پیدا کند.)
PHP-GTK توسط توسعه‌دهنده یی به نام Andrei Zmievski ابداع شد که به عنوان یکی از توسعه دهندگان اصلی زبان PHP و Zend Engine است و اولین نسخه از PHP-GTK در ماه مارس سال 2001 به دنیا عرضه شد.
 

برخی موضوعات مشابه

بالا