ਵਰਤਣ Service Container ਅਤੇ Dependency Injection ਅੰਦਰ ਲਈ ਗਾਈਡ Laravel

Service Container ਅਤੇ Dependency Injection ਦੋ ਮਹੱਤਵਪੂਰਨ ਸੰਕਲਪਾਂ ਹਨ Laravel ਜੋ ਤੁਹਾਡੀ ਨਿਰਭਰਤਾ ਅਤੇ ਤੁਹਾਡੇ ਸਰੋਤ ਕੋਡ ਦੀ ਬਣਤਰ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀਆਂ ਹਨ। ਹੇਠਾਂ ਉਹਨਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਸਥਿਤੀਆਂ ਵਿੱਚ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ:

ਸੁਸਿੰਗ Service Container

ਇਨ ਵਸਤੂਆਂ ਨੂੰ ਲਚਕਦਾਰ Service Container ਤਰੀਕੇ Laravel ਨਾਲ ਪ੍ਰਬੰਧਨ ਅਤੇ ਪ੍ਰਦਾਨ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ। ਇੱਥੇ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ Service Container:

ਕਿਸੇ ਵਸਤੂ ਨੂੰ ਰਜਿਸਟਰ ਕਰਨਾ: bind ਕਿਸੇ ਵਸਤੂ ਨੂੰ ਵਿੱਚ ਰਜਿਸਟਰ ਕਰਨ ਲਈ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰੋ Service Container ।

app()->bind('userService', function() {  
    return new UserService();  
});  

ਆਬਜੈਕਟ ਤੱਕ ਪਹੁੰਚਣਾ: ਜਦੋਂ ਤੁਹਾਨੂੰ ਆਬਜੈਕਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ Service Container ਰਜਿਸਟਰਡ ਨਾਮ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸਨੂੰ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ।

$userService = app('userService');

ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ Dependency Injection

Dependency Injection ਨਿਰਭਰਤਾ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਕੋਡ ਨੂੰ ਵਧੇਰੇ ਪੜ੍ਹਨਯੋਗ ਬਣਾਉਂਦਾ ਹੈ। ਇੱਥੇ ਵਰਤਣ ਦਾ ਤਰੀਕਾ ਹੈ Dependency Injection:

ਦੁਆਰਾ ਨਿਰਭਰਤਾਵਾਂ ਦਾ ਐਲਾਨ ਕਰਨਾ Constructor: ਜਿਸ ਕਲਾਸ ਵਿੱਚ ਤੁਹਾਨੂੰ ਨਿਰਭਰਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਦੁਆਰਾ ਘੋਸ਼ਿਤ ਕਰੋ constructor । Laravel ਆਬਜੈਕਟ ਸ਼ੁਰੂ ਕਰਨ ਵੇਲੇ ਆਟੋਮੈਟਿਕਲੀ ਨਿਰਭਰਤਾ ਨੂੰ ਇੰਜੈਕਟ ਕਰੇਗਾ।

class UserController extends Controller  
{  
    protected $userService;  
  
    public function __construct(UserService $userService)  
    {  
        $this->userService = $userService;  
    }  
}  

ਵਿਧੀ ਦੁਆਰਾ ਨਿਰਭਰਤਾ ਨੂੰ ਟੀਕਾ ਲਗਾਉਣਾ Setter: ਤੁਸੀਂ setter ਤਰੀਕਿਆਂ ਦੁਆਰਾ ਨਿਰਭਰਤਾ ਨੂੰ ਵੀ ਇੰਜੈਕਟ ਕਰ ਸਕਦੇ ਹੋ। Laravel ਨਿਰਭਰਤਾ ਨੂੰ ਇੰਜੈਕਟ ਕਰਨ ਲਈ ਇਹਨਾਂ ਤਰੀਕਿਆਂ ਨੂੰ ਆਪਣੇ ਆਪ ਕਾਲ ਕਰੇਗਾ।

class UserController extends Controller  
{  
    protected $userService;  
  
    public function setUserService(UserService $userService)  
    {  
        $this->userService = $userService;  
    }  
}  

ਸਿੱਟਾ

ਵਰਤੋਂ Service Container ਅਤੇ Dependency Injection ਇਸ ਵਿੱਚ Laravel ਨਿਰਭਰਤਾ ਅਤੇ ਸਰੋਤ ਕੋਡ ਬਣਤਰ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਦਾ ਹੈ। ਇਹਨਾਂ ਸਿਧਾਂਤਾਂ ਨੂੰ ਲਾਗੂ ਕਰਕੇ, ਤੁਸੀਂ ਆਪਣੀਆਂ Laravel ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੇ ਵਿਕਾਸ ਦੌਰਾਨ ਲਚਕਦਾਰ, ਰੱਖ-ਰਖਾਅਯੋਗ ਅਤੇ ਆਸਾਨੀ ਨਾਲ ਵਿਸਤ੍ਰਿਤ ਕੋਡ ਬਣਾ ਸਕਦੇ ਹੋ।