로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

PHP 공식 매뉴얼(php.net/manual)

lmkfox · 2025-08-17 · 조회 0
PHP 공식 매뉴얼(php.net/manual)
1. 어디서 보나: 문서 구조 빠르게 파악 - Language Reference: 문법, 타입, 오류 처리, OOP, 예외, 속성(Attributes) 등 언어 자체. - Function Reference: 문자열, 배열, 날짜, 파일/스트림, 네트워크, 정규식, cURL, PDO 등 모듈/확장별 함수. - Security/Features: 세션, 쿠키, 스트림 래퍼, 필터 등 구성 요소. - INI 설정: php.ini 지시자별 의미·기본값·변경 가능한 범위. - FAQ/Appendices: 마이그레이션 가이드(버전별 변경점), 지원 프로토콜 목록, RFC 등. 팁: 함수 문서는 php.net/함수이름 으로 바로 접속할 수 있습니다. 예) php.net/strpos 좌측 상단 검색에서 함수·지시자·확장명을 바로 검색하세요. 페이지 상단에서 언어(ko/en), 버전 선택도 가능합니다. 2. 함수 문서 읽는 법: 체크리스트 8가지 예시로 strpos를 떠올리며 보겠습니다. - 시그니처(Prototype) - 예: strpos(string $haystack, string $needle, int $offset = 0): int|false - 매개변수 타입, 기본값, 반환 타입(단일/유니온)을 먼저 본다. - Parameters - 각 인자의 의미와 엣지 케이스를 읽는다. - 예: $offset이 음수일 때 의미, $needle이 빈 문자열일 때 동작 등. - Return Values - int|false처럼 유니온 타입이면 분기 처리를 엄격비교로: $pos = strpos($s, 'a'); if ($pos === false) { /* 못 찾음 */ } else { /* 0도 유효한 위치 */ } - - “에러 시 false”인지, “예외를 던지는지” 구분한다. PHP 8부터 일부 함수는 TypeError/ValueError 예외를 던진다. - Errors/Exceptions - 어떤 예외 클래스가 발생하는지 확인. try/catch 범위를 결정한다. - Changelog - 버전에 따라 동작·타입이 달라졌는지 확인. - 팀/서버의 PHP 버전과 맞지 않으면 문서 오른쪽 상단에서 대상 버전으로 바꿔 읽는다. - Notes/Warnings - 인코딩, 로케일, 멀티바이트 이슈, 보안 주의사항이 자주 적혀 있다. - Examples - 문서 예제를 복사 → 최소 재현으로 실행해 동작을 확인한다. - See Also - 대체/보완 함수 링크로 더 적절한 API가 있는지 비교한다. - 예: str_contains()(PHP 8+)가 의도에 더 맞을 수 있다. 3. 언어 기능(문법) 문서 읽는 법 - 타입 시스템: 스칼라/복합/특수(null), 유니온 타입(A|B), 널 허용(?T), mixed, callable 의미를 파악. - 오류 처리: 경고/공지 vs 예외. PHP 8에서 많은 내장 함수가 예외를 던짐. - OOP: 가시성, 상속, 트레이트, 인터페이스, 추상, 속성(Attributes), enum(8.1+) 등 버전 의존 기능 확인. - 연산자/제어구조: Nullsafe(?->), match(8.0+) 등 최신 문법 여부 체크. 문법 페이지는 개념 → 구문 → 예제 → 주의사항 순으로 읽으면 안정적입니다. 4. 확장(Extension) 문서 읽는 법 예: PDO, cURL, mbstring, intl - 설치/활성화: 패키지명, php.ini/extension 지시자 확인. - INI 옵션: 확장별로 따로 있는 경우 많음. 기본값, 변경 가능 범위(PHP_INI_ALL / PERDIR / SYSTEM)를 본다. - 리소스/객체 수명: 연결 핸들/객체가 언제 해제되는지, 예외 방식을 파악. - 에러 처리 규칙: PDO는 PDO::ERRMODE_EXCEPTION을 권장 등. 5.  php.ini  지시자 문서 읽는 법 각 지시자 페이지에 다음이 나옵니다. - 설명/기본값/변경 가능 범위 - PHP_INI_ALL → ini_set()로 런타임 변경 가능 - PHP_INI_PERDIR → php.ini, httpd.conf, .htaccess에서 가능 - PHP_INI_SYSTEM → 시스템 레벨에서만 - 성능/보안 주의사항: 예) display_errors=Off(운영), log_errors=On, memory_limit, max_execution_time, opcache.* 등 6. 스트림/컨텍스트 문서 포인트 파일/HTTP/소켓은 스트림 기반입니다. - Supported Protocols and Wrappers: file://, http://, php://, zip:// 등 목록과 기능. - Context options and parameters: stream_context_create()로 설정하는 옵션 키가 정리되어 있습니다. 예: HTTP 타임아웃, 헤더, 프록시, SSL 검증 등. 7. 마이그레이션 가이드 활용 버전 올릴 때는 Migration 섹션을 필독: - 제거/비권장 함수 목록 - 오류가 예외로 승격된 항목 - 반환 타입 변경, 경고→예외 전환, 기본 인코딩/로캘 변화 등 - 대체 API 제시 이 가이드와 Changelog를 함께 보면 업그레이드 이슈를 빠르게 잡습니다. 8. 사용자 코멘트(User Contributed Notes) 읽을 때 주의 - 훌륭한 팁도 있지만 오래된 내용이 섞여 있습니다. - 항상 본문 기준/버전을 먼저 확인하고, 코멘트는 보조 참고로만 사용하세요. - 투표가 높고 최신인 코멘트를 우선 보되, 재현 테스트로 검증합니다. 9. 실무에서 자주 부딪히는 해석 포인트 - false vs “유효한 0”: strpos()처럼 반환이 0|false인 함수는 **===**로 구분. - 경고/공지 vs 예외: PHP 8+에서 많은 함수가 예외를 던집니다. 문서의 Errors/Exceptions를 반드시 확인. - 멀티바이트: 문자열 길이/부분 문자열은 mb_* 함수군과 내 문자열 인코딩을 문서에서 확인. - 시간대: 날짜 함수는 기본 타임존 설정에 영향. date.timezone 지시자 문서를 확인. - 보안: filter_*, password_*, hash_*, openssl_* 문서는 권장 알고리즘/설정을 최신으로 확인. 10. 문서와 함께 쓰는 CLI 확인 명령 문서로 개념을 잡고, CLI로 현재 환경을 검증합니다. php -v # PHP/Xdebug 버전 php --ini # 사용 중인 ini 파일들 php -m # 로드된 확장 목록 php --ri xdebug # 특정 확장 설정 보기(ri = ext info) php -i | less # phpinfo() 전체 PHP 8+는 리플렉션 기반 단축 명령도 유용합니다. php --rf strpos # 함수 시그니처/설명 요약 php --re pdo # 확장 요약 11. 예시: 문서로부터 안전한 코드로 옮기는 흐름 문서 발췌(가정): preg_match(string $pattern, string $subject): int|false - 반환: 일치 1, 불일치 0, 오류 false 코드: $r = preg_match('/\d+/', $s); if ($r === false) { // 오류 처리 (패턴 에러 등) } elseif ($r === 1) { // 매치됨 } else { // 매치 안 됨 (0) } 문서의 반환 규약을 엄격비교로 정확히 반영하는 것이 핵심입니다. 12. 빠른 체크리스트(북마크용) - 페이지 상단 버전을 내 런타임과 일치시켰는가 - 시그니처/반환 타입을 보고 === 필요 여부를 판단했는가 - Errors/Exceptions에 명시된 예외를 처리했는가 - Changelog에서 내 버전에 영향 있는 변경이 있는가 - 관련 INI 지시자/기본값/변경 가능 범위를 확인했는가 - 예제를 최소 재현으로 직접 실행해 봤는가

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.