• Мультиязычный транслит на PHP?

    xexsus
    @xexsus Автор вопроса
    Насколько понимаю, нужно знать направление транслитеряции.

    Комментаторы выше правы, теоретически невозможно корректно траслитерировать абстрактный набор символов на английский, так как одни и те же символы в разных языках читаются по-разному.

    С другой стороны, направление транслитерации можно узнать по геотаргентингу. А если не бояться неточностей, то вообще всё просто.
  • Мультиязычный транслит на PHP?

    xexsus
    @xexsus Автор вопроса
    Есть онлайн демка на тестирование? Есть подозрение, что там только европейские языки, их легко транслировать. А нужны в основном корейский, китайский, японский… Причём неизвестно на каком языке входящая строка.

    p.s. Нет никакого способа домены третьего уровня на uft8 заводить?
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    Угу, согласен. Но всё же глобальные переменные плохи не только из-за своей «мутности» для нового человека, но и из-за возможности доступа к ним из любого места программы, тем самым образуя кучу нежелательных связей. Другими словами, мы не можем быть уверены, что если уберём/модифицируем глобальную переменную(разумеется с сохранение функциональности модифицируемого участка кода), то вся программа не рухнет, так как возможно что большая часть модулей на неё завязана.

    P.S. Где так красиво раскрашивают код?
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    Да, но он всё равно будет выступать в роли глобальное переменной. Как бы это и пытаюсь решить. Всегда ли любая глобальная переменная — зло?
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    Или, например, есть множество разных мелких сущностей, настройки, окружение, подключенные модули, права доступа. И эти данные часто могут понадобится в разных модулях. Корректным способом действовать было бы передавать все параметры во все модули где они могут понадобится или не понадобится(поведение модулей полиморфно). Но в таком случае нужно будет тащить в каждый класс/вызов_функции-метода гору параметров, что тоже сделает код «грязным». Чтобы побороть это, вводится глобальная переменная/синглтон, которая доступна по запросам из модулей. Так называемые «хелперы» во многих фреймворках также действуют.
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    $app = new MyApplication;
    $app->setMode('mobile');
    $app->work();
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    Изящно, но всё же маскировка глобальной переменной под синглтон, без устранения недостатков глобальной переменной. Если синглтон будет вызываться из всех частей кода без разбора, то ничем не будет отличаться от той же глобальной переменной… (
  • Какую цветовую схему для читалок вы используете?

    xexsus
    @xexsus
    * цвет фонатекста посветлее, разумеется…
  • Какую цветовую схему для читалок вы используете?

    xexsus
    @xexsus
    Поддерживаю, путём долгих проб и экспериментов пришёл к такому же сочетанию цветов. Правда, использую цвет фона немножко посветлей. Выглядит чуток менее стильно, но зато контрастность получше.
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    Это позволит сильно сократить потребность в глобальных переменных, но глобальные переменные всё же останутся, хотя бы теже переменные экземпляров классов. Хотя мне кажется, что я нашёл ответ, сами глобальные переменные не являются злом, но доступ к ним должен осуществляться только на уровне их определения, но не из функций и методов классов.
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    Это получится использование Singleton не по назначению, и всё равно это будет той же глобальной переменной. Неважно с глобальной переменной связаны многие куски системы, или с синглтонами, путаные связи тянущиеся через всю систему останутся…
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    Согласен, но экземпляр этого супер-класса будет глобальной переменной. К тому же это порочная практика, по сути это передислокация поля глобальных переменных в корень этого дерева.

    В чём смысл правила — не создавать глобальные переменные? Чтобы минимизировать количество связей между частями кода. Есть нераспутываемый комок связей, мы оборачиваем его в один класс, и наружу торчит одна переменная, но проблему это не решает. Сложность системы не снизилась, хотя формально правило соблюдено. В этом и сложность. Можно поэкспериментировать, но реально почувствовать верность или неверность выбранного подхода можно будет только хорошо поработав над проектом.
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    Задавая себе этот вопрос, считаю что без глобальных переменных обойтись нельзя. Их можно спрятать, но де факто они останутся. Но другие программисты нередко меня удивляли своей изобретательностью и находчивостью, так что не исключаю, что существует вариант без использования глобальных переменных, до которого я пока не додумался.
  • Где хранить глобальные переменные?

    xexsus
    @xexsus Автор вопроса
    Экземпляры классов тоже переменные. Если они не вложены в другие экземпляры классов, то они находятся в глобальном пространстве имён. Можно конечно эти объекты искусственно спрятать в статик-классы/функции, но это будет лишь дым и зеркала не меняющие положения вещей.

    Получается, какие-то экземпляры классов высшей абстракции всё равно будут в глобальном пространстве имён (
  • Мультиязычный транслит на PHP?

    xexsus
    @xexsus Автор вопроса
    Да мне хоть костыли, лишь бы работало :)
  • Мультиязычный транслит на PHP?

    xexsus
    @xexsus Автор вопроса
    Эта таблица массива ТОЛЬКО для русского языка? А где китайский, японский, хинди, и.т.д?
  • Мультиязычный транслит на PHP?

    xexsus
    @xexsus Автор вопроса
    И где его взять?
  • Мультиязычный транслит на PHP?

    xexsus
    @xexsus Автор вопроса
    Думаю тут проблема в том, что одни и те же символы используются в разных языках, из-за этого, не зная языка исходного текста, невозможно определить в автоматическом режиме какую букву кодирует символ.
    А особая точность мне не нужна, мне бы хватило приблизительного варианта.
  • Мультиязычный транслит на PHP?

    xexsus
    @xexsus Автор вопроса
    iconv('utf-8','ascii//TRANSLIT','Привет'); // тоже не работает :(