PHP의 ?: vs ?? 연산자: 차이점과 사용법PHP에서 ?: (엘비스 연산자)와 ?? (Null 병합 연산자)는 비슷해 보이지만 중요한 차이가 있다. 두 연산자의 특징, 차이점, 그리고 적절한 사용 상황에 대해 알아보자.1. ?? (Null 병합 연산자)PHP 7.0에서 도입구문: $result = $a ?? $b동작: $a가 NULL이 아니면 $a를 반환$a가 NULL이면 $b를 반환특징: 오직 NULL 값에 대해서만 대체 값을 제공예시:$username = $_GET['user'] ?? 'Guest';이 코드는 $_GET['user']가 설정되지 않았거나 NULL일 때만 'Guest'를 사용.2. ?: (엘비스 연산자)PHP 5.3에서 도입구문: $result = $a ?: $b동작:$a가 tru..
IT/php
협업을 하며 코딩을 할땐 유지보수가 용이하게끔, 코드파악이 쉽게끔 그리고 작성한 코드가 작성자의 의도대로 사용되는 것이 중요하다. 이번 글에서 다룰 내용은 작성한 코드를 동료들이 사용할때 작성자의 의도대로 사용할수 있게끔 유도하는 방법 이다. 간단히 코드를 작성하기위해 아래와 같은 상황이 있다고 가정해보자. 여러 API 클라이언트를 관리해야 하는 상황에서 헤더의 host, access_token 을 제외한 나머지 값들은 모두 공통이다. 그래서 여러 API 클라이언트의 기반이 되는 BaseApiClient.php 추상 클래스를 상속 받아 각 API 클라이언트를 구현한 상황. BaseApiClient.php abstract class BaseApiClient { protected const HOST = se..
Carbon 과 DateTime PHP 에선 시간 관련 작업시 Carbon 라이브러리를 주로 사용한다. 예전 javascript 의 moment 같은 존재이다 (참고로 현재 moment 는 deprecated 됨.) 그리고 Carbon 은 PHP 에서 제공해주는 시간 라이브러리 DateTime 을 활용하여 구현되어 있다. 이러한 이유로 DateTime 라이브러리 작동 메커니즘을 자연스럽게 따라갈수 밖에 없다. 그래서 이번 글에선 DateTime 작동 메커니즘중 하나를 소개 하려고 하고 이를 잘 알고 있어야 Carbon 사용중 뜻밖의 버그를 방지 할수 있을것이다. https://carbon.nesbot.com/docs/echo $dt->addMonths(60); // 2017-..