Laravel 액션, WordPress와 같은 필터 후크 시스템
에 대한
필터 및 작업에 대해 자세히 알아보기
후크는 특정 사전 정의된 지점에서 한 코드 조각이 다른 코드 조각과 상호 작용/수정하는 방법입니다.
설치
composer require millat/laravel-hooks
완료! 이제 laravel-hooks를 사용할 수 있습니다.용법
자세한 내용은 방문: https://github.com/SneherAdor/laravel-hooks
행위
원하는 곳 어디에서나 Laravel 애플리케이션에서 새 작업을 만들 수 있습니다.
do_action('user_created', $user);
여기에서 user_created는 나중에 작업이 수신 대기할 때 사용할 작업의 이름입니다. 그리고 $user는 작업을 들을 때마다 발견되는 매개변수입니다. 이것들은 무엇이든 될 수 있습니다.
당신의 행동을 듣기 위해 당신은 리스너를 붙입니다. AppServiceProvider boot() 메서드에 추가하는 것이 가장 좋습니다.
예를 들어 위의 후크에 연결하려는 경우 다음을 수행할 수 있습니다.
add_action('user_created', function($user) {
$user->sendWelcomeMail();
}, 20, 1);
첫 번째 인수는 작업의 이름이어야 합니다. 두 번째는 클로저, 콜백 및 익명 함수입니다. 세 번째는 특정 작업과 관련된 기능이 실행되는 순서를 지정합니다. 낮은 숫자는 이전 실행에 해당하며 우선 순위가 같은 함수는 작업에 추가된 순서대로 실행됩니다. 기본값: 10. 넷째, 함수가 허용하는 인수의 수입니다. 기본값: 1
필터
필터는 데이터가 브라우저에서 출력되도록 항상 데이터가 들어오고 나가는 데이터가 있어야 합니다.
기본적으로 필터는 데이터를 전달하기 위해 Laravel 애플리케이션에서 사용할 수 있는 기능입니다. 이를 통해 개발자는 특정 기능의 기본 동작을 수정할 수 있습니다.
예를 들면 다음과 같습니다.
Post.php는 게시된 모든 게시물을 가져오는 쿼리를 작성하는 모델 또는 클래스입니다.
class Post extend Model
{
public function getPublished()
{
return Post::where('published_at', '>', now());
}
}
필터를 사용하여 이 쿼리를 수정하도록 제안할 수 있습니다.
class Post extend Model
{
public function getPublished()
{
return apply_filters('posts_published', Post::where('published_at', '>', now());
}
}
이제 모든 모듈이나 플러그인과 같은 애플리케이션의 진입점에서 게시된 이 쿼리를 수정할 수 있습니다.
모듈 또는 플러그인의 서비스 제공자(가급적 부팅 방법)에서 필터에 대한 리스너를 추가합니다.
class ModuleServiceProvider extends ServiceProvider
{
public function boot()
{
add_filter('posts_published', function($query) {
return $query->where('status', 'active');
});
}
}
https://github.com/SneherAdor/laravel-hooks
Reference
이 문제에 관하여(Laravel 액션, WordPress와 같은 필터 후크 시스템), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/millat/laravel-action-filter-hooks-system-like-wordpress-32mm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)