5.8.28 새기능 3 - Session에 only 메소드 추가 free

2019-07-12

이전까지는 Session에 한가지 키를 조회하는 get과 전체를 조회하는 all만 있었다. 전체를 조회하지 않는 한 두 개 이상의 데이터를 한 번에 조회하는 방법은 없었다. 그래서 세션에서 여러값을 가져오려면 아래와 같이 해야했다.


$count = $request->session()->get('count');
$done = $request->session()->get('done');

$fromSession = [
'count' => $count,
'done' => $done
];

혹은


$allFromSession = $request->session()->all();

$fromSession = [
'count' => $allFromSession['count'],
'done' => $allFromSession['done']
];

Arr::only() 헬퍼를 사용해서 다음과 같이 할 수도 있었다.


$allFromSession = $request->session()->all();

$fromSession = Arr::only($allFromSession, ['count', 'done']);

이번에 Sessiononly() 메소드가 추가됨에 따, 두 개 이상의 세션 데이터를 한 번에 가져올 수 있게 됐다.


$fromSession = $request->session()->only(['count', 'done'])

only는 인자로 배열만 받으며, 하나만 조회하려고 해도 배열로 값을 넘겨야 한다.(사실 하나를 조회할 땐 전용 메소드인 get을 쓰면 된다.)


사소하지만 알아두면 쪼~금 더 편해질 듯 하다.

===

2019년 7월 12

1 1




이현석

바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서를 쓰고, 클린 아키텍처 인 PHP를 번역했습니다. 2020년에 출간될 Laravel Up & Running 2nd Edition을 번역하고 있습니다.