Пол года назад занялся портированием компонентов Google Material design components на php.
В какой то момент решил воспользоваться материальным дизайном и начал пользоваться mdc.
Долго разбирался что и как, много общался с гугловыми разрабами, плевался слюной и много матерился.
Но все же решил, что в будущем откажусь от bootstrap и перейду на mdc.
Так началась разработка компонентов для php. Первоначально компоненты должны были использоваться в любом фреймворке или просто на php. Но в итоге перешел с шаблонизаторов на класс HTML, потом добавился ArrayHelper, ActiveForm, ActiveField, GridView.
В целом компоненты можно использовать в любом фреймворке.
Т.к. компоненты используются исключительно в мобильном исполнении, о чем пришлось не раз спорить с гугловыми разрабами. Я начал свой проект MDC основанный на Google MDC, доработанный под использование в десктопах и мобильных приложениях. Сделал использование компонентов удобнее. При добавлении нового компонента, допустим переключателя:
Код: Выделить всё
echo Radio::one('Radio1', ['name' => 'group1'])
->setId('radio1')
->render();
Код: Выделить всё
app.controls.add('radio1', 'radio', []);
Получить доступ к компоненту можно так:
Код: Выделить всё
app.controls.item('radio3').checked = true;
app.controls.item('radio3').disabled = true;
Код: Выделить всё
app.controls.addObject(app.utils.FormProcessing('loginform',{"control":"submit","unblock":false}));
Код: Выделить всё
app.controls.item('loginform').onSuccess(response => {
location.href = response.data.url;
});
Документацию своял за два дня.
И так ссылки на документацию:
Github project Documentation Google MDC
Google Components
Мои разработки
Generate MDC template
Material Components for the php or yii2
Demos
Проект Open source. На данный момент проект завис, т.к. нет денег, нечего есть )
Проект хотелось уже выложить в открытый доступ.
Больше примеров и документации по ссылкам.
Всем спасибо!