PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (14): « 1 2 3 4 [5] 6 7 8 9 ... » В конец    

> Без описания
Мелкий Супермодератор
Отправлено: 17 Декабря, 2014 - 14:17:39
Post Id



Активный участник


Просматривает форум
Сообщений всего: 11478
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 554 раз(а)




esterio пишет:
то как часто происходит правка локализаций

Регулярно.

Bio man пишет:
Зачем перелопачивать? Поиск по папке локализаций и готово. Можно даже с автозаменой.

И нафига плодить места для ошибок?

Dastor пишет:
Плюс сразу видно о каком тексте идет речь.

Именно. Не только что написано - важнее для чего.


-----
Если вы не знаете, почему это работает, вероятно, оно и не работает на самом деле. (С.Макконнелл)...
 
 Top
Viper
Отправлено: 17 Декабря, 2014 - 16:56:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 4565
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Bio man пишет:
или по исходному сообщению
запихнем туда не только текст а и спецсимволы и ещё html вдруг может быть. Что в итоге получаем? Не удобочитаемость, а *ерню.

Dastor пишет:
Второй параметр - текст по дефолту, если вдруг по ключу не найден перевод в локализации. Плюс сразу видно о каком тексте идет речь (если ключ не понятный).
это верно если текст небольшой. А если вдруг почти абзац текста? Тоже дефолтный абзац текста лепить будете? И да почему дефолтный на англ.? Может я на тайском хочу!


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
MiksIr
Отправлено: 17 Декабря, 2014 - 17:20:17
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


Dastor пишет:
А почему бы тогда не использовать классический вариант.

Я не знаю, что вы считаете классикой, но если Yii, то первый параметр - это не ключ, а неймспейс, а фраза как раз ключ

Viper пишет:
А если вдруг почти абзац текста? Тоже дефолтный абзац текста лепить будете?

Никаких проблем, если не доводить до абсурда и не переводить так вьюшки состоящие из текста.

Viper пишет:
И да почему дефолтный на англ.? Может я на тайском хочу!

Да хоть на японском, главное что бы совпадал с дефолтным языком из настроек приложения.


-----
self-banned
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Декабря, 2014 - 17:57:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 10421
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Мелкий пишет:
или же добавляется впоследствии для тех мест, где это реально требуется
Так и задумывал. Просто кешировать нужный тяжелый кусок, мемкешем, в файл, etc.
Мелкий пишет:
misc/main-EXAMPLE.json - default_description и ключевики - выкинуть
При выводе есть нормализация, если где-то добавили свои - будут нужные, в противном случае этот дефолт.
Мелкий пишет:
cookie_expires_time, спасибо, поржал. А чего не 10 лет?
Да хоть пол часа, этж конфиг.
Мелкий пишет:
db.slave - должен быть массивом. Слейвов может быть много.
В тот же блок конфига можно добавить сколько угодно слейвов.
Мелкий пишет:
application/logs/non-empty-dir.t xt - обычно же .gitignore пустой кладут.
Не гитигнор, а еще какую-то шляпу. Не помню, потому забросил что первое пришло в голову.
Мелкий пишет:
application/core/ мне не понравилось всё в куче и без NS
Это только ради чтобы отличать ядерные компоненты от неядерных. Есть резон занеймспейсить?
Мелкий пишет:
ClassUtils::isCallableMethod нафига?
Во первых - может понадобиться в другом месте, во вторых, есть ощущение, что добавится еще пара методов.
Мелкий пишет:
DBC - чтобы постоянно не писать fetch(PDO::что-то там) имеет смысл поставить глобально PDO::ATTR_DEFAULT_FETCH_MODE
Принято.
Мелкий пишет:
Ну и довольно по-дурацки выглядит требование StdClass $params, только затем, чтобы привести к массиву
Скорее это просто узкое место, где я на скорую руку кастанул к массиву.
Мелкий пишет:
Logger - мне очень не нравится exit при проблемах
С конфигами так же. Предполагается что, если права доступа не настроены, то и работать не будет.
Мелкий пишет:
Мне кажется инициировать fatal error неперехваченным исключением будет честнее
Ранее у меня был замысел запилить полноценный error_handler, вплоть до нотайсов, но потом стало понятно, что, либо ты пишешь и тестируешь, либо уже все работает. И тебе как разработчику не особо важно в каком виде ты наблюдаешь ошибку.
Мелкий пишет:
front-controller для 5.2 написан был?
Да, там много чего от 5.2, предлагай замену конкретнее.
Мелкий пишет:
Останавливаемся на mysql?
Перед сном подумал вынести в настроки, чтобы не только мускуль ставить можно было.
Мелкий пишет:
по БД
Можешь сделать готовым дампом с поправками на ветер?
 
 Top
Viper
Отправлено: 17 Декабря, 2014 - 17:58:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4565
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




MiksIr пишет:
главное что бы совпадал с дефолтным языком из настроек приложения.
бред. Я могу вообще не знать какой дефолтный язык там где-то...


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Мелкий Супермодератор
Отправлено: 17 Декабря, 2014 - 18:18:44
Post Id



Активный участник


Просматривает форум
Сообщений всего: 11478
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 554 раз(а)




DeepVarvar пишет:
При выводе есть нормализация, если где-то добавили свои - будут нужные, в противном случае этот дефолт.

Да, я понял. И именно об этом и говорю - выкинуть. Их отсутствие - это лучше, чем непонятно что стандартное.

DeepVarvar пишет:
В тот же блок конфига можно добавить сколько угодно слейвов.

Каким образом?
Пункт slave - один, и это не массив хостов.
DBI::getConnection('slave') должен возвращать любой один из нескольких слейвов.
Мастер - да, мастер один. От мультимастера держаться так далеко, как это только возможно.

DeepVarvar пишет:
Во первых - может понадобиться в другом месте

Вообще нафига. Какой смысл проверять isPublic и isStatic на продакшене? А в dev и так видно будет.

DeepVarvar пишет:
И тебе как разработчику не особо важно в каком виде ты наблюдаешь ошибку.

Оно и видно по app:dump Подмигивание
Нет, error_handler нужен. В случае чего пропущенного чтобы отобразить страницу ошибки и, что более важно, сразу остановить выполнение скрипта.

DeepVarvar пишет:
Да, там много чего от 5.2, предлагай замену конкретнее.

Просто обратил внимание. Первый раз увидел spl_autoload_register с указанием именно имени функции. Обычно или лямбда или ссылка на статический метод класса.

DeepVarvar пишет:
Перед сном подумал вынести в настроки, чтобы не только мускуль ставить можно было.

Вопрос был, как обычно, с подвохом. Ведь если ограничиваемся одной СУБД - то из неё можно выжать всё, что умеет. Если несколько - начинаются проблемы, в первую очередь с тестированием.

DeepVarvar пишет:
Можешь сделать готовым дампом с поправками на ветер?

Угу.


-----
Если вы не знаете, почему это работает, вероятно, оно и не работает на самом деле. (С.Макконнелл)...
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Декабря, 2014 - 18:25:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 10421
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Ihor пишет:
какие громкие слова Недовольство, огорчение и главное так нервно вдруг
Не парься, это же речь-зазывалка, но многое в ней правда.
Ihor пишет:
Мнеб былоб пофиг есиб не увидел такой странного тона и таких слов.
Представь что не увидел таких слов. Или тебе и правда пофиг?
Ihor пишет:
на каждого юзвера, на каждый запрос, дергать файловую систему и парсинг с регуляркой ?
Мелкий пишет:
И парсинг PHP обходится дороже, INI или JSON быстрее. http://habrahabr[dot]ru/post/112402/



Ihor пишет:
навернуто все через массивы
Конкретное предложение для конкретного места будет?
Ihor пишет:
select !!!! * !!!!
Да, это ВСЕ данные в профиль.
Ihor пишет:
почему не взять отлаженный кернел и на нем построить?
Вопрос не к тебе, но, тем не менее. А почему никто вообще ничего не взял?



Zuldek пишет:
Проще поставить лишнюю плашку памяти и сосредоточить усилия на том, что действительно надо писать ручками
Плашка памяти - это как-то слишком оптимистично, при 20-50 метрах на один запрос клиента. Тебе так не кажется?
MiksIr пишет:
Потому что ему так хочется, а остальным пофиг
О, чуть тебя не пропустил, вдруг подумаешь что я тебя игнорю))
Не так. Наоборот. Сначала всем было пофиг, а потом мне захотелось.
MiksIr пишет:
Там нет архитектуры. Какой-то набор полупустых классов обильно пересыпанных статикой.
А ты посмотри еще разок, может увидишь всетаки. Буквально пару дней назад общался с Евгеном, ты его врядли знаешь, остальные в курсе кто это. Мы так и не пришли к общему знаменателю в теме (new ClassName) vs (all static functions) в контексте синглтона. У каждого из нас были свои аргументы.
Panoptik пишет:
писать запросы руками и вв каждом экшене определять обработку ошибок в 5-10 строк - уныло
Во первых - ты писал на старой версии. Во вторых - никто не ограничивает тебя сделать какие-то модели и юзать их.
Panoptik пишет:
работая с фв получаешь морально удовольствие
фапаешь на код фв? ))
Panoptik пишет:
автолоадера, чтобы избежать повторного реквайра или инклуда
Автолоад сам проверяет на уровне ядра пхп подгружался класс ранее или нет, эти плюхи импорта не нужны.
Panoptik пишет:
мы живем в эпоху дешевых серверов и доступных мощностей
Как-то не вовремя ты это сказал, учитывая что курс бакса и евро растет ))
Panoptik пишет:
можно продолжить этим заниматься для поднятия ЧСВ автора или для набивания шишек, но не для продакшна
Повторю - я тебе в личку писал, бери и ковыряй свои фв, выкладывай, будем делать. Ты поднял тестовый проект? Видимо нет. Причем тут мое чсв?
Zuldek пишет:
У того же ZF к слову в ядре методы для работы с любым типом конфига
Тот же ZF кеширует роуты и конфиги по дефолту, если бы он этого не делал - жрал бы вместо 2 метров уже 10.

Фухх, добрался до конца страницы )))
 
 Top
Мелкий Супермодератор
Отправлено: 17 Декабря, 2014 - 18:30:42
Post Id



Активный участник


Просматривает форум
Сообщений всего: 11478
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 554 раз(а)




\Member
PHP:
скопировать код в буфер обмена
  1. foreach ($data as $k => $v) {
  2.                             self::$_profile->{$k} = $v;

Хм, разве нужно пояснять, чем ужасна идея публичных свойств на запись?
Если хочется обращаться как Member::getProfile()->id, то это надо делать через __get и c запретом изменений в __set.


-----
Если вы не знаете, почему это работает, вероятно, оно и не работает на самом деле. (С.Макконнелл)...
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Декабря, 2014 - 18:38:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 10421
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Ihor пишет:
вас не смущают лишние запросы к файловой системе на каждый клик ? вы ведь не с базой работаете а с дисковым пространством что создает очередь и лишнюю нагрузку.
APC/xcache, точка.
Ihor пишет:
раскидывая ресурсы, картинки, базы , кеши на разные хосты
Предусмотрено.
Dastor пишет:
Второй параметр - текст по дефолту
Пишите одну локаль, русскую только пока. Потом когда все будет готово, тупо сели, скопипастили для англичкой или любой другой и перевели сразу всю локаль.
Ключи уже будут в коде захардкожены, но это ключи, их менять не нужно.
MiksIr пишет:
Этот "ужасный" подход используется в боготворимом вами линуксе и называется gettext
Совершенно не аргумент. Ты просто куснул.
(Добавление)
MiksIr пишет:
Да хоть на японском, главное что бы совпадал с дефолтным языком из настроек приложения.
А если не совпадает, то править все вьюхи?
 
 Top
MiksIr
Отправлено: 17 Декабря, 2014 - 18:42:32
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


Viper пишет:
бред. Я могу вообще не знать какой дефолтный язык там где-то...

т.е. вы лезете руками что-то править в коде не разобравшись - как он работает и с какими настройками?
Ну, я в вас не ошибся =)
DeepVarvar пишет:
Буквально пару дней назад общался с Евгеном, ты его врядли знаешь, остальные в курсе кто это. Мы так и не пришли к общему знаменателю в теме (new ClassName) vs (all static functions) в контексте синглтона. У каждого из нас были свои аргументы.

Если отбросить то, что оба варианта говно, только одно на палочке, а другое в бумажке, то у этих вариантов совершенно разные области применения, которые фактически не пересекаются. Не знаю о чем тут спорить.
(Добавление)
DeepVarvar пишет:
Совершенно не аргумент. Ты просто куснул.

Что вам не аргумент все, кроме "я" - это давно уже мне понятно, я даже конкретно с вами спорить не буду, не интересно. Немного непонятен ваш какой-то локально-деревенский диалект русского языка, ну да ладно.
DeepVarvar пишет:
А если не совпадает, то править все вьюхи?

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


-----
self-banned
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Декабря, 2014 - 18:52:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 10421
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Мелкий пишет:
Да, я понял. И именно об этом и говорю - выкинуть
Принято.
Мелкий пишет:
DBI::getConnection('slave') должен возвращать любой один из нескольких слейвов.
Понял. Но, уточни, на каком основании я должен выбирать? Смещать указатель в кольцевом буфере? Держать все эти коннекты открытыми или с ленивым инитом запилить?
Мелкий пишет:
Вообще нафига. Какой смысл проверять isPublic и isStatic на продакшене? А в dev и так видно будет.
В частности - роутер проверяет наличие и доступность к вызову какого либо экшна. Более того - в продакшн режиме (как и в деве) в лог так же будет подробно записано что такойто вася ломился вот по такому то урл и пытался запустить вот такой экшн.
Мелкий пишет:
В случае чего пропущенного чтобы отобразить страницу ошибки и, что более важно, сразу остановить выполнение скрипта
Так оно есть, но только для внутренних ошибок. Не знаю, я считаю что ошибки уровня фатал, ворнинг, нотис не должны быть перехвачены, т.к. эти ошибки могут появиться только во время разработки.
Мелкий пишет:
Вопрос был, как обычно, с подвохом.
Ну тогда не выносить? Пусть будет захардкожен мускуль?
Мелкий пишет:
Угу.
Скинь чтоли Romandry свой акк на гитхабе, пусть тебя добавит на запись. Чую не один раз дампик еще исправленый закинешь.
(Добавление)
Мелкий пишет:
Хм, разве нужно пояснять, чем ужасна идея публичных свойств на запись?
Если хочется обращаться как Member::getProfile()->id, то это надо делать через __get и c запретом изменений в __set.
Запилил пока так, потому, что еще не известно какие поля будут добавлены в таблицу пользаков и дефолтный конфиг. А обращение Member::getProfile()->id ты ж не сможешь поменять там значение извне.
(Добавление)
MiksIr пишет:
Если не совпадает, то вы допускаете существования приложения, которое часть сообщений выводит на одном языке, а часть - на другом
Вот изначально этого я и не допускаю. Какие профиты в таком допущении?
(Добавление)
MiksIr пишет:
области применения, которые фактически не пересекаются
И, в таком случае объясни чем именно не подходит по области применения то, что имеется.
 
 Top
MiksIr
Отправлено: 17 Декабря, 2014 - 19:07:26
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


DeepVarvar пишет:
И, в таком случае объясни чем именно не подходит по области применения то, что имеется.

Когда юнит тесты писать начнете, сами все поймете.


-----
self-banned
 
 Top
Viper
Отправлено: 17 Декабря, 2014 - 19:41:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 4565
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




MiksIr пишет:
т.е. вы лезете руками что-то править в коде не разобравшись - как он работает и с какими настройками?
Ну, я в вас не ошибся =)
тролить идите на хабр. Тут не нужно. И тем более ваш сарказм тут не уместен. По вашим постам видно только, что все вокруг пишт говно и вы истина в последней инстанции.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Декабря, 2014 - 20:18:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 10421
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




MiksIr пишет:
Когда юнит тесты писать начнете, сами все поймете.
Об этом я знаю, но, как юнит-тесты относятся к области применения?
 
 Top
Мелкий Супермодератор
Отправлено: 17 Декабря, 2014 - 20:31:09
Post Id



Активный участник


Просматривает форум
Сообщений всего: 11478
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 554 раз(а)




DeepVarvar пишет:
Но, уточни, на каком основании я должен выбирать?

Где-то ранее писал - алгоритм выбора меняется при необходимости.
Одиночный mt_rand как начальный вариант, достаточно открыть один коннект к любому слейву - его и представлять как единственный slave, а остальные - в этом http-запросе игнорировать.
А, ещё момент, надо штатно обрабатывать ошибку подключения к слейву - если слей недоступен, пробовать другой или вовсе мастера пинать.

DeepVarvar пишет:
В частности - роутер проверяет наличие и доступность к вызову какого либо экшна.

Угу. Зачем? method_exists достаточно. Статик или закрытый метод - ошибка разработки.

DeepVarvar пишет:
в лог так же будет подробно записано что такойто вася ломился вот по такому то урл и пытался запустить вот такой экшн.

Зачем дублировать error.log nginx'а? Там 404 будет штатно и так.

DeepVarvar пишет:
А обращение Member::getProfile()->id ты ж не сможешь поменять там значение извне.

Да ну? Ещё как смогу. Объекты же всегда по ссылке передаются.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class Member {
  3.         private static $obj = null;
  4.         public static function getProfile() {
  5.                 return self::$obj;
  6.                 }
  7.         public static function init() {
  8.                 self::$obj = (object) array('id'=>7771);
  9.                 }
  10.         }
  11. Member::init();
  12.  
  13. Member::getProfile()->id = 1;
  14. var_dump(Member::getProfile()->id);


DeepVarvar пишет:
Скинь чтоли Romandry свой акк на гитхабе, пусть тебя добавит на запись.

Засветился в pull-реквесте. Захотелось наконец разобраться, как их делают. А то я всё с доступом на запись.


-----
Если вы не знаете, почему это работает, вероятно, оно и не работает на самом деле. (С.Макконнелл)...
 
 Top
Страниц (14): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Колонка администратора »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB