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
Форумы портала PHP.SU :: Версия для печати :: Bootstrap.PHP создавай шаблоны на Bootstrap быстрее и проще
Форумы портала PHP.SU » Объявления » Наработки по собственным проектам » Bootstrap.PHP создавай шаблоны на Bootstrap быстрее и проще

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

1. chalenkoa - 25 Июля, 2013 - 18:13:15 - перейти к сообщению
Хочу представить вам свой первый 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 в самом коде, переносить их в документация просто не хватило времени.
2. DeepVarvar - 25 Июля, 2013 - 18:20:59 - перейти к сообщению
Перенес в раздел наработок по собственным проектам.

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

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

chalenkoa, мерил скока оно ресурсов кушает?
Вообще какие тесты проводил?
3. caballero - 25 Июля, 2013 - 18:34:02 - перейти к сообщению
а что делает эта кнопка кроме прописывания class="btn" ?
4. chalenkoa - 25 Июля, 2013 - 18:39:09 - перейти к сообщению
DeepVarvar пишет:

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

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

Странный вопрос.
Зайдите на сайт проекта там больше примеров. Может быть будет понятнее. Если нет можно посмотреть в исходный код на гитхабе там все легком можно увидеть что делать код кнопки
5. caballero - 25 Июля, 2013 - 18:52:34 - перейти к сообщению
Цитата:
Если нет можно посмотреть в исходный код на гитхабе там все легком можно увидеть что делать код кнопки


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

Но нынче кагбе принято отделять дизайн от кода.
6. Crate - 25 Июля, 2013 - 18:59:46 - перейти к сообщению
chalenkoa, не проще ли просто юзать документацию?
7. armancho7777777 - 25 Июля, 2013 - 19:02:52 - перейти к сообщению
DeepVarvar пишет:
Щас придет Арманчо и ему тоже понравится

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

вы тоже считаете что верстальщику удобнее константы 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';
9. chalenkoa - 25 Июля, 2013 - 19:23:43 - перейти к сообщению
caballero пишет:
Но нынче кагбе принято отделять дизайн от кода.

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

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

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

Спасибо что указали на такую проблемы. Я так понимаю она не критична так как всегда есть скролл но все же спасибо.
10. armancho7777777 - 25 Июля, 2013 - 19:29:33 - перейти к сообщению
caballero пишет:
вы тоже считаете что верстальщику удобнее константы php для стилей?

Нет, не считаю.
Я так понял, стили в своих файлах, а php вставляет нужные компоненты (кнопки, окна и т.д.) на страницу из вьюшки.
11. caballero - 25 Июля, 2013 - 19:33:35 - перейти к сообщению
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>

?
12. chalenkoa - 25 Июля, 2013 - 19:33:58 - перейти к сообщению
caballero пишет:
Цитата:
Да, посмотрел, понравилось.

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

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

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

минус в том что верстальщики предпочитают работать все таки с html а не с PHP
14. armancho7777777 - 25 Июля, 2013 - 19:37:04 - перейти к сообщению
chalenkoa, а теперь представьте, что сайт уже готов, и через год захотелось сменить дизайн. Как будете верстать ?
(Добавление)
caballero пишет:
видимо вы подумали что это наподобие как у меня

Да )
15. chalenkoa - 25 Июля, 2013 - 19:39:32 - перейти к сообщению
caballero
Во первых Вы привели не равноценные куски кода.
Во вторых есть и более сложные элементы чем кнопки и там ваш аргумент будет играть против вас.
Код на php будет короче, в реальной жизни чем на html.
В моем конеретной случае с профайлером до внедрения bootstrap.php шаблон занимал больше 1000 строк после стал чуть больше 500
Хотя длинна кода ерундовый аргумент
Главное читаемость кода и его сопровождаемость. Вот она увеличилась даже не в 2 раза. но это субъективно конечно

 

Powered by ExBB FM 1.0 RC1