Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Вызов несуществующих методов [2]
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Чем меньше магии тем лучше
Тем более ничего кроме лаконичности вызова данный способ не дает
И кроме всего перечисленного еще и занимает магический метод который может пригодиться
А по поводу формата файла так это становится еще менее важным если на его основе генерить класс/классы куда-нибудь в кэшовую папку, который еще и будет закэширован в памяти ускорителями типа APC
Ну и при генерации можно обходить все языковые файлы вообще
И забыть навсегда
Ch_chov
Отправлено: 25 Мая, 2015 - 14:38:28
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Можно использовать готовое решение, например: https://github.com/symfony/Translation
Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015 Откуда: Тамбов
Помог: 17 раз(а)
LIME пишет:
Тем более ничего кроме лаконичности вызова данный способ не дает
Ну если это не ухудшает производительность и не кушает лишней памяти, то именно для этого и задумал Что касается занимать магическое свойство, ну в данном случае оно и не нужно для других целей
LIME пишет:
Ну и при генерации можно обходить все языковые файлы вообще
А не
слишком ли накладно получится? Может всё таки подключать только то что используется?
У меня в проекте под сотню языковых файлов
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
и что у тебя несколько десятков незадействованных модулей?
тогда просто их отключи)
GoDr
Отправлено: 25 Мая, 2015 - 15:58:15
Посетитель
Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015 Откуда: Тамбов
Помог: 17 раз(а)
Что-то мы о разном наверное.. Что значит отключить? Во-первых, файлы то остаются, если все языковые файлы подключать. А во-вторых, ну так модуль может отображаться на одной странице, но не будет выводиться на другой. Так же и всякие компоненты и плагины..
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
ну так и замерь что дешевле каждый раз файлы подключать или один раз общее хранилище
только вот что-то не думаю что это критично) (Добавление)
и это...под пистолетом тебя никто не заставляет обходить и файлы отключенных модулей
хотя подозреваю что у тебя просто нет механизма включения
GoDr
Отправлено: 25 Мая, 2015 - 16:15:41
Посетитель
Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015 Откуда: Тамбов
Помог: 17 раз(а)
ну в принципе все файлы весят не больше 300кб
И опять же ушли от темы )))) Но видно никто таким образом не использует магические свойства ))) (Добавление)
LIME пишет:
хотя подозреваю что у тебя просто нет механизма включения
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Ну и еще отступление
Если уж существует огромное колво переводов а используется не много то возможно будет лучше создавать таблицу в бд
GoDr
Отправлено: 25 Мая, 2015 - 17:00:52
Посетитель
Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015 Откуда: Тамбов
Помог: 17 раз(а)
Что-то я не подумал вообще об этом
такая таблица существует и именно для этого создана, т.е. на какой странице (в какой категории или в каком компоненте) какой модуль подключать (выводить). Хоть это и отвлечение от темы, но зато тема для нового "велосипеда"
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
DeepVarvar ну как бэ само собой
Папка с кэшем классов и имелась ввиду
GoDr
Отправлено: 25 Мая, 2015 - 20:25:52
Посетитель
Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015 Откуда: Тамбов
Помог: 17 раз(а)
DeepVarvar пишет:
Если языковые файлы сделать классами, тогда вешай их на автолоад. Будут подгружаться по мере надобности.
А пример можно привести?
Если я правильно понял, в состав некоего расширения ядра (компонента/модуля/плагина/шаблона и т.п.) входит некий файл для подгрузки нужного языка.
При вызове чего-то подобного
через автозагрузчик мы загружаем этот файл, который подгружает нужный языковой файл, заодно и кеширует его. Что-то подобное? (Добавление)
И ещё.. если мы хотим сделать из языкового файла класс со свойствами, то всё равно хоть один раз нужно запустить этот класс. И мне кажется IDE всё равно не будет подсказывать
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.