CI 묻고 답하기

제목 외부라이브러리 auto load 에 대한 질문입니다.
카테고리 CI 4 관련
글쓴이 엘제이 작성시각 2024/06/28 17:50:50
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 440   RSS

콤포저를 사용하지 않고 서버에 압축파일 로 CI 4 를 치했습니다.

당연히 콤포저를 사용하지 않았습니다.

엑셀입/출력 목적으로 PhpOfficeSpread 를 사용해야 하는데요

예전에는 vender폴더와 Libraries 에 있는 ExcelLibr..php 있는거 그대로 가져와서 잘 사용했습니다.

문제는 그 땐 진행인 프로젝트를 다 가져와서 설정이 있는지 없는지 모른다는 것입니다.

1. 단순히 vender 와 라리브러리 디렉토리안의 클래스파일을 그냥 신규프로젝트(압축본)에 붙여넣어 사용해도 되는것인지요?

(참고로 (composer.json 파일에 해당 phpOffice 내역은 없습니다.) 

2.  이건 단순히 제 개인적인 궁금중인데

해당 라이브러리를 사용하려면

use PhpOffice...이렇게 하던데  app/config/autoload.php 에 아무내용도 없는데

어떻게 불러와서 사용한 것인지 궁금합니다.

 다음글 서브디렉토리에서 리다이렉트되는 사이트에서 .htacc... (2)
 이전글 코드이그나이터4의 psr 관련질문입니다. (1)

댓글

kaido / 2024/07/02 14:36:52 / 추천 0

1. 사용 가능 합니다.

사실 작동할때는 composer.json은 참고하지 않습니다.

2. 1번의 대답이 될수도 있는데 기본적으로 autoload 의 특징을 이해 하시면됩니다.

php의 autoload 라는 기능 자체는 클래스를 로드해 놓고 use 키워드로 사용할때 불러다 쓰겠다는 기능 입니다.

쉽게말하면 대기 상태로 놔두고 사용될때 올라오는 타입이라고 생각 하시면 됩니다. 꽤 스마트한 기능입니다.

 

실제 작동 되는걸 따라가보시면 

autoload는 타겟이 되는 autoload.php 파일을 찾아 들어가고  해당 [path 주소]가  설치할때 값이 자동으로 추가됩니다.

몇번 타고 들어가보면 특정한곳에서 다시 라이브러리들의 주소를 가져와서 클래스 로드를 합니다.

규격에 맞추어 넣는게 힘드시면 적당 한곳에 라이브러리를 넣어놓고 수동으로 로드만 시켜도 작동 합니다.