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 :: Bootstrap.PHP создавай шаблоны на Bootstrap быстрее и проще

 PHP.SU

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


 Страниц (2): [1] 2 »   

> Без описания
chalenkoa
Отправлено: 25 Июля, 2013 - 18:13:15
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Июль 2013  


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




Хочу представить вам свой первый open source проект Bootstrap.PHP.
Библиотека предназначена для создание компонентов Twitter Bootstrap с помощью php кода.

PHP:
скопировать код в буфер обмена
  1. <?=
  2. Button::create('Заблокированная кнопка занимающая всю доступную ширину', '/link/', Icon::TYPE_DOWNLOAD)
  3.         ->setType(Button::TYPE_PRIMARY)
  4.         ->setWidth(Button::WIDTH_BLOCK)
  5.         ->setEnable(false);
  6. ?>


Для чего это может быть нужно?
Я верю, что в любой ситуации когда вы используете стандартные компоненты bootstrap, не модифицируя их, вам будет быстрее и удобнее создавать их на Bootstrap.PHP.
Если вы делает панель администратора, а именно там чаще всего и используется Bootstrap, выигрыш от использования Bootstrap.PHP будет особенно заметен.

Лично мне она очень помогла при создании панели профайлера. Панель сделана на основе Navbar с кучей выпадающих списков и окон. Вы представляете какое разнообразие информации в ней представлено и как сильно может отличаться панель от запроса к запросу. Делай я бы ее с помощью обычного php-html шаблона, он бы получился огромный и ориентировать в нем было бы очень сложно. А с помощью Bootstrap.PHP шаблон получился не только на много короче (чуть больше 500 строк), но и на много понятнее.

Использование Bootstrap.PHP созданием админок не ограничивается. Многие компоненты я использовал прямо на сайте например хлебные крошки, Pager, навигация, кнопки, иконки, думаю в будущем пригодиться и другое.

Чем Bootstrap.PHP лучше "чистого" Bootstrap?
Создать выпадающее меню или навигационную панель проще на Bootstrap.PHP, чем на "чистом" Bootstrap. И не только их, чем сложнее компонент, тем более явно это преимущество.
Так как везде работает авто дополнение и прописаны phpdocs на русском, вам скорее всегда даже не придётся заглядывать в документация, чтобы понять, как что-то сделать. Посмотрел на список методов, вспомнил какие возможности есть у компонента.

На кого библиотека ориентирована?
1) Прежде всего на разработчиков делающих свои проекты самостоятельно. Вряд ли такую библиотеку будут использовать в большой команде где верстальщик не знает php.
2) На не очень опытных разработчиков, так как если ты давно работаешь с Bootstrap то возможно для тебе быстрее и привычнее делать все как раньше.
3) На тех кому удобнее работать с библиотеками где документация в коде на русском языке.

Основные пункты, на которые делался акцент при разработке
1) Авто дополнение и документация в коде phpdocs. Это то что делает эту библиотеку такой удобной в использовании
2) Простота. Идея была в том что бы разработчику не пришлось больше заглядывать в документация после того как он с ней в первый раз ознакомился. Не то что он должен был все заполнить, первого ознакомления должно хватить что бы понять принципы.
3) Простое начало. Лично меня всегда подкупает простое начало работы с чужим кодом. Высокий порог входа возьмёшься преодолевать только если уверен, что потом сможешь сэкономить время используя его.

Сайт проекта allking[dot]ru/bootstrap.php/

На сайте можно скачать библиотеку либо посмотреть исходники на гитхабе. Там же есть документация и ссылка на тесты. В документации много примеров, но нет списков параметров методов, их можно посмотреть в phpdocs в самом коде, переносить их в документация просто не хватило времени.


Отредактировано администратором: EuGen, 25 Июля, 2013 - 18:21:37
Прямые ссылки убраны. Если есть необходимость оставлять ссылки, используйте, пожалуйста, разделители [dot] вместо точек для доменов.
 
 Top
DeepVarvar Супермодератор
Отправлено: 25 Июля, 2013 - 18:20:59
Post Id



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


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


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




Перенес в раздел наработок по собственным проектам.

---------------------

Во, интересная штука.
Щас придет Арманчо и ему тоже понравится, т.к. он юзает phpQuery а тут та же идеология, только для твиттер-бутстрапа.

