الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لغة الphp منذ بداية ظهورها وحتى اليوم

مغلق
بدأه Anwarica في 29 ديسمبر 2004 · 10 رد · 1,933 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هى إحدى لغات المصدر المفتوح أكوادها تشبه خليط من السى والجافا والبيرل ... اختصارها الحالى Hypertext Preprocessor وهى أحد اللغات التى تعمل جهة الخادم ... ليست بتعقيد البيرل ولا السى بل إنها عالجت عيوب البيرل ... فعلى الرغم من أن لغة السى يمكنها العمل على السيرفر بسرعة عاليه إلا أنها أداة صعبة ولن تسلم من الثغرات الأمنيه التى قد تقع فيها... أما البيرل فقد كانت أنسب من السى ولكن مستخدمى البيرل كان عليهم إستخدام مكتبات خارجية وكذلك قوالب modules للتعامل مع database-driven environments بينما ال php تحتوى على مكتبه SQL جبارة ودعم بقية الThird Party databases .. لماذا تختار الphp أيضا؟

Speed of Development سرعة التطوير

هذه النقطة المفروض أنها ستظهر فى تاريخ تطوير اللغة أكثر.. كما أن الكود مفصول عن وسوم الhtml ..

Performance الأداء القوى

والشاهد على ذلك إختبارات كثيره على المحرك الحالى Zend http://www.zend.com .

Portability المحمولية

تعمل اللغة على أنظمة التشغيل المختلفة وعلى منصات مختلفة cross-platform وبنفس الكفاءة تقريبا

php GTK

هذه قصه لوحدها GIMP Tool Kit ... إنه امتداد لعمل واجهات تطبيقية للمستخدمين خارج الويب! وهو برهان على قوة اللغة أيضا.

With php-gtk you can create anything ranging from an mp3 player to a full-blown irc client. The posibilities are endless; and cross-platform

وإليكم تاريخ اللغة:

فى عام 1994 كان Rasmus Lerdorf يعمل على بعض سكريبتات البيرل ... كان ينشأ بعض السكريبتات التى راجت بين المبرمجين إلى أن تم إطلاق الphp وكانت وقتها إختصار Personal Home Page ... بعدها تطور الموضوع وقام ليدروف بعمل محرك نصوص scripting engine وأدخل مفسر النماذج (FI - (Form Interpreter وعندها سميت اللغة PHP/FI أو PHP2 وذلك فى عام 1995.

الكثير من المبرمجين أمسكوا زمام الأمور وتطورت اللغة وتنقلت بين يد الكثيرين بحكم أنها مفتوحة المصدر ومتاح تطويرها، منهم مجموعة من المبرمجين وهم Rasmus Lerdorf, Andi Gutmans, Zeev Suraski,Stig Bakken, Shane Caraveo, and Jim Winstead .. هذه المجموعة قدمت الphp3 بعدما طورا محرك النصوص بل وقاموا بتوسيع مجال اللغة بأن أضافوا API بسيط لتمكين المبرمجين الآخرين من إضافة القوالب modules التى يفضلونها. أيضا تم تهذيب صيغة الأوامر Syntax بإضافة المشيدات constructs المعروفة فى البرمجة كائنية التوجه OOP.

وصولا إلى php4 فى عام 2000قامت زند Zend بتقديم محركها الشهير ومن هنا بدأنا نشعر بوزن اللغة وبدأ الإنتشار السريع.. واستمر تألقه حتى تم إطلاق النسخة الخامسة هذه الأيام وهى مبنيه على zend engine II - ZE2 واتضحت القوة فى الOOP بوجه خاص حيث كانت ضعيفة وناقصه فى النسخة الرابعة.

مازال الموضوع طويل قليلا .. ما الخطوط الأساسية الممكن الاستفاضة خلالها؟ أخشى الإستفاضه فى نقاط غير مهمة وأترك الهام ..

#2

رائع رائع .. وأكثر من رائع

لاداعي للإستفاضيه الأدبيه .. بل بشكل مختصر جدا ..

للتسهيل إنطلق من بنود الكتاب , بحيث يتم ذكر البنود الأساسيه التي تميز PHP وبالتالي أضمن انها لن تظلم أثناء الحديث عنها ...

مثلا ذكرت أنت المحموليه ومفتوحه المصدر والخ .. هذه الكلمات أنا أسميها الكلمات السحريه , بحيث أن كل واحدة منها تكفي كمعلومه جاهزة .. ببساطه بماذا تتميز PHP , وماهو دعمها للمعايير المذكورة حاليا .. وسأقوم أنا بطرح تسائلتي بشكل مستقل عنها ..

كأني الاحظ أن معظم سوق مواقع الإنترنت مبني عليها وهذه نقطه مهمه , ماهي النسبه التي تشغلها في بناء المواقع .. ؟؟؟

إذا إستطعت أن تقارنها في بعض الحالات مع لغات أخرى يكون كتير ممتاز لكي نعرف ماهو موقعها في بند ما , مثال جيد أن تقول:ليست بتعقيد البيرل ولا السى بل إنها عالجت عيوب البيرل

هكذا نستطيع ضمان أن تكون المعلومات مكتوبه بموقعها الصحيح

للتذكير المعايير هي :

دعم OOP البرمجه غرضيه التوجه . أو البرمجه الشيئيه

التغليف

الوراثه من أنماط موجوده

تعدديه الأشكال (Polymorphism)

لغات البرمجه الغرضيّه الصرفه مقابل اللغات الهجينه

الوراثه المتعدده Multiple inheritance

نموذج الأصناف الساكن مقابل نموذج مرجعيه الغرض

الإداره الآليه للذاكره ومجمع النفايات garbage collect

الاستدعاء المتأخر (وتعدديه الأشكال) Late Binding and Polymorphis

معلومات الأصناف في زمن التشغيل RTTI

القوالب والبرمجه الجينيه (Generic Programming)

التجريد Abstraction

القياسيه

المقروئيه Readability وتنظيم اللغه

- سرعه التكويد

أمن اللغه Language Safe

وصول منخفض المستوى low-level access

السرعه Speed

سرعه تطوير التطبيق ((الإنتاجيه))

سهوله اللغه

قابليه إعاده الإستخدام ReUsibility

التوسعيه Extendibility

التخاطب مع نظم وتقنيات مختلفه

دعم التقنيات المختلفه

توفر مكتبه أدوات واسعه Wide Component Library

السرعه في التنفيذ Executing Speed

حجم التطبيق Application Size

دعم المجاري المتعدده Multi Threading

معالجه الإستثناءات exception handling

دعم GUI و graphics

الإنتشار والتسويق والدعم الفني Marketing and Support

المحموليه Portability

المحموليه على صعيد نظم التشغيل

اللغات التي تعمل على منصات خاصه

نسخ من اللغه مخصصه للعمل على نظم مختلفه

محررات مختلفه تدعم نظم مختلفه

المحموليه على صعيد إصدارات نظام التشغيل المختلفه

المحموليه على صعيد نظام تشغيل واحد_أجهزه مختلفه

مكتبات زمن تشغيل (Run Time)

الأدوات التي إستخدمناها في برنامجنا .

التكامل مع نظام التشغيل OS integrity

دعم الويب Web Supporting

مفتوحه المصدر Open Source

#3

بدأت فى جمع المعلومات وإن كان هناك عقبة أساسية وهى أن php5 تختلف بما أضافته مما سيقسم الموضوع إلى php4,php5

عموما كل شوية سأضيف ما حصلت عليه وأرجو من بقية الأخوة المشاركة ضرورى :) عايزين العالم تشوف اللغة فى أحسن صورها

تم تعديل هذه المشاركة بواسطة anwarica في 3 يناير 2005 في 17:35

#4

يبدو أن الحديث يجب أن يكون عن php5 لما لها من مميزات وحلول تظهر فى أبهى مظهر فى الoop على سبيل المثال، وهذه القائمة بالجديد:

New Object Model

Private and Protected Members

Private and Protected Methods

Abstract Classes and Methods

Interfaces

Class Type Hints

final

Object Cloning

Unified Constructors

Destructors

Constants

Exceptions

Dereferencing Objects Returned from Functions

Static Member Variables of Static Classes Can Now be Initialized

Static Methods

instanceof

Static Function Variables

Overloadable Method Calls and Property Accesses

Iteration

New __METHOD__ Constant

Reflection API

New Memory Manager

حينا الphp4 تدعم التغليف والوراثة وتعدد الأشكال والإصدار الخامس يدعم الوراثة المتعددة ويدعم الAbstraction (التجريد) والمكتوب بالأعلى كله :)

