немного офтоп, есть проблема при курл запросах. Идет вызов функционала в котором используется mysql GET_LOCK, если происходит остановка скрипта по причине нехватки памяти на стороне php то последующие курл запросы (периодичность 30мин) не выполняются так как проверка лока говорит о его существовании. Но если запустить тот же скрипт из браузера то выполнение происходит успешно. Не подскажете в чем может быть проблема?
1. я предлагаю хранить в двух вариантах. первый это весь урл, второй вариант по сегментам. 2. хранить соответствие придется так как не пройдут при транслитерации многие рус символы й,ё,ы и т.д. 3. поиск идет where alias = 'russia' AND table='countries'
или первый вариант where url = '/russia/moskva/avtosalon-na-prospekte-123'
в последнем варианте всего один запрос, в первом три запроса для того чтобы вытащить данные
можно и весь урл хранить и можно по сегментам, то есть russia,moskva,avtosalon-na-prospekte-123 - это три записи в базе и могут хранить просто идентификаторы и тип сущностей, пример сохранении по сегментам:
alias table object_id
russia countries 1
moskva cities 10
avtosalon-na-prospekte-123 company 123
Во-первых вы не указали что вы новичок, во-вторых при проектировании вы упретесь в правила проектирования, а UML (унифицированный язык моделирования), содержит весь набор нотаций необходимых для проектирования программы. Лучше Enterprice Architect я не видел.
Как у вас организованна архитектура это ваша история, если вы считаете ее правильной то так оно и есть, у меня приложение организованна на основе модулей, которые имеют два шаблона один для обычной версии другой для мобильной, для мобильной версии будет использоваться соответствующий шаблон.
у вас какое окружение настроено? переведите в режим разработки, для того чтобы стали видны ошибки вместо белого экрана define('ENVIRONMENT', 'development');
писал по памяти поэтому забыл что в конфиге роутинга ничего не известно о контроллере который нужен для глобального объекта CI, ок тогда так: $user_agent =& load_class('user_agent', 'Libraries');