data-id="1190000004868218">
커뮤니티의 바람과 의견을 종합적으로 고려한 후 어떤 미래가 CI에 가장 적합한 지에 대해 생각해 본 결과 CI 위원회는 다음과 같은 결정을 내렸습니다. 프레임워크는 몇 가지 결정을 내렸습니다. 미리보기로, 미래에는 큰 변화가 있을 것이지만, 우리는 이것이 미래를 준비할 뿐만 아니라 CodeIgniter의 일관된 특성인 단순성, 속도 및 유연성을 유지할 것이라고 믿습니다.
이 기사는 미래에 대한 간단한 개요입니다. 기억하세요, 이것은 단지 초기 계획일 뿐입니다. 모든 정보는 개발이 진행됨에 따라 변경될 수 있습니다.
핵심 변경 사항
CodeIgniter의 첫 번째 버전이 출시된 이후 PHP 커뮤니티는 극적으로 변화했습니다. 당시에는 CodeIgniter의 핵심 요소 중 상당수가 필요했지만 PHP5가 출시되었을 때 CodeIgniter의 핵심 요소는 거의 변경되지 않았습니다. CodeIgniter가 앞으로도 계속해서 높은 수준의 성능을 발휘하고 PHP 프레임워크 사이에서 입지를 확고히 하려면 큰 변화가 필요합니다.
이는 시스템을 완전히 다시 작성해야 함을 의미합니다. 새로운 CI는 코드 명확성을 유지하기 위해 별도의 코드 베이스로 개발될 예정입니다. 우리는 일부 이전 코드를 재사용하되 현대적인 깔끔한 코드에 중점을 두는 것을 구상하고 있습니다.
PHP 7을 대상으로 했기 때문에 PHP 5.6은 보안 유지 모드에 진입했으며 몇 달 내에 완전히 중단될 예정입니다. CI는 곧 지원이 종료되는 PHP 버전에 대한 새 버전을 출시하지 않습니다. 호스트 환경은 매우 다양하며 일부 프로그램은 PHP 7을 완전히 지원하지 않을 수 있으므로 3.x 분기는 한동안 계속 유지 관리됩니다. 3.x 이후 2.x 분기의 EOL 기간보다 훨씬 더 오래 유지됩니다. 출시된.
응용 프로그램과 시스템 디렉토리 모두 PSR-4 자동 로딩을 지원합니다. CodeIgniter는 자체 오토로더를 사용하고 Composer와 통합됩니다.
대부분의 경우 CodeIgniter 외부 프로젝트에서 사용할 수 있도록 일부 구성 요소를 캡슐화할 예정입니다.
패키지/모듈
애플리케이션 패키지와 모듈의 개념을 버리겠습니다. 당황할 필요가 없습니다! 네임스페이스를 사용하면 대부분의 상황(적어도 컨트롤러와 모델의 경우)을 처리할 수 있기 때문입니다. 뷰, 구성 파일, 도우미 등의 경우 네임스페이스를 지원하도록 만들 수 있다고 믿습니다. 또한 모든 패키지 기능과 모듈 라우팅 기능을 임의의 디렉토리에 넣을 수 있으며, 오토로더에 해당 기능을 찾는 방법을 알려주기만 하면 됩니다.
라우팅
라우팅 기능이 업데이트됩니다. URI를 컨트롤러/메서드에 직접 매핑하는 "매직 라우팅" 기능을 꺼서 원하는 라우팅 방법을 선택할 수 있습니다. 라우팅 구성 파일에서 "매직 라우팅"을 사용하도록 선택하거나 각 경로를 개별적으로 지정할 수 있습니다.
로깅 시스템 개선
로깅 시스템이 개선될 예정이나 아직 구체적인 내용은 확정되지 않았습니다.
테스트
우리는 계속해서 PHPUnit을 사용하여 테스트할 예정입니다. 즉, 애플리케이션을 직접 테스트해야 하지만 필요한 도구는 제공됩니다.
하위호환성
위에서 언급했듯이 이전 버전과 호환되지 않는 버전이어야 합니다. 우리는 이것이 프레임워크를 위한 최선의 미래가 되어야 한다고 생각합니다. 우리는 수년 동안 이 주요 변화를 위한 토대를 마련해 왔으며 가능한 한 원활하게 전환할 수 있도록 노력할 것입니다. 그러나 우리가 제공할 수 있는 코드 기반이 얼마나 현대화되었는지는 지켜봐야 합니다.
우리는 CodeIgniter를 오랫동안 인기 있게 만들어온 기능, 즉 속도, 단순성 및 "우아함"을 유지하기 위해 최선을 다할 것입니다.
개발 일정
전체 개발 과정은 3단계로 나누어집니다.
다음 클래스 라이브러리는 커널에서 제거되며 요청 시 다운로드됩니다: 조판 클래스, FTP 클래스, ZIP 클래스 및 XML-RPC 클래스.
장바구니 클래스, Javascript 클래스, 유닛 테스트 클래스, 트랙백 클래스가 제거됩니다.
1년 안에 기본 커널이 포함된 알파 버전을 완성할 수 있도록 노력하겠습니다. 그 후에는 커널 개선과 나머지 패키지 개발에 집중하겠습니다. 정확한 일정은 대부분의 오픈 소스 프로젝트와 마찬가지로 커뮤니티 기여의 양과 질은 물론 핵심 개발자의 시간과 에너지에 따라 달라지기 때문에 다를 수 있습니다.
1단계
첫 번째 단계에서는 프레임워크의 가장 중요한 부분을 파악하는 데 중점을 둡니다. 이는 나머지 프레임워크의 기초가 됩니다. 여기에는 다음이 포함됩니다:
자동 로더
종속성 주입
로그
예외 처리
HTTP 요청/응답 계층(또는 입력/출력)
라우팅
컨트롤러
모델
데이터베이스 계층
구성
보안
두 번째 단계
두 번째 단계는 CodeIgniter 사용자가 보고 싶어하는 일부 클래스와 기능을 개선하는 데 중점을 둡니다. 여기에는 다음이 포함됩니다:
도우미
언어/국제화 기능
캐시
이메일
암호화
양식 유효성 검사
이미지 처리 클래스 라이브러리
페이징
클래스 업로드
세션
뷰
디버깅 및 분석 도구
3단계 - 선택적 클래스 라이브러리
3단계가 주로 사용됩니다. 선택적 소프트웨어 패키지를 확장합니다. 이 시점에서는 모든 라이브러리가 준비될 때까지 기다리지 않고 프레임워크를 릴리스할 준비가 되어 있어야 합니다.
FTP
XML-RPC
Zip
조판 클래스
템플릿 파서
우리는 프레임워크가 가져온 새로운 기회에 매우 기대하고 있지만, 프레임워크가 새 버전이 첫 번째 단계를 밟을 수 있기를 바랍니다. 더 이상 옆에서 지켜보지 말고 와서 프레임워크의 미래를 구축해 보세요.
위 내용은 codeigniter 컨텐츠를 포함하여 CodeIgniter 4 권장 로드맵을 소개한 내용으로, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.