ما هي php؟ وما مميزاتها؟ وما هي استخداماتها؟
PHP:
هي لغة من لغات عالم البرمجة، تم إنشاء PHP على يد راسموس ليردورف Rasmus Lerdorf في عام 1994.حيث تعد البرمجة من أهم عوالم تكنولوجيا المعلومات، فلغات البرمجة هي الأساس في بناء التطبيقات والبرمجيات والمواقع الإلكترونية وغيرها، وتعد php من أشهر اللغات المستخدمة في برمجة الويب, و هناك ميزة في تلك اللغة كونك يمكن استعمالها لعمل برامج و تطبيقات قائمة بنفسها، لا صلة لها بصفات الويب.
أطلق راسموس اسم Personal Home Page Tools على هذه التطبيقات، لأنه احتاج بعد ذلك إلى تطبيقات أكثر فائدة.
لغة البرمجة PHP هي عبارة عن لغة برمجة نصية وتستخدم للأغراض العامة كما يتم تطويرها حالياً بواسطة فرق تطوير PHP.
تُعدّ PHP واحدة من أهم وأشهر لغات البرمجة النصية عامة الهدف المتخصصة في تطوير تطبيقات الويب، حيث تعمل من وراء الكواليس لجلب وإرسال البيانات بين المتصفح والخادم، أي أنها تُستخدم في برمجة مواقع الويب بما فيها أنظمة إدارة محتوى المواقع الإلكترونية مثل منصة ووردبريس.
يمكن تشغيل برنامج PHP من سطر الأوامر لأداء المهام الإدارية، مثل إرسال رسائل البريد الإلكتروني وإنشاء ملفات PDF، وهي معالج مسبق للنصوص الفائقة.
كانت تسمى وقتها بـ PHP/FI وفي الواقع لم تكن لغة برمجة وقتها بل كانت عبارة عن مجموعة من التطبيقات التي كتبت باستخدام لغة بيرل.
ويطورها فريق من المتطوعين تحت رخصة php.
اختار راسموس مصمم هذه اللغة أن تكون الشفرة المصدرية الخاصة بـ PHP/FI متوفرة للجميع، لذا كان أي شخص يستطيع أن يستخدمها ويقوم بتحسينها، والمشاركة في حل أخطاءها ومشاكلها.
في عام 1997 تم إطلاق الإصدار الثاني 2.0 من PHP/F، حيث بلغ عدد مستخدميها آنذاك خمسون ألف نطاق، وتم إطلاق الإصدار الرسمي من 2.0 في شهر نوفمبر من نفس العام بعد العديد من الإصدارات التجريبية.
في عام 1997 تم إعادة كتابة PHP/FI على يد زيف سوراكسى وأندي جتمانز، بعدما وجدوا أن PHP/FI 2.0 ليست قوية من أجل كتابة تطبيق تجارة إلكترونية، والذي كانوا يعملون عليه كمشروع تخرج لجامعتهم، كان هناك تعاون بينهم وبين مؤسس اللغة على أن تكون PHP 3.0 هي النسخة الرسمية بعد PHP/FI.
وفي هذا الإصدار تم تغيير اسم اللغة الى اسم جديد وهو PHP بدونFI، و التي تعتبر اختصارا لجملة "PHP: Hypertext Preprocessor". وهو في الأصل اختصار للصفحة الرئيسية الشخصية وتعني المعالج الأول للنص التشعبيHypertext Preprocesso
تم إصدار PHP الثالث 3.0 في يونيو1998 بعد 9 أشهر من الاختبارات.
وبعد الانطلاق الرسمي للإصدار الثالث بقليل في عام 1998، بدأ زيف سوراكسى وأندي جتمانز بإعادة كتابة أساس لغة php وكان هدفهم من ذلك هو تحسين الأداء للبرامج المعقدة والضخمة وتحسين قابلية اللغة للتوسع.
قاموا بتسمية المحرك الجديد الذي ظهر بعد إعادة الكتاب بمحرك زند واختاروا هذا الاسم خصوصا لأنه مأخوذ من أوائل حروف أسماء مطوريه، تعتمد php 4.0 على هذا المحرك وتم الإعلان عن هذا الإصدار من php في مايو 2000، ونجحوا في تحقيق أهدافهم عن طريق هذا المحرك، بالإضافة إلى تحسين الأداء في هذا الإصدار.
وقد تم إعلان إيقاف تطوير ودعم بي إتش بي في منتصف عام 2007.
الإصدار 6 من php تحت التطوير من يوليو 2007، ويهدف إلى حل بعض عيوب php 5.
كما يوجد نوعان رئيسيان من لغات البرمجة:
- اللغات الخاصة بالنطاق Domain-Specific Languages.، ويتم استخدامها في مجالات معينة، مثل لغة SQL فهي لغة خاصة بالنطاق، ويتم استخدامها بشكل أساسي للاستعلام عن البيانات من قواعد البيانات، ولا يمكن استخدامها لأغراض أخرى.
- ولغات الأغراض العامة General-Purpose Languages، تعتبر لغة البرمجة PHP هي لغة من اللغات عامة الغرض، لأن PHP يمكنها أن تطور تطبيقات مختلفة.
مميزات php
- هناك العديد من المكتبات والوظائف المتاحة ، وقد أدت قابليتها للتوسع إلى قيام العديد من المطورين بتطوير مكتبات جديدة وإضافتها إلى اللغة.
- تمت إضافة ميزة أخرى في هذا الإصدار وهي البرمجة الشيئية.
- سهولة البدء في تعلم لغة PHP.
- من الطبيعي السرعة الكبيرة للمواقع التي تعمل بلغة PHP.
- تعتبر لغة PHP من لغات البرمجة المستقرة.
- تعتبر من لغات البرمجة المجانية ومفتوحة المصدر.
- وجود مجتمعات دعم تقني نشطة بشكل كبير على الإنترنت، ويمكن تشغيل PHP على جميع أنظمة التشغيل الرئيسية.
- تعتبر لغة مشتركة بين الأنظمة الأساسية Cross-Platform
- Language, والتي منهاWindows ، و macOS، وأنظمة التشغيل Linux.
- يحتوي الإصدار الأخير من php، على مجموعة جديدة من الميزات مثل دعمه لعدد أكبر من خوادم الويب، والجلسات، ويحتوي على طرق آمنة جديدة لمعالجة دخل المستخدم وغيرها.
- تضم php عدد كبير من المكتبات الحرة والمجانية، أغلب هذه المكتبات تعطي phpطبيعتها كلغة لكتابة تطبيقات الويب.
- تحتوي على مكتبات للوصول إلىFTP ومجموعة من مكتبات الوصول إلى قواعد البيانات والعديد من الدوال تشبه دوال لغة سي.
- ويحتوي التطوير المستقبلي للإصدار الأخير على دعم حقيقي لـيونيكود.
- وأيضا إزالة خاصية magic_quotes وهي خاصية علامات الاقتباس السحرية.
- إزالة دوال ereg واعتماد preg بديل عنها.
- إزالة المتغيرات HTTP_*_VARS.
- إزالة الخاصية register_globals.، والخاصية safe_mode.
عيوب لغة. PHP
- قليلة للغاية.
- تتواجد فيها فوضى نسبيا.
- كما يتواجد عدم تنظيم في المكتبات القياسية والتي تحتوي على الدوال الخاصة باللغة، فتتواجد دوال بأسماء مختلفة وإن كانت تؤدي نفس الغرض.
- لغة PHP غير مناسبة لتطبيقات الويب الكبيرة جدا القائمة على المحتوى الكبير، وغير مصممة للمشاريع الضخمة.
- كما أنه لا يمكنه التعامل مع عدد كبير من التطبيقات.
- لغة مفتوحة المصدر ولذلك فهي معرضة للاختراق؛ حيث يمكن لجميع الأشخاص رؤية الكود المصدري، وإذا وجد خطأ فقد يستخدموا هذا الخطأ لاستكشاف نقاط الضعف بها.
- لتجنب كتابة تعليمات برمجية إضافية ، يجب أن تتعلم إطار عمل PHP واستخدام الوظائف المضمنة.
- عند استخدام المزيد من ميزات الـ Frame Worksوالأدوات الخاصة بـ،PHP قد يؤدي في بعض الأحيان إلى ضعف أداء التطبيقات عبر الإنترنت.
- لغة PHP لا تسمح بالتغيير أو التعديل في السلوك الأساسي للتطبيقات عبر الإنترنت.
- يعتقد بعض المطورون لهذه اللغةPHP أن لها جودة رديئة في معالجة الأخطاء، وتحتاج إلى أدوات التصحيح للبحث عن الأخطاء والتحذيرات.
- يحتوي على مصححات أقل من لغات البرمجة الأخرى.
- كما يعتقد بعض المطورون لهذه اللغة أنها قد تتراجع شعبيتها في المستقبل ويكون محلها لغة Python لأنها أسهل منPHP في استخدامها على تطبيقات الويب، ويفضلها العديد من المطورين المبتدئين.
استخدامات php
- تُستخدم في برمجة أنواع مختلفة من التطبيقات، فمن بين أكثر من 600 لغة برمجة ظلت لغة PHP متربعة على عرش أهم لغات البرمجة وأكثرها شيوعًا على مدار 25 عامًا.
- يمكن استخدام PHP مع جميع خوادم الويب القائدة مثل،Nginx OpenBSD،Apache .
- كما تدعم لغة PHP بعض البيئات السحابية أيضاً مثل: Microsoft Azure Amazon AWS،، PHP
- تحتوي لغة PHP على دعم مدمج لإنشاء صور PDFو GIF و JPEGو PNG
- إحدى الميزات البارزة للغة PHPهي أنها تدعم العديد من قواعد البيانات مثل MySQL و PostgreSQوMS SQLو db2 و Oracle Database و MongoDB.
يوجد تطبيقات رئيسيان للغة PHPوهما:
- البرمجة النصية من جانب الخادم Server-Side Scripting.
- والبرمجة النصية لسطر الأوامر Command-Line Scripting.، مثل Python و Perl.
تعتبر لغة PHP مناسبة لتطوير مواقع الويب وتطبيقات الويب الديناميكية، حيث ينقسم الموقع الإلكتروني إلى قسمين رئيسيين؛ وهما الواجهة الأمامية Front End وهي مخصصة لكل ما يراه المستخدم ويتفاعل معه داخل الموقع، وتعتمد على لغات مخصصة لبرمجتها مثل لغة HTML، وCSS، وJavaScript.
القسم الآخر هو الواجهة الخلفية back end وهذا القسم مخصص للخادم فقط ولا يراه المستخدم، فهو المسؤول عن تشغيل كل شيء تقريبًا مثل: قواعد البيانات، والخوادم، ولوحة تحكم الموقع وغيرها. وتُعدّ PHP المنفذة لجميع الإجراءات والعمليات الخاصة به، ومن أهم اللغات المستخدمة في برمجته.
تستخدم php في تطوير تطبيقات سطح المكتب تلك التطبيقات التي يتم تثبيتها على جهاز الكمبيوتر، وعلى الرغم من أن لغة PHP ليست مخصصة بالأساس لبناء تطبيقات سطح المكتب، إلا إنه تم تطوير مشروع «php desktop» الذي يمكن بواسطته برمجة تطبيقات واجهة المستخدم الرسمية، وتُعرف اختصارًا بـ GUIلسطح المكتب باستخدام ذات اللغات المستخدمة في تطوير الويب مثلPHPوغيرها من اللغات.
تُعدّ لغة PHP من أبرز اللغات المستخدمة تطوير أنظمة إدارة المحتوى CMS، وهي منصات برمجية تساعد المستخدمين من إنشاء محتوى وتخزينه وتحريره ونشره على الإنترنت بسهولة.
القسم الآخر هو الواجهة الخلفية back end وهذا القسم مخصص للخادم فقط ولا يراه المستخدم، فهو المسؤول عن تشغيل كل شيء تقريبًا مثل: قواعد البيانات، والخوادم، ولوحة تحكم الموقع وغيرها. وتُعدّ PHP المنفذة لجميع الإجراءات والعمليات الخاصة به، ومن أهم اللغات المستخدمة في برمجته.
تستخدم php في تطوير تطبيقات سطح المكتب تلك التطبيقات التي يتم تثبيتها على جهاز الكمبيوتر، وعلى الرغم من أن لغة PHP ليست مخصصة بالأساس لبناء تطبيقات سطح المكتب، إلا إنه تم تطوير مشروع «php desktop» الذي يمكن بواسطته برمجة تطبيقات واجهة المستخدم الرسمية، وتُعرف اختصارًا بـ GUIلسطح المكتب باستخدام ذات اللغات المستخدمة في تطوير الويب مثلPHPوغيرها من اللغات.
تُعدّ لغة PHP من أبرز اللغات المستخدمة تطوير أنظمة إدارة المحتوى CMS، وهي منصات برمجية تساعد المستخدمين من إنشاء محتوى وتخزينه وتحريره ونشره على الإنترنت بسهولة.
من خلال توفير أدوات مساعدة مثل القوالب والمكونات الإضافية ، تتيح لك هذه الأنظمة إنشاء مواقع ويب متكاملة دون الحاجة إلى كتابة تعليمات برمجية.
ومن أمثلة المنصات التي تعمل بتلك الأكواد منصة ووردبريس ، و التي تعد واحدة من أقوى و أشهر منصات المدونات و المواقع الإلكترونية في وقتنا الحالي.
كيفية تعلم لغة البرمجة PHP
من الطرق التي يمكن الاعتماد عليها في تعلم لغة البرمجة:
- الالتحاق بدورة تدريبية احترافية حيث إن الدورات التدريبية المتخصصة تختصر الكثير من الوقت في التعلم، واعلم أنك لو اخترت واحدة. لا داعي لتبديلها بل أكملها حتى النهاية، وبذلك لن تضطر إلى التنقل في الإنترنت للبحث الكثير، كما أن لها دروس كثيرة على الإنترنت، وتقريبا لا يوجد مشكلة فيPHP ليس لها حل على الإنترنت.
- عليك بالصبر والمواظبة على التعلم فلا تتعلم في يومين وتمل، أكيد أن الملل سيصاحبك لكن لا تسمح له بأن يقضي عليك فكما بدأت لابد أن تصبر، فالصبر في هذا المجال واجب عليك.
- يجب عليك تنظيم وقتك في التعلم فأنت لن تتعلم في يوم واحد أو في أسبوع الأمر يحتاج بعض الوقت، لكن إن اعتمدت على نهج واضح وواظبت عليه فيمكنك إنهاءها في أسبوعين فقط.
- التعليم الذاتي سيساعدك كثيرا في تعلم أي شيء في أي مجال، فأنت لن تحتاج لمدرس ليعلمك شيء أو تضييع أموالك في الدورات.
- اللغة الإنجليزية لابد أن تتقن ولو قليلا من الإنجليزية حتى يسهل عليك التعلم بسهولة وتتمكم من البحث عن حلول لمشاكلك، تستطيع أن وتطرح الأسئلة لكي يجيبك الخبراء وتفهم الدوال المستخدمة.
- قراءة كتب عن تعلم لغة 2PHP تجارب الآخرين هي أفضل وسيلة آمنة للتعلم، والكتب هي خلاصة الناجحين من التجارب على مدار سنوات، وكن حريصا على اختيار الكتاب المناسب لك من اقرأ وصف الكتاب والفهرس ، واطلع على سيرة المؤلف ، وتعرف على مدى خبرته.
- متابعة موسوعات البرمجة فإن موسوعات البرمجة قاموسًا شاملًا مدعم بالأمثلة لمختلف لغات البرمجة.
- لابد أن تمتلك حاسوب، ولكن لن تحتاج إلى حاسوب آبل أو شيء خيالي لتتمكن من التعلم، كل ما تحتاج إليه هو حاسوب بمعالج جيد، أهم شيء هو أن تتوفر لك إنها لوحة مفاتيح جيدة ، لذلك ليس لدي مشكلة في تعلم البرمجة.
- يجب أن يتوفر لك محرر أكواد بأي لغة كانت، لكي يساعدك على البرمجة بشكل جيد خالي من التعقيدات والمشاكل، وهذه هي أشهر برامج تحرير الأكواد KomodoEdit و Notepad وهناك الكثير لكن هذه مناسبة للمبتدئين وتدعم العربية بشكل جيد.
- أيضا ، المستعرض مطلوب لعرض العمل. أفضل متصفح هو Google Chrome.
- أيضا لابد من تعلم أساسيات html قبل أن تبدأ تعلم PHP أو أي لغة برمجية تعمل على الويب على الأقل تكون عندك معرفة متوسطة بلغات التنسيق والهيكلة، فلا ترتكب الخطأ الذي وقع فيه الكثيرون خاصة بعد قراءتهم لمقال أو مشاهدتهم فيديو يوضح ماذا يمكنك أن تفعل بلغة برمجية ما، ولابد من التطبيق العملي لما تعلمته.
- تعلم أساسيات PHPالمتغيرات, الدوال, المصفوفات, حلقات التكرار والتطبيق لما تعلمته.
- الدخول إلى عالم قواعد البيانات للتعامل مع الإضافة والحذف والتعديل والعرض إلى آخره والتطبيق لكل ما تعلمته.
- من ثم تبدأ تتطور إلى مراحل متقدمة مثل برمجة الكائنات oop، ومن ثم تعلم css+ javascript + ajax وأيضا json ومن ثم تتعلم التعامل مع القوالب الاحترافية mvc
- فصل البرمجة عن التصميم والعرض فهناك مدارس عدة لتعليم هذا وأيضا هناك دورات تحت هذا المجال.
- يفضل أن تتعلم مع الأجانب هذا إن كنت تتقن اللغة الإنجليزية أو الفرنسية.
- والآن وصلنا لمرحلة أن تجد أشخاص بنفس اهتماماتك يجيبون على أسئلتك إن واجهتك مشكلة أثناء البرمجة، فقد سبق وواجهه أشخاص مثلك ووجدوا الحل لمشاكلهم.