Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Классическая игра в аркадном стиле для любителей ретро-игр. Защитите космический корабль с Печенькой (и не только) на борту, проходя уровни.

Космический арканоид

Арканоид, Аркады, Веселая

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
2
nin.jin
nin.jin
2 года назад
Типичный программист
Серия Разнос от Карловского

Препарируем Vue и находим родовые травмы⁠⁠

Мелкозернистая ленивая реактивность, но..

- При всплытии исключения компонент просто исчезает
- Нет отсечения эквивалентных изменений.
- Неконсистентное состояние при циклических зависимостях.

Показать полностью
[моё] Программирование IT Программист Веб-разработка Исследования Веб фреймворки Javascript HTML CSS Видео YouTube
7
nin.jin
nin.jin
2 года назад
Типичный программист
Серия Разнос от Карловского

Препарируем Svelte и обнаруживаем в нём патологии⁠⁠

- Не перехваченное исключение ломает всё приложение..
- Отслеживание изменений ломается на мутациях, отличных от присвоения.
- При компиляции код компонента раздувается на порядок.
- Две модели реактивности, работающие по разным принципам, суммирующие недостатки друг друга.

[моё] Программирование YouTube IT Веб фреймворки Frontend Javascript Видео
5
nin.jin
nin.jin
2 года назад
Типичный программист
Серия Разнос от Карловского

Препарируем SolidJS и обнаруживаем в нём паталогии⁠⁠

Обнаруженные проблемы:

- Система реактивности капитально ломается при исключениях
- ErrorBoundary перехватывают не все исключения
- Memo вычисляются когда они никому не нужны.
- Без обмазывания batch-ами, эффекты (включая полную актуализацию DOM) вызываются для грязного состояния

Финал стрима не записался, да.

Показать полностью
[моё] Программирование IT Frontend Веб фреймворки Видео YouTube
7
12
mt.l
mt.l
2 года назад
IT-юмор

Новый JavaScript фреймворк⁠⁠

http://vanilla-js.com/

Новый JavaScript фреймворк IT, Javascript, Программирование, IT юмор, Веб фреймворки
Показать полностью 1
IT Javascript Программирование IT юмор Веб фреймворки
8
4
webpack
webpack
2 года назад
Symfony

Sonata Admin для Symfony⁠⁠

Предисловие:

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

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

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

В моей практике, самым используемым бандлом вместе с Symfony является бандл Sonata Admin. Ссыль на мануалы актуальной версии тут.

Что такое Sonata Admin bundle?

Это такой пакет для Symfony, который позволяет очень просто создать админ-панель для практически любого проекта.

Сложными словами: пакет, который позволяет создать конфигурируемый интерфейс редактирования сущностей ORM-модели.

Пакет работает с любыми типами баз данных, совместимыми с symfony. В моей практике были работы с MySQL и PostgreSQL.

И как это работает?

Все просто. Открываем сайт с мануалом, устанавливаем, потом просто открываем /admin и вуаля, у нас пустая админка для сайта. На скрине не совсем пустая, тут еще прикручено пару вещей, но общий смысл будет понятен.

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

А если добавить еще и какой-нибудь User Bundle, например FOSUserBundle, то при входе в админку будет еще и авторизация. А так же в админке можно будет добавлять и редактировать пользователей у вас на проекте.

Кстати, в Symfony можно легко поменять любой шаблон в бандле и вставить свой логотип, например. Или вообще другое оформление, но про это как-нибудь в другой раз.

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

А что дальше?

А дальше в админку можно добавить для редактирования любую таблицу, которую вы используете на проекте.

Нужно описать таблицу в App\Entity, создать конфигурацию для админки в App\Admin, потом просто подключить все к админке в config/services.yaml

Какой ты простой, скажет читатель, все рассказал, но ничего не понятно, давай пример.

Вот и пример.

Блог

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

1) Нужно описать таблицу в App\Entity

Займемся этим. Что нам нужно для примитивной запись в блоге? Конечно же Заголовок, Контент, дата публикации и уникальный идентификатор записи, чтоб ее можно было открыть по ссылке.

Создаем Entity/News/Post.php

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

@moderator, а не планируется функционал вставки кода в редакторе?

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

Про то как осуществлять мапинг в Доктрине, я думаю, нужно рассказать отдельным постом. Пока что, если вы не знаете что там происходит, просто примите код таким, какой он есть.

Нужно не забыть добавить функцию

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

Эта функция обеспечит автоматическое добавление даты создания в пост, именно в момент его создания.

