Laravel FormRequest Class without Redirect (response json)

Laravel에서 FormRequset 클레스를 만들어 Validate를 할때 유효하지 않은 경우 무조껀 이전 페이지로 Redirect를 시키게 된다. 물론 헤더에 X-Requested-With : XMLHttpRequest 등을 넣어 json으로 응답 받을 수 있지만, 테스트 과정에도 그렇고 아무 제약없이 api를 제공하고 싶을 때 리다이렉트 응답은 꽤나 신경 거슬리게된다. 과거의 Laravel에선 public function response() 를 사용하여 응답을 정해줄 수 있지만 왜인지 5.5 이후로 해당 기능은 …

Laravel phpunit Filestyem fake disk 설정

Laravel의 phpunit에서 fileupload를 테스트하기위한 공식 문서의 예제를 보면 Storage::fake(‘avatars’); 부분을 설정해 해당 disk를 사용하려고 해도$request->file(‘test’)->store(‘test_files’);이렇게 작성된 Controller를 통해 저장하게되면 storage/app/test_files에 저장되며, Storage::disk(‘avatars’)->assertExists($file->hashName()); 가 계속 파일이 없다고 표시된다. phpunit.xml 수정 <env name=”FILESYSTEM_DRIVER” value=”fake-local”/> 을 추가하고Storage::fake(‘fake-local’);, Storage::disk(‘fake-local’)로 변경해주면,storage/framework/testing/disks/fake-local/test_files/에 저장되며 test가 정상적으로 진행된다.

Laravel factory state

Laravel 팩토리[doc] 라라벨에서는 Factory를 통해 Model의 데이터에 가짜(Fake)데이터를 생성해 주는 기능이 존재한다. 이를 통해서 PHPUnit과 같은 Test를 진행할 때 원하는 Type의 데이터가 들어가지는지 테스트 하는 등의 기능을 제공하며,Database Seeding을 통해 Fake 데이터를 넣어 개발 및 테스트를 조금 더 용이하게 해준다. UserFactory Laravel에서 기본적으로 설정해 주는 UserFactory를 사용하면factory(User::class)->create()만으로 Fake 유저를 자동으로 생성해 준다. 만약, factory를 자동으로 …

[Laravel] Laravel Best Practices

해당 글은 임영록(cherrypick) 님이 번역하신 Laravel Best Practices를 정리겸 옮겨 적은 것입니다. [ver. 2018-11-19] 번역: 한국어 (by 임영록(cherrypick)) Русский(by alexeymezenin) Português (by jonaselan) Tiếng Việt (by Chung Nguyễn) 이 문서가 도움이 되셨다면 현재 레퍼지토리뿐만 아니라, 원본 레퍼지토리도 한 번씩 star를 눌러주시면 감사하겠습니다. 😀  원본 레퍼지토리: https://github.com/alexeymezenin/laravel-best-practices 이 문서는 라라벨 프레임워크에서 객체지향 디자인의 5원칙(SOLID), 패턴 등을 적용한 내용이 아닙니다. 라라벨 프레임워크로 프로젝트를 진행하면서 놓칠 수 있는 Best …

[Laravel] artisan 자동완성 (bash_completion)

source : https://gitlab.com/balping/artisan-bash-completion 기본적으로 자동완성 기능이 켜져 있는(. /etc/bash_completion)이 작동 중이라는 가정하에 작동한다. TL; DR $ composer require balping/artisan-bash-completion $ echo ‘alias artisan=”php artisan”‘ >> ~/.bash_aliases $ echo ‘. ~/.bash_aliases’ >> ~/.bashrc $ sudo cp ~/{vendor path}/vendor/balping/artisan-bash-completion/artisan /etc/bash_completion.d/artisan $ source .bashrc 결과물 silnex@uServer-For-Laravel:~/blog$ artisan [tab] [tab] app:name db:seed list make:factory make:observer migrate optimize queue:listen schedule:finish view:cache …

[php redis] php Array Auto Serialize 설정

php Redis Serialize 설정 TL;DR $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);   일단 아래의 코드를 보자 <?php $redis = new Redis(); try { $redis->connect(‘127.0.0.1′,’6379’, 2.5, NULL, 150); $key = ‘myKey’; $value = array(‘v1’ => ‘Value1’, ‘v2’ => ‘Value2’); $ttl = 10; $redis->setex( $key, $ttl, $value ); $value = $redis->get($key); var_dump($value); } catch(Exception $e) { var_dump($e); } $redis->close(); ?> 위에 …