chalenkoa, мерил скока оно ресурсов кушает?
Вообще какие тесты проводил?
 
 Top
caballero
Отправлено: 25 Июля, 2013 - 18:34:02
Post Id


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


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


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




а что делает эта кнопка кроме прописывания class="btn" ?

(Отредактировано автором: 25 Июля, 2013 - 18:41:20)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
chalenkoa
Отправлено: 25 Июля, 2013 - 18:39:09
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Июль 2013  


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




DeepVarvar пишет:

chalenkoa, мерил скока оно ресурсов кушает?
Вообще какие тесты проводил?

Да. Вот тут тесты визуальный что все собирается правильно http://allking[dot]ru/bootstrap.php/tests/ Они отрабатывают на моей домашней машине под виндой за 400 мс из низ где то 250 мс это иконки так как их просто очень много.
Может показаться страшно, и я ждал что когда стану использовать у себя в реальном проекте, это будет заметно. Но оказалось что разницы вообще нет, по времени генерации страниц, ну наверное она есть но она скрывается погрешностью каждый вызов отрабатывает с разбросом в несколько десятков мс
(Добавление)
caballero пишет:
а что делает эта кнопка кроме прописывания class="btn" ?

Странный вопрос.
Зайдите на сайт проекта там больше примеров. Может быть будет понятнее. Если нет можно посмотреть в исходный код на гитхабе там все легком можно увидеть что делать код кнопки

(Отредактировано автором: 25 Июля, 2013 - 18:41:56)

 
 Top
caballero
Отправлено: 25 Июля, 2013 - 18:52:34
Post Id


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


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


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




Цитата:
Если нет можно посмотреть в исходный код на гитхабе там все легком можно увидеть что делать код кнопки


да, я вижу - вы перенесли атрибуты дизайна в код. Так сделано в некоторых фреймворках типа Prado.

Но нынче кагбе принято отделять дизайн от кода.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Crate
Отправлено: 25 Июля, 2013 - 18:59:46
Post Id



Посетитель


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


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




chalenkoa, не проще ли просто юзать документацию?
 
 Top
armancho7777777 Супермодератор
Отправлено: 25 Июля, 2013 - 19:02:52
Post Id



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


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


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




DeepVarvar пишет:
Щас придет Арманчо и ему тоже понравится

Да, посмотрел, понравилось.
Но дальше пункта меню "Labels and badges" не удалось пролистать: меню зафиксировано,
а высота окна моего браузера 600px.
 
 Top
caballero
Отправлено: 25 Июля, 2013 - 19:13:20
Post Id


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


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


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




Цитата:
Да, посмотрел, понравилось.

вы тоже считаете что верстальщику удобнее константы php для стилей?

PHP:
скопировать код в буфер обмена
  1.         // Классы меняющие цвет кнопок
  2.         const TYPE_PRIMARY      = 'btn-primary';
  3.         const TYPE_INFO         = 'btn-info';
  4.         const TYPE_SUCCESS      = 'btn-success';
  5.         const TYPE_WARNING      = 'btn-warning';
  6.         const TYPE_DANGER       = 'btn-danger';
  7.         const TYPE_INVERSE      = 'btn-inverse';
  8.         const TYPE_LINK         = 'btn-link';


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
chalenkoa
Отправлено: 25 Июля, 2013 - 19:23:43
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Июль 2013  


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




caballero пишет:
Но нынче кагбе принято отделять дизайн от кода.

Лично я использую библиотеку прямо в шаблоне. Шаблоны у меня на php. Мог бы писать в шаблоне html а так пишу html с php вставками. Можно и не только в шаблоне. Например есть у меня такое хитрое меню, которое очень сильно меняется от запроса к запросу, так оно прямо в моделях заполняется.
Вообще зря вы сделали акцент на атрибутах. Они в начале документации поэтому и все на них обращают внимание. Они опциональны если вам не нужно можно не пользоваться это не основой функционал. Просто что бы библиотека была применима в реальных проектах нужна максимальная гибкость поэтому и добавлена возможность задавать кастомные атрибуты.
(Добавление)
Crate пишет:
chalenkoa, не проще ли просто юзать документацию?

Название темы есть слова "проще и быстрее". Это не для красного словца. Я использую библиотеку постоянно сам, и имел возможность убедиться, но сколько жизнь становиться с ней проще, на написание шаблонов быстрее. Попробуйте, она очень простая и вы сами в этом убедитесь
(Добавление)
armancho7777777 пишет:
DeepVarvar пишет:
Щас придет Арманчо и ему тоже понравится

Да, посмотрел, понравилось.
Но дальше пункта меню "Labels and badges" не удалось пролистать: меню зафиксировано,
а высота окна моего браузера 600px.

Спасибо что указали на такую проблемы. Я так понимаю она не критична так как всегда есть скролл но все же спасибо.
 
 Top
armancho7777777 Супермодератор
Отправлено: 25 Июля, 2013 - 19:29:33
Post Id



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


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


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




caballero пишет:
вы тоже считаете что верстальщику удобнее константы php для стилей?

Нет, не считаю.
Я так понял, стили в своих файлах, а php вставляет нужные компоненты (кнопки, окна и т.д.) на страницу из вьюшки.

(Отредактировано автором: 25 Июля, 2013 - 19:33:21)

 
 Top
caballero
Отправлено: 25 Июля, 2013 - 19:33:35
Post Id


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


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


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




PHP:
скопировать код в буфер обмена
  1. <?=
  2. Button::create('Заблокированная кнопка занимающая всю доступную ширину', '/link/', Icon::TYPE_DOWNLOAD)
  3.         ->setType(Button::TYPE_PRIMARY)
  4.         ->setWidth(Button::WIDTH_BLOCK)
  5.         ->setEnable(false);
  6. ?>



это проще чем

CODE (html):
скопировать код в буфер обмена
  1. <button class="btn  btn-primary"   disabled>

?

(Отредактировано автором: 25 Июля, 2013 - 19:33:56)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
chalenkoa
Отправлено: 25 Июля, 2013 - 19:33:58
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Июль 2013  


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




caballero пишет:
Цитата:
Да, посмотрел, понравилось.

вы тоже считаете что верстальщику удобнее константы php для стилей?

Главный плюс констант в том что не нужно помнить какие у вас есть варианты, просто используйте авто дополнение по константам с нужным префиксом.
Современные ide делают авто дополнение и по классам, но там все равно нужно помнить какие именно классы нужно использовать для того или иного, а здесь у вас параметры вызова функции где прямо указано на необходимость использовать константу определенного типа (читай с определенным префиксом)Современные ide делают авто дополнение и по классам, но там все равно нужно помнить какие именно классы нужно использовать для того или иного, а здесь у вас параметры вызова функции где прямо указано на необходимость использовать константу определенного типа (читай с определенным префиксом)
 
 Top
caballero
Отправлено: 25 Июля, 2013 - 19:35:48
Post Id


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


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


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




Цитата:
Я так понял, стили в своих файлах, а php вставляет нужные компоненты (кнопки, окна и т.д.) на страницу из вьюшки.

видимо вы подумали что это наподобие как у меня
(Добавление)
Цитата:
Главный плюс констант в том что не нужно помнить какие у вас есть варианты, просто используйте авто дополнение по константам с нужным префиксом.

минус в том что верстальщики предпочитают работать все таки с html а не с PHP

(Отредактировано автором: 25 Июля, 2013 - 19:37:53)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
armancho7777777 Супермодератор
Отправлено: 25 Июля, 2013 - 19:37:04
Post Id



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


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


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




chalenkoa, а теперь представьте, что сайт уже готов, и через год захотелось сменить дизайн. Как будете верстать ?
(Добавление)
caballero пишет:
видимо вы подумали что это наподобие как у меня

Да )
 
 Top
chalenkoa
Отправлено: 25 Июля, 2013 - 19:39:32
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Июль 2013  


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




caballero
Во первых Вы привели не равноценные куски кода.
Во вторых есть и более сложные элементы чем кнопки и там ваш аргумент будет играть против вас.
Код на php будет короче, в реальной жизни чем на html.
В моем конеретной случае с профайлером до внедрения bootstrap.php шаблон занимал больше 1000 строк после стал чуть больше 500
Хотя длинна кода ерундовый аргумент
Главное читаемость кода и его сопровождаемость. Вот она увеличилась даже не в 2 раза. но это субъективно конечно
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Наработки по собственным проектам »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB