Я создал веб-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
Надеюсь, нет ... Есть ли более чистый способ сделать это?Я чувствую, что мне здесь не хватает чего-то фундаментального.
Спасибо, Стив