Course Outline
객체지향 Programming
- 클래스와 객체
- 속성 및 방법
- 생성자 및 소멸자 메서드
- 클래스 상속
- 속성 및 메소드 범위(가시성)
- 예외가 있는 오류 처리
- 네임스페이스
Symfony 명작을 소개합니다
- Symfony 프레임워크와 생태계 소개
- Symfony « Standard Edition Distribution » 설치
- Symfony 프로젝트 아키텍처 검색(애플리케이션, 번들, 라이브러리, 번들 등)
- HTTP 요청 처리 워크플로 이해
- 환경의 개념 이해(개발, 생산, 테스트)
- 코딩 및 파일 명명 규칙 소개
- "번들"의 개념 발견
코드 디버깅
- « 웹 디버그 도구 모음 »에서 도움 받기
- 기록된 로그 살펴보기
- « Web Profiler » 애플리케이션을 통해 HTTP 요청 프로파일링
- 명시적 오류 및 예외 스택 추적을 통해 문제 발견
- Debug 및 VarDumper 구성 요소 기능 사용
애플리케이션 구성
- 지원되는 내장 구성 형식 비교: XML, YAML 및 PHP
- 전역 매개변수를 사용하여 애플리케이션 구성
- 주석이 포함된 구성 애플리케이션의 경로 및 URL
- 내장 또는 타사 « 번들 »에 의해 정의된 구성 재정의
최종 사용자를 위한 콘텐츠 생성
- Twig 템플릿 엔진 소개
- Twig와 raw PHP 템플릿 전략 비교
- AccessTwig 템플릿의 전역 변수 지정(요청, 세션, 사용자)
- 태그, 필터 및 함수를 사용하여 Twig 템플릿의 콘텐츠 생성 및 형식 지정
- 템플릿 상속 기능 덕분에 템플릿을 실제로 확장 가능하게 만듭니다.
- 코드 중복을 피하기 위해 템플릿을 더 작은 템플릿 청크로 분할
- Twig 템플릿 내에서 Symfony 컨트롤러 렌더링
- 애플리케이션의 경로 구성을 기반으로 URL 생성
- 사용자 정의 Twig 보기 도우미를 사용하여 Symfony 양식 렌더링
컨트롤러 개발 및 요청 분석
- 액션 메서드를 사용하여 컨트롤러 클래스 디자인
- 주석 덕분에 URL 패턴을 Symfony 컨트롤러에 매핑
- 원시 응답 및 Twig 템플릿 기반 응답 생성
- Access요청 객체에서 클라이언트 정보 가져오기
- 세션 데이터 읽기 및 쓰기
- 쿠키 데이터 읽기 및 쓰기
- 리소스를 찾을 수 없을 때 404 오류 페이지 트리거
- 코드 중복을 피하기 위해 다른 컨트롤러로의 내부 리디렉션 트리거
- 사용자를 다른 페이지로 리디렉션
Forms를 통해 최종 사용자와 상호 작용
- « 양식 » 구성 요소 검색
- 간단한 웹 양식 디자인 및 처리
- 제출된 양식 필드의 데이터에 유효성 검사 제약 조건 추가
- Twig 뷰 도우미 덕분에 양식 렌더링 프로토타이핑
- 양식에 제출된 데이터 수집 및 처리
- 검증되고 필터링된 양식 데이터를 이메일로 일부 수신자에게 보내기
사용자 인터페이스 국제화 및 지역화
- « 번역 » 구성요소 발견
- 기본 사용자의 로케일 변경
- Twig 템플릿에서 사용자 정의 추상 번역 키 정의
- 복수형 문장을 포함한 동적 번역 처리
종속성 주입 및 서비스 컨테이너
- 종속성 주입 원리 이해
- Symfony 서비스 컨테이너 시작하기
- 명령줄 도구 덕분에 모든 내장 Symfony 서비스 나열
- 종속성 주입 컨테이너에 새로운 사용자 정의 비즈니스 서비스 등록
- Access서비스 컨테이너에서 등록된 서비스 실행
- 컨테이너에서 전역 구성 매개변수 생성 및 액세스
자동화된 테스트를 통한 품질 보험 계약
- PHP단위 테스트 자동화 프레임워크 살펴보기
- 테스트 자동화의 목표 이해(단위 및 기능 테스트)
- 자동화된 테스트 도구 모음 구성
- 단위 테스트 모음 설계 및 실행
- 기능 테스트 스위트 설계 및 실행
- 코드 범위 보고서 생성
최종 사용자 및 양식과 상호 작용
- 웹 양식 디자인 및 처리
- Twig 보기 도우미를 사용하여 양식 렌더링 자동화
- 내장된 사용자 정의 Twig 양식 테마를 사용하여 양식 렌더링 사용자 정의
- 양식 필드 유형을 서비스로 구성
- 제출된 데이터에 내장된 유효성 검사 제약 조건 규칙 적용
- 제출된 데이터에 사용자 지정 유효성 검사 제약 조건 규칙 적용
- 검증 그룹 덕분에 데이터 검증의 상황화
Access을 애플리케이션의 보안 영역으로 제한
- 인증 및 권한 부여 원칙 시작하기
- 양식 기반 인증 전략 덕분에 일부 애플리케이션의 페이지를 보호합니다.
- 인증을 처리하기 위해 Security Guard 하위 구성 요소 구현
- 사용자 역할에 따른 접근 제어 정책 설정
- 컨트롤러 및 Twig 템플릿에서 사용자 권한 테스트
- 보안 « 유권자 » 덕분에 사용자 정의 인증 규칙 등록
HTTP 캐싱 및 ESI를 통해 애플리케이션 성능 향상
- HTTP 캐싱 워크플로 시작하기
- 다양한 종류의 캐시 시스템 발견
- 만료 및 유효성 검사 캐시 전략 비교
- 생성된 웹 페이지에 만료 및 유효성 검사 캐시 제약 조건 적용
- ESI 기술 덕분에 페이지 조각 캐싱(“Edge Side Contains”)
- Symfony의 내장 역방향 프록시 캐시 설치 및 구성
교리를 사용하여 관계형 Database 시스템 쿼리
- Doctrine ORM의 기본 발견
- « 엔터티 » 및 « 저장소 »의 개념 이해
- Doctrine을 사용하여 PHP 클래스 및 SQL 쿼리 코드 생성 자동화
- Doctrine ORM 엔터티 관리자 덕분에 데이터베이스에 데이터 유지
- Doctrine 덕분에 데이터베이스에서 데이터 다시 가져오기
- Doctrine Query Builder 개체 덕분에 사용자 정의 SQL 쿼리 작성 및 실행
Requirements
- 객체지향Programming 개념에 대한 지식
- PHP에 대한 지식
- MVC/MVP 프레임워크에 대한 기본 지식
회원 평가 (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.