Controller- Repository- Service model இன் அடிப்படை செயலாக்க வழிகாட்டி Laravel உங்கள் மூலக் குறியீட்டை நிர்வகிக்கவும் பராமரிக்கவும் எளிதான வகையில் ஒழுங்கமைக்க உதவுகிறது. இந்த கட்டமைப்பை நீங்கள் எவ்வாறு செயல்படுத்தலாம் என்பதற்கான உறுதியான எடுத்துக்காட்டு இங்கே:
Model
தரவுத்தளத்துடன் தொடர்புகொள்வதற்கான பண்புகளையும் முறைகளையும் இங்குதான் நீங்கள் வரையறுக்கிறீர்கள். Laravel மாடல்களுடன் வேலை செய்ய எலோக்வென்ட் 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. கூடுதலாக, வணிக தர்க்கம், சேமிப்பக தர்க்கம் மற்றும் வகுப்புகளுக்கு இடையேயான தகவல்தொடர்பு ஆகியவற்றைப் பிரிப்பது உங்கள் கோட்பேஸை நெகிழ்வானதாகவும், பராமரிக்கக்கூடியதாகவும், சோதிக்கக்கூடியதாகவும் ஆக்குகிறது.