เชเชฏเชพ เช
เช เชตเชพเชกเชฟเชฏเซ เชฎเซเช เชฒเชเซเชฏเซเช เชนเชคเซเช
<?php
interface PostRepository
{
public function getById($id): Post;
public function save(Post $post);
public function delete($id);
}
เชเซ เชเซ, เชตเชพเชธเซเชคเชตเชฟเช เชชเซเชฐเซเชเซเชเซเชเซเชธเชฎเชพเช, เชเซ เชฐเชฟเชชเซเชเซเชเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเซเชฏ, เชคเซ เชฐเซเชเซเชฐเซเชกเซเชธ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซ เชชเชฆเซเชงเชคเชฟเช เชเชฃเซเชตเชพเชฐ เชคเซเชฎเชพเช เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ:
<?php
interface PostRepository
{
public function getById($id): Post;
public function save(Post $post);
public function delete($id);
public function getLastPosts();
public function getTopPosts();
public function getUserPosts($userId);
}
เช เชชเชฆเซเชงเชคเชฟเช เชเชฒเซเชเซเชตเชจเซเช เชธเซเชเซเชชเซเชธ เชฆเซเชตเชพเชฐเชพ เช เชฎเชฒเชฎเชพเช เชฎเซเชเซ เชถเชเชพเชฏ เชเซ, เชชเชฐเชเชคเซ เชชเซเชคเชพเชจเซ เชฒเชพเชตเชตเชพเชจเซ เชเชตเชพเชฌเชฆเชพเชฐเซ เชธเชพเชฅเซ เชเชจเซเชเชฟเชเซ เชตเชฐเซเชเซเชจเซ เชเชตเชฐเชฒเซเชก เชเชฐเชตเซเช เช เชถเซเชฐเซเชทเซเช เชตเชฟเชเชพเชฐ เชจเชฅเซ, เช เชจเซ เช เชเชตเชพเชฌเชฆเชพเชฐเซเชจเซ เชฐเชฟเชชเซเชเซเชเชฐเซ เชตเชฐเซเชเซเชฎเชพเช เชเชธเซเชกเชตเซเช เชคเชพเชฐเซเชเชฟเช เชฒเชพเชเซ เชเซ. เชเชตเซเช เชเซ เชจเซ? เชฎเซเช เชเชพเชธ เชเชฐเซเชจเซ เช เชเชจเซเชเชฐเชซเซเชธเชจเซ เชฌเซ เชญเชพเชเชฎเชพเช เชตเชฟเชญเชพเชเชฟเชค เชเชฐเซเชฏเซเช เชเซ. เชชเชฆเซเชงเชคเชฟเชเชจเซ เชชเซเชฐเชฅเชฎ เชญเชพเช เชฒเซเชเชจ เชเชพเชฎเชเซเชฐเซเชฎเชพเช เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชถเซ.
เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชฒเซเชเชจ เชเชพเชฎเชเซเชฐเซ เชเซ:
- เชจเชตเซ เชตเชธเซเชคเซ เช เชจเซ เชชเชกเชเชพเชฐเชจเซเช เชจเชฟเชฐเซเชฎเชพเชฃ PostRepository::save
- PostRepository::getById, เชเชจเซเชเชฟเชเซ เชฎเซเชจเซเชชเซเชฏเซเชฒเซเชถเชจ เช เชจเซ เชธเชฎเชจเซเชธเชฟเชเช PostRepository::save
- เชเช เชชเชกเชเชพเชฐ PostRepository::delete
เชฒเชเชตเชพเชจเซ เชเชพเชฎเชเซเชฐเซ เชเชจเชฏเชจ เชชเชฆเซเชงเชคเชฟเชเชจเซ เชเชชเชฏเซเช เชเชฐเชคเซ เชจเชฅเซ. เชฐเซเชก เชเชชเชฐเซเชถเชจเชฎเชพเช, เชฎเชพเชคเซเชฐ get* เชชเชฆเซเชงเชคเชฟเชเชจเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ. เชเซ เชคเชฎเซ เชตเชฟเชถเซ เชตเชพเชเชเซ เชเชจเซเชเชฐเชซเซเชธ เชธเซเชเซเชฐเชฟเชเซเชถเชจ เชธเชฟเชฆเซเชงเชพเชเชค (เชชเชคเซเชฐ I ะฒ เชธเซเชฒเชฟเชก), เชชเชเซ เชคเซ เชธเซเชชเชทเซเช เชฅเชถเซ เชเซ เช เชฎเชพเชฐเซเช เชเชจเซเชเชฐเชซเซเชธ เชเซเชฌ เชฎเซเชเซเช เชเซ เช เชจเซ เชเชเชพเชฎเชพเช เชเชเซ เชฌเซ เช เชฒเช เช เชฒเช เชเชตเชพเชฌเชฆเชพเชฐเซเช เชเชฐเซ เชเซ. เชคเซเชจเซ เชฌเซ เชตเชกเซ เชตเชฟเชญเชพเชเซเชค เชเชฐเชตเชพเชจเซ เชธเชฎเชฏ เชเชตเซ เชเชฏเซ เชเซ. เชชเชฆเซเชงเชคเชฟ getById เชฌเชเชจเซเชฎเชพเช เชเชฐเซเชฐเซ เชเซ, เชชเชฐเชเชคเซ เชเซเชฎ เชเซเชฎ เชเชชเซเชฒเชฟเชเซเชถเชจ เชตเชงเซ เชเชเชฟเชฒ เชฌเชจเชคเซ เชเชถเซ เชคเซเชฎ เชคเซเชฎ เชคเซเชจเชพ เช เชฎเชฒเซเชเชฐเชฃเชฎเชพเช เชคเชซเชพเชตเชค เชเชตเชถเซ. เช เชเชชเชฃเซ เชฅเซเชกเซ เชตเชพเชฐ เชชเชเซ เชเซเชเชถเซเช. เชฎเซเช เช เชเชพเชเชจเชพ เชฒเซเชเชฎเชพเช เชฒเซเชเชจ เชญเชพเชเชจเซ เชจเชเชพเชฎเซเชคเชพ เชตเชฟเชถเซ เชฒเชเซเชฏเซเช เชนเชคเซเช, เชคเซเชฅเซ เช เชเชเชฎเชพเช เชนเซเช เชคเซเชจเชพ เชตเชฟเชถเซ เชญเซเชฒเซ เชเชเชถ.
เชตเชพเชเชเซ เชญเชพเช เชฎเชจเซ เชเชเชฒเซ เชจเชเชพเชฎเซ เชฒเชพเชเซ เชเซ, เชเชพเชฐเชฃ เชเซ Eloquent เชฎเชพเชเซ เชชเชฃ เช เชนเซเช เชเชฃเชพ เช เชฎเชฒเซเชเชฐเชฃเซ เชนเซเช เชถเชเซ เชเซ. เชตเชฐเซเชเชจเซ เชถเซเช เชจเชพเชฎ เชเชชเชตเซเช? เชเชฐเซ เชถเชเซ เชเซ ReadPostRepository, เชชเชฐเชเชคเซ เชจเชฎเซเชจเชพ เชฎเชพเชเซ เชฐเซเชชเซเชเซเชเชฐเซ เชคเซเชจเซ เชชเชพเชธเซ เชชเชนเซเชฒเซเชฅเซ เช เชเชเซ เชธเซเชธเชเชเชคเชคเชพ เชเซ. เชคเชฎเซ เชฎเชพเชคเซเชฐ เชเชฐเซ เชถเชเซ เชเซ เชชเซเชธเซเชเชเซเชตเซเชฐเซเช:
<?php
interface PostQueries
{
public function getById($id): Post;
public function getLastPosts();
public function getTopPosts();
public function getUserPosts($userId);
}
Eloquent เชธเชพเชฅเซ เชคเซเชจเซ เช เชฎเชฒ เชเชฐเชตเซ เชเชเชฆเชฎ เชธเชฐเชณ เชเซ:
<?php
final class EloquentPostQueries implements PostQueries
{
public function getById($id): Post
{
return Post::findOrFail($id);
}
/**
* @return Post[] | Collection
*/
public function getLastPosts()
{
return Post::orderBy('created_at', 'desc')
->limit(/*some limit*/)
->get();
}
/**
* @return Post[] | Collection
*/
public function getTopPosts()
{
return Post::orderBy('rating', 'desc')
->limit(/*some limit*/)
->get();
}
/**
* @param int $userId
* @return Post[] | Collection
*/
public function getUserPosts($userId)
{
return Post::whereUserId($userId)
->orderBy('created_at', 'desc')
->get();
}
}
เชเชจเซเชเชฐเชซเซเชธ เช เชฎเชฒเซเชเชฐเชฃ เชธเชพเชฅเซ เชธเชเชเชณเชพเชฏเซเชฒเซเช เชนเซเชตเซเช เชเซเชเช, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชฎเชพเช AppServiceProvider:
<?php
final class AppServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->bind(PostQueries::class,
EloquentPostQueries::class);
}
}
เช เชตเชฐเซเช เชชเชนเซเชฒเซเชฅเซ เช เชเชชเชฏเซเชเซ เชเซ. เชคเซ เชจเชฟเชฏเชเชคเซเชฐเชเซ เช เชฅเชตเชพ เชเชจเซเชเชฟเชเซ เชตเชฐเซเชเชจเซ เชฐเชพเชนเชค เชเชชเซเชจเซ เชคเซเชจเซ เชเชตเชพเชฌเชฆเชพเชฐเซเชจเซ เช เชนเซเชธเชพเชธ เชเชฐเซ เชเซ. เชจเชฟเชฏเชเชคเซเชฐเชเชฎเชพเช เชคเซเชจเซ เชเชชเชฏเซเช เช เชฐเซเชคเซ เชเชฐเซ เชถเชเชพเชฏ เชเซ:
<?php
final class PostsController extends Controller
{
public function lastPosts(PostQueries $postQueries)
{
return view('posts.last', [
'posts' => $postQueries->getLastPosts(),
]);
}
}
เชชเชฆเซเชงเชคเชฟ เชชเซเชธเซเช เชเชเชเซเชฐเซเชฒเชฐ::เชฒเชพเชธเซเช เชชเซเชธเซเชเซเชธ เชฎเชพเชคเซเชฐ เชเซเชเชฒเชพเช เช เชฎเชฒเซเชเชฐเชฃ เชฎเชพเชเซ เชชเซเชเซ เชเซ เชชเซเชธเซเชเชธเชเซเชตเซเชฐเซเช เช เชจเซ เชคเซเชจเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ. เช เชฎเซ เชฒเชฟเชเช เชเชฐเซเชฒ เชชเซเชฐเชฆเชพเชคเชพเชฎเชพเช เชชเซเชธเซเชเชเซเชตเซเชฐเซเช เชตเชฐเซเช เชธเชพเชฅเซ EloquentPostQuerys เช เชจเซ เช เชตเชฐเซเชเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชเชฎเชพเช เชฌเชฆเชฒเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชเชพเชฒเซ เชเชฒเซเชชเชจเชพ เชเชฐเซเช เชเซ เช เชฎเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชฌ เช เชฒเซเชเชชเซเชฐเชฟเชฏ เชฌเชจเซ เชเซ. เชชเซเชฐเชคเชฟ เชฎเชฟเชจเชฟเช เชนเชเชพเชฐเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชจเชตเซเชจเชคเชฎ เชชเซเชฐเชเชพเชถเชจเซ เชธเชพเชฅเซ เชชเซเชทเซเช เชเซเชฒเซ เชเซ. เชธเซเชฅเซ เชตเชงเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชชเซเชฐเชเชพเชถเชจเซ เชชเชฃ เชเชฃเซ เชตเชพเชฐ เชตเชพเชเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชกเซเชเชพเชฌเซเช เชเชตเชพ เชฒเซเชกเชจเซ เชเซเชฌ เช เชธเชพเชฐเซ เชฐเซเชคเซ เชนเซเชจเซเชกเชฒ เชเชฐเชคเชพ เชจเชฅเซ, เชคเซเชฅเซ เชคเซเช เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชธเซเชฒเซเชฏเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ - เชเช เชเซเชถ. เชกเซเชเชพเชฌเซเช เชเชชเชฐเชพเชเชค, เชเซเชเซเชเชธ เชกเซเชเชพ เชธเซเชจเซเชชเชถเซเช เชเซเชเซเชเชธ เชเชพเชฎเชเซเชฐเซ เชฎเชพเชเซ เชเชชเซเชเชฟเชฎเชพเชเช เชเชฐเซเชฒ เชธเซเชเซเชฐเซเชเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชฅเชพเชฏ เชเซ - memcached เช เชฅเชตเชพ เชตเชพเชฐเชเชตเชพเชฐ.
เชเซเชถเซเชเช เชฒเซเชเชฟเช เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชเชฒเซเช เชเชเชฟเชฒ เชนเซเชคเซเช เชจเชฅเซ, เชชเชฐเชเชคเซ EloquentPostQueries เชฎเชพเช เชคเซเชจเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเซเช เชเซเชฌ เช เชฏเซเชเซเชฏ เชจเชฅเซ (เชเซ เชฎเชพเชคเซเชฐ เชเชพเชฐเชฃ เชเซ เชเช เชเชตเชพเชฌเชฆเชพเชฐเซ เชธเชฟเชฆเซเชงเชพเชเชค). เชจเชฎเซเชจเชพเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชตเชงเซ เชธเซเชตเชพเชญเชพเชตเชฟเช เชเซ เชกเซเชเซเชฐเซเชเชฐ เช เชจเซ เชฎเซเชเซเชฏ เชเซเชฐเชฟเชฏเชพ เชฎเชพเชเซ เชธเซเชถเซเชญเชจ เชคเชฐเซเชเซ เชเซเชถเซเชเชเชจเซ เช เชฎเชฒ เชเชฐเซ:
<?php
use IlluminateContractsCacheRepository;
final class CachedPostQueries implements PostQueries
{
const LASTS_DURATION = 10;
/** @var PostQueries */
private $base;
/** @var Repository */
private $cache;
public function __construct(
PostQueries $base, Repository $cache)
{
$this->base = $base;
$this->cache = $cache;
}
/**
* @return Post[] | Collection
*/
public function getLastPosts()
{
return $this->cache->remember('last_posts',
self::LASTS_DURATION,
function(){
return $this->base->getLastPosts();
});
}
// ะดััะณะธะต ะผะตัะพะดั ะฟัะฐะบัะธัะตัะบะธ ัะฐะบะธะต ะถะต
}
เชเชจเซเชเชฐเชซเซเชธ เช เชตเชเชฃเซ เชฐเซเชชเซเชเซเชเชฐเซ เชเชจเซเชธเซเชเซเชฐเชเซเชเชฐเชฎเชพเช. เชเซเชเชฒเชพเช เช เชเซเชเชพเชค เชเชพเชฐเชฃเซเชธเชฐ, เชคเซเชเช เชฒเชพเชฐเชพเชตเซเชฒเชฎเชพเช เชเซเชถเซเชเช เชฎเชพเชเซเชจเชพ เชเชจเซเชเชฐเชซเซเชธเชจเซ เช เชฐเซเชคเซ เชจเชพเชฎ เชเชชเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช.
ะะปะฐัั CachedPostQuerys เชฎเชพเชคเซเชฐ เชเซเชถเซเชเชเชจเซ เช เชฎเชฒ เชเชฐเซ เชเซ. $this->cache->เชฏเชพเชฆ เชฐเชพเชเซ เช เชเชจเซเชเซเชฐเซ เชเซเชถเชฎเชพเช เชเซ เชเซ เชเซเชฎ เชคเซ เชคเชชเชพเชธเซ เชเซ เช เชจเซ เชเซ เชจเชนเซเช, เชคเซ เชเซเชฒเชฌเซเชเชจเซ เชเซเชฒ เชเชฐเซ เชเซ เช เชจเซ เชเซเชถเชฎเชพเช เชชเชฐเชค เชเชฐเซเชฒ เชฎเซเชฒเซเชฏ เชฒเชเซ เชเซ. เช เชตเชฐเซเชเชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชฎเชพเช เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชจเซเช เชฌเชพเชเซ เชเซ. เช เชฎเชจเซ เชฌเชงเชพ เชตเชฐเซเชเซเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชฎเชพเช เชเชจเซเชเชฐเชซเซเชธเชจเชพ เช เชฎเชฒเซเชเชฐเชฃเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชเซ เชชเซเชธเซเชเชเซเชตเซเชฐเซเช เชตเชฐเซเชเชจเซ เชฆเชพเชเชฒเซ เชฎเชณเชตเชพ เชฒเชพเชเซเชฏเซ CachedPostQuerys. เชเซ เชเซ, เชคเซเชฃเซ เชชเซเชคเซ CachedPostQuerys เชเชจเซเชธเซเชเซเชฐเชเซเชเชฐเชจเซ เชชเชฐเชฟเชฎเชพเชฃ เชคเชฐเซเชเซ เชตเชฐเซเช เชชเซเชฐเชพเชชเซเชค เชฅเชตเซ เชเซเชเช EloquentPostQuerysเชเชพเชฐเชฃ เชเซ เชคเซ "เชตเชพเชธเซเชคเชตเชฟเช" เช เชฎเชฒเซเชเชฐเชฃ เชตเชฟเชจเชพ เชเชพเชฎ เชเชฐเซ เชถเชเชคเซเช เชจเชฅเซ. เช เชฎเซ เชฌเชฆเชฒเซเช เชเซเช AppServiceProvider:
<?php
final class AppServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->bind(PostQueries::class,
CachedPostQueries::class);
$this->app->when(CachedPostQueries::class)
->needs(PostQueries::class)
->give(EloquentPostQueries::class);
}
}
เชฎเชพเชฐเซ เชฌเชงเซ เชเชเซเชเชพเช เชชเซเชฐเชฆเชพเชคเชพเชฎเชพเช เชคเชฆเซเชฆเชจ เชธเซเชตเชพเชญเชพเชตเชฟเช เชฐเซเชคเซ เชตเชฐเซเชฃเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชฎ, เช เชฎเซ เชซเชเซเชค เชเช เชตเชฐเซเช เชฒเชเซเชจเซ เช เชจเซ เชเชจเซเชเซเชจเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฌเชฆเชฒเซเชจเซ เช เชฎเชพเชฐเซ เชตเชฟเชจเชเชคเซเช เชฎเชพเชเซ เชเซเชถเซเชเชเชจเซ เช เชฎเชฒ เชเชฐเซเชฏเซ. เชฌเชพเชเซเชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชก เชฌเชฆเชฒเชพเชฏเซ เชจเชฅเซ.
เช เชฒเชฌเชคเซเชค, เชเซเชถเซเชเชเชจเซ เชธเชเชชเซเชฐเซเชฃ เช เชฎเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเชพเชจเซเชฏเชคเชพเชจเซ เช เชฎเชฒ เชเชฐเชตเซ เชชเชฃ เชเชฐเซเชฐเซ เชเซ เชเซเชฅเซ เชเชพเชขเซ เชจเชพเชเซเชฒ เชฒเซเช เช เชฎเซเช เชธเชฎเชฏ เชฎเชพเชเซ เชธเชพเชเช เชชเชฐ เช เชเชเซ เชจ เชเชพเชฏ, เชชเชฐเชเชคเซ เชคเชฐเชค เช เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชตเซ. เชชเชฐเชเชคเซ เช เชจเชพเชจเซ เชฌเชพเชฌเชคเซ เชเซ.
เชฌเซเชเชฎ เชฒเชพเชเชจ: เช เชฎเซ เชเช เชจเชนเซเช, เชชเชฐเชเชคเซ เชฌเซ เชเซเชฎเซเชชเชฒเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ เชเซ. เชจเชฎเซเชจเชพ เชเชฎเชพเชจเซเชก เชเซเชตเซเชฐเซ เชฐเชฟเชธเซเชชเซเชจเซเชธเชฟเชฌเชฟเชฒเชฟเชเซ เชธเซเชเซเชฐเชฟเชเซเชถเชจ (CQRS) เชเชจเซเชเชฐเชซเซเชธ เชธเซเชคเชฐเซ เชตเชพเชเชเชตเชพ เช เชจเซ เชฒเชเชตเชพเชจเซ เชเชพเชฎเชเซเชฐเซเชจเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เช เชฒเช เชเชฐเชตเชพเชจเซ เชฆเชฐเชเชพเชธเซเชค เชเชฐเซ เชเซ. เชฆเซเชตเชพเชฐเชพ เชนเซเช เชคเซเชจเซ เชชเชพเชธเซ เชเชตเซเชฏเซ เชเชจเซเชเชฐเชซเซเชธ เชธเซเชเซเชฐเชฟเชเซเชถเชจ เชธเชฟเชฆเซเชงเชพเชเชค, เชเซ เชธเซเชเชตเซ เชเซ เชเซ เชนเซเช เชเซเชถเชณ เชฐเซเชคเซ เชชเซเชเชฐเซเชจ เช เชจเซ เชธเชฟเชฆเซเชงเชพเชเชคเซเชจเซ เชนเซเชฐเชซเซเชฐ เชเชฐเซเช เชเซเช เช เชจเซ เชชเซเชฐเชฎเซเชฏ เชคเชฐเซเชเซ เชเช เชฌเซเชเชพเชฎเชพเชเชฅเซ เชฎเซเชณเชตเซเช เชเซเช :) เช เชฒเชฌเชคเซเชค, เชฆเชฐเซเช เชชเซเชฐเซเชเซเชเซเชเชจเซ เชเชจเซเชเชฟเชเซ เชชเชธเชเชฆ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชตเชพ เช เชฎเซเชฐเซเชคเชจเซ เชเชฐเซเชฐ เชจเชฅเซ, เชชเชฐเชเชคเซ เชนเซเช เชคเชฎเชพเชฐเซ เชธเชพเชฅเซ เชฏเซเชเซเชคเชฟ เชถเซเชฐ เชเชฐเซเชถ. เชเชชเซเชฒเชฟเชเซเชถเชจเชจเชพ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชคเชฌเชเซเชเซ เชตเชฟเชเชพเชธ, เชคเชฎเซ เชเชพเชฒเซ เชตเชฐเซเช เชฌเชจเชพเชตเซ เชถเชเซ เชเซ เชชเซเชธเซเชเชเซเชตเซเชฐเซเช Eloquent เชฆเซเชตเชพเชฐเชพ เชธเชพเชฎเชพเชจเซเชฏ เช เชฎเชฒเซเชเชฐเชฃ เชธเชพเชฅเซ:
<?php
final class PostQueries
{
public function getById($id): Post
{
return Post::findOrFail($id);
}
// ะดััะณะธะต ะผะตัะพะดั
}
เชเซเชฏเชพเชฐเซ เชเซเชถเซเชเชเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชค เชเชญเซ เชฅเชพเชฏ, เชคเซเชฏเชพเชฐเซ เชเช เชธเชฐเชณ เชเชพเชฒ เชธเชพเชฅเซ เชคเชฎเซ เช เชตเชฐเซเชเชจเซ เชเชเซเชฏเชพเช เชเชจเซเชเชฐเชซเซเชธ (เช เชฅเชตเชพ เช เชฎเซเชฐเซเชค เชตเชฐเซเช) เชฌเชจเชพเชตเซ เชถเชเซ เชเซ. เชชเซเชธเซเชเชเซเชตเซเชฐเซเช, เชตเชฐเซเชเชฎเชพเช เชคเซเชจเชพ เช เชฎเชฒเซเชเชฐเชฃเชจเซ เชจเชเชฒ เชเชฐเซ EloquentPostQuerys เช เชจเซ เชฎเซเช เช เชเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชธเซเชเซเชฎ เชชเชฐ เชเชพเช. เชฌเชพเชเซเชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชก เชฌเชฆเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เชตเชฐเซเชเซ, เชเชจเซเชเชฐเชซเซเชธ เชธเชพเชฅเซ เช เชฌเชงเซ เชฏเซเชเซเชคเชฟเช, เชจเชฟเชฐเซเชญเชฐเชคเชพ เชเชจเซเชเซเชเซเชถเชจ ะธ CQRS เชฎเชพเช เชตเชฟเชเชคเชตเชพเชฐ เชตเชฐเซเชฃเชตเซเชฒ เชเซ
เชธเซเชฐเซเชธ: www.habr.com