Laravel 33

[Laravel] subMonth / addMonth 사용 시 주의사항

31일에 subMonth 또는 addMonth 를 사용하게 되면 전달의 마지막날, 혹은 다음달의 마지막날이 나오지 않는다. 예를들어 12월 31일에 subMonth(1) 을 사용하게 되면, 11월 31일이 나와야 하는데 12월 1일이 나오게 됨 >>> $m = Carbon\Carbon::now() => Carbon\Carbon @1640933706 {#3627 date: 2021-12-31 15:55:06.929429 Asia/Seoul (+09:00), } >>> $m->subMonth(1) => Carbon\Carbon @1638341872 {#3628 date: 2021-12-01 15:57:52.344882 Asia/Seoul (+09:00), } addMonth(2) 를 했을 때 2월 28일을 ..

Laravel 2021.12.31

[Laravel] Eloquent로 USE INDEX / FORCE INDEX 사용하기

쿼리빌더 DB::table(DB::raw("`table_name` USE INDEX(table_name_tid_index)")) ->select('...') ->where('...') ->get(); 엘로퀀트 $tableElo = new TableModel(); $tableElo->setTable(DB:raw($tableElo->getTable().' USE INDEX(table_name_tid_index)')) ->select('...') ->where('...') ->get(); getQuery()를 사용하여 로그에서 쿼리 확인 방법 $tableElo = new TableModel(); $query = $tableElo->setTable(DB:raw($tableElo->getTable().' USE ..

Laravel 2021.12.21

[Laravel] 오토로더 classmap 과 psr-4 성능 최적화

composer.json 내 autoload 부분에 기술된 형태에 따라 classmap 방식으로 class들을 로딩할건지 psr-4 방식으로 할건지 나뉜다. "autoload": { "classmap": [ "database" ], "psr-4": { "App\\": "app/" } }, classmap : composer.json 에 classmap 에 지정된 폴더 내의 모든 php를 읽어서 /vendor/composer/autoload_classmap.php 에 정적으로 배열을 생성하고 이 파일들을 한번에 오토로딩 한다. 장점 : 클래스들을 미리 로딩하므로 런타임시 psr-4보다 성능이 향상됨 단점 : 클래스를 추가할 때마다 dump-autoload를 해서 클래스맵을 작성 해줘야 하는 번거로움 psr..

Laravel 2021.12.07

[Laravel] Swagger API 적용 하기

1. zircote/swagger-php 설치 composer require zircote/swagger-php //버전 지정 composer require zircote/swagger-php:3.3.2 - 삭제 composer remove zircote/swagger-php 2. Controller 등 API 작성 메소드 위에 애노테이션으로 기술하기 /** * @OA\Info(title="My First API", version="0.1") */ /** * @OA\Get( * path="/api/resource.json", * @OA\Response(response="200", description="An example resource") * ) */ -상세설명 (회원 등록 샘플) /** * @OA\P..

Laravel 2021.11.11

[Laravel] db에 더미 데이터 만들기

seeder 사용 php artisan make:seeder DummyTestSeeder php artisan make:seeder DummyTestSeeder mysql에 dummy_test 라는 테이블과 id, name, email, password 등 자신이 입력하고자 하는 필드들을 만들어 둔다. database/seeds 안에 DummyTestSeeder.php 파일이 생성되면 run에 작성한다. public function run() { for($i=1; $iinsert([ 'id' => $i, 'name' => \Illuminate\Support\Str::random(10), 'email' => \Illuminate\Support\Str::random(10).'@gmail.com', 'pass..

Laravel 2021.11.10

[Laravel] Tinker 대화형 코드 실행 사용법

PHP 5.1 부터 php -a 명령어로 대화형 인터프리터 실행 가능 $ php -a Interactive mode enabled php > echo 1; 1 php > echo 'aa'; aa 그러나 라라벨같은 복잡한 프레임워크에서 입출력을 테스트 하기에는 유용하지 않다. 그래서 나온것이 REPL(Read-Evaluate-Print Loop) 이다. 하나의 입력을 받아서 처리하고 결과를 반환하는 프로그램이다. Laravel5 부터 사용 가능. php artisan tinker 로 사용 가능 $ php artisan tinker Psy Shell v0.10.8 (PHP 8.0.10 — cli) by Justin Hileman >>> $date = Carbon\Carbon::now() => Carbon\C..

Laravel 2021.10.06
반응형