Controller Repository Service Model भित्रको लागि गाइड Laravel

Controller- Repository- Service model को लागि आधारभूत कार्यान्वयन गाइडले Laravel तपाइँलाई तपाइँको स्रोत कोड व्यवस्थित गर्न र मर्मत गर्न सजिलो तरिकामा व्यवस्थित गर्न मद्दत गर्दछ। तपाइँ यो संरचना कसरी कार्यान्वयन गर्न सक्नुहुन्छ भन्ने ठोस उदाहरण यहाँ छ:

Model

यो जहाँ तपाइँ डेटाबेस संग अन्तरक्रिया को लागी विशेषताहरु र विधिहरु को परिभाषित गर्दछ। Laravel मोडेलहरूसँग काम गर्न Eloquent ORM संयन्त्र प्रदान गर्दछ। model उदाहरणका लागि, तालिकाको लागि एउटा सिर्जना गरौं Posts:

// app/Models/Post.php  
namespace App\Models;  
  
use Illuminate\Database\Eloquent\Model;  
  
class Post extends Model  
{  
    protected $fillable = ['title', 'content'];  
}  

Repository

र repository बीच मध्यस्थकर्ताको रूपमा कार्य गर्दछ । यसले मार्फत डाटाबेस सञ्चालन गर्ने विधिहरू समावेश गर्दछ । यसले डाटाबेस तर्कलाई बाट अलग गर्न मद्दत गर्दछ र डाटाबेस तर्क परिवर्तन वा परीक्षण गर्न सजिलो बनाउँछ। Controller Model model controller

// app/Repositories/PostRepository.php  
namespace App\Repositories;  
  
use App\Models\Post;  
  
class PostRepository  
{  
    public function create($data)  
    {  
        return Post::create($data);  
    }  
      
    public function getAll()  
    {  
        return Post::all();  
    }  
      
    // Other similar methods  
}  

Service

व्यापार तर्क समावेश service गर्दछ र संग संचार गर्दछ Repository । अनुरोधहरू ह्यान्डल गर्न र सम्बन्धित डाटा फिर्ता गर्नका लागि विधिहरू कल Controller गर्नेछ । Service यसले व्यापार तर्कलाई बाट अलग गर्न मद्दत गर्दछ controller र परीक्षण र मर्मतसम्भारलाई सजिलो बनाउँछ।

// app/Services/PostService.php  
namespace App\Services;  
  
use App\Repositories\PostRepository;  
  
class PostService  
{  
    protected $postRepository;  
      
    public function __construct(PostRepository $postRepository)  
    {  
        $this->postRepository = $postRepository;  
    }  
      
    public function createPost($data)  
    {  
        return $this->postRepository->create($data);  
    }  
      
    public function getAllPosts()  
    {  
        return $this->postRepository->getAll();  
    }  
      
    // Other similar methods  
}  

Controller

जहाँ controller तपाइँ प्रयोगकर्ता अनुरोधहरू ह्यान्डल गर्नुहुन्छ, Service डेटा पुन: प्राप्त गर्न वा पठाउनको लागि कल विधिहरू, र प्रयोगकर्तालाई परिणामहरू फर्काउनुहोस्।

// app/Http/Controllers/PostController.php  
namespace App\Http\Controllers;  
  
use Illuminate\Http\Request;  
use App\Services\PostService;  
  
class PostController extends Controller  
{  
    protected $postService;  
      
    public function __construct(PostService $postService)  
    {  
        $this->postService = $postService;  
    }  
      
    public function create(Request $request)  
    {  
        $data = $request->only(['title', 'content']);  
        $post = $this->postService->createPost($data);  
        // Handle the response  
    }  
      
    public function index()  
    {  
        $posts = $this->postService->getAllPosts();  
        // Handle the response  
    }  
      
    // Other similar methods  
}  

यो संरचना लागू गरेर, तपाइँ कुशलतापूर्वक तपाइँको Laravel आवेदन को विभिन्न भागहरु व्यवस्थापन गर्न सक्नुहुन्छ। थप रूपमा, व्यापार तर्क, भण्डारण तर्क, र कक्षाहरू बीचको सञ्चारलाई छुट्याएर तपाईंको कोडबेसलाई लचिलो, मर्मत योग्य र परीक्षणयोग्य बनाउँछ।