저는 CodeIgniter를 사용하여 웹 API를 작성했으며 업데이트 된 버전을 출시하려고합니다. 자, 다음과 같이 호출 할 수 있다고 가정 해 봅시다 :CodeIgniter - 버전 라이브러리 및 모델
mysite.com/api/v1.0/get_customers
mysite.com/api/v2.0/get_customers
(올바른 컨트롤러 버전을 얻으려는 경로를 사용한다고 가정 해 봅시다).
나는이 같은 CI 라이브러리 구조가 있습니다
controllers/
+ 1.0/
+ Api.php
+ 2.0/
+ Api.php
libraries/
+ 1.0/
+ Customer.php
+ 2.0/
+ Customer.php
models/
+ 1.0/
+ Customer_model.php
+ 2.0/
+ Customer_model.php
지금 가정합니다 V1.0의 전화가 걸려 온다 나는 1.0 라이브러리와 모델을로드 1.0 컨트롤러를로드합니다. 그 후 v2.0 호출이오고 2.0 버전을 모두로드합니다 ...
CI는 1.0 클래스의 경로가 2.0 클래스와 다르다는 것을 인식하고 (이미 생각한 것보다) 다시로드합니다. 실제로 1.0 버전 일 때 같은 클래스 이름을 공유하기 때문에로드됩니까?)
사람들은 어떻게 처리합니까? 나는이 같은 다른 클래스 이름을 사용해야합니까 :
내가하지 희망class Customer_1_0
class Customer_2_0
class Customer_model_1_0
class Customer_model_2_0
...이 할 수있는 청소기 방법이 있나요? 나는 근본적인 무언가를 놓치고있는 것처럼 느낀다.
는 스티브에게 감사 CI 클래스를 검색 할 때, 당신의 캐싱을하지 않는 한<domain>/foo/bar
다음
<domain>/foo/bar
다시 여전히 클래스 푸를 다시로드로드 요청별로 요청으로 (에 보이는
나는 그것을 얻지 못한다. 두 개의 개별 HTTP 요청에 대해 이야기하고 있습니다. 그렇다면 Codeigniter는 왜 그들이 이미로드했다고 생각합니까? –
API1이 현재 존재하거나 미래를위한 구조를 설계하려고하십니까? –
v1이있는 경우 v2를 추가합니다. –