اريد التعمق في php قدر الإمكان

  • khaled3afan

مللت من تشتيت نفسي وتركيزي بين التقنيات التي تظهر كل يوم فأخذ من كل واحدة منها علمٌ بسيط وانتقل للتي بعدها وابقى في مكاني بلا سند استند عليه ولا شي ابدع فيه، لذلك قررت التعمق في php قدر الإمكان، وإذا امكن اريد الإحاطة بها كاملةً والمتابعة مع كل جديد، كيف يمكن ذلك لا اعلم لكني سأحاول التركيز لأصل لهدفي، حالياً عالق في oop ولم اتمكن من تخطيها، شاهدت عدة دورات لكن لا فائدة، افهم الدروس كلها لكن لا اعرف كيف اقوم بالتطبيق والاستفادة منها، لغتي الانجليزية سيئة لذلك اتابع بالعربية وكل الدورات تطبيقها العملي إما عن السيارات او عن شركة ابل لا اعلم السر في ذلك، طبعا اخطط ايضاً لتطوير لغتي الإنجليزية فاللغة العربية لن توصلني للمستوى الذي اطمح له.

لذلك إن كان لديك مواقع ومصادر جيدة تفيد في حالتي فأرجو تزويدي بها،

شكرا سلفاً لاني لن استطيع الشكر في الردود لان الشكر لا يضيف اي قيمة للنقاش هههه


نصيحة مقدمة قبل السرد

عليك تعلم اللغة الإنجليزية مهمة جدا إذا اردت أن تكتسب خبرات أفضل وتعليم أفضل ليست بحاجة إلى إتقانها حرفيا ولكن تعلم إلى حد الذي يسمح لك بفهم ما هو مكتوب امامك يمكنك البدء بقراءة مقالات دورات تدريبية بسيطة باللغة الإنجليزية والإستعانة بمترجم مثل Google Translate ( توجد إضافة للمتصفح تسمح لك بترجمة ما تقوم بتضليله من الكتابة )

تعلم الأساسيات والمفاهيم

حسنا، قبل كل شيء عليك أن تعلم كل لغات البرمجة مهما إختلفت تتوافق جميعها في اسس وقواعد ثابتة وهي قواعد اللغة البرمجية Syntax، فإذا لم يسبق لك التعلم اي لغة من قبل عليك وضع حجر الأساس وتعلم هذه القواعد حاول أن تركز على مفهوم ,اسس البرمجة وليس اللغة المستخدمة فهذه القواعد مثل ( المتغيرات، جمل التجكم، التراكيب، الدوال، الفئات، ... إلخ ) بحيث تتكمن من تنفيذ تعليمات بسيطة بأي لغة PHP - Python - Java وهكذا

إجتيازك لهذه المرحلة تكون لك قاعدة مهيئة لفكرة البرمجة بشكل عام، لاحظ ليس عليك أن تتعلم كافة الأسس فقط الأساسية منها وعند إحتياج شيء في المستقبل كل لغة لها مرجعيات Documents خاصة بيها يمكنك الرجوع إليه في أي وقت

حدد مجالك الذي تريده

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

ابحث عن كل ما هو علاقة بي HTTP

قبل الخوض في مجال تطبيقات الويب، خطوة مهمة جدا لكل مبرمج الويب ألا وهيا عليك التعرف على طبيعة ودورة حياة تطبيقات الويب وهذه الألية تندرج تحت ( بروتوكول HTTP )، دعك من كلمة بروتوكول وابحث عن HTTP عما تعنيه وما هيا وكيف تتحمل الصفحة وما هو Server وما علاقته بي Client وغيرها الكثير حاول ( رغم ضروريتها ) أن تكتسب اكثر ما يمكنك فهمه حول HTTP فهو لب تطبيقات الويب، بعد ان تتعلمه سيسهل عليك الطريق لتعلم كل تقنيات الويب وطريقة عملها

تعرف على أقسام تطبيقات الويب

مجال تطوير تطبيقات الويب يتطلب عليك معرفة عدة تقنيات وليست واحدة لكي تتمكن من بناء تطبيق ويب كامل ورغم كثرة اللغات والتقنيات الخاصة بالويب إلا انها تنقسم لقسمان

  1. Back-End Development : تحت هذا القسم يندرج تقنيات ولغات Server-Side وهذه التقنيات لب التطبيق الويب وأساسه والذي تنتمي لها لغة PHP، مهمتها تنفيذ البرنامج من جهة السيرفر وإرسال الناتج إلى Client

  2. Fornt-End Development : تحت هذا القسم يندرج تقنيات ولغات Client-Side وهذه التقنيات خاصة بالمتصفح الويب على وجه الخصوص مثل Firefox - Chrome - Opera وغيرها مهمتها تنفيذ البرامج من جهة كلانت وإستقبال الناتج وعرضه / أي بمعنى أخر تصميم المحتوى المعروض ( كما ترى الموقع الحالي أمامك )، تنتمى إليها HTML / CSS / Javascript

  3. Database Development : قسم يعني بتخزين البيانات وإدارتها قسم ليس بالضرورة، إلا في الأغلب لا يكاد يخلو منه أي تطبيق ويب أو أي تطبيق أخر، كمثال على ذلك الموقع حاسوب أين يخزن بيانات حسابك ؟ إسمك ؟ صورتك الشخصية ؟ مفضلاتك ؟ هذه المواضيع والتعليقات ايضا ؟؟ أضن الفكرة قد وصلت إليك

مرة أخرى ركز على الأساسيات فقط

كل قسم يمكنك التعلم الأساسيات ! نعم الأساسيات فليست بحاجة لحفظ كل اللغات والتقنيات كلها !!! فهناك مراجع لها متوفرة 24 ساعة يمكنك الرجوع لاي منها في اي وقت تشاء في العادة دائما اتبع أسلوب التعلم عند الحاجة، فعندما تحتاج إلى شي ما قم بالبحث عنه في مراجع اللغات والتقنيات الاصلية ستجد كل شي موجود، مع كثرة التدريب العملي والشغل وكل مرة تتعلم شيئا ما يزيد رصيدك وخبرتك في اللغة والمجال شيئا فشيئا وهكذا، كما يمكنك إختيار فكرة مشروع للتدريب فعندما تتعلم شي ما قم بتطبيقه على المشروع وهكذا

أستخدم الحزم الجاهزة

التقنيات في تطور مستمر شبه سنويا لهذا عليك دائما البحث عن اخر المستجدات الموجودة واستخدمها فاليوم اصبح وجود حزمة تطوير شائعة فبدلا من البدء ببرمجة مشروعك من الصفر إختر حزمة Framework توفر لك اغلب ما تحتاج عليه مسبقا كمثال Laravel حزمة تطوير كاملة بلغة PHP أو CakePHP أو CodeIgniter وغيرها من الحزمات المتواجدة

وأيضا JavaScript لا تخلو من الحزمات التطوير مثل JQuery أو AngularJS أو Vue.JS أو React وغيرها الكثير مثلها مثل CSS التي تختص بالتصميم يوجود حزمة المستخدمة بكثرة Bootstrap

هامش أخير

بخصوص OOP البرمجة كائنية التوجيه هي ضمن أساسيات ومفاهيم البرمجة وهي الفئات Classes فهم الأساسيات والمفاهيم البرمجية بدون التركيز على اللغة نفسها يسهل عليك إستخدام برمجيات جاهزة وفهم طريقة عملها كما أوضحت أتبع الخطوات سابقا واكتسب المهم اولا بأولا لكي تستطيع ان تتخطى الباقي وتتعلمه وانت دائما محتاج ان تتعلم الأساسيات وما تحتاج إليه والمراجع متوفرة دائما وقت ما تحتاج إلى شيء جديد

معلومات قيمة وتساعدني جدا سأراجعها بالتفصيل واستفيد منها

AhmedMnsor
  • حذف بواسطة المستخدم

نعم ينطبق على البايثون أيضا وعلى أي لغة اخرى، اللغات والتقنيات ما هي إلا أدوات لصناعة البرمجيات يمكنك إختيار منها ما يناسبك ودائما الأهم والمهم فهم فكرة العمل والأساسيات والأساليب البرمجية

كمثال MVC ما هو إلا أسلوب برمجي يقسم مكونات التطبيق على طبقات لكل منها مهمة معينة، إذا لا علاقة له بلغة البرمجة إذا تمكنت من إستعابه يمكنك إستخدامه بأي لغة برمجة تريد !

فقط عليك ان تراعي ما مميزات كل لغة ولأي غرض تم تطويرها فمثلا تختار PHP لانشاء تطبيقات سطح المكتب خطأ رغم امكانية ذلك إلا ان مميزاتها وغرضها موجهة لتطبيقات الويب