0312 thoughts on php

Youngin Lee·2021년 3월 12일
0
post-thumbnail

오랜만에 다같이 소스코드를 뜯어보다가 나온 이야기들을 정리.

PHP: a fractal of bad design

exception handling

exception이 thrown되면 catch문을 찾아서 호출스택의 상위로 올라간다.

exception이 뜨면 controller쪽으로 못 돌아가기 때문에(httpresponse()) exception handler가 정의된 common.php쪽에서 header 조작을 해준다.

이중부정

문자열이 있는지 없는지 판단할때 boolean으로 바꾸는 법

$txt = 'this is a text';
!!$txt //형변환 해버린다

변수 재할당할 때 타입을 바꾸지 말라

특히 함수 인자로 들어온 것을 블록 내에서 재할당하지 말라
변수의 오염, 사이드이펙트를 방지한다

배열과 오브젝트

똑같은 키 밸류로 표기..

array1 = [
	'key' => 'value'
];

일관성 없는 함수

json_decode() 뱉는 값이 클래스 타입

$stdClass = json_decode($json)

//클래스에서 0번지 호출할 때
$stdClass->0

//오브젝트로 뱉게 하려면
$stdClass = json_decode($json, true)

모던 php

php 7.0 이후 버전
그 이전의 내장함수가 다소 일관성 없는 것은 어쩔 수 없어.

profile
🤔🤔

0개의 댓글