เจชเจฟเจเจฒเฉ เจนเจซเจผเจคเฉ เจฎเฉเจ เจฒเจฟเจเจฟเจ เจธเฉ
<?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::getById, เจเจเจพเจ เจนเฉเจฐเจพเจซเฉเจฐเฉ เจ เจคเฉ เจธเฉฐเจฎเจจ เจชเฉเจธเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ:: เจธเฉเจต เจเจฐเฉ
- เจเฉเจฃเฉเจคเฉ 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(),
]);
}
}
.เฉฐเจ PostsController::lastPosts เจฌเจธ เจเฉเจ เจฒเจพเจเฉ เจเจฐเจจ เจฒเจ เจชเฉเฉฑเจ เจฐเจฟเจนเจพ เจนเฉ เจชเฉเจธเจเจธเจเฉเจเจฐเฉเจเจ เจ เจคเฉ เจเจธ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ. เจชเฉเจฐเจฆเจพเจคเจพ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจฒเจฟเฉฐเจ เจเฉเจคเจพ เจนเฉ เจชเฉเจธเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจเจฒเจพเจธ เจฆเฉ เจจเจพเจฒ EloquentPostQuerys เจ เจคเฉ เจเจธ เจเจฒเจพเจธ เจจเฉเฉฐ เจเฉฐเจเจฐเฉเจฒเจฐ เจตเจฟเฉฑเจ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจเจพเจตเฉเจเจพเฅค
เจเจฒเฉ เจเจฒเจชเจจเจพ เจเจฐเฉเจ เจเจฟ เจธเจพเจกเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจนเฉเจค เจฎเจธเจผเจนเฉเจฐ เจนเฉ เจเจ เจนเฉ. เจชเฉเจฐเจคเฉ เจฎเจฟเฉฐเจ เจนเจเจผเจพเจฐเจพเจ เจเจชเจญเฉเจเจคเจพ เจจเจตเฉเจจเจคเจฎ เจชเฉเจฐเจเจพเจธเจผเจจเจพเจ เจจเจพเจฒ เจชเฉฐเจจเจพ เจเฉเจฒเฉเจนเจฆเฉ เจนเจจเฅค เจธเจญ เจคเฉเจ เจชเฉเจฐเจธเจฟเฉฑเจง เจชเฉเจฐเจเจพเจธเจผเจจ เจตเฉ เจ เจเจธเจฐ เจชเฉเฉเจนเฉ เจเจพเจเจฆเฉ เจนเจจ. เจกเฉเจเจพเจฌเฉเจธ เจ เจเจฟเจนเฉ เจฒเฉเจกเจพเจ เจจเฉเฉฐ เจฌเจนเฉเจค เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจจเจนเฉเจ เจธเฉฐเจญเจพเจฒเจฆเฉ, เจเจธเจฒเจ เจเจน เจเฉฑเจ เจฎเจฟเจเจฐเฉ เจนเฉฑเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจจ - เจเฉฑเจ เจเฉเจธเจผ. เจกเจพเจเจพเจฌเฉเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเฉเจ เจเจพเจธ เจเจชเจฐเฉเจธเจผเจจเจพเจ เจฒเจ เจ เจจเฉเจเฉเจฒเจฟเจค เจธเจเฉเจฐเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจพเจธ เจกเจพเจเจพ เจธเจจเฉเจชเจธเจผเจพเจ เจธเจเฉเจฐ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ - เจฎเฉเจฎเจเฉเจเจก เจ redis.
เจเฉเจเจฟเฉฐเจ เจคเจฐเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉฐเจจเจพ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจชเจฐ เจเจธ เจจเฉเฉฐ 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();
});
}
// ะดััะณะธะต ะผะตัะพะดั ะฟัะฐะบัะธัะตัะบะธ ัะฐะบะธะต ะถะต
}
เจเฉฐเจเจฐเจซเฉเจธ เจจเฉเฉฐ เจ เจฃเจกเจฟเฉฑเจ เจเจฐเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเฉฐเจธเจเจฐเจเจเจฐ เจตเจฟเฉฑเจ. เจเจฟเจธเฉ เจ เจฃเจเจพเจฃ เจเจพเจฐเจจ เจเจฐเจเฉ, เจเจนเจจเจพเจ เจจเฉ Laravel เจตเจฟเฉฑเจ เจเฉเจเจฟเฉฐเจ เจฒเจ เจเฉฐเจเจฐเจซเฉเจธ เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจจเจพเจฎ เจฆเฉเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพเฅค
ะะปะฐัั เจเฉเจธเจผเจกเจชเฉเจธเจเจเจตเฉเจฐเฉเจเจ เจธเจฟเจฐเจซเจผ เจเฉเจธเจผเจฟเฉฐเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเจพ เจนเฉเฅค $this->cache->เจฏเจพเจฆ เจฐเฉฑเจเฉ เจเจพเจเจ เจเจฐเจฆเจพ เจนเฉ เจเจฟ เจเฉ เจเจน เจเจเจเจฐเฉ เจเฉเจธเจผ เจตเจฟเฉฑเจ เจนเฉ เจ เจคเฉ เจเฉเจเจฐ เจจเจนเฉเจ, เจคเจพเจ เจเจพเจฒเจฌเฉเจ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจเฉเจธเจผ เจตเจฟเฉฑเจ เจตเจพเจชเจธ เจเฉเจคเฉ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจฒเจฟเจเจฆเจพ เจนเฉเฅค เจเจธ เจเจฒเจพเจธ เจจเฉเฉฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจตเจฟเฉฑเจ เจฒเจพเจเฉ เจเจฐเจจเจพ เจฌเจพเจเฉ เจนเฉเฅค เจธเจพเจจเฉเฉฐ เจเฉฐเจเจฐเจซเฉเจธ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฒเจ เจฌเฉเจจเจคเฉ เจเจฐเจจ เจฒเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจตเจฟเฉฑเจ เจธเจพเจฐเฉเจเจ เจเจฒเจพเจธเจพเจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจชเฉเจธเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจเจฒเจพเจธ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจฃ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ เจเฉเจธเจผเจกเจชเฉเจธเจเจเจตเฉเจฐเฉเจเจ. เจนเจพเจฒเจพเจเจเจฟ, เจเจธเจจเฉ เจเฉเจฆ เจเฉเจธเจผเจกเจชเฉเจธเจเจเจตเฉเจฐเฉเจเจ เจเฉฐเจธเจเจฐเจเจเจฐ เจจเฉเฉฐ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฆเฉ เจคเฉเจฐ 'เจคเฉ เจเจฒเจพเจธ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ 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