كيف تكون فعالاً في PhpStorm: بيئة تطوير متكاملة مهمة حقًا
نشرت: 2022-03-11ماذا يعني أن تكون مطور برامج جيد؟
أولاً ، يتطلب الأمر معرفة عميقة بمجموعة التكنولوجيا المعينة التي تعمل فيها. إذا كنت مطور LAMP ، فأنت بلا شك بحاجة إلى أن تكون خبيرًا في PHP و MySQL ، ومعرفة الأطر الحديثة ، ولديك بعض المهارات اللائقة في إدارة Linux.
ثانيًا ، ولكن ليس أقل أهمية ، المعرفة العملية بالأدوات التكميلية التي تستخدمها كل يوم في سير عملك.
يجب أن تكون قادرًا على العمل بشكل صحيح مع أنظمة التحكم في الإصدار ، وأدوات التكامل المستمر ، وخدمات إدارة الجهاز الظاهري (مثل Vagrant) ، ومن الواضح ، بيئة التطوير المتكاملة (IDE).
تتناول هذه المقالة برنامج IntelliJ IDEA IDE PhpStorm الشهير والقوي ، وكيف يمكنك ، بقليل من الجهد ، مضاعفة كفاءتك بسهولة وحتى منع الأخطاء أثناء كتابة التعليمات البرمجية.
تدريب نفسك مع اختصارات لوحة المفاتيح
لنبدأ بأبسط وربما أهم مهارة لأي IDE: الاستخدام المناسب للوحة المفاتيح.
إذا قارنت مبرمجًا متمرسًا ومستخدمًا عاديًا للكمبيوتر الشخصي ، فإن أول شيء ستلاحظه هو أن المبرمج يقضي كل وقته تقريبًا في استخدام لوحة المفاتيح ولا يكاد يلامس الماوس. هناك سبب لذلك: إنه أكثر كفاءة.
أولاً ، كن كاتباً جيداً
أثناء عدم اتصال الكتابة مباشرة بمهارات IDE ، تكون الاختصارات عديمة الفائدة إذا كنت بحاجة إلى التحديق في لوحة المفاتيح للعثور على كل مفتاح فردي.
إذا لم تكن تكتب بالفعل 50 كلمة على الأقل في الدقيقة (WPM) ، فابحث عن موقع تدريب على الكتابة باللمس مثل TypingClub.com ، وقم بزيادة سرعتك.
هناك أيضًا مواقع ويب منافسة للكتابة ، مثل TypingRaces.com ، حيث يمكنك التنافس مع أشخاص آخرين في الكتابة. توصيتي؟ انخرط في سباق كإحماء صباح كل يوم.
تدريب نفسك على استخدام اختصارات PhpStorm
أسرع طريقة للتعلم هي عدم منح نفسك بديلاً لاختصارات لوحة المفاتيح.
عندما كنت أدرس الاختصارات ، قمت بإيقاف تشغيل جميع القوائم وعلامات التبويب وأشرطة التنقل وما إلى ذلك. يمكنك القيام بذلك أيضًا من خلال الانتقال إلى قائمة العرض وإلغاء تحديد جميع العلامات (قد ترغب في ترك "شريط الحالة"):
يبدو IDE الخاص بي الآن كما يلي:
استغرق الأمر مني حوالي ثلاثة أو أربعة أيام من المعاناة لتجاوز مراحل تعديل الكمبيوتر المحمول المحطمة.
إذا وجدت حافزًا للإشارة ، فإن PhpStorm لديه دليل إنتاجي مدمج. يحتوي على قائمة الميزات وإحصائية الاستخدام لكل منها. ما عليك سوى النقر فوق "مساعدة" ، ثم "دليل الإنتاجية" ، وسترى شيئًا مثل هذا:
كما ترى ، أنقذتني الاختصارات من كتابة أكثر من 20000 حرف إضافي (على مدار ستة أشهر) ومنعت حوالي 1000 خطأ. تحفيز جدا!
يخبرني أيضًا بالميزات التي لا أستخدمها كثيرًا ، مع تحديد الأماكن التي يمكنني فيها تحسين مهارات الاختصار الخاصة بي. راجع إحصائياتك ، واستخدم المعرفة بحكمة.
أهم اختصارات لوحة المفاتيح
توفر Jetbrains ملف PDF سهل الاستخدام مع جميع الاختصارات المتاحة المدرجة في وثائقها الرسمية ، بالإضافة إلى قائمة "اختصارات لوحة المفاتيح التي لا يمكنك تفويتها". ابدأ في تعلم ذلك على الفور ، حتى تتمكن من القيام بذلك أثناء نومك.
إلى حد بعيد ، اختصاراتي المفضلة هي:
-
Ctrl+ E
- للتبديل بين الملفات المستخدمة مؤخرًا -
Ctrl + /
- تعليق / إلغاء تعليق كتلة من التعليمات البرمجية -
Ctrl + B
- انتقل إلى إعلان الفئة -
Ctrl + N
- انتقل إلى الفصل -
Ctrl + R
- بحث واستبدال -
Ctrl +Alt + L
- إعادة صياغة التعليمات البرمجية -
Alt + Enter
- إظهار إجراءات النية والإصلاحات السريعة -
Ctrl + Shift + Enter
- بيان كامل
بعضها تشرح نفسها بنفسها ، والبعض الآخر يمكن أن يستخدم تغطية أكثر بقليل.
تبديل الملفات باستخدام Ctrl + E و Enter
تخيل أنك تحتاج إلى التبديل بشكل متكرر بين ملفين ، على سبيل المثال بين فئة PHP مع منطق الأعمال لتطبيقك والقالب ، والذي يُستخدم لعرضه وإخراجه.
يقوم العديد من المطورين بالتبديل من لوحة المفاتيح إلى الماوس ، والانتقال إلى علامة تبويب تحتوي على الملف ، والنقر فوقه ، والعثور على الجزء المطلوب باستخدام عجلة التمرير. المشكلة: إنها بطيئة للغاية!
أليس من الأفضل فقط الضغط على Ctrl + E ثم Enter؟
سيُظهر لك Ctrl + E قائمة بالملفات المستخدمة مؤخرًا ، وإذا ضغطت على الفور على Enter ، فسيتم تحويلك إلى الملف المستخدم قبل الملف الحالي مباشرة.
إذا كنت تريد العودة ، فقط اضغط على نفس التسلسل مرة أخرى.
هذه هي أسرع طريقة للتبديل بين ملفين ، بثلاث ضغطات فقط على المفاتيح! فقط تخيل مقدار الوقت الذي ستوفره ، عندما يتعين عليك القيام بذلك مئات المرات في اليوم.
إظهار إجراءات النية والإصلاحات السريعة باستخدام Alt + Enter
يسلط أي IDE حديث الضوء على الأخطاء ويقدم بعض الاقتراحات لتحسين الكود. إذا قمت بتحريك المؤشر إلى أي جزء غير مكتمل أو غير موثق من التعليمات البرمجية ، فسترى رمز المصباح الكهربائي ، وإذا قمت بالنقر فوقه ، فسترى قائمة منبثقة بالإجراءات الممكنة.
يمكن القيام بنفس الإجراء عن طريق الضغط على Alt+Enter
، وهو أكثر ملاءمة.
في الحالة الموضحة في لقطة الشاشة أعلاه ، تقدم PhpStorm خيارين: إضافة مواصفات PHPDoc إلى الوظيفة (وهي نصيحة جيدة جدًا ، ابق على اطلاع) ، وإزالة المعلمة غير المستخدمة.
يمكن استخدام نفس الاختصار للعديد من الإجراءات الشائعة الأخرى: إنشاء أدوات تحديد وضبط لخصائص الفئة ، وتهيئة الحقول في المنشئات ، وإضافة أساليب وخصائص غير محددة ، وما إلى ذلك.
أكمل العبارات باستخدام Ctrl + Shift + Enter
هذا الاختصار واضح ومباشر للغاية ومفيد للغاية في نفس الوقت ، ويقوم بما يقوله بالضبط.
على سبيل المثال ، إذا قمت بكتابة $i = 0
ثم ضغطت على Ctrl+Shift+Enter
بعد ذلك مباشرة ، فستضيف PhpStorm فاصلة منقوطة إلى تعبيرك. إذا قمت بكتابة if
والاختصار بعدها ، فستضيف PhpStorm أقواس ، وهكذا دواليك.
استخدم هذا الاختصار بقدر ما تستطيع. سيوفر لك الكثير من الوقت حيث تتكون كل التعليمات البرمجية من هياكل قياسية. أي زيادة في سرعة هياكل الكتابة تجعل كتابة الكود أسرع أيضًا!
المكوّن الإضافي IdeaVim
يمكن أن يؤدي استخدام الاختصارات إلى زيادة إنتاجيتك بشكل كبير ، ولكن إذا لم يكن ذلك كافيًا لك ، فإن المستوى التالي هو المكون الإضافي IdeaVim.
كما تعلم على الأرجح ، Vim هو محرر نصوص وحدة تحكم يستخدم على نطاق واسع من قبل خبراء Linux ومهندسي devops لإدارة الخوادم البعيدة عبر سطر الأوامر.
يتمتع Vim بسمتين مهمتين.
أولاً ، من الصعب التعلم. ثانيًا ، إذا كنت تعرفه جيدًا ، فإنه يؤتي ثماره. ستصبح إنتاجيتك في تحرير النص أفضل بكثير من أي محرر واجهة مستخدم رسومية. ستكون هناك أيضًا مواقف في حياتك المهنية عندما لا يكون لديك خيار سوى استخدام محرر وحدة التحكم ، مثل Vim ، (إذا كنت بحاجة إلى إصلاح شيء ما على خادم ويب بعيد ولديك فقط وصول وحدة التحكم إليه ، على سبيل المثال).
ولكن ما هي علاقة Vim بـ PhpStorm؟
حسنًا ، يرغب العديد من المطورين في الجمع بين كفاءة Vim وميزات IDE الحديثة (على سبيل المثال ، إكمال التعليمات البرمجية والبحث في الفئة والبحث المتقدم والتنقل). لهذا الغرض ، تم إنشاء المكوِّن الإضافي IdeaVim.
ملاحظة مهمة: من الآن فصاعدًا ، أفترض أنك تعرف أساسيات Vim. إذا لم تقم بذلك ، يمكنك البدء في استخدام Vim مع vimtutor ، والذي يمكن الوصول إليه في جميع توزيعات Linux أو openvim تقريبًا.
تثبيت البرنامج المساعد
1. انتقل إلى "ملف" ، ثم "إعدادات" ، ثم "الإضافات" واكتب IdeaVim في مربع بحث البرنامج المساعد. حدد خانة الاختيار على يسار اسم البرنامج المساعد وانقر على "تطبيق". 2. أعد تشغيل PhpStorm. 3. قم بتشغيل المكون الإضافي عن طريق تحديد "أدوات" ثم "Vim Emulator"
4. يمكن أن تتعارض اختصارات PhpStorm الأصلية واختصارات Vim (التي تم تمكينها بواسطة البرنامج المساعد) مع بعضها البعض ، لذلك تحتاج إلى حل هذه التعارضات يدويًا. انتقل إلى "ملف" ، "إعدادات" ، "إعدادات أخرى" ، ثم "محاكاة Vim". سترى قائمة الاختصارات المتضاربة. في هذه القائمة ، يمكنك اختيار ما إذا كنت تريد استخدام اختصار PhpStorm أو اختصار Vim المرتبط بتسلسل المفاتيح هذا. يمكنك رؤية اختياراتي الحالية في لقطة الشاشة أدناه. إذا لم تتمكن من اتخاذ قرار ، فقط اترك الاختصار غير محدد ؛ سيطلب منك PhpStorm الاختيار عند استخدامه لأول مرة.
استخدام البرنامج المساعد
بعد تشغيل المكون الإضافي ، ستلاحظ على الفور أن منطقة التحرير أصبحت مشابهة لـ Vim:
- غيّر المؤشر شكله وأصبح مستطيلاً ، كما هو الحال في فيم.
- إذا حاولت كتابة شيء ما في المحرر ، فلن يحدث شيء.
من هذه النقطة ، يمكنك البدء في تحرير ملفاتك تمامًا كما تفعل في Vim ، باستخدام مفاتيح h
و j
و k
و l
للتنقل ومفتاح i
للتبديل بين الوضع العادي ووضع الإدراج ، إلخ.
يدعم البرنامج المساعد جميع اختصارات Vim تقريبًا.
في الوقت نفسه ، لا تزال جميع ميزات IDE موجودة ، لذا يمكنك تحرير النص بسرعة كبيرة ، باستخدام لوحة المفاتيح فقط (كما هو الحال في Vim) ، ولا يزال بإمكانك التنقل بين الفئات والملفات والاستخدامات والتعريفات (كما هو الحال في سير عمل PhpStorm الحديث).
البحث المتقدم
واحدة من أفضل مزايا أي IDE على برامج تحرير النصوص العادية هي القدرة على تنفيذ بحث متقدم.
قد يبدو الأمر زائدًا عن الحاجة ، إذا كنت قد عملت فقط مع مشاريع صغيرة ، ولكن عندما تبدأ العمل مع قاعدة بيانات كبيرة ، مع علاقات OOP معقدة بين الطبقات ، سوف تفهم مدى ضرورة ذلك.
من السهل العثور على سلسلة معينة في ملف عن طريق البحث المشترك ( Ctrl + F
) أو البحث والاستبدال ( Ctrl + R
) ، ولكن ماذا لو كنت بحاجة إلى العثور على تعريف لفئة معينة في آلاف الملفات؟ أو إذا كنت تريد العثور على طريقة معينة في فصل يحتوي على آلاف الأسطر من التعليمات البرمجية؟ أو ربما تريد استبعاد جميع التعليقات من نتائج الاسترجاع؟ هذا هو المكان الذي يساعد فيه IDE الحديث مثل PhpStorm.
في هذا القسم ، سأعرض لك أكثر المتغيرات المفيدة للبحث في PhpStorm.
البحث في المسار
بعد البحث العادي ، يكون البحث الأسهل هو عن سلسلة معينة في جميع الملفات في بعض المجلدات الفرعية للمشروع. يتم تنفيذه بسهولة في PhpStorm لدرجة أنني أستخدمه بشكل متكرر أكثر من أي خيارات بحث أخرى.
على سبيل المثال ، ابحث عن استخدامات User
فئة في تطبيق المثال الخاص بي.
1. اضغط على Ctrl + Shift + F
سترى نافذة منبثقة بها خيارات البحث. اكتب " User
" في سلسلة الاستعلام. سترى عددًا من النتائج في علامة التبويب معاينة:
2. الآن ، يمكننا التبديل إلى علامة التبويب "معاينة" ، والعثور يدويًا على النتائج المطلوبة هناك ، ولكن لدينا أكثر من 100 تطابق. مضجر! لنكن أكثر تحديدًا.
بادئ ذي بدء ، نحن نبحث عن استخدامات الفصل ، لذلك دعونا نتحقق من خيار "الكلمات الكاملة فقط". سيساعدنا ذلك في تجنب نتائج مثل E_USER_ERROR
.
بعد ذلك ، دعنا نستبعد البحث في التعليقات والسلاسل الحرفية ، ونقصر نتائجنا على ملفات .php
فقط.
من المنطقي أيضًا في بعض الأحيان تحديد مجلد فرعي أكثر واقعية للمشروع. في هذه الحالة ، يتم وضع جميع الرموز الخاصة بالمشروع في مجلد app
.
لذلك دعونا نغير دليل النطاق إلى example-app/app
.
الآن ، لدينا نافذة بحث مثل هذه:
بمجرد أن نكون أكثر تحديدًا في معايير البحث الخاصة بنا ، فقد قللنا عدد النتائج من مئات إلى 24 فقط!
الآن ، من السهل جدًا فحص كل منهم يدويًا. علاوة على ذلك ، لا نحتاج حتى إلى فتح كل ملف على حدة لأن لدينا علامة تبويب معاينة ملائمة للغاية:
في الممارسة اليومية ، يغطي البحث في مسار البحث حوالي 80 بالمائة من جميع عمليات البحث التي أجريها. من المفيد جدًا أنه حتى إذا لم تستخدم شيئًا آخر لعمليات الاسترداد الخاصة بك ، فستظل فعالاً للغاية.
انتقل إلى إعلان
هناك قدرة أخرى مهمة للغاية لـ PhpStorm (كما هو الحال مع جميع IDEs الحديثة) وهي القفز بين الاستخدامات وإعلانات الفئات والوظائف.
لنفترض أن لدينا وظيفة ، والتي تنشئ User
جديدًا. من الواضح أننا لا نتذكر جميع أساليب وخصائص فئة User
، لذلك نحن بحاجة إلى فحص إعلان الفصل لنقرر كيفية تنفيذ جميع الإجراءات المطلوبة. هناك عدة طرق للقيام بذلك.
أولاً ، يمكنك فتح إعلان الفصل كنافذة منبثقة سريعة للقراءة فقط.
ما عليك سوى تحريك المؤشر إلى أي استخدام للفصل والضغط على Ctrl + Shift + I
ستظهر نافذة القراءة فقط:

