اذهب إلى المحتوى

السؤال

نشر

أرغب بإنشاء صف مساعد مخصص helper لتنسيق نص معيّن ولتجنب التكرار ضمن صفحات views، بحيث أستطيع تضمينه مثلاً في صفحات متعددة بالشكل التالي:

<p>Text within helper class: {{ helperClass($text) }}</p>

فأين يجب أن أقوم  بتعريف التابع helperClass؟

Recommended Posts

  • 0
نشر

قم بإنشاء ملف وليكن اسمه helpers.php في المسار التالي app\Helpers طبعا تنشأ مجلد اسمه helpers داخل مجلد app  ثم في ملف composer.json تقوم بإضافة الملف ليتم تحميله تلقائيا في المشروع عن طريق إضافة التالي

"autoload": {
    "classmap": [
        ...
    ],
    "psr-4": {
        "App\\": "app/"
    },
    "files": [
        "app/helpers.php" // اسم ملفك هنا
    ]
},

ومن ثم تنفيذ الأمر التالي 

composer dump-autoload

ومن ثم في ملف helpers.php تستطيع إنشاء إي دالة و من ثم يمكنك استخدامها في أي ملف view تريده.

اقتباس

فأين يجب أن أقوم  بتعريف التابع helperClass؟

 أعجبني

داخل ملف helpers.php لتستطيع مشاركة الدالة ضمن ملفات views التي تريدها.

  • 0
نشر

لإنشاء helper function يتعين عليك اتباع الخطوات التالية:

  1. إنشاء ملف بإسم helpers.php داخل المجلد و الاسم helpers ليس شرطاً ويمكنك تسميته ما تشاء ولكن جرت العادة ان يتم تسميته هكذا لذلك يجدر ان تسميه helpers.php و ستقوم بكتابة الدالة بداخله helpers2.png.bd045aef66478e7a315fac49b1361c4c.pnghelpers1.png.8416146d85fc7c49f92f5f1da820c67a.png    
  2. الخطوة الثانية هي ان تقوم بتضمين هذا الملف ضمن الملفات التي يتم تحميلها تلقائياً عند الحاجة إليها وتستطيع استخدامها دون تضمينها وهو ما يعرف بالautoload ويوجد في الملف composer.json الذي يحتوي على جميع الملفات الخارجية التي يتم استخدامها في النظام.helpers2.thumb.png.204826bf164998461e8d5435261dd7c1.png
  3. الخطوه الثانية ستكون هي انشاء قائمة باسماء الاصناف الموجودة في البرنامج عن طريق كتابة الامر :
composer dump-autoload

              

     4. الخطوة الاخيرة ستكون استخدام الhelper function اما في الview او الcontroller وفي حالتك سيتم استخدامها في الview حيث ستقوم باتباع نفس الطريقة التي اتبعتها انت في السؤال          

<p>Text within helper class: {{ helperClass($text) }}</p>

helpers2.png

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...