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

السؤال

نشر

لدي صف اسمه Cart وفيه تابع للشراء purchase،  سيحتوي هذا الصف أيضاً هيكل التطبيق والتوابع الأخرى التي ستعتمد عليها معظم وحدات التحكم Controllers الخاصة بي. كيف يمكنني أن استخدم dependency injection بين وحدات التحكم الأخرى؟

أو بمعنى آخر كيف يمكنني إضافة Laravel Contracts مع استخدام Service providers أيضاً في لارافيل؟

 

Recommended Posts

  • 0
نشر

يمكنك الإشارة إلى هذا الصف على شكل اعتمادية أو dependency في أي متحكم آخر، فسيتم إنشاؤه حتى لو لم تقم باستخدام واجهة Interface بداخل هذا المتحكم.

مثال:

<?php

namespace App\Http\Controllers;

use App\Users\Repository as UserRepository;

class UserController extends Controller
{
    /**
     * The user repository instance.
     */
    protected $users;

    /**
     * Create a new controller instance.
     *
     * @param  UserRepository  $users
     * @return void
     */
    public function __construct(UserRepository $users)
    {
        $this->users = $users;
    }
}

أما في حال كنت ستستخدم واجهة، تأكد من أن الصف يقوم بعمل implement لهذه الواجهة ثم يجب القيام باستدعائه عن طريق التابع bind في أي مقدّم خدمة. على الشكل التالي:

$this->app->bind(UserRepository::class, EloquentUserRepository::class);

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...