كما دعمت SimpleXML والSQLite (قاعدة بيانات أقوى من الmysql ولاتحتاج لمزود خاص بها وتحتمل بيانات تصل إلى 2 تيرابايت) ... Garbage Collection موجودة :)

أنا صراحة تلخبطت كثيرا ولكن بشكل عام لغة php صممت من أجل الويب وما تقدمه اللغة من العمل على أجهزة العميلclient إنما هو برهان على قوة اللغة وقابلية توسعها .. تدعم جميع نظم التشغيل .. تعمل على جميع المنصات .. مفتوحة المصدر .. تنتشر بسرعة هائلة (أتمنى أن أجد ورقة الإحصائيات) .. السهولة ولاتحتاج لأدوات خاصة للاستخدام ولاكومبايلر .. دخلت بالفعل ضمن إطار الدوت نت (هاهى هنا قصة تانية :) ) - موجود مقارنات كثيرة مع asp.net ومع perl ولكن للصراحة أشك فى مصداقيتهم (وربما لسرعة تطور الphp مما يغير المقارنات فى شهور قليلة) وهذه هى إحدى أشهر المقارنات مع asp.net >> من http://www.oracle.com/technology/pub/articles/hull_asp.html

قبل أن يفلت باقى الموضوع هذه بعض الروابط للتأكيد وايضا كتاب Upgrade to php5

http://www.php.net/manual/en/faq.general.php

http://www.zend.com/php5/articles/engine2-php5-changes.php

http://www.zend.com/php5/articles/php5-perl.php

تم تعديل هذه المشاركة بواسطة anwarica في 8 يناير 2005 في 15:27

#5

نسيت أن الphp لاتدعم multithreading فى الاصدار الرابع :)

وأبحث عما إذا كانت هذه الميزة فى الإصدار الخامس أو وجود حلول لنفس الهدف ..

#6

شكرا anwarica ...

المعلومات ممتازة

وphp تستحق الإهتمام فعلا

#7

يبدو أن هناك أمل :)

http://sitten-polizei.de/php/threads/tests/

وهذا ملف dll

http://snaps.php.net/win32/PECL_STABLE/php_threads.dll

يمكن الموضوع يكون له علاقة بالدعم فى php5 فى multi-threading ولكن يبدو أنه لن يكون ناجحا :(

بشكل رسمى لا يوجد مايشير لدعم الmulti-threading للأسف ولكن سأبحث عن الموضوع عند ضم الphp للدوت نت ..

#9

waw

الامر بدا يخوف اكتر الاحسن ان ابقى فى الhtml :lol: :lol: :lol: :lol:

فعلا هده اللغة جبارة والامر ليس سهلا

مشكور اخى على المعلومات القيمة وانا متتبع لكل صغيرة وكبيرة فى الميدان

ولو انى لا اضيف معلومات مجرد مستعلك <_<

-waf

Skype%20Candy.jpg
#10

مشكور استاذ انوريك شكر من اعماق اعماق قلبي

يمكن يكون الموضوع قديم من سنه 2005

لكن حمستني اكثر لتعلم هاللغه و تعليمها

اكرر شكري استاذ

فعلا للغه تستحق التعلم

#11

انا سمعت عن شيء و قد يساعد في عمل البرنامج بحيث يتهيأ لنا مثل ال multithreading الا وهو ال Cron Jobs حيث يمكنك تحديد Cron Job بحيث تستعدي سكربت ال PHP لتم تنفيذه بالوقت الذي ترغب به

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

هذا الموضوع مغلق.

مواضيع مشابهة