Так же, описываем геттеры и сеттеры, людям, что знакомы с ООП, это все знакомо, приводить код в пример не буду. Если очень лень, многие IDE умеют генерировать все сами. Например, phpStorm предлагает целое меню того, что можно сгенерировать

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

А так же, можно создавать entity не вручную, а через команду в консоли php bin/console make:entity, которая задаст несколько вопросов про типы полей и сама все сделает - это довольно удобно, но я привык вручную, так уж вышло.

Не забудьте сделать миграцию и применить ее.
php bin/console doctrine:migrations:diff
php bin/console doctrine:migrations:migrate

2. Cоздать конфигурацию для админки в App\Admin

Создаем Admin/News/PostAdmin.php

В этом файле необходимо прописать поля для админки. Для этого есть несколько функций.

configureListFields() - размечает поля, которые должны быть отображены на главной странице, при выборе элементов для редактирования, а так же, какие туда добавить кнопки. Например, кнопка показать, редактировать, удалить и так далее.

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

configureDatagridFilters() - рассказывает админке по каким полям можно вести поиск.

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

configureFormFields() - Здесь описываются поля для страницы редактирования объекта

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

configureShowFields() - Здесь поля для отдельной страницы, которая позволяет просто посмотреть данные об объекте.

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост


3. Подключить все к админке в config/services.yaml

Открываем config/services.yaml и добавляем:

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

Вуаля, у нас все работает:

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

Можно добавлять новость

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

Ты чего, хочешь чтоб я писал текст новости в простом текстовом поле? А как же заголовки, параграфы, все такое, писать прям html разметкой чтоль? - Спросил бы читатель.

А это легко исправить, отвечу я. Есть множество редакторов, доступных в интернетах, я привык использовать ckeditor, под него есть даже специальный бандл. Устанавливаем его так, как написано в мануале, подключаем в Admin/News/PostAdmin.php и вуаля. У нас есть визуальный редактор новости.

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост

Итого, у нас есть блог, куда можно добавлять простые записи и админка для него. Я думаю, этого достаточно для описания базового функционала Sonata Admin.

Я думаю будет полезно создать серию постов про создание блога, который более подробно опишет методы работы и то как это вообще происходит постепенно. Предлагайте в комментариях, что мы будем дальше делать в нашем блоге из функционала, а я подумаю про то, в каком порядке будет полезнее и понятнее реализовывать данный проект :)

Всем спасибо, я закончил! 😌 Вот вам кот из интернетов

Sonata Admin для Symfony Symfony, Программирование, PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост
Показать полностью 15
[моё] Symfony Программирование PHP Веб-разработка Веб фреймворки Кот Длиннопост
5
4
webpack
webpack
2 года назад
Symfony

Про сообщество⁠⁠

Про сообщество PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост, Symfony

Всем привет!

Я разработчик на symfony и мне не хватает раздела про этот фреймворк на Пикабу. Почему я должен узнавать новости и всякие удобные штуки от коллег, а не листая ленту любимого Пикабу?

Есть задача - реши ее. Есть потребность - восполни ее. Особенно, будет приятно, если потребность не только у меня и я смогу найти единомышленников и делиться между собой всякими интересными решениями, бандлами и схемами.

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

Так же приветствую аналогичный контент от пользователей Пикабу, дабы все вместе мы смогли узнавать что-то новое и делиться своим опытом!

Вот вам кот:

Про сообщество PHP, Веб-разработка, Веб фреймворки, Кот, Длиннопост, Symfony

Кот не мой, честно взят с просторов интернета. Но он прикольный.

Показать полностью 1
[моё] PHP Веб-разработка Веб фреймворки Кот Длиннопост Symfony
1
4
Baskovsky
Baskovsky
2 года назад
Web-технологии
Серия Айтишники

На что способен Vue.js⁠⁠

Я, ведущий Денис Басковский, беру интервью у Vue.js разработчика Анастасии Егоровой. В этом подкасте мы поговорим про фреймворк Vue.js, который набирает популярность у Front-End разработчиков со всего мира.

[моё] IT Vue Программирование Web-программирование Веб-разработка Javascript Typescript Веб фреймворки Видео YouTube
9
532
Bugagashechko
Bugagashechko
4 года назад
IT-юмор

Периодическая таблица популярных библиотек и фреймворков JavaScript⁠⁠

Периодическая таблица популярных библиотек и фреймворков JavaScript
IT юмор Языки программирования Javascript Веб фреймворки Таблица Картинка с текстом
138
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии