استخدام regex لتحويل old() إلى $model تلقائياً لتسهيل البرمجة في إطار عمل لارافيل

كنت أكتب في موقع في إطار العمل الشهير لارافيل Laravel . أعدت استخدام تصميم صفحة create.blade.php في صفحة edit.blade.php لكن أحتاج لبعض التعديلات طبعاً.

من أهم هذه التعديلات هو تحويل
old('something')
إلى
$model->something
طبعاً تستخدم المودل المناسب حسب البروجكت عندك.

لن أغيرهم كلهم بشكل يدوي طبعاً ! لذلك قررت أن استخدم regex لتحويلهم جميعاً مرةً واحدة.

خطوات استخدام regex للإستبدال السريع

أستخدم برنامج vs code الشهير. ضغطت على CMD + F لأني أستخدم ماك بوك (Mac OS) لكن إن كنت تستخدم ويندوز أو لينكس ، اضغط على Ctrl + F

البحث والاستبدال عن طريق regex في VS Code في بروجت لارافيل

سيظهر لك مربع فوق، أكتب فيه regex الخاص بإختيار وتحديد الكود من داخل الصفحة المفتوحة حالياً. هذا هو كود regular expression الخاص بالتحديد والإختيار.

old\('(\w+)'\)

ثم نتأكد من الضغط على "الإختيار من خلال الـ regular expression" وهو زر بجانب مربع الإختيار شكله به نقطة ونجمة مثل ".*". تأكد من تحديدك لهذا الخيار.

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

 
$product->$1

استبدال كلمة product بإسم المودل الذي تريد كتابته في الكود عندك.

ثم اضغط على زر استبدال الجميع ، أو استبدال.

شرح أكواد regex ببساطة

دون الدخول في تفاصيل عميقة في الـ regular expressions نوضح كيف يعمل كود التحديد والإستبدال.

في كود التحديد استخدمنا القوس وقبله شرطة مائلة لأننا نقصد تحديد قوس حرفياً ، ولا نريد معني القوس الموجود في الـ regex . 
استخدمنا حرف w مسبوق بشرطة مائلة ، ومتبوع بعلامة الزائد + لأننا نريد تحديد كل النصوص المكونة من الحروف الإنجليزية حتى الوصول لـ char غير الحروف الإنجليزية.

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

بعد ذلك ، استخدمنا في كود الاستبدال المتغير الأول وهو $1 وهو يحتوي على النص المحدد بقوسين في كود التحديد.

إن كان الشرح المكتوب غير واضح بشكل كافي ، أتمنى أن تكون الصورة أوضح لك.

شرح استخدام regex لإستبدال النصوص داخل vscode

إن كنت تفضل مشاهدة الفيديو أكثر من قراءة المقالات ، شاهد الفيديو من هنا، ولا تنسى الإشتراك في القناة على يوتيوب. إن كنت تستخدم برنامج تليجرام ، يُمكنك الاشتراك في قناة تيليجرام أو صفحة الفيسبوك للحصول على الموضوعات الجديدة. لمزيد من المعلومات عن البرمجة ولينكس وأندرويد وويندوز وماك وآيفون وتصميم المواقع، ابحث عن "موقع أبانوب حنا للبرمجيات" على جوجل وادخل للموقع وستجد موضوع جديد يشرح فكرة أو معلومة جميلة ومفيدة كل يوم.

0 comments:

إرسال تعليق