افيدوني بخبرتكم
الإجابة الصحيحة
الإجابات (3)
السلام عليكم
يوجد مقالة أكثر من رائعة توضح خارطة الطريق لتصبح مطور ويب تجدها هنا.
وللإجابة على سؤالك بالتحديد بعد الانتهاء من الاساسيات أنصح بتعلم MySql وهي نوع من أنواع قواعد البيانات تجدها هنا.
بالتوفيق إن شاء الله.
كما ذكر لك Abdullah Alhariri في اجابته فيمكنك الاطلاع على خارطة مطور الويب لمعرف تسلسل التقنيات التي ينبغي عليك تعلمها.
وphp هي إحدى اللغات التي يمكن اختيارها كإحدى لغات الbackend ومع php فإنك تحتاج أيضًا إلى العديد من المهارات كالتعامل مع قواعد البيانات مثل mysql وبعض المهارات في التعامل مع الملفات على السيرفر وغيرها.
وبما أن سؤالك حول php فسأحاول استعراض المراحل التي أرى انها مناسبة للتدرج فيها حتى تستطيع احتراف php.
الأساسيات
لا أعرف ماذا تقصد "بأساسيات ال php" التي انتهيت منها، ولكن سأفترض بأنك تمكنت من جميع المواضيع الذي تحدث عنها Ali Majrashi في دورته أساسيات بي اتش بي PHP Basic
وبالتالي انت تستطيع كتابة أكواد php وتعرف الفوارق بين انواع البيانات Data Types والتي تشمل الأنواع الأساسية والمركبة مثل string, integer, boolean, float, array and object وغيرها.
كذلك بإمكانك التعامل مع الدول Functions وكتابتها واستدعائها، وتجيد استخدام المصفوفات Arrays والدوال الخاصة بها.
وتجيد أيضًا استخدام العوامل Operators لإجراء العلميات الرياضية وعمليات المقارنة مثل + - / * % > < == === وغيرها.
وأخيرًا يمكنك التحكم في مسار تدفق البرنامج أو ما يعرف بالـControl Structures وذلك باستخدام الجمل الشرطية if, ifelse, else, switch وأدوات التكرار مثل foreach, for, while, do while
بناء المواقع
وقبل أن تتجاوز الأساسيات أنصحك بتطبيق ما تعلمته وذلك ببناء صفحات بسيطة تستطيع من خلالها الربط بين أساسيات php وأساسيات بناء المواقع. فمثلأ يمكنك البدء بصفحة لعرض محتويات مصفوفة array ومعها نموذج لإضافة العناصر إلى هذه المصفوفة.
هذا التمرين يمكن تطويره والزيادة فيه حتى تتعلم بشكل أكبر طريقة بناء المواقع باستخدام php. فالعمل الأساسي لـphp هو استقبال الطلبات Requests والرد عليها بـResponse. ويليه مجموعة من المواضيع التي يجب عليك استيعابها قبل تجاوز الأساسيات.
استخراج البيانات من الطلب، فالمتصفح يرسل الطلبات إلى php بإحدى طريقتين، GET و POST. قم ببناء نماذج forms لإرسال البيانات إلى السيرفر باستخدم الطريقتين وتعلم الفرق بينهما واستخراج البيانات باستخدام $_POST و $_GET
إدارة الجلسة Sessions: تعلم طريقة استخدام الـsession وافتتاح الجلسة session_start() وإغلاقها session_destroy() والقراءة والكتابة من وإلى الـsession باستخدام $_SESSION وكذلك استخدام الـsession في المصادقة (تسجيل الدخول مثلاً) Authentication
الـCookies والتي تمكنك من التعرف على الزائر عند عودته إلى زيارة الموقع حتى بعد إغلاق المتصفح.
الرد على الطلبات، وذلك بإرسال الرد والذي عادة ما يكون عباة عن ملف html، وكذلك عليك معرفة طريقة إعادة التوجيه، والربط بين صفحات مختلفة على الموقع.
التعامل مع الملفات طريقة رفع الملفات وطريقة استيرادها من $_FILES لحفظها على السيرفر.
قاعدة البيانات
تعلم أساسيات قاعدة البيانات mysql وطريقة ربطها واستخدامها مع php
يمكنك الآن بناء موقع متكامل وهناك الكثير من الأفكار التي يمكن تنفيذها ولعل أشهر ما يبدأ به المبتدئون هو بناء موقع لإدارة المهام To-do list يمكنك ببساطة بناء موقع لعرض المهام الخاصة بالمستخدم وتمكنيه من الإضافة والحذف والتعديل وهو ما يسمى بعمليات قاعدة البيانات CRUD. ويمكن أيضًا إضافة نظام المصادقة authentication بحيث تسمح للزوار بالتسجيل وأن يكون لكل منهم قائمة الخاصة. وبذلك تستطيع تطبيق أساسيات التعامل مع قواعد البيانات.
وإذا أردت بناء موقع أكثر فيمكنك إنشاء موقع إدارة المحتوى CMS الخاص بك. والفكرة مشابهة لعمل Wordpress ويمكنك مثلأ بناء موقع يمكن المستخدمين من إضافات الصفحات الخاصة بهم وحذفها.
إذا كنت تستطيع متابعة الدورات باللغة الإنجليزية أنصحك بمتابعة دورات الرائع Kevin Skoglund وفي هذه الدورة يقوم ببناء CMS
OOP
يمكن كتابة أكواد php بطريقتين الأولى هي الـProcedural Programming او ما يعرف بالـبرمجة إجرائية والطريقة الثانية هي البرمجة كائنية التوجه Object Oriented Programming (OOP) والفرق بينهما أن الأولى عبارة من مجموعة من الأوامر والملفات يتم استدعائها واستخدامها بتسللسل معين، أما الـOOP فتعتمد على وجود كائنات Objects تقوم بإنشائها لتنفيذ أمر محدد.
وفي php يمكنك استخدام أي منهما أو كلاهما معًا في نفس البرنامج.
والإلمام بالبرمجة كائنية التوجه مهم جدًا في حال رغبت في بناء تطبيقات أكبر أو استخدام إحدى أطر العمل المذكورة أدناه.
لذلك يجب عليك تعلم طريقة استخدامها واستيعاب المفاهيم الخاصة بها مثل: Classes and Objects, Inheritance (polymorphism), Traits
وكذلك في php تحتاج أن تعرف طريقة استخدام الـNamespaces وكذلك معالجة الأخطاء والتعامل معها Errors و Exceptions
دورة مختصر تستعرض أساسيات Object Oriented Programming
Composer
هنالك الكثير من المكتبات الجاهزة التي تستطيع استخدامها، وهي تسهل عليك البناء دون الحاجة إلى إعادة اختراع العجلة، والطريقة الأسهل حاليًا لاستيراد هذه المكتبات واستخدامها في php هي باستخدام Composer والذي هو عبارة عن مدير للحزم أو المكتبات يساعد في استيراد المكتبات ومتابعة تحديثها، ويمكنك متابعة سلسلة المقالات في عالم البرمجة عن Composer.
الميزة الأخرى التي يقدمها Composer هي Autoloading وتعني تحميل ملفات php بشكل تلقائي دون الحاجة إلى دول include و require باستخدام عدة طرق أشهرها PSR-4 والتي تعتمد على الـNamespace.
وتستطيع الاطلاع المكتبات المتاحة عن طريق Composer بالاطلاع على قائمتها من الموقع packagist.org. وللقيام بتجربة إحدى هذه المكتبات للتعرف على طريقة استخدام Composer يمكنك البدء مثلًا باستخدام مكتبة Guzzle والتي تعد من أشهر المكتبات التي تمكنك من إرسال طلبات HTTP في php بدلاً من استخدام دوال curl. أو مكتبة Carbon للتعامل مع الوقت والتاريخ بشكل أسهل.
كما أنصحك بأن تحاول بناء مكتبة جديدة ونشرها حتى يكون لديك فكرة أكبر عن طريقة عمل هذه المكتبات واستخداماته.
أطر العمل Frameworks
وأخيرًا بعد أن أصبحت متمكنًا من php يمكنك الآن البدء في استعراض أطر العمل المتاحة والتي تساعد بشكل كبير على صناعة المواقع بشكل أسرع وأكثر احترافية. وحيث أن أغلب هذه الأطر تستخدم أسلوب MVC أنصحك بفهمه ليسهل عليك العمل مع أطر العمل. ويكيبيديا
ويمكنك اختيار ما شئت من أطر العمل ولعل أشهرها في الوقت الحاضر هو Laravel والقائمة طويلة ومنها:
نصيحة بعد الاساسيات توجه الى تعلم laravel
ومنها راح تتعلم كيفية التعامل مع قواعد البيانات ..
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !