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 :: Самопис для форума [6]
Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014
Помог: 10 раз(а)
[+]
Мелкий пишет:
А, ещё момент, надо штатно обрабатывать ошибку подключения к слейву - если слей недоступен, пробовать другой или вовсе мастера пинать.
Если честно, это не приложения дело.
Максимум зачем приложению нужно слейв/мастер, что бы читать после записи из мастера. А делать fallover в приложении архитектурно криво.
----- self-banned
tuareg
Отправлено: 17 Декабря, 2014 - 21:10:55
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Мелкий пишет:
`cookie` COMMENT 'unknown column'
Это актуальное значение куки чтобы поднять профиль
Мелкий пишет:
`time_zone` COMMENT 'unknown column'
Временная зона пользака в виде +hh:mm, ибо в пыхе с часовыми поясами как-то не ахти, и я перенес это дело на плечи БД. Приложение берет таймзону либо дефолтную, либо из профиля пользака.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
MiksIr пишет:
А делать fallover в приложении архитектурно криво.
Возможно. Ваш вариант?
Тот материал, что знаю - обсуждалось именно на стороне приложения. И failover, и шардирование РСУБД обсуждалось в контексте приложения.
tuareg пишет:
Ибо это же InnoDb он все равно прицепит к индексу в конце PK. Проверил на тестовой табличке в обоих случаях Using index
Вообще, ради index scan'а.
И правда судя по всему тот же самый index scan и получается. Спасибо за пинок.
DeepVarvar пишет:
можно заenumить, а смысл?
Удобочитаемость данных. И всё равно тот же самый байт данных.
DeepVarvar пишет:
Какой по дефолту поставить? Или не ставить совсем?
Я предпочитаю assoc, у тебя видел пока только object
----- PostgreSQL DBA
DeepVarvar
Отправлено: 17 Декабря, 2014 - 22:37:10
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Мелкий пишет:
Я предпочитаю assoc, у тебя видел пока только object
Очень часто тащу как column, как для нескольких строк, так и для одной:
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Пробежался по классу Request и вот что не понравилось
1. Экземпляр класса Request на мой взгляд должен предоставлять доступ к данным которые пришли с запросом пользователя/бота(пофиг).
2. public static function init() - Соответственно Request не должен ничего инициализировать. Если нужно что то проинициализировать - это надо описать вне этого класса + не понравился доступ к объекту через публичное свойство в методе init(лучше методом-геттером а свойство - приватным).
3. public static function redirect($destination) редиректить Реквест тоже никого не должен. Это скорее плагин контроллера чем часть реквеста
4. public static function isPost() тут у тебя есть такая штука isset($_POST) и зря. $_POST всегда isset, даже когда ты сделал запрос методом GET.
5. private static function _storeClientInfo() тоже фтопку. Реквест ничего сторить не должен
6. _preValidateRequest и валидировать тоже. Все таки это не валидатор а реквест(см пункт 1)
Остальное пока не смотрел. Времени совсем нету...
P.S: смотрел достаточно бегло, возможно упустил что то ещё.
DeepVarvar
Отправлено: 17 Декабря, 2014 - 22:48:47
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
teddy пишет:
Экземпляр класса Request
Экземпляр не создается, все методы статические.
teddy пишет:
public static function init()
Считай что это __construct() и в целом Request это конечный автомат устанавливающий некоторые внутренние состояния.
teddy пишет:
public static function redirect($destination) редиректить Реквест тоже никого не должен
Ну, ради трехстрочного метода создавать еще один класс, как-то не то. Пусть в реквесте пока лежит.
teddy пишет:
isset($_POST) и зря. $_POST всегда isset
Проверь-ка это в CLI режиме ))
teddy пишет:
_storeClientInfo() тоже фтопку. Реквест ничего сторить не должен
Request это конечный автомат устанавливающий некоторые внутренние состояния.
teddy пишет:
_preValidateRequest и валидировать тоже
Есть ли смысл работать дальше, если запрос клиента невалиден?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.