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

· 507 كلمة · 3 دقيقة قراءة

أثناء تطوير موقع في إطار العمل پي إتش پي لاراڤيل ، استخدمت create.blade.php في edit.blade.php. لكن لازم أعمل بعض التعديلات على الصفحة؛ وخاصةً الـ <input value="">.

كنت أكتب في موقع في إطار العمل الشهير لارافيل 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 🔗

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

use RegEx to replace all old with $model in Laravel in VS Code

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

Watch this short video for more clarity. I hope this helps. Share if you care.

Follow me to get notified of new posts I create here . Follow me on Twitter @abanoubha . Follow me on LinkedIn . Join my Telegram channel @softwarepharaoh . Follow my Facebook page @softwarepharaoh .

التصنيفات: برمجة
مشاركة:
waffarx cash back