我已經使用CodeIgniter構建了一個Web 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
我希望不是......有沒有一種更清潔的方式做到這一點?我覺得我在這裏錯過了一些基本的東西。
謝謝 史蒂夫
我不明白。你正在談論2個獨立的HTTP請求。那麼爲什麼Codeigniter會「認爲他們已經加載」? –
API1目前是否存在,或者現在正在考慮設計未來的結構? –
v1存在,我添加v2 –