Поддержка горизонтальной разметки DB с помощью FuelPHP

Это K из офиса в Саппоро.

Традиционно создание серверной системы (среда LAMP) было сфокусировано на разработке собственной структуры, но в последние годы все больше и больше используются рамки с открытым исходным кодом.

Внутренняя структура не плохая, но если это открытая структура, я думаю, будет ли легко взять на себя операции другой компании, или если вы разрабатываете ее в обратном порядке и обрабатываете операции другой компании.

Итак, я бы хотел написать «Советы по БД», что я не осторожно отношусь к FuelPHP, что я слышал, что на этот раз он широко используется в социальных играх и других событиях.

* Подробнее о том, какие бедра FuelPHP есть, см. В японском документе.

(Японский документ FuelPHP)http://fuelphp.jp/

 

■ Среда создана на этот раз

На этот раз мы провели проверку в следующей среде.

Apache 2.2.22

PHP 5.4.44

mysql 5.5.44,

Топливо PHP 1.7.3

Хотя это называется вакантной внутренней средой изучения, версия PHP немного устарела, но FuelPHP ее поддерживает.

Кстати, последняя версия FuelPHP версии 1.8, и она также поддерживает PHP 7!

Я хотел бы загрузить там любые отчеты.

 

Советы!

■ Поддержка горизонтального разбиения таблицы БД

Горизонтальное разбиение таблиц базы данных является эффективным методом балансировки нагрузки в социальных играх.

Тем не менее, горизонтальное деление, соответствующее FuelPHP, неожиданно не имеет информации, и его нужно пошарить.

Хотя FuelPHP имеет функцию разделения самой БД на главный и подчиненный, обработка в случае горизонтального разбрасывания таблицы не принимается во внимание, и хорошие образцы не могут быть найдены.

 

Поэтому мы создали модель, которая расширяет существующую модель ORM и решила выбрать таблицу в соответствии с условиями.

Для каждого класса процессов и дочерних моделей эта модель расширения наследуется и используется. (Это обычная процедура ..)

 

В этом механизме мы сделали следующее.

· Создайте связь, которая отменяет класс соединения,

Среди них таблица выбирается на основе правила деления.

· Подготовьте класс для наследования, чтобы не делиться на разделенную таблицу,

Сделайте настройку разделения.

· Отдельные классы таблиц наследуют вышеупомянутый класс наследования и выполняют разные вещи.

 

Написание это заставляет меня чувствовать себя немного сложным, но это будет почти следующим образом.

fig001

Например, если вы его найдете, это на самом деле означает, что это механизм для обновления своего собственного класса в Query :: forge, так что это нормально.

Когда класс автоматически создается с помощью Scaffold и т. Д., Его необходимо переписать.

 

В нашей компании мы готовим таблицу с распределенными адресами и получаем ее из таблицы, полученной каждым пользователем (в _ 0 и т. Д.). Я думаю, что эта область является частью дизайна.

 

■ Бродяга

Конфигурационный файл конфигурации файла PHP был описан как скопированный из ядра и перезаписан, тот, который был переписан, будет принят, но

В среде, отличной от разработки, мы обнаружили, что config под ядром будет жить.

Поэтому в файле конфигурации, который я скопировал на этот раз, я настроил с помощью mysqli, но как только я изменил среду на производство, это ошибка! !

В результате проверки это было ошибкой, поскольку по умолчанию для конфигурации ядра был pdo.

 

Поскольку FuelPHP часто переписывает основное ядро, представляется необходимым быть осторожным.

 

■ впечатления

Я чувствовал, что FuelPHP прост в использовании и расслаблен, но поскольку он также требует некоторой способности чтения, я подумал, что лучше настроить его и использовать.

В будущем я хотел бы затронуть различные вещи, а также FuelPHP.