최신 PHP를 배우세요
PHP용으로 선별된 리소스 목록
목차
- 꼭 읽어야 할
- 튜토리얼
- 서적
- 온라인 코스
- 참조
- 기본 사항
- PHP 기초
- 램프 스택
- HTML / HTML 5
- CSS
- 자바스크립트
- 프로토콜
- 로컬 개발 환경
- 도구
- 십오 일
- 프레임워크 및 라이브러리
- 템플릿
- 이런!
- 객체 지향 프로그래밍
- 디자인 패턴
- 단단한
- 의존성 주입
- 모범 사례
- 모델-뷰-컨트롤러
- 데이터 베이스
- 데이터베이스 기본 사항
- 데이터베이스 도서
- 관계형 데이터베이스 관리 시스템(RDBMS)
- 데이터베이스 정규화
- 준비된 진술
- NoSQL
- 데이터베이스 라이브러리
- 데이터베이스 도구
- 표준
- 오류 및 예외 처리
- 디버깅
- 단위 테스트
- 선적 서류 비치
- 세션
- 텍스트 번역
- 정규 표현식
- XML
- API
- 버전 관리
- 보안
- 건축학
- 도메인 기반 설계(DDD)
- 육각형 건축
- 함수형 프로그래밍
- 지속적인 통합 및 지속적인 전달
- 잡지
- 상품
- 커뮤니티 및 뉴스
꼭 읽어야 할
튜토리얼
- 전체 PHP 8 튜토리얼 - 2022년에 올바른 방법으로 PHP 배우기
- PHP 앞에서 뒤로(비디오)
- learn-php.org
- 숙련된 개발자를 위한 PHP 배우기
- 초보자를 위한 PHP
- PHP 판다
- Y분 안에 PHP 배우기
- PHP 견습생
- 예를 들어 PHP
서적
- 고급 웹 애플리케이션 아키텍처
- PHP 8을 사용하여 최신 애플리케이션 구축
- 최신 PHP: 새로운 기능 및 모범 사례
- 객체 디자인 스타일 가이드
- PHP 7 배우기
- PHP 7 Zend 인증 학습 가이드
- PHP 8 알아보기: MySQL, JavaScript, CSS3 및 HTML5 사용
- PHP 8 빠른 스크립팅 참조: PHP 웹 스크립팅에 대한 간단한 가이드
- PHP 프로그래밍(O'Reilly Media)
- 현대 PHP 8의 예술
온라인 코스
- CodeAcademy - PHP 배우기
- 코드코스
- 운동 - PHP(코드 연습 및 멘토링)
- SymfonyCasts - PHP로 놀라운 것을 만들어보세요
- 트리하우스 - PHP 배우기
- 유데미 - PHP
- DevProjects + Codementor(무료 PHP 프로젝트 및 선택적 유료 멘토십)
- 무료 PHP 강좌
참조
- 언어 참조
- 최신 PHP 치트 시트
- PHP 매뉴얼
- PHP 치트시트
기본 사항
PHP 기초
- PHP 개발자 로드맵 - PHP 개발자가 되는 방법
- PHP 시작하기
- PHP 데이터 유형
- PHP 루프
- 배열 기본
- 배열 작업
- PHP GET 및 POST
- 초보자를 위한 PHP(2023년판)
램프 스택
- LAMP(Linux, Apache, MySql, PHP) 스택
- 리눅스
- 아파치 HTTP 서버
- MySQL
- PHP
- LAMP 스택이란 무엇입니까? (동영상)
HTML / HTML 5
- HTML과 HTML5
- HTML 튜토리얼
- HTML 소개
- 기본 HTML5 템플릿
- DOM
- HTML 배우기
CSS
- 계단식 스타일 시트
- CSS 튜토리얼
- CSS 소개
- 소개 CSS 선택자
- CSS 배우기
자바스크립트
- JavaScript(일명 ECMAScript)
- 기본 자바스크립트
- 자바스크립트 튜토리얼
- 엘로퀀트 자바스크립트
- You Don't Know JS(도서 시리즈)
- 놀라운 JavaScript 학습
- 자바스크립트 배우기
프로토콜
- HTTP 및 HTTPS
- HTTP 요청/응답, GET 및 POST
- HTTP 기본 소개
- FTP
- SSH
- SMTP
- POP3
- IMAP
- 아약스
로컬 개발 환경
- ddev
- EasyPHP 개발서버 & 웹서버
- 주택
- 라라곤
- MAMP
- WAMP서버
- XAMPP
도구
- 웹브라우저(크롬, 파이어폭스)
- Composer(종속성 관리)
- WinSCP(무료 SFTP, SCP 및 FTP 클라이언트)
- Putty(무료 SSH 및 텔넷 클라이언트)
- PoEdit(gettext 번역 편집기)
- 메모장++(텍스트 편집기)
- 7-ZIP(파일 아카이버)
십오 일
프레임워크 및 라이브러리
프레임워크
- Laravel(매우 인기 있는 프레임워크)
- 라미나스
- Symfony(모듈형 엔터프라이즈 프레임워크)
마이크로 프레임워크
- Slim Framework(간단하지만 강력한 웹 애플리케이션 및 API를 빠르게 작성하는 데 도움이 되는 PHP 마이크로 프레임워크)
- Slim Framework 4 - 튜토리얼
- Slim Framework 4 - 전자책
도서관
템플릿
- Plates(기본 PHP 템플릿 시스템)
- Twig(유연하고 빠르며 안전한 PHP용 템플릿 엔진)
- Twig – 가장 인기 있는 독립형 PHP 템플릿 엔진
- 나뭇가지 대 플랫 PHP
이런!
객체 지향 프로그래밍
"부끄러운 코드를 작성하세요 -
다른 사람에게 불필요한 것을 공개하지 않는 모듈
모듈이며 다른 모듈의 구현에 의존하지 않습니다."
- PHP의 객체지향 원칙
- 클래스와 객체
- 객체 지향 PHP 마스터하기(eBook)
- Objektorientierte Programmierung(독일어)
- 객체지향 부트캠프
- PHP로 OOP 배우기
디자인 패턴
- PHP의 디자인 패턴(Laracasts)
- PHP의 디자인 패턴
- Gang of Four 디자인 패턴(도서)
- 인간을 위한 디자인 패턴™
- 디자인패턴PHP
- PHP의 여러 디자인 패턴
- PHP 과정의 디자인 패턴(비디오)
단단한
SOLID는 소프트웨어 설계를 보다 이해하기 쉽고 유연하며 유지 관리하기 쉽게 만들기 위한 5가지 설계 원칙의 약어입니다.
의존성 주입
- 의존성 주입 소개
- 의존성 주입이란 무엇입니까?
- 클린 코드 회담 - 물건을 찾지 마세요! (동영상)
- PSR-11: 컨테이너 인터페이스
- Kai Sassnowski의 종속성 주입 컨테이너 이해하기(비디오)
모범 사례
키스
단순성은 신뢰성의 전제조건입니다.
— Edsger W. Dijkstra
- KISS - 단순하게 유지하세요, 바보 같은
- 키스의 원리
야그니
당신은 그것을 필요로하지 않을 것입니다
- 야그니
- 당신은 그것을 필요로하지 않을 것입니다
- 키스와 야그니
- YAGNI, 화물 숭배 및 오버엔지니어링
마른
"DRY ‐ 반복하지 마세요
모든 지식에는 단 하나의 지식이 있어야 합니다.
시스템 내에서 명확하고 권위 있는 표현을 의미합니다."
DRY는 하나의 진실 소스를 갖는 것입니다. 코드베이스에서 중복을 미친 듯이 근절하는 것이 아닙니다.
다른
- TheCodingMachine 모범 사례
- 일찍 돌아오고 자주 돌아오세요
- 전역 변수가 잘못되었습니다
- 얇은 컨트롤러와 뚱뚱한 모델
- PHP에서 해야 할 것과 하지 말아야 할 것, 일명 내가 싫어하는 프로그래머
- 상속보다 구성
- 클린 코드 PHP
- 객체 미용 체조
모델-뷰-컨트롤러
PHP의 대부분의 프레임워크는 일종의 MVC 구조를 따릅니다. 이론은 간단합니다.
사용자는 정보를 컨트롤러에 전달하는 뷰와 인터페이스합니다. 그런 다음 컨트롤러는 해당 정보를 모델(레이어)에 전달하고, 모델은 정보를 다시 컨트롤러에 전달합니다. 컨트롤러는 뷰와 모델 사이에 효과적으로 위치합니다. (브랜든 제임스 새비지)
- MVC 위키피디아
- 더 간단한 용어로 MVC 또는 최신 웹 애플리케이션의 구조
- MVC 개요
- 멍청한 놈을 위한 MVC
- MVC에 대한 더 나은 이해
- 얇은 컨트롤러, 뚱뚱한 모델
- 고급 PHP 개발자를 위한 MVC
- MVC에 대한 더 나은 이해
- MVC 모델 2
- ADR(작업 도메인 응답자)
데이터 베이스
데이터베이스 기본 사항
- 데이터 베이스
- 데이터베이스 모델
- Codd의 12가지 규칙 *
- 유일하게 적절한 PDO 튜토리얼
- SQL 튜토리얼
- Datenbank Grundlagen (독일어)
- ERM
- Datenbank-Grundlagen 튜토리얼(독일어)
- Datenbank-Grundlagen 튜토리얼: Primärschlüssel(독일어)
관계형 데이터베이스 관리 시스템(RDBMS)
- MySQL
- 마리아DB
- 마이크로소프트 SQL 서버
- 신탁
- SQLite
데이터베이스 도서
- 무료 MySQL 도서
- 고성능 MySQL: 최적화, 백업 및 복제
데이터베이스 정규화
나쁜 프로그래머는 코드에 대해 걱정합니다. 좋은 프로그래머는 데이터 구조와 그 관계에 대해 걱정합니다.
- 데이터베이스 정규화
- 첫 번째 정규형(1NF)
- 제2정규형(2NF)
- 제3정규형(3NF)
- 데이터베이스 정규화 기본 사항에 대한 설명
- Der Königsweg: Normalisierung(독일어)
- Normalisierung(독일어)
- MySQL - Normalisierung(독일어)
준비된 진술
- 준비된 진술
- 준비된 명령문 - SQL 주입으로부터 보호
- PHP 준비 진술
데이터베이스 라이브러리
- CakePHP 쿼리 빌더
- Illuminate(Laravel) 쿼리 빌더
- 라미나스 DB 쿼리 빌더
- Phinx - 데이터베이스 마이그레이션
데이터베이스 도구
- SQLyog 커뮤니티 에디션
- SQLyog - 가장 완벽하고 사용하기 쉬운 MySQL GUI($)
- MySQL 워크벤치
- 하이디SQL
- 속편프로
- 네비캣($)
- DBeaver
NoSQL
- NoSQL
- Redis(인메모리 데이터 구조 저장소, 데이터베이스, 캐시 및 메시지 브로커로 사용됨)
- MongoDB(문서 지향 데이터베이스)
표준
객체 지향 코드에 대한 일반적인 PHP 규칙과 확립된 업계 모범 사례(PSR-1, PSR-12, PSR-4)를 따릅니다.
- PHP 프레임워크 Interop 그룹
- PSR-1 기본 코딩 표준
- PSR-12 코딩 스타일 가이드
- PSR-3 로거 인터페이스
- PSR-4 오토로더
- 표준 PHP 패키지 뼈대
- 리그 패키지를 위한 뼈대 저장소
- 시맨틱 버전 관리 2.0.0
- 변경 로그를 유지하세요
오류 및 예외 처리
- 오류 및 예외
- 오류 처리 PHP 모범 사례
- 예외
- 사전 정의된 예외
- SPL 예외
- 오류 및 오류 처리
디버깅
- Xdebug(디버거)
- XAMPP - PHP 7용 XDebug 설정
- XAMPP - PHP 8용 XDebug 설정
단위 테스트
“소프트웨어 테스터는 소프트웨어를 만드는 것이 아닙니다. 그들은 단지 그들을 더 좋게 만들 뿐입니다.” - 익명의
- PHPUnit - 테스트 프레임워크
- 단위 테스트, 통합 테스트, 스모크 테스트, 회귀 테스트
- 단위 테스트, 통합 테스트 및 기능 테스트
- 테스트 피라미드
- 시험의 길(PDF)
- 데이터베이스 테스트
- PHPUnit을 사용한 데이터베이스 테스트 모범 사례
- PHPUnit을 사용한 데이터베이스 테스트
- PHPUnit의 데이터베이스 고정 장치 설정
- 통합 테스트를 사용하는 올바른 방법
- Symfony 애플리케이션의 자동화된 테스트를 통해 100% 코드 적용 범위
- 테스트 중심 개발자 eBook 구축
- 테스트를 작성합니다. 너무 많지는 않습니다. 대부분 통합
- 단위 테스트가 과대평가되었습니다
선적 서류 비치
프로그래머로서 코드에 주석을 달지 않는 것은 불법입니다 - @RiaCorpeno
PHPdoc은 코드를 문서화하기 위한 것입니다. 의도는 항상 매개변수에 주석을 추가하고 해당 매개변수가 수행하는 작업을 설명하는 docblock의 반환 유형을 추가하는 것입니다. 코드를 읽고 모든 클래스와 기능은 물론 해당 기능과 사용 방법을 설명하는 PDF 또는 HTML 형식의 문서를 생성할 수 있는 소프트웨어가 있습니다. 이름에서 알 수 있듯이 인라인 문서화를 위한 시스템입니다.
- PhpDoc 소개
- 주석을 위한 PHPDoc 표준(PSR-5)
- PHPDoc 위키
- PHPDoc 기본 구문
- DocBlock의 분석
- 첫 번째 문서 세트
세션
- PHP 세션
- 세션 처리
- 매력적인 여자
- 세션 관리
- PHP 세션 심층 분석
텍스트 번역
- 국제화 및 현지화(i18n)
- Symfony: 번역 구성 요소
- PoEdit Gettext 번역 편집기
정규 표현식
- 정규식
- PCRE 기능
- PHP Live Regex(PHP용 라이브 정규식 테스터)
- PHPrex(PHP용 시각적 정규식 테스터)
XML
- XML(확장 가능 마크업 언어)
- XSD(XML 스키마 정의)
API
RESTful API
- REST, RESTful, REST와 유사한 API 리소스
- REST, RESTful API 빠른 참조
- API 지침
- REST API URI 디자인을 위한 7가지 규칙
비누 API
- SOAP(단순 개체 액세스 프로토콜)
- SOAP 확장 SOAP 확장은 SOAP 서버와 클라이언트를 작성하는 데 사용할 수 있습니다.
- 웹 서비스
- WSDL(웹 서비스 설명 언어)
- PHP로 SOAP API 구현
버전 관리
- 버전 관리란 무엇입니까?
- Github
- Git 학습을 위한 리소스
- Git에 대한 튜토리얼 소개
- Git - 간단한 가이드
- 프로 Git 책
보안
좋은 프로그래머는 일방 통행로를 건너기 전에 양방향을 살펴봅니다.
- 웹 보안 필수 사항 - 집중 강좌
- PHP 보안 치트 시트
- PHP 올바른 방법 - 보안
- XSS
- 보안 PHP 소프트웨어에 대한 최신 정보
- PHP 애플리케이션에 대한 보안 팁
- 최고의 PHP 보안 체크리스트
- PHP 보안 모범 사례
건축학
- 밥 삼촌의 "클린 아키텍처"(도서)
- 클린 아키텍처
- 엔터프라이즈 애플리케이션 아키텍처의 패턴 - 마틴 파울러
- 양파 아키텍처 1부
- 깔끔한 코드와 즐거움을 향한 여정 - 민첩성, TDD, OOP 패턴, MVC, 프레임워크 디커플링
도메인 기반 설계(DDD)
- 초보자를 위한 DDD
- 도메인 중심 설계: 소프트웨어 핵심의 복잡성 다루기(블루북)
- 도메인 기반 디자인 구현(The Red Book)
- DDD 중심 마이크로서비스 설계
- Domain-Driven Design Reference (DDD의 패턴 및 정의 요약, PDF)
- 도메인 기반 설계 서비스
- 싫어하지 않을 서비스 만들기
- 도메인 중심 설계(파란색 DDD 책)
- 도메인 기반 디자인 구현(빨간색 DDD 책)
육각형 건축
- 포트 및 어댑터 아키텍처
- 육각형 건축의 신비를 풀다
- 육각형 건축
- "헥사곤"의 알리스테어
- 객체 디자인 스타일 가이드
- 고급 웹 애플리케이션 아키텍처
함수형 프로그래밍
- 기능적 아키텍처 - 성공의 구덩이 - Mark Seemann(비디오)
CI(지속적 통합) 및 CD(지속적 전달)
- 지속적 전달(도서)
- 지속적으로 PHP 프로젝트 제공(비디오)
- 지속적인 통합 vs. 지속적인 전달 vs. 지속적인 배포
- 지속적인 배포란 무엇입니까?
- PHP와 Travis CI와의 지속적인 통합
- PHP 개발자를 위한 도커
잡지
- PHP 건축가 (영어)
- PHP매거진(독일어)
- 웹 및 모바일 개발자(독일어)
상품
- 공식 코끼리 상점 - 부티크 elePHPant
- PHPUnit 상품
- PHP 스티커
커뮤니티 / 뉴스
- @official_php
- r/PHP
- r/PHP도움말
- dev.to의 PHP
- 해시노드/php
- 스택 오버플로
- PHP 주간 뉴스레터
- Freek.dev 뉴스레터
- 스티처 메일
- 멋진 PHP 뉴스레터
- JetBrains - 매월 PHP에 주석 추가
- PHP의 내부
- PHP-Digest - Roman Pronsky(러시아어)
- PHP 블로그 목록
- 전세계 PHP 컨퍼런스
- StackOverflow의 PHP 채팅방
- 다음 PHP 모임은 언제인가요?