@symfony_php

Страница 285 из 1418
Dinar
07.09.2017
11:46:33
В общем мне просто не встретился такой юзкейс.

Я поэтому до сих пор так и не понимаю, нахрен он был нужен :)

Jan
07.09.2017
11:47:00
Для трансформации из одного вида в другой разве что

Как-то в далеком 2013 писал парсер турнирных таблиц)

Google
Антон
07.09.2017
12:09:45
Что то подобное было в cms какой то российской.

Artemiy
07.09.2017
12:18:09
Umi )

Антон
07.09.2017
12:30:55
Точно

Bohdan
07.09.2017
12:33:55
кто как инжектит сервисы в standalone бандлы? нужно загнать сервис таким образом, чтобы его можно было протестировать отдельно от приложения (заопенсорсить плаинрую)

Sergey
07.09.2017
12:34:27
какие сервисы?

Bohdan
07.09.2017
12:35:00
дефолтный event_dispatcher

пока что пришел к тому, что делаю регистрацию сервиса (по сути, мок) во время теста

корректно ли такое?

Sergey
07.09.2017
12:35:30
в fos user bundle глянь

там есть такое

Bohdan
07.09.2017
12:37:38
как и догадывался - компайлер пассы возможно, кто-то будет искать https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/DependencyInjection/Compiler/InjectUserCheckerPass.php

спасибо

Sergey
07.09.2017
16:35:19
Ребята, как в симфонии запретить залогиненным юзерам ходить на логин, регистер и прочее. Юзаю фос

Google
Ruslan
07.09.2017
16:40:11
Ребята, как в симфонии запретить залогиненным юзерам ходить на логин, регистер и прочее. Юзаю фос
Я на роуте loginAction сделал проверку на залогиненость. И если залогинен делаю редирект куда нужно.

Sergey
07.09.2017
16:40:37
Получается надо переопределять фософские экшны

Ruslan
07.09.2017
16:41:00
угу. Хз или можно както опционально;

Sergey
07.09.2017
16:41:17
Хотелось бы, спасибо, покопаю

Ruslan
07.09.2017
16:41:37
Если найдешь - поделись )

Sergey
07.09.2017
16:46:53
Конечно

Если)

Mikhail
07.09.2017
17:04:00
Ну так чуваки его для шаблонизации какой-то юзали вообще или яхз
Конфиги хранить и писать в xml достаточно удобно. Инструменты есть. Oxygen имеет мощный дебаггер. Семантика соблюдается, есть схемы, валидация на лету, жёсткая структура. Про xslt - очень удобно выполнять преобразования из xml во что угодно. Я генерю .less, handlebars и json. А в этом чате, потому что иного не нашёл в ТГ. Выше писал. В симфони вот конфиги в xml или его расширении. Сначала сам скептически относился к xml, т.к. много лишнего, разбирать проблематично казалось. Теперь не так. Да, писать трансформаторы☺ муторно, зато надёжно. Вон например под андроид разметка и ресы всё в xml. Данные апи - json/xml. Яндекс запустил генератор какой то, результат в xml. Перл тоже топят, ещё жив. Вот например ещё: есть uml диаграмка, данные узлов и связей в xml. Генерить код при помощи xslt довольно просто. Есть ещё диаграммы логики, классов, состояний. И преобразовывать в другую структуру куда удобнее через xslt, чем писать кучу рекурсивных функций для разбора дерева.

Sergey
07.09.2017
17:18:47
@snickersssss - { path: ^/login$, allow_if: "not has_role('ROLE_USER')" }

Будет светиться access denied, можно прописать в найстройках файервола еще и access_denied_url чтобы редиректнуть в случае denied на нужный урл

Oleg
08.09.2017
02:30:45
@snickersssss - { path: ^/login$, allow_if: "not has_role('ROLE_USER')" }
я уже даже не помню сколько лет подобному вопросу

Sergey
08.09.2017
06:08:19
@okwinza А почему решил сообщить нам об этом?)

Kirill
08.09.2017
07:22:00
ребят, поясните за вебпак энкор через yarn добавил зависимости в package.json как мне теперь получить привычные css\js файлы для импорта в твиге через assetic ?

Dinar
08.09.2017
07:23:35
Использовать их в коде :)

Щас попробую найти пример

В webpack.config.js

Kirill
08.09.2017
07:24:48
у меня в node_modules они, нужно как-то ведь в build папку их отправить

Dinar
08.09.2017
07:24:50
прописываешь var Encore = require('@symfony/webpack-encore');

Kirill
08.09.2017
07:25:08
есть такое

http://symfony.com/doc/current/frontend/encore/simple-example.html отсюда взял

Google
Dinar
08.09.2017
07:25:29
Ну вот

Там же написано, что в консоли набрать

Kirill
08.09.2017
07:26:49
.addEntry тут добавляь пути на тот же jquery в node_modules?

Dinar
08.09.2017
07:26:53
Там же вообще все прокомментировано :)

jquery лучше через .autoProvidejQuery()

Антон
08.09.2017
07:27:13
var Encore = require('@symfony/webpack-encore'); Encore .setOutputPath('web/build/') .setPublicPath('/build') .enableReactPreset() .addEntry('app', './assets/js/app.js') .addStyleEntry('global', './assets/css/global.scss') .enableSassLoader() .autoProvidejQuery() .enableReactPreset() .enableSourceMaps(!Encore.isProduction()); module.exports = Encore.getWebpackConfig(); вот складывает в папку web/build

внутри app.js import React from 'react'; и он берет из папки node_modules

Kirill
08.09.2017
07:28:58
ок спасибо

Dinar
08.09.2017
07:29:19
Если не укзываешь это как путь, то есть просто название пакета, то берет из node_modules. если указываешь как путь, то есть со слешами и точками, то будет искать соответственно

Kirill
08.09.2017
07:32:01
не знал, что можно туда название пакета добавлять, добавил, запустил сборку и всё стало понятно )

nemesis
08.09.2017
07:35:50
Всем привет

https://github.com/Happyr/Doctrine-Specification подскажите, плз, кто юзает этот пакет, как боретесь с ситуациями, когда надо какую то агрегацию сделать? Например, если надо применить спецификацию, но выбирать не Entity а какую то агрегацию (например сумму или DTO объект). Метод match сразу возвращает Entity в результатах.

Dmitriy
08.09.2017
07:49:32
я сделал свой спек

class Select implements QueryModifier

public function modify(QueryBuilder $qb, $dqlAlias) { $qb->addSelect($this->alias); }

потом просто его юзаю new Select('MIN(price) AS price'),

nemesis
08.09.2017
07:52:22
спс, сча попробую

Dmitriy
08.09.2017
07:53:00
https://github.com/Happyr/Doctrine-Specification/blob/master/docs/1-creatingSpecs.md вот дока

Kirill
08.09.2017
08:00:26
@Gaaarfild с js пакетами по имени всё хорошо, а вот css из этих же пакетов не билдится почему-то)

Dinar
08.09.2017
08:36:43
Можно подключать в своем CSS через @import

Google
nemesis
08.09.2017
08:48:36
@kion78 спасибо, получилось, только не понял как его универсальным сделать. Так работает: class SelectTotalPrice extends BaseSpecification public function modify(QueryBuilder $qb, $dqlAlias) $qb->addSelect(sprintf('SUM(%s.price) as totalPrice', $dqlAlias)); $repository->match(new SelectSum()) Если передавать в конструктор select и потом подставлять в modify - алиас теряется 'SELECT e, SUM(price) as totalPrice FROM ... Error: 'price' is not defined.

Sergey
08.09.2017
09:05:05
наконец заюзал новые контроллеры 3.3 симфони, годненько так

Sergey
08.09.2017
09:07:00
все зависимости ты указываешь как и в сервисах через конструктор автовайринг работает, контроллеры регистрируются как сервисы и что самое главное фишки типа $this->render() которые требуют контейнера работают, потому что симфони пихает их через ServiceSubscriberInterface

Pavel
08.09.2017
09:13:14
А еще симфони плагин для шторма уже поддерживает __invoke, вообще лепота.

nemesis
08.09.2017
09:43:44
там в базовом оба есть

interface Specification extends Filter, QueryModifier abstract class BaseSpecification implements Specification

Dmitriy
08.09.2017
09:45:34
вот https://gist.github.com/pchelk1n/27973dd2aa78dd27eb9ebb503c32e76f

ниже в коменте как использовать

Dmitriy
08.09.2017
09:56:38
твиг экстеншен тоже

nemesis
08.09.2017
10:02:53
а как и где алиас задается?

Sergey
08.09.2017
10:03:24
консольные команды тоже так теперь
команды грозились сделать lazy, но не помню к чему пришли

Alan
08.09.2017
10:03:37
в 3.4 да

Sergey
08.09.2017
10:04:04
https://symfony.com/blog/new-in-symfony-3-4-lazy-commands а вот, сделали ж

Alan
08.09.2017
10:06:54
lock component только забыли вернуть)

nemesis
08.09.2017
10:18:02
@kion78 если в репозитории прописать так: public function __construct($em, $class) parent::__construct($em, $class); $this->setAlias('asd'); и потом создавать спецификацию new Select('SUM(asd.price) as totalPrice') - будет работать. Но смущает что надо с конструктором такое делать, и что в коде надо знать об алиасе

Dmitriy
08.09.2017
10:18:39
а как и где алиас задается?
Если у тебя там ничего не джойниться и прайс это поле "родного" объекта то попробуй SUM(e.price)

у тебя же не абстрактный прайс, а конкретного объекта

Google
nemesis
08.09.2017
10:19:24
вот хочу уйти от 'e')

@kion78 в общем, решили 'e' использовать в для таких выборок. Спасибо)

Dmitriy
08.09.2017
10:33:52
нзч )

Виктор
08.09.2017
12:11:31
ПОдскажите плз, возможно ли создать у Entity поле, которое не будет лежать в БД, а у него просто будет getter где описано как это поле заполнить? Делаю так:





Dmitry
08.09.2017
12:13:06
какой сериалайзер?

Виктор
08.09.2017
12:13:14


Dinar
08.09.2017
12:13:56
А что должно быть на выходе?

Виктор
08.09.2017
12:14:01
какой сериалайзер?
jms_serializer походу обрабатывает... Еще не разобрался как родной юзать...

Dinar
08.09.2017
12:14:02
Ты же в поле ничего не кладешь

Он берет не из геттера а прямо из поля

Это же рефлексия

Виктор
08.09.2017
12:14:36
как ничего - на примере в геттере пишу - test, а поля вообще в БД нет и не должно быть

Dmitry
08.09.2017
12:14:43
Если jms, то смотри это https://jmsyst.com/libs/serializer/master/reference/annotations#accessor или вообще без свойства это https://jmsyst.com/libs/serializer/master/reference/annotations#virtualproperty

Dinar
08.09.2017
12:15:35
Тебе надо либо VirtualProperty делать,либо в поле что-то класть.

Сериалайзер не юзает геттеры

Страница 285 из 1418