يمكنك فحص جميع البيانات اللازمة والعودة إلى الملف الأولي. إنه سريع للغاية لا تحتاج حتى للتبديل بين الملفات!
ولكن ، كما ذكرت ، النافذة المنبثقة للقراءة فقط ، لذلك إذا قررت تغيير شيء ما في فئة User
أثناء فحصه ، فستحتاج إلى اختصار آخر: Ctrl + Shift + B
هذا ينقلك مباشرة إلى الفصل. عند إجراء تغييراتك ، يمكنك بسهولة العودة إلى الملف الأولي ، باستخدام Ctrl + E, Enter
التسلسل الذي تناولناه سابقًا.
سرد كافة طرق الفصل الحالي
البديل الأخير من وظائف البحث ، والذي أستخدمه كل يوم هو "البحث حسب بنية الفصل". أحيانًا تكون أصناف PHP طويلة جدًا ، ومن الصعب العثور على خاصية أو طريقة معينة.
إذا ضغطت على Ctrl + F12
أثناء فتح ملف الفصل ، فسترى نافذة منبثقة بهيكل الفصل:
إذا بدأت في كتابة اسم الطريقة ، فسترى فقط الطرق المطابقة للنمط الذي كتبته:
فقط تخيل أن لديك حوالي 100 طريقة (وهي ليست ممارسة جيدة ، ولكن يمكنك تشغيلها عبر هذه التعليمات البرمجية) ، وتحتاج إلى التبديل بين طريقتين بشكل متكرر. يمكن أن تجعلك مجنون باستخدام البحث العادي!
باستخدام البحث في بنية الملف بدلاً من ذلك ، سيستغرق كل مفتاح حوالي خمس ضغطات على المفاتيح. فقط اكتب Ctrl + F12
، وابدأ في كتابة اسم الطريقة المطلوبة ، واضغط على Enter
، وستصل إلى إعلانها.
بالمناسبة ، Ctrl + F12
ليس اختصارًا مناسبًا ، لذلك قد ترغب في تغييره إلى شيء آخر. أنا شخصياً أستخدم Alt + R
هناك العديد من طرق البحث في PhpStorm ، ولكن هذه الطرق الثلاثة يمكن أن تغطي جميع مهام البحث اليومية تقريبًا.
ملخص عن وظائف البحث
- إذا كنت بحاجة إلى البحث عن شيء موجود في ملفات متعددة ، فاستخدم البحث في البحث عن المسار (
Ctrl + Shift + F
) ، وحاول جعل خيارات البحث (التصفية) محددة قدر الإمكان. - إذا كنت بحاجة إلى رؤية مصدر فئة أو طريقة بسرعة ، فاستخدم
Ctrl + Shift + I
وفحصها عبر النافذة المنبثقة السريعة (إذا كنت بحاجة إلى تعديلها ، فانتقل إلى الإعلان عبرCtrl + Shift + B
بدلاً من ذلك). - إذا كانت لديك فئة كبيرة وتحتاج إلى فحص هيكلها أو التبديل بسرعة بين الطرق ، فاستخدم اختصار بنية الملف ،
Ctrl + F12
افتراضيًا.
استخدام القوالب الحية لجميع تراكيب اللغة الأساسية
بينما تسمح لك الاختصارات بكتابة التعليمات البرمجية والتنقل خلالها بسرعة ، إلا أن هناك طريقة لتحسينها أكثر - الإكمال التلقائي والقوالب الحية.
يعد الإكمال التلقائي الأساسي سهلًا جدًا ، ويجب أن تعرفه بالتأكيد.
إذا بدأت في كتابة اسم فئة أو طريقة أو متغير ، فسيظهر لك أي IDE جيد قائمة بالنهايات المحتملة. يمكنك اختيار أي منها ، وتجنب الكتابة حتى النهاية.
ومع ذلك ، يمكنك الذهاب إلى أبعد من ذلك باستخدام القوالب الحية.
في هذا القسم ، ستتعرف على القوالب الحية التي أستخدمها في عملي اليومي. أقسمهم إلى ثلاث مجموعات: تركيبات اللغة الأساسية ، والوظائف ذات الأسماء الطويلة ، وقطع HTML.
تركيبات اللغة الأساسية
وغني عن القول ، أن المطورين يستخدمون تراكيب لغة قياسية ، مثل while
، for
، foreach
، if
عدة مرات في اليوم ، لذلك من غير الفعال للغاية كتابتها من نقطة الصفر في كل مرة. لهذا السبب توجد قوالب مباشرة مضمنة لهم في PhpStorm.
للحصول على بعض سحر القالب المباشر الذي يغير حياتك ، افتح PhpStorm ، واكتب forek
في منطقة التحرير ، واضغط على Enter
. سترى هذا:
استبدلت PhpStorm قالبًا بدورة foreach
كاملة وأعواد بذرة مُعدة لجميع المتغيرات الضرورية. تحتاج فقط إلى ملء أسماء المتغيرات الصحيحة.
إذا قمت بالضغط على Ctrl + J
، فسترى قائمة القوالب الحية المدعومة حاليًا ، والمطبقة على المكان الحالي للرمز. يمكنك اختيار أي منهم.
كما لاحظت ، بعض الإنشاءات المتكررة جدًا مفقودة هنا. على سبيل المثال ، دائمًا ما أفتقد نموذجًا while
للدورة ، لذلك دعونا ننشئه!
انتقل إلى "الإعدادات" ، ثم "المحرر" ، ثم "النماذج المباشرة" ، واختر "PHP" ، وانقر على الزر الأخضر "+" في الجزء العلوي الأيمن من النافذة المنبثقة:
املأ حقل "الاختصار" بـ "wh" ، وحقل "الوصف" بـ "while (bool_expr) {…}". يجب أن يحتوي حقل "نص النموذج" على ما يلي:
while($EXPR$) { $END$ }
انقر فوق الارتباط "تعريف" أسفل textarea "نص القالب" واختر "PHP" من القائمة ، حتى يعرف في أي سياق يستخدم هذا النموذج.
الآن ، دعنا نناقش كيف يعمل.
عندما تكتب wh, Enter
في منطقة التحرير الخاصة بك ، فسيتم استبدالها بنص القالب.
سيتم نقل المؤشر إلى متغير القالب الأول ، $EXPR$
في حالتنا ، ثم يمكنك كتابة أي تعبير (على سبيل المثال $i > 0
) والضغط على Enter
مرة أخرى.
بعد ذلك ، سيتم نقل المؤشر إلى المتغير التالي (لدينا واحد فقط في هذا المثال) ، وهكذا. $END$
هو متغير خاص يشير إلى المكان الذي يجب أن يتحرك فيه المؤشر بعد ملء جميع المتغيرات.
لدينا متغير واحد فقط ، لذلك سيتم نقله إلى $END$
مباشرةً بعد أن نملأ $EXPR$
، وسنكون مستعدين لإدخال نص دورة.
قم بإنشاء القوالب الحية الخاصة بك لجميع تركيبات اللغة التي تستخدمها بشكل متكرر. من الأفضل بكثير استثمار بعض الوقت مقدمًا بدلاً من إنفاقه كل يوم على كتابة مثل هذه الإنشاءات من البداية.
وظائف PHP
لسوء الحظ ، تتمتع PHP بسمعة طيبة للغة ذات أسماء وظيفية طويلة وغير متسقة.
الخبر السار هو أنه يمكنك استبدالها باختصارات قصيرة باستخدام قوالب حية. على سبيل المثال ، إذا كنت تريد التحقق بشكل صحيح من وجود مفتاح ما في مصفوفة ، فأنت بحاجة إلى استدعاء الدالة array_key_exists($my_key, $my_array)
.
من الممل للغاية كتابته في كل مرة حتى مع الإكمال التلقائي القياسي ، لذلك ما عليك سوى إنشاء قوالب مباشرة لجميع هذه الحالات.
أنا شخصياً أفضل "ake" بالنسبة إلى array_key_exists ، يمكنك اختيار أي نوع آخر. إليك كيفية إنشاء نموذج "ake" المباشر:
أجزاء HTML
أخيرًا ، ولكن ليس أقل استخدام للقوالب الحية شيوعًا ، هو التعامل مع أجزاء HTML.
إذا لم تكن تستخدم القوالب المباشرة بالفعل ، فأنا أراهن أنك تقوم بالكثير من الأعمال الشاقة (وغير المجدية بشكل أساسي) ، حيث تقوم بإنشاء عناصر ترميز قياسية بتنسيق HTML. تقوم القوالب الحية بتغيير ذلك من خلال القيام بما فعلناه أعلاه ولكن باستخدام حقل "نص القالب" باعتباره HTML الخاص بك.
تجنب الأخطاء مع PHPDocs
لقد تعلمت حتى الآن نصائح وحيل حول كفاءة PhpStorm ، ولكن انتظر ، هناك المزيد. الكفاءة ليست المجال الوحيد الذي يمكن أن تساعد فيه ، بل يمكن أن تساعد أيضًا في تجنب الأخطاء ، حتى قبل التشغيل الأول لبرنامجك.
من خارج الصندوق ، يخبرك PhpStorm بالأخطاء الواضحة.
على سبيل المثال ، إذا نسيت فاصلة منقوطة بعد عبارة ، فسيتم تمييزها باللون الأحمر ، لكن هذه الوظيفة تافهة ، لذا لن أصفها.
الشيء المثير للاهتمام هو عندما يخبرك PhpStorm بأخطاء أكثر تعقيدًا ، عندما تعطيه المعلومات التي يحتاجها عبر PHPDocs.
من الناحية المثالية ، فإن مواصفات PHPDoc إلزامية على فريقك لجميع الأساليب وجعلها صارمة قدر الإمكان. النظر في مثال مع فئة User
لدينا مرة أخرى. افترض أن لدينا وظيفة ، والتي تُرجع مجموعة من كائنات User
:
بشكل افتراضي ، لا يتم توثيقها ، لذلك قد لا يعرف المطورون الآخرون نوع القيمة التي يتم إرجاعها وقد يستخدمونها بشكل غير صحيح.
على سبيل المثال ، يريد مطور آخر استرداد قائمة بأسماء المستخدمين. تعتقد ، لسبب ما ، أن كائن User
لديه طريقة getName (). لكن في الواقع لا يحدث ذلك ، لذا يرتكب المطور خطأ:
لا يتعامل PhpStorm مع هذا على أنه خطأ لأنه لا يعرف شيئًا عن متغير المستخدم $. لذلك يبقى دون أن يلاحظه أحد ، وينتهي بنا الأمر بخطأ سيئ للغاية.
الخيار الأول هو تشغيل الكتابة الصارمة ، والتي أصبحت ممكنة في PHP7 ، لكن دعنا نفترض أننا لا نستطيع فعل ذلك لسبب ما. ربما نعمل مع رمز قديم. في هذه الحالة ، سوف يساعدنا PhpStorm ، إذا سمحنا بذلك.
لكي يعمل هذا ، ستحتاج إلى إنشاء PHPDoc لكل وظيفة. تعتبر عادة جيدة ، وسوف تساعدك على تجنب الأخطاء ، والتوافق مع زملائك المطورين ، وحتى اجتياز المقابلات التي يفحص فيها أصحاب العمل كود المصدر الخاص بك.
لإنشاء PHPDoc ، انقل المؤشر إلى اسم الوظيفة ، واضغط على Alt + Enter
، واختر العنصر "إنشاء PHPDoc للوظيفة" في القائمة المنبثقة ، واضغط على Enter
مرة أخرى.
سيظهر نموذج PHPDoc الأساسي:
يمكنك أن ترى أن PhpStorm قد خمّن أن القيمة المرتجعة عبارة عن مصفوفة ، لكن لا يمكن تخمين أنها مصفوفة من كائنات User
، لذلك دعنا نوضح ذلك بوضوح عن طريق تغيير "المصفوفة" لقراءة "المستخدم []" بدلاً من ذلك:
الآن بعد أن أخبرنا PhpStorm بما يحتاج إلى معرفته عن الطريقة ، دعنا نعود إلى استدعاء طريقة getUserNames()
:
الآن بعد أن أصبح PhpStorm قادرًا على تحليل إعلان نوع إرجاع PHPDoc ، يمكنه توجيهنا إلى الخطأ وحتى التلميح إلى الخطأ بالضبط. يمكن لـ PhpStorm ، بالاشتراك مع PHPDocs ، جعل PHP لغة صارمة للغاية! نتيجة مذهلة!
PhpStorm ليس فقط لمطوري PHP
في حين أن جميع الموضوعات التي يتم تناولها تتمحور حول تطوير PHP ، فإن PhpStorm مبني على منصة IntelliJ قوية جدًا ، مما يجعل من الممكن استخدامها مع العديد من اللغات ، والأطر ، والمكدسات التقنية ، البعيدة عن عالم PHP.
تطوير الواجهة الأمامية
حتى إذا كنت مطورًا للجهة الخلفية ، فستحتاج إلى حل بعض مشكلات الواجهة الأمامية من وقت لآخر. يمكن أن يكون إصلاحًا بسيطًا في ترميز HTML ، وإضافة معلمة إلى عميل REST ، ومكتوبة على AngularJS ، وما إلى ذلك. والخبر السار هو أنه يمكن القيام بكل ذلك في PhpStorm.
القاعدة الأساسية هي: تحقق مما إذا كان مدعومًا خارج الصندوق. إذا لم يكن كذلك ، فحاول العثور على مكون إضافي.
على سبيل المثال ، Javascript و CSS ومعالجات CSS الأولية الشائعة ، مثل LESS و SASS ، مدعومة خارج الصندوق. يُضاف دعم AngularJS بسهولة كمكوِّن إضافي (مسار التثبيت هو نفس مسار البرنامج الإضافي IdeaVim). مع هذه العقلية ، ستتمكن من حل جميع المهام الأمامية الممكنة تقريبًا.
العمل مع قواعد البيانات
عادةً ما تتم إدارة قواعد بيانات التطبيق عبر سطر أوامر أو أدوات خاصة ، مثل MySQL Workbench ، لكن PhpStorm يمكنها مساعدتك هنا أيضًا.
ما عليك سوى النقر فوق قاعدة البيانات على الهامش الأيمن من شاشتك ، وسترى قائمة بقواعد البيانات المتاحة (فارغة في البداية) ونافذة استعلام تحتوي على إكمال تلقائي ، مثل منطقة التحرير العامة ، مما يجعلها مريحة للغاية.
يدعم PhpStorm جميع قواعد البيانات الحديثة تقريبًا. يتم دعم MySQL و PostgreSQL و Oracle Database و SQLite خارج الصندوق ، بينما يتم دعم MongoDB عبر تثبيت البرنامج المساعد.
مكدس يعني
المثال الأخير والأكثر روعة بخلاف PHP هو تطوير مكدس MEAN.
يعني MEAN اختصارًا لكلمة MongoDB و ExpressJS و AngularJS و Node.js.
إنها مجموعة تقنية رائجة ، يتم استخدامها في كل مكان تقريبًا. إنه سريع جدًا وجيد للغاية لخدمات الويب السريعة وخفيفة الوزن.
حتى بصفتي مطور PHP ، أقوم أحيانًا بإنشاء خدمات Node.js كأدوات تكميلية لمشاريع PHP (مثل خدمات websocket ونهايات chatbot البسيطة وما إلى ذلك).
كما خمنت على الأرجح ، يتم دعم جميع مكونات مكدس MEAN في PhpStorm ، لذلك كلما احتجت إلى إنشاء مشروع مكدس MEAN ، ضع في اعتبارك أنك لست بحاجة إلى IDE آخر. سيقوم PhpStorm بالمهمة على أكمل وجه.
قوة PhpStorm بين يديك
باستخدام قوة PhpStorm ومجموعات المهارات الأساسية التي تمت تغطيتها في هذه المقالة ، يمكنك أيضًا زيادة كفاءتك ومنع الأخطاء قبل أن تنتهي من الكتابة.