Course Outline
객체지향 Programming
- 클래스와 객체
- 속성과 메서드
- 생성자 및 소멸자 메서드
- 클래스 상속
- 속성과 메서드의 범위 (가시성)
- 예외를 사용한 오류 처리
- 네임스페이스
Symfony 명작을 소개합니다
- Symfony 프레임워크와 그 생태계 소개
- Symfony « 표준 에디션 배포 » 설치
- Symfony 프로젝트 아키텍처 탐색 (응용 프로그램, 번들, 라이브러리 등)
- HTTP 요청 처리 워크플로 이해
- 환경 개념 이해 (개발, 생산 및 테스트)
- 코딩 및 파일 명명 규칙 소개
- « 번들 »의 개념 탐색
코드 디버깅
- « 웹 디버그 도구 모음 »으로 도움 받기
- 등록된 로그 검사하기
- « 웹 프로파일러 » 애플리케이션을 사용한 HTTP 요청 프로파일링
- 명시적인 오류 및 예외 스택 추적을 통해 문제 해결하기
- Debug와 VarDumper 구성 요소의 기능 사용하기
애플리케이션 구성
- XML, YAML 및 PHP를 지원하는 내장 구성 형식 비교
- 전역 매개변수를 통해 응용 프로그램 구성하기
- 주석을 사용한 애플리케이션 경로와 URL 구성하기
- 내장 또는 외부 번들이 정의한 구성 덮어쓰기
최종 사용자를 위한 콘텐츠 생성
- Twig 템플릿 엔진 소개
- Twig와 원시 PHP 템플팅 전략 비교
- Twig 템플릿 (요청, 세션, 사용자)에서 전역 변수 Access하기
- 태그, 필터 및 함수를 사용하여 Twig 템플릿 내에서 콘텐츠 생성 및 형식 지정하기
- 템플릿 상속 기능을 통해 확장 가능한 템플릿 만들기
- 코드 중복을 피하기 위해 템플릿을 더 작은 조각으로 분할하기
- Twig 템플릿 내에서 Symfony 컨트롤러 렌더링하기
- 애플리케이션의 경로 구성에 따라 URL 생성하기
- 사용자 정의 Twig 뷰 도우미를 사용한 Symfony 폼 렌더링하기
컨트롤러 개발 및 요청 분석
- 액션 메서드와 함께 컨트롤러 클래스 설계하기
- 주석을 통해 URL 패턴과 Symfony 컨트롤러 매핑하기
- 원시 응답 및 Twig 템플릿 기반 응답 생성하기
- Request 객체로부터 사용자의 정보 Access하기
- 세션 데이터 읽고 쓰기
- 쿠키 데이터 읽고 쓰기
- 자원이 발견되지 않을 때 404 오류 페이지 트리거하기
- 코드 중복을 피하기 위해 다른 컨트롤러로 내부 리다이렉션 실행하기
- 사용자를 다른 페이지로 리다이렉션하기
Forms를 통해 최종 사용자와 상호 작용
- « 폼 » 구성 요소 탐색하기
- 간단한 웹 폼 설계 및 처리하기
- 제출된 폼 필드 데이터에 대한 유효성 검사 제약 조건 추가하기
- Twig 뷰 도우미를 사용해 폼 렌더링 프로토타이핑하기
- 제출된 폼 데이터 수집 및 처리하기
- 필터링되고 유효성 검사를 통과한 폼 데이터를 이메일을 통해 수신자에게 전송하기
사용자 인터페이스 국제화 및 지역화
- « 번역 » 구성 요소 탐색하기
- 기본 사용자의 지역 설정 변경하기
- Twig 템플릿에서 사용자 정의 추상 번역 키 정의하기
- 동적 번역 처리 (복수형 문장 포함)
종속성 주입 및 서비스 컨테이너
- 종속성 주입 원칙 이해하기
- Symfony 서비스 컨테이너 시작하기
- 명령줄 도구를 통해 내장된 모든 Symfony 서비스 목록보기
- 의존성 주입 컨테이너에 새로운 사용자 정의 비즈니스 서비스 등록하기
- 서비스 컨테이너에서 등록된 서비스 Access하기
- 컨테이너에서 전역 구성 매개변수 생성 및 접근하기
자동화된 테스트를 통한 품질 보험 계약
- PHPUnit 자동화 테스트 프레임워크 탐색하기
- 테스트 자동화의 목표 이해하기 (유닛 및 기능적 테스트)
- 자동화된 테스트 집합 구성하기
- 유닛 테스트 집합 설계 및 실행하기
- 기능적 테스트 집합 설계 및 실행하기
- 코드 커버리지 보고서 생성하기
최종 사용자 및 양식과 상호 작용
- 웹 폼 설계 및 처리하기
- Twig 뷰 도우미를 사용한 폼 렌더링 자동화하기
- 내장 및 사용자 정의 Twig 폼 테마로 폼 렌더링 커스터마이징하기
- 폼 필드 유형을 서비스로 구성하기
- 제출된 데이터에 대한 내장 유효성 검사 제약 조건 적용하기
- 제출된 데이터에 대한 사용자 정의 유효성 검사 제약 조건 적용하기
- 유효성 검사 그룹을 통해 데이터 유효성 검사 컨텍스트화 하기
Access을 애플리케이션의 보안 영역으로 제한
- 인증 및 권한 부여 원칙 시작하기
- 폼 기반 인증 전략을 통해 응용 프로그램의 일부 페이지를 보호하기
- 보안 처리를 위한 Security Guard 서브 구성 요소 구현하기
- 사용자의 역할에 따라 액세스 제어 정책 설정하기
- 컨트롤러 및 Twig 템플릿에서 사용자 권한 확인하기
- 보안 « voters »를 통해 사용자 정의 인가 규칙 등록하기
HTTP 캐싱 및 ESI를 통해 애플리케이션 성능 향상
- HTTP 캐싱 워크플로 시작하기
- 다양한 종류의 캐시 시스템 탐색하기
- 만료 및 검증 캐시 전략 비교하기
- 생성된 웹 페이지에 만료 및 검증 캐시 제약 조건 적용하기
- ESI 기술 (« Edge Side Includes »)을 사용한 페이지 프래그먼트 캐싱하기
- Symfony 내장 리버스 프록시 캐시 설치 및 구성하기
교리를 사용하여 관계형 Database 시스템 쿼리
- Doctrine ORM의 기본 사항 탐색하기
- « 엔티티 »와 « 리포지토리 » 개념 이해하기
- Doctrine을 사용해 PHP 클래스 및 SQL 쿼리 코드 자동화 생성하기
- Doctrine ORM 엔티티 매니저를 통해 데이터베이스에 데이터 지속시키기
- Doctrine을 통해 데이터베이스로부터 데이터 가져오기
- Doctrine Query Builder 객체를 사용해 사용자 정의 SQL 쿼리 생성 및 실행하기
Requirements
- 객체 지향 Programming 개념 이해
- PHP 이해
- MVC/MVP 프레임워크의 기본 지식
대상
- 웹 개발자
- PHP 프로그래머
- Symfony를 활용하여 견고한 애플리케이션을 구축하고자 하는 개발자
회원 평가 (3)
Abhinav did an excellent job! Within four days he covered all the important concepts that are used in REAL software development. I am so thankful have him as our trainer!.
Vijay Joseph
Course - Web Development with Symfony3
I liked the trainer's communication & knowledge in Symphony 3 and associated technologies. He had taken enough effort to teach and demonstrate with some examples in the respective topics. I can say my symphony knowledge and confidence level is gone up after this training.
Hari Kumar
Course - Web Development with Symfony3
I like the Doctrine concept in Symphony taken by the trainer. The trainer is more energetic and make the sessions more interactive. I think it is a great capability of the trainer.