[Laravel] 의도치 않게 사용된 무명 함수
이른바 무명 함수
PHP공식 문서에는 다음과 같은 설명이 있습니다.
무명 함수는 클론이라고도 불리며 함수 이름을 지정하지 않고 함수를 만들 수 있다.callable 매개 변수로 사용할 때 편리하지만, 용도는 이에 국한되지 않습니다.
Closure 클래스를 사용하여 무명 함수를 구현합니다.
평소에는 리베이트를 사용할 때 의식적으로 사용하지만, 그렇게 말하면 Laravel도 무의식적으로 사용하고 있고, Lravel 무명함수(호출함수)를 사용하는 상황을 귀결해 봤다.
사용 예
1. 루트의 정의
두 번째 매개 변수에서 URL(첫 번째 매개 변수)이 두드려졌을 때 실행할 처리를 설명하는 이름 없는 함수를 지정합니다.
다음 예에서 사용자가
GET
요청에서 방문/
했을 때welcome
의 보기를 나타낸다.routes/web.php
Route::get('/', function () {
return view('welcome');
});
2. 마이그레이션으로 테이블 만들기
다음 파일 및 원래 위치에서 마이그레이션
tasks
을 수행하면 새 테이블이 작성되고 이름이 지정되지 않은 함수에 설명된 대로 테이블 열이 작성됩니다.database/migrations/2021_05_28_005102_create_tasks_table.php
public function up()
{
Schema::create('tasks', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->timestamps();
});
}
3. 하위 쿼리
쿼리 구축기에 복잡한 조건을 추가하는 데 사용합니다.
예1:
join
에 여러 조건이 추가된 경우authors
책상 위books
에 책상을 join
에 놓았을 때 외부 열쇠는 같은 물건을 연결할 뿐만 아니라 가격과 페이지 수를 줄였다.$query->join('books', function ($join) {
$join->on('authors.id', '=', 'books.author_id')
->where('books.price', '<', 500)
->where('books.pages', '<', 100);
})
예2: A = 500AND (B=page1OR C=page2)다음은 책의 가격이 500엔이고 책의 페이지가
$page1
인지 $page2
인지에 대한 조회입니다.$query->where('books.price', 500)
->where(function ($subquery) use ($page1, $page2) {
$subquery->where('books.pages',$page1)
->orwhere('books.pages', $page2);
});
Reference
이 문제에 관하여([Laravel] 의도치 않게 사용된 무명 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ikeo/articles/c8628058a03345c71a7b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)