That's not really an advanced topic, but the sample will be a bit hard to read (as it takes many files), so let's say it targets more experienced Symfony users.
In this demo, we're displaying a MyArray of MyElements, both persisted into the database. The MyArray entity only have an id and a name, and MyElement has id, MyArray's id and a value. This is quite the same as we seen in all demos, but persisted.
Name | Open | Delete |
---|---|---|
name}) }} | Open | Delete |
_ | Open | Delete |
___ â Cela fonctionne â | Open | Delete |
___ â Cela fonctionne à | Open | Delete |
___ â Cela fonctionne â | Open | Delete |
___ â Cela fonctionne Ã34н34н | Open | Delete |
_____ | Open | Delete |
__________________________________________ | Open | Delete |
_______aaaazz | Open | Delete |
___%20%C3%83%C2%A2%C3%82%C2%98%C3%82%C2%98%20Cela%20fonctionne%20%C3%83 | Open | Delete |
__EDLP_7-0_ | Open | Delete |
_a_ | Open | Delete |
_a_firra | Open | Delete |
_è | Open | Delete |
_Greeting | Open | Delete |
--- | Open | Delete |
---#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
---#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
!! | Open | Delete |
!!!!sdsdsd | Open | Delete |
? | Open | Delete |
' | Open | Delete |
(orphée) | Open | Delete |
(SELECT (CASE WHEN (9680=8265) THEN 'kjh' ELSE (SELECT 8265 UNION SELECT 7356) END)) | Open | Delete |
@12 | Open | Delete |
#456 | Open | Delete |
#69 | Open | Delete |
#72 | Open | Delete |
#72uuuu | Open | Delete |
#72uuuuokokok | Open | Delete |
#91 | Open | Delete |
#AlgoSucks | Open | Delete |
#timowashere | Open | Delete |
%2372 | Open | Delete |
%2372uuuuokokok | Open | Delete |
%25237233333 | Open | Delete |
%25237233333#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
%252372uuuu#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
%252372uuuu#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
%252372uuuu#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
%252372uuuu#i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
%252372uuuu#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
%252372uuuu#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
%252372uuuu#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
%252391 | Open | Delete |
%25253F%23i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
%253F | Open | Delete |
%253F#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
%253F#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
%253F#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
%253F#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
%253F#i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
%253F#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
%28orph%C3%A9e%29 | Open | Delete |
%28SELECT%20%28CASE%20WHEN%20%283158=3158%29%20THEN%20%27kjh%27%20ELSE%20%28SELECT%201437%20UNION%20SELECT%202166%29%20END%29%29 | Open | Delete |
%C3%A2%C2%98%C2%98%20Cela%20fonctionne%20%C3%A2%C2%98%C2%98 | Open | Delete |
<?php echo ' i don't like it ' | Open | Delete |
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<LETTRE GREC>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | Open | Delete |
<script>alert('test')</script> | Open | Delete |
<script>alert('test')</script>%n%n%n%n%n%n | Open | Delete |
<script>alert('test')</script>%n%n%n%n%n%n<script>alert('test')</script>%n%n%n%n%n%n<script>alert('test')</script>%n%n%n%n%n%n<script>alert('test')</script>%n%n%n%n%n%n<script>alert('test')</script>%n%n%n%n%n%n<script>alert('test')</script>%n%n%n%n%n%n<sc | Open | Delete |
<sdsads | Open | Delete |
00000 | Open | Delete |
000tom | Open | Delete |
001122334455 | Open | Delete |
01233 | Open | Delete |
10 | Open | Delete |
1000-1 | Open | Delete |
11 | Open | Delete |
11#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
11#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
11#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
11#i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
11#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
1111 | Open | Delete |
1111#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
1111#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
1111#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
1111#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
1111%23i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
11111111111111 | Open | Delete |
1111111111111111111111111111111111#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
1111111111111111111111111111111111#i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
1111111111111111111111111111111111#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
1111111111111111111111111111111111#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
1111111111111111111111111111111111#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
1111Yapi | Open | Delete |
1121 | Open | Delete |
122 | Open | Delete |
1231 | Open | Delete |
123123 | Open | Delete |
12313 | Open | Delete |
12345 | Open | Delete |
123blue | Open | Delete |
1525 | Open | Delete |
1aa | Open | Delete |
1Alpha | Open | Delete |
2' | Open | Delete |
2222%20example | Open | Delete |
2222%252520example | Open | Delete |
2232323 | Open | Delete |
2323 | Open | Delete |
2344234 | Open | Delete |
32 | Open | Delete |
4545 | Open | Delete |
5 | Open | Delete |
63 | Open | Delete |
7 | Open | Delete |
86787 | Open | Delete |
8888 | Open | Delete |
8889 | Open | Delete |
8899 | Open | Delete |
999 | Open | Delete |
a Lorenz | Open | Delete |
â Cela fonctionne â | Open | Delete |
aa | Open | Delete |
ñsfkjaldsa | Open | Delete |
aaaa | Open | Delete |
ÃÂñlkjlkj | Open | Delete |
ÃÂñsfkjaldsa | Open | Delete |
aaaaa | Open | Delete |
aaaaaaa | Open | Delete |
aaaaaaaaaaaaa | Open | Delete |
aaaaaaaaaaaaaa22 | Open | Delete |
AAAAAAAAAAAAAAAAAAAAA | Open | Delete |
AAAAAEER | Open | Delete |
ÃÂõÃÂà| Open | Delete |
aaamine | Open | Delete |
aaamine22222#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
aaamine22222#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
aaamine22222%23i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
aasdasd | Open | Delete |
Abc1 | Open | Delete |
ad | Open | Delete |
adasdada | Open | Delete |
adfadf | Open | Delete |
adfadf'A=0 | Open | Delete |
adrian | Open | Delete |
adsada | Open | Delete |
adsfdsf | Open | Delete |
alsi | Open | Delete |
any | Open | Delete |
Array | Open | Delete |
array%20new | Open | Delete |
array2 | Open | Delete |
arrayGilmry | Open | Delete |
articulo | Open | Delete |
asaasexample | Open | Delete |
asas | Open | Delete |
asD | Open | Delete |
asda | Open | Delete |
asdaexample | Open | Delete |
asdas | Open | Delete |
asdasd | Open | Delete |
asdasd#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
asdasd#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
asdasd#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
asdasd#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
asdasd#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
asdasd#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
asdasd#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
asdasd%23i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
asdasdadasd | Open | Delete |
asdasdadasd#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
asdasdadasd#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
asdasdadasd#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
asdasdadasd#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
asdasdadasd#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
asdasdasd | Open | Delete |
asdasddadsd | Open | Delete |
asdfasdfasd | Open | Delete |
asdfasdfasd8888 | Open | Delete |
asdfg | Open | Delete |
asds | Open | Delete |
assa | Open | Delete |
AU | Open | Delete |
az | Open | Delete |
azazaz | Open | Delete |
Aze | Open | Delete |
azerty | Open | Delete |
azerty'A=0 | Open | Delete |
b | Open | Delete |
balala | Open | Delete |
bam | Open | Delete |
bbbbbbbbbbbbbbbb | Open | Delete |
bdfdfdfdf | Open | Delete |
bite | Open | Delete |
bjfhj | Open | Delete |
bjfhj#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
bjfhj#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
bjfhj#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
bjfhj#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
bla | Open | Delete |
blah | Open | Delete |
blah#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
blah#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
blah#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
blah#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
blah#i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
blah#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
blah#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
blah%23i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
Bra | Open | Delete |
bxvbvx | Open | Delete |
Caracas222 | Open | Delete |
Caracas222666 | Open | Delete |
cela | Open | Delete |
Cela fonctionne | Open | Delete |
Cela fonctionne pas | Open | Delete |
checks | Open | Delete |
ciao | Open | Delete |
Cmucik | Open | Delete |
cnes | Open | Delete |
colombo | Open | Delete |
cool | Open | Delete |
crap | Open | Delete |
cups | Open | Delete |
cvSDFSD | Open | Delete |
cx | Open | Delete |
cx%3Cwc | Open | Delete |
D happy 2018 | Open | Delete |
D#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
D#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
D#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
D#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
D%23i5784b3886628c4362594ffa43547edb4 | Open | Delete |
dadd | Open | Delete |
das | Open | Delete |
dasdsad | Open | Delete |
ddazdaz | Open | Delete |
ddd | Open | Delete |
dddd | Open | Delete |
ddddd | Open | Delete |
dddddddddddddddddddddd | Open | Delete |
defrsdf | Open | Delete |
delete_empty | Open | Delete |
demo | Open | Delete |
dfa#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
dfa#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
dfa#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
dfa#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
dfa#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
dfa%23i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
dfa%23ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
dfa%23ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
dfdfdf | Open | Delete |
dfdsf | Open | Delete |
dfdt | Open | Delete |
dfg | Open | Delete |
dfgdfg | Open | Delete |
dfty | Open | Delete |
dfvds | Open | Delete |
dgdgdg | Open | Delete |
dghdfgdfgd | Open | Delete |
diego | Open | Delete |
dsadsadd | Open | Delete |
dsdfgsdfgdf | Open | Delete |
dsds | Open | Delete |
dsfdsfd | Open | Delete |
dsvfdsfg] | Open | Delete |
dsvfdsfg%5D | Open | Delete |
eeeeee | Open | Delete |
ejemplo 2017 | Open | Delete |
erwgfu%C4%B1gj8hl%C4%B1 | Open | Delete |
erwgfuıgj8hlı | Open | Delete |
ewe | Open | Delete |
exadasdas | Open | Delete |
example | Delete | |
example exam | Open | Delete |
example+exam | Open | Delete |
example123#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
example123#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
example123#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
example123#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
example123#i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
example123#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
example2 | Open | Delete |
example22222222222222 | Open | Delete |
example33333 | Open | Delete |
example4 | Open | Delete |
exampleasfsafasf#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
exampleasfsafasf#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
exampleasfsafasf#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
exampleasfsafasf%23i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
exampled | Open | Delete |
exampledds | Open | Delete |
exampledsdsdda | Open | Delete |
exampleede | Open | Delete |
exampleeeeeeeeeeeee | Open | Delete |
examplefh | Open | Delete |
examplejjj | Open | Delete |
examplemmm | Open | Delete |
examplenhnhd | Open | Delete |
exampleqqqq | Open | Delete |
exampleRW | Open | Delete |
examplesa;fs;af;sfsf | Open | Delete |
examplesadas | Open | Delete |
examplesafs | Open | Delete |
examplesafsaf | Open | Delete |
examplesafsaf;sfsf | Open | Delete |
examplesdddd | Open | Delete |
examplesdf | Open | Delete |
examplesdsd | Open | Delete |
exampless | Open | Delete |
exampletest_11 | Open | Delete |
examplexzasca | Open | Delete |
Existing arr | Open | Delete |
Existing%20arrays: | Open | Delete |
Existing%2520arrays: | Open | Delete |
exkiample | Open | Delete |
eze | Open | Delete |
fasdfasf | Open | Delete |
fdf | Open | Delete |
fdf#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
fdf#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
fdf#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
fdf#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
fdf#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
fdf#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
fdf%23i27992875ec4286a24e569b1e015b0473 | Open | Delete |
fdg | Open | Delete |
fdgdf | Open | Delete |
fdsfds | Open | Delete |
ff | Open | Delete |
fff | Open | Delete |
ffff | Open | Delete |
ffsss | Open | Delete |
fg | Open | Delete |
fgdfg | Open | Delete |
fgdfgfg | Open | Delete |
fgfdg | Open | Delete |
fgfdgfdgdg | Open | Delete |
fghjkl | Open | Delete |
fgjgh | Open | Delete |
firrra | Open | Delete |
Fruits | Open | Delete |
fsda | Open | Delete |
fsdfd | Open | Delete |
fsgv | Open | Delete |
fuck | Open | Delete |
fuck you | Open | Delete |
gdfg#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
gdfg#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
gdfg#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
gdfg#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
gdfg#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
geht nicht | Open | Delete |
gfdgdf | Open | Delete |
gg | Open | Delete |
gg'A=0 | Open | Delete |
Ggg | Open | Delete |
ghfhgfg | Open | Delete |
ghgtytyt | Open | Delete |
ghione | Open | Delete |
ghjk | Open | Delete |
ghjk#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
ghjk#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
ghk | Open | Delete |
ghkjgykg | Open | Delete |
gjkl | Open | Delete |
Group B | Open | Delete |
Group%20B | Open | Delete |
Group%252BC | Open | Delete |
Group%2BC | Open | Delete |
Group%2BC#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
Group%2BC#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
Group%2BC#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
Group%2BC#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
Group%2BC#i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
Group%2BC#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
gtgt | Open | Delete |
gufc fucvuy | Open | Delete |
hello | Open | Delete |
Hello world | Open | Delete |
Hello%2520World%2520! | Open | Delete |
heof | Open | Delete |
HEYY :D | Open | Delete |
HEYY%2520:D | Open | Delete |
HEYY%2520:D#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
HEYY%2520:D#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
HEYY%2520:D#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
HEYY%252520:D%23ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
hg | Open | Delete |
hgfh | Open | Delete |
hhh | Open | Delete |
hi bitches | Open | Delete |
hikj | Open | Delete |
hjh | Open | Delete |
ho | Open | Delete |
hrthrh | Open | Delete |
htrhrh | Open | Delete |
http | Open | Delete |
hujpizda | Open | Delete |
interest | Open | Delete |
itemList2 | Open | Delete |
iujjj | Open | Delete |
iuy | Open | Delete |
iziokisio | Open | Delete |
jbnn | Open | Delete |
jghjghjgj | Open | Delete |
jhj | Open | Delete |
jk | Open | Delete |
jkjk | Open | Delete |
julio | Open | Delete |
kaas | Open | Delete |
kappa | Open | Delete |
khj | Open | Delete |
khj#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
khj%23i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
kj | Open | Delete |
kjh AND 2060=2060 | Open | Delete |
kjh AND 2675=9406 | Open | Delete |
kjh AND 4281=2310-- NRaM | Open | Delete |
kjh AND 5825=4111 | Open | Delete |
kjh AND 6275=3623-- Gjwd | Open | Delete |
kjh AND 7390 IN (SELECT (CHAR(113)+CHAR(106)+CHAR(106)+CHAR(118)+CHAR(113)+(SELECT (CASE WHEN (7390=7390) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(113)+CHAR(122)+CHAR(120)+CHAR(113)))-- iTwS | Open | Delete |
kjh AND 7954=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(107)||CHR(120)||CHR(113)||(SELECT (CASE WHEN (7954=7954) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(106)||CHR(107)||CHR(122)||CHR(113)||CHR(62))) FROM DUAL) | Open | Delete |
kjh AND 7954=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(107)||CHR(120)||CHR(113)||(SELECT (CASE WHEN (7954=7954) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(106)||CHR(107)||CHR(122)||CHR(113)||CHR(62))) FROM DUAL)-- WkLU | Open | Delete |
kjh AND 8611=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(106)||CHR(106)||CHR(118)||CHR(113)||(SELECT (CASE WHEN (8611=8611) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(113)||CHR(122)||CHR(120)||CHR(113)||CHR(62))) FROM DUAL) | Open | Delete |
kjh AND 8864=CAST((CHR(113)||CHR(122)||CHR(107)||CHR(120)||CHR(113))||(SELECT (CASE WHEN (8864=8864) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(106)||CHR(107)||CHR(122)||CHR(113)) AS NUMERIC)-- XVww | Open | Delete |
kjh AND 9650=6116 | Open | Delete |
kjh AND 9667 IN (SELECT (CHAR(113)+CHAR(122)+CHAR(107)+CHAR(120)+CHAR(113)+(SELECT (CASE WHEN (9667=9667) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(106)+CHAR(107)+CHAR(122)+CHAR(113))) | Open | Delete |
kjh AND 9667 IN (SELECT (CHAR(113)+CHAR(122)+CHAR(107)+CHAR(120)+CHAR(113)+(SELECT (CASE WHEN (9667=9667) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(106)+CHAR(107)+CHAR(122)+CHAR(113)))-- IHOP | Open | Delete |
kjh AND EXTRACTVALUE(5914,CONCAT(0x5c,0x716a6a7671,(SELECT (ELT(5914=5914,1))),0x71717a7871)) | Open | Delete |
kjh AND EXTRACTVALUE(7241,CONCAT(0x5c,0x717a6b7871,(SELECT (ELT(7241=7241,1))),0x716a6b7a71))-- fAHu | Open | Delete |
kjh ORDER BY 1-- PNBN | Open | Delete |
kjh' AND 4678=8698 AND 'uMbv'='uMbv | Open | Delete |
kjh' AND 7954=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(107)||CHR(120)||CHR(113)||(SELECT (CASE WHEN (7954=7954) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(106)||CHR(107)||CHR(122)||CHR(113)||CHR(62))) FROM DUAL) AND 'HwZm'='HwZm | Open | Delete |
kjh' AND 8611=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(106)||CHR(106)||CHR(118)||CHR(113)||(SELECT (CASE WHEN (8611=8611) THEN 1 ELSE 0 END) FRO | Open | Delete |
kjh' AND 8864=CAST((CHR(113)||CHR(122)||CHR(107)||CHR(120)||CHR(113))||(SELECT (CASE WHEN (8864=8864) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(106)||CHR(107)||CHR(122)||CHR(113)) AS NUMERIC) AND 'HQRy'='HQRy | Open | Delete |
kjh' AND 9667 IN (SELECT (CHAR(113)+CHAR(122)+CHAR(107)+CHAR(120)+CHAR(113)+(SELECT (CASE WHEN (9667=9667) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(106)+CHAR(107)+CHAR(122)+CHAR(113))) AND 'mDsE'='mDsE | Open | Delete |
kjh' AND EXTRACTVALUE(5914,CONCAT(0x5c,0x716a6a7671,(SELECT (ELT(5914=5914,1))),0x71717a7871)) AND 'GCxm'='GCxm | Open | Delete |
kjh' AND EXTRACTVALUE(7241,CONCAT(0x5c,0x717a6b7871,(SELECT (ELT(7241=7241,1))),0x716a6b7a71)) AND 'NwvR'='NwvR | Open | Delete |
kjh' ORDER BY 1-- iPvV | Open | Delete |
kjh') AND 2060=2060 AND ('JwAk'='JwAk | Open | Delete |
kjh') AND 2750=5826 AND ('NRcI'='NRcI | Open | Delete |
kjh') AND 7426=7426 AND ('cRTV'='cRTV | Open | Delete |
kjh') AND 8611=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(106)||CHR(106)||CHR(118)||CHR(113)||(SELECT (CASE WHEN (8611=8611) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(113)||CHR(122)||CHR(120)||CHR(113)||CHR(62))) FROM DUAL) AND ('drpH'='drpH | Open | Delete |
kjh') AND 8864=CAST((CHR(113)||CHR(122)||CHR(107)||CHR(120)||CHR(113))||(SELECT (CASE WHEN (8864=8864) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(106)||CHR(107)||CHR(122)||CHR(113)) AS NUMERIC) AND ('YITY'='YITY | Open | Delete |
kjh') AND EXTRACTVALUE(7241,CONCAT(0x5c,0x717a6b7871,(SELECT (ELT(7241=7241,1))),0x716a6b7a71)) AND ('oZSA'='oZSA | Open | Delete |
kjh') ORDER BY 1-- IuaH | Open | Delete |
kjh'FIFazt<'">kJJxrd | Open | Delete |
kjh'vKJjiT<'">dxPGFb | Open | Delete |
kjh) AND 1607=1768 AND (8263=8263 | Open | Delete |
kjh) AND 2060=2060 AND (3370=3370 | Open | Delete |
kjh) AND 6285=CAST((CHR(113)||CHR(106)||CHR(106)||CHR(118)||CHR(113))||(SELECT (CASE WHEN (6285=6285) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(113)||CHR(122)||CHR(120)||CHR(113)) AS NUMERIC) AND (7094=7094 | Open | Delete |
kjh) AND 7954=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(107)||CHR(120)||CHR(113)||(SELECT (CASE WHEN (7954=7954) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(106)||CHR(107)||CHR(122)||CHR(113)||CHR(62))) FROM DUAL) AND (2635=2635 | Open | Delete |
kjh) AND 9667 IN (SELECT (CHAR(113)+CHAR(122)+CHAR(107)+CHAR(120)+CHAR(113)+(SELECT (CASE WHEN (9667=9667) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(106)+CHAR(107)+CHAR(122)+CHAR(113))) AND (2205=2205 | Open | Delete |
kjh) AND EXTRACTVALUE(5914,CONCAT(0x5c,0x716a6a7671,(SELECT (ELT(5914=5914,1))),0x71717a7871)) AND (9337=9337 | Open | Delete |
kjh) AND EXTRACTVALUE(7241 | Open | Delete |
kjh%20AND%202675=9406 | Open | Delete |
kjh%20AND%207954=%28SELECT%20UPPER%28XMLType%28CHR%2860%29%7C%7CCHR%2858%29%7C%7CCHR%28113%29%7C%7CCHR%28122%29%7C%7CCHR%28107%29%7C%7CCHR%28120%29%7C%7CCHR%28113%29%7C%7C%28SELECT%20%28CASE%20WHEN%20%287954=7954%29%20THEN%201%20ELSE%200%20END%29%20FROM%2 | Open | Delete |
kjh%20AND%20EXTRACTVALUE%287241,CONCAT%280x5c,0x717a6b7871,%28SELECT%20%28ELT%287241=7241,1%29%29%29,0x716a6b7a71%29%29 | Open | Delete |
kjh%20AND%20EXTRACTVALUE%287241,CONCAT%280x5c,0x717a6b7871,%28SELECT%20%28ELT%287241=7241,1%29%29%29,0x716a6b7a71%29%29--%20fAHu | Open | Delete |
kjh%27%20AND%208611=%28SELECT%20UPPER%28XMLType%28CHR%2860%29%7C%7CCHR%2858%29%7C%7CCHR%28113%29%7C%7CCHR%28106%29%7C%7CCHR%28106%29%7C%7CCHR%28118%29%7C%7CCHR%28113%29%7C%7C%28SELECT%20%28CASE%20WHEN%20%288611=8611%29%20THEN%201%20ELSE%200%20END%29%20FRO | Open | Delete |
kjh%27FIFazt%3C%27%22%3EkJJxrd | Open | Delete |
kjh%29%20AND%209930=6330%20AND%20%289057=9057 | Open | Delete |
kjkjkj | Open | Delete |
kjkk | Open | Delete |
kk | Open | Delete |
kkk | Open | Delete |
kkk#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
kkk#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
kkk#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
kkk#i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
kljlk | Open | Delete |
klklklkl | Open | Delete |
kln | Open | Delete |
kmkm | Open | Delete |
kool | Open | Delete |
kpok | Open | Delete |
kpok%C2%B4p | Open | Delete |
kpok%C3%82%C2%B4p | Open | Delete |
lel | Open | Delete |
lj | Open | Delete |
ll | Open | Delete |
llllllllllllllll | Open | Delete |
lmklk | Open | Delete |
lolo | Open | Delete |
loslos | Open | Delete |
m | Open | Delete |
Marcin | Open | Delete |
Memes | Open | Delete |
mjn | Open | Delete |
mmm | Open | Delete |
moi | Open | Delete |
moiGHOY | Open | Delete |
moiGHOY - Resources/views/Advanced/doctrine-them | Open | Delete |
mon putain de tableau | Open | Delete |
mon tableau | Open | Delete |
mon%20exemple | Open | Delete |
mon%20putain%20de%20tableau | Open | Delete |
mon%2520exemple | Open | Delete |
my_array | Open | Delete |
myarr | Open | Delete |
name | Open | Delete |
ÑеÑÑ | Open | Delete |
new | Open | Delete |
new test | Open | Delete |
new_22 | Open | Delete |
New_test_2017- | Open | Delete |
New%20Array | Open | Delete |
new%20test | Open | Delete |
new%2520test | Open | Delete |
ñlkjlkj | Open | Delete |
nmn#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
nmn#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
nmn#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
nmn#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
nmn#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
nmn%23i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
nnn | Open | Delete |
Numeros de prueba | Open | Delete |
o | Open | Delete |
o%C3%83%C2%83%C3%82%C2%84%C3%83%C2%82%C3%82%C2%B1 | Open | Delete |
o%C4%B1 | Open | Delete |
oÃÂñ | Open | Delete |
oij | Open | Delete |
olaboga | Open | Delete |
oui | Open | Delete |
Ouiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | Open | Delete |
Ouiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | Open | Delete |
Ouiiiiiiiiiiiiiiiiiiiiiiiilul | Open | Delete |
ouiou | Open | Delete |
PC | Open | Delete |
Pepa | Open | Delete |
pepiii | Open | Delete |
perebetes | Open | Delete |
perses | Open | Delete |
perses#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
perses#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
perses#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
perses#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
po | Open | Delete |
pornhub.com | Open | Delete |
pp | Open | Delete |
pppppii#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
pppppii#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
pppppii#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
pppppii#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
pppppii#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
pppppp | Open | Delete |
prabu | Open | Delete |
Premier element de test | Open | Delete |
Product | Open | Delete |
project%201 | Open | Delete |
punto 2 | Open | Delete |
qe | Open | Delete |
qqq | Open | Delete |
qsdfqsdf | Open | Delete |
question2 | Open | Delete |
qweqw | Open | Delete |
qwert | Open | Delete |
qwery2 | Open | Delete |
rar | Open | Delete |
rdfgdf | Open | Delete |
rerwrer | Open | Delete |
RET | Open | Delete |
rewq | Open | Delete |
rr | Open | Delete |
rrrr#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
rrrr#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
rrrr#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
rrrr#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
rrrr#ic3ee8978c60737ab5d058b5a3f6a1b09 | Open | Delete |
rtr | Open | Delete |
RV | Open | Delete |
saASD | Open | Delete |
salut les | Open | Delete |
sam | Open | Delete |
samArray | Open | Delete |
sami | Open | Delete |
sample | Open | Delete |
sasa | Open | Delete |
scts | Open | Delete |
scyx | Open | Delete |
sd | Open | Delete |
sdasd | Open | Delete |
sdasdafs | Open | Delete |
sdczsdzsd | Open | Delete |
sdg | Open | Delete |
sdsd%27A=0 | Open | Delete |
seeme#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
seeme#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
seeme#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
seeme#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
seeme%23i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
select | Open | Delete |
sfdf | Open | Delete |
sfsdfsd | Open | Delete |
some new array | Open | Delete |
someNewArray | Open | Delete |
someNewArray#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
someNewArray#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
sqd | Open | Delete |
sqsq | Open | Delete |
ss | Open | Delete |
sss | Open | Delete |
sssss | Open | Delete |
suck my co | Open | Delete |
Ta mere la | Open | Delete |
Ta%2520mere%2520la%2520grosse%2520choin | Open | Delete |
Ta%2520mere%2520la%2520grosse%2520choin#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
Ta%2520mere%2520la%2520grosse%2520choin#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
Ta%2520mere%2520la%2520grosse%2520choin#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
Ta%2520mere%2520la%2520grosse%2520choin#i8c18088ea4d8dd4d6e5e986bceed35da | Open | Delete |
Ta%2520mere%2520la%2520grosse%2520choin#ie025efbbb0738ed01a63b326c174233e | Open | Delete |
Ta%252520mere%252520la%252520grosse%252520choin%23i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
TATA | Open | Delete |
Telous | Open | Delete |
terst | Open | Delete |
tesr | Open | Delete |
tesst | Open | Delete |
Test | Open | Delete |
TEST 2 | Open | Delete |
test array | Open | Delete |
test name | Open | Delete |
test nours | Open | Delete |
test--1 | Open | Delete |
test%20array | Open | Delete |
test2 | Open | Delete |
test34'A=0 | Open | Delete |
TEST912 | Open | Delete |
TESTEN | Open | Delete |
testname | Open | Delete |
testsetse | Open | Delete |
Teszt | Open | Delete |
Tfr | Open | Delete |
Thais | Open | Delete |
the+test | Open | Delete |
this is an | Open | Delete |
this is an array | Open | Delete |
timo | Open | Delete |
tojo | Open | Delete |
trololo | Open | Delete |
try01 | Open | Delete |
tryy5 | Open | Delete |
ttt | Open | Delete |
tyty | Open | Delete |
tzzttz | Open | Delete |
ugghutugituiutu | Open | Delete |
uhj | Open | Delete |
uiu | Open | Delete |
ukh | Open | Delete |
uytuuyt | Open | Delete |
Vai que da | Open | Delete |
Vai%20que%20da | Open | Delete |
Vai%2520que%2520da | Open | Delete |
vcbbc | Open | Delete |
vcvcvcvcvv | Open | Delete |
vdsvd | Open | Delete |
vffv | Open | Delete |
vh | Open | Delete |
Volta Dilma Fora Temer | Open | Delete |
Volta%2 | Open | Delete |
Volta%20Di | Open | Delete |
Volta%20Dilma%20Fo | Open | Delete |
Volta%20Dilma%20Fora% | Open | Delete |
Volta%2520Dilma%2520Fora% | Open | Delete |
Volta%2520Dilma%2520Fora%2520Temer | Open | Delete |
Volta%2520Dilma%2520Fora%2520Temer#i1097c8b84b58a65ed6ec7b4f0da3ab67 | Open | Delete |
Volta%2520Dilma%2520Fora%2520Temer#i1dcd1cbb0d8eeb1fd3a32dc2aa9c8013 | Open | Delete |
Volta%2520Dilma%2520Fora%2520Temer#i21ef661e2506d5d0e513dce166c17d49 | Open | Delete |
Volta%2520Dilma%2520Fora%2520Temer#i27992875ec4286a24e569b1e015b0473 | Open | Delete |
Volta%2520Dilma%2520Fora%2520Temer#i5784b3886628c4362594ffa43547edb4 | Open | Delete |
Volta%2520Dilma%2520Fora%2520Temer#ibcac9f4c58199eeaa7ba5c7750b8434b | Open | Delete |
Volta+Dilma+Fo | Open | Delete |
vv | Open | Delete |
wasda | Open | Delete |
werweexample | Open | Delete |
Woop wooop | Open | Delete |
wqeqe | Open | Delete |
wqewqeqwewewq | Open | Delete |
wsh yannito | Open | Delete |
wxc<wxc | Open | Delete |
xcxcxcx | Open | Delete |
xd | Open | Delete |
xv | Open | Delete |
xy | Open | Delete |
xzcvxcv | Open | Delete |
yfcx | Open | Delete |
You | Open | Delete |
z | Open | Delete |
zDSfsdf | Open | Delete |
zizizizizi | Open | Delete |
zzzz | Open | Delete |
ролр | Open | Delete |
<?php
namespace Fuz\AppBundle\Base;
use Fuz\AppBundle\Entity\Value;
use Fuz\AppBundle\Form\ValueType;
use Fuz\QuickStartBundle\Base\BaseController as QuickStartBase;
use Symfony\Component\Form\Extension\Core\Type;
use Symfony\Component\HttpFoundation\Request;
class BaseController extends QuickStartBase
{
protected function createContextSample(Request $request, $name = 'form', $values = ['a', 'b', 'c'])
{
$data = ['values' => $values];
$form = $this
->get('form.factory')
->createNamedBuilder($name, Type\FormType::class, $data)
->add('values', Type\CollectionType::class, [
'entry_type' => Type\TextType::class,
'label' => 'Add, move, remove values and press Submit.',
'entry_options' => [
'label' => 'Value',
],
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'attr' => [
'class' => "{$name}-collection",
],
])
->add('submit', Type\SubmitType::class)
->getForm()
;
$form->handleRequest($request);
if ($form->isValid()) {
$data = $form->getData();
}
return [
$name => $form->createView(),
"{$name}Data" => $data,
];
}
protected function createAdvancedContextSample(Request $request, $name = 'advancedForm')
{
$a = new Value('a');
$b = new Value('b');
$c = new Value('c');
$data = ['values' => [$a, $b, $c]];
$form = $this
->get('form.factory')
->createNamedBuilder($name, Type\FormType::class, $data)
->add('values', Type\CollectionType::class, [
'entry_type' => ValueType::class,
'label' => 'Add, move, remove values and press Submit.',
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'required' => false,
'attr' => [
'class' => "{$name}-collection",
],
])
->add('submit', Type\SubmitType::class)
->getForm()
;
$form->handleRequest($request);
if ($form->isValid()) {
$data = $form->getData();
}
return [
$name => $form->createView(),
"{$name}Data" => $data,
];
}
}
<?php
namespace Fuz\AppBundle\Controller;
use Fuz\AppBundle\Base\BaseController;
use Fuz\AppBundle\Entity\Address;
use Fuz\AppBundle\Entity\Addresses;
use Fuz\AppBundle\Entity\Fancy;
use Fuz\AppBundle\Entity\FancyCollection;
use Fuz\AppBundle\Entity\Value;
use Fuz\AppBundle\Form\AddressesType;
use Fuz\AppBundle\Form\FancyCollectionType;
use Fuz\AppBundle\Form\MyArrayType;
use Fuz\AppBundle\Form\ValueType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\Form\Extension\Core\Type;
use Symfony\Component\HttpFoundation\Request;
/**
* @Route("/advanced")
*/
class AdvancedController extends BaseController
{
/**
* Advanced usage
*
* You can reference your form collection in the view, instead of
* putting a selector in the form type.
*
* @Route("/mvcCompliance", name="mvcCompliance")
* @Template()
*/
public function mvcComplianceAction(Request $request)
{
$data = ['values' => ['a', 'b', 'c']];
$form = $this
->createFormBuilder($data)
->add('values', Type\CollectionType::class, [
'entry_type' => Type\TextType::class,
'label' => 'Add, move, remove values and press Submit.',
'entry_options' => [
'label' => 'Value',
],
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'required' => false,
// 'attr' => array (
// 'class' => 'my-selector', <--- Not MVC compliant!
// ),
])
->add('submit', Type\SubmitType::class)
->getForm()
;
$form->handleRequest($request);
if ($form->isValid()) {
$data = $form->getData();
}
return [
'form' => $form->createView(),
'data' => $data,
];
}
/**
* Advanced usage
*
* A custom form theme helps define button's layout and positions as and where you want.
*
* @Route("/customFormTheme", name="customFormTheme")
* @Template()
*/
public function customFormThemeAction(Request $request)
{
$data = ['values' => [new Value('a'), new Value('b'), new Value('c')]];
$form = $this
->createFormBuilder($data)
->add('values', Type\CollectionType::class, [
'entry_type' => ValueType::class,
'label' => 'Add, move, remove values and press Submit.',
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'required' => false,
'attr' => [
'class' => 'collection',
],
])
->add('submit', Type\SubmitType::class)
->getForm()
;
$form->handleRequest($request);
if ($form->isValid()) {
$data = $form->getData();
}
return [
'form' => $form->createView(),
'data' => $data,
];
}
/**
* Advanced usage
*
* Same demo as above, but with the add button located at the bottom of
* the form instead of close to each field.
*
* @Route("/customFormThemeAddBottom", name="customFormThemeAddBottom")
* @Template()
*/
public function customFormThemeAddBottomAction(Request $request)
{
return $this->customFormThemeAction($request);
}
/**
* Advanced usage
*
* Collection of collections are useful on the most dynamic forms, and a good
* way to test if the plugin is working as expected too.
*
* @Route("/collectionOfCollections", name="collectionOfCollections")
* @Template()
*/
public function collectionOfCollectionsAction(Request $request)
{
$data = [
'collections' => [
[new Value('a'), new Value('b'), new Value('c')],
[new Value('d'), new Value('e'), new Value('f')],
[new Value('g'), new Value('h'), new Value('i')],
],
];
$form = $this
->get('form.factory')
->createNamedBuilder('form', Type\FormType::class, $data)
->add('collections', Type\CollectionType::class, [
'entry_type' => Type\CollectionType::class,
'label' => 'Add, move, remove collections',
'entry_options' => [
'entry_type' => ValueType::class,
'label' => 'Add, move, remove values',
'entry_options' => [
'label' => 'Value',
],
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'prototype_name' => '__children_name__',
'attr' => [
'class' => 'child-collection',
],
],
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'prototype_name' => '__parent_name__',
'attr' => [
'class' => 'parent-collection',
],
])
->add('submit', Type\SubmitType::class)
->getForm()
;
$form->handleRequest($request);
if ($form->isValid()) {
$data = $form->getData();
}
return [
'form' => $form->createView(),
'data' => $data,
];
}
/**
* Advanced usage
*
* Looks like there are weird behaviours with Doctrine:
* https://github.com/ninsuo/symfony-collection/issues/7
* Let's test that live!
*
* ... hmm, doesn't look bad anyway
*
* @Route(
* "/usageWithDoctrine/{name}",
* name = "usageWithDoctrine",
* defaults = {
* "name" = "example"
* }
* )
* @Template()
*/
public function usageWithDoctrineAction(Request $request, $name)
{
$repo = $this->getDoctrine()->getRepository('FuzAppBundle:MyArray');
$data = $repo->findOneByName($name);
if (is_null($data)) {
$data = $repo->create($name);
}
$form = $this->createForm(MyArrayType::class, $data);
$form->handleRequest($request);
$form->get('save')->isClicked() && $form->isValid() && $repo->save($data);
return [
'names' => $repo->getArrayNames(),
'form' => $form->createView(),
'data' => $data,
];
}
/**
* Related to usageWithDoctrine demo
*
* @Route(
* "/usageWithDoctrineDelete/{name}",
* name = "usageWithDoctrineDelete"
* )
*/
public function usageWithDoctrineDeleteAction(Request $request, $name)
{
$repo = $this->getDoctrine()->getRepository('FuzAppBundle:MyArray');
if (!is_null($data = $repo->findOneByName($name))) {
$repo->delete($data);
}
return $this->forward('FuzAppBundle:Advanced:usageWithDoctrine', [
'name' => 'example',
]);
}
/**
* A form having a theme and containing several fields
*
* @Route(
* "/formHavingSeveralFields",
* name = "formHavingSeveralFields"
* )
* @Template()
*/
public function formHavingSeveralFieldsAction(Request $request)
{
$address = new Address();
$address->setName('Mickael Steller');
$address->setCompany('fuz.org');
$address->setStreet('41 rue de la Paix');
$address->setPostalcode('75002');
$address->setCity('Paris');
$address->setCountry('France');
$addresses = new Addresses();
$addresses->getAddresses()->add($address);
$form = $this->createForm(AddressesType::class, $addresses);
if ($request->isMethod('POST')) {
$form->handleRequest($request);
}
return [
'form' => $form->createView(),
'data' => $addresses,
];
}
/**
* Another example of form theme
*
* @Route(
* "/fancyFormTheme",
* name = "fancyFormTheme"
* )
* @Template()
*/
public function fancyFormThemeAction(Request $request)
{
$fancyCollection = new FancyCollection();
for ($i = 0; $i < 3; $i++) {
$fancy = new Fancy();
$fancyCollection->getFancyCollection()->add($fancy);
}
$form = $this->createForm(FancyCollectionType::class, $fancyCollection);
$form->handleRequest($request);
if ($form->isValid()) {
$data = $form->getData();
}
return [
'form' => $form->createView(),
'data' => $fancyCollection,
];
}
}
<?php
namespace Fuz\AppBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* MyArray
*
* @ORM\Table(
* name="my_array",
* uniqueConstraints={@ORM\UniqueConstraint(name="name_idx", columns={"name"})}
* )
* @ORM\Entity(repositoryClass="Fuz\AppBundle\Repository\MyArrayRepository")
*/
class MyArray
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
protected $name;
/**
* @var ArrayCollection
*
* @ORM\OneToMany(targetEntity="MyElement", mappedBy="array", cascade={"all"}, orphanRemoval=true)
*/
protected $elements;
public function __construct()
{
$this->elements = new ArrayCollection();
}
public function getId()
{
return $this->id;
}
public function getName()
{
return $this->name;
}
public function setName($name)
{
$this->name = $name;
return $this;
}
public function getElements()
{
return $this->elements;
}
}
<?php
namespace Fuz\AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* MyElement
*
* @ORM\Table(name="my_element"),
* @ORM\Entity
*/
class MyElement
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var MyArray
*
* @ORM\ManyToOne(targetEntity="MyArray", inversedBy="elements")
* @ORM\JoinColumn(name="my_array_id", referencedColumnName="id")
*/
protected $array;
/**
* @var string
*
* @ORM\Column(name="value", type="string", length=255)
*/
protected $value;
public function setId($id)
{
$this->id = $id;
return $this;
}
public function getId()
{
return $this->id;
}
public function setArray(MyArray $array)
{
$this->array = $array;
return $this;
}
public function getArray()
{
return $this->array;
}
public function setValue($value)
{
$this->value = $value;
return $this;
}
public function getValue()
{
return $this->value;
}
}
<?php
namespace Fuz\AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class MyArrayType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name', TextType::class, [
'label' => 'Array name:',
]);
$builder->add('elements', CollectionType::class, [
'label' => 'Add an element...',
'entry_type' => MyElementType::class,
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'required' => false,
'by_reference' => true,
'delete_empty' => true,
'attr' => [
'class' => 'doctrine-sample',
],
]);
$builder->add('save', SubmitType::class, [
'label' => 'Save this array',
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => 'Fuz\AppBundle\Entity\MyArray',
]);
}
public function getBlockPrefix()
{
return 'my_array';
}
}
<?php
namespace Fuz\AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class MyElementType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('value', TextType::class, [
'required' => false,
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => 'Fuz\AppBundle\Entity\MyElement',
]);
}
public function getBlockPrefix()
{
return 'my_element';
}
}
<?php
namespace Fuz\AppBundle\Repository;
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use Doctrine\ORM\EntityRepository;
use Fuz\AppBundle\Entity\MyArray;
/**
* MyArrayRepository.
*/
class MyArrayRepository extends EntityRepository
{
public function create($name)
{
$data = new MyArray();
$data->setName($name);
try {
$this->_em->persist($data);
$this->_em->flush();
} catch (UniqueConstraintViolationException $e) {
return null;
}
return $data;
}
public function save(MyArray $data)
{
foreach ($data->getElements() as $element) {
$element->setArray($data);
}
try {
$this->_em->persist($data);
$this->_em->flush();
} catch (UniqueConstraintViolationException $e) {
return null;
}
return $data;
}
public function getArrayNames()
{
$arrays = $this
->_em
->createQuery("
SELECT arr.name
FROM Fuz\AppBundle\Entity\MyArray arr
")
->execute();
$names = [];
foreach ($arrays as $array) {
$names[] = $array['name'];
}
return $names;
}
public function delete(MyArray $data)
{
foreach ($data->getElements() as $element) {
$this->_em->remove($element);
}
$this->_em->remove($data);
$this->_em->flush();
}
}
{% block my_element_label %}{% endblock %}
{% block my_element_errors %}{% endblock %}
{% block my_element_widget %}
<div class="row">
<div class="col-md-7">
{{ form_widget(form.value) }}
</div>
<div class="col-md-2">
<a href="#" class="collection-up btn btn-default">Up</a>
<a href="#" class="collection-down btn btn-default">Down</a>
</div>
<div class="col-md-2">
<a href="#" class="collection-remove btn btn-default">Remove</a>
<a href="#" class="collection-add btn btn-default">Add</a>
</div>
<div class="col-md-1">
<a href="#" class="collection-duplicate btn btn-default">Duplicate</a>
</div>
</div>
{% endblock %}
{% extends 'FuzAppBundle::layout.html.twig' %}
{% block extra_js %}
<script src="{{ asset('js/jquery.collection.js') }}"></script>
{% endblock %}
{% block title %}Advanced usage: example with Doctrine{% endblock %}
{% block body %}
<h2>{{ block('title') }}</h2>
<p>
That's not really an <i>advanced</i> topic, but the sample will be a bit hard to read (as it takes many files),
so let's say it targets more experienced Symfony users.
</p>
<p>
In this demo, we're displaying a MyArray of MyElements, both persisted into the database. The MyArray entity
only have an id and a name, and MyElement has id, MyArray's id and a value. This is quite the same as we seen
in all demos, but persisted.
</p>
<div class="text-center">
<input type="button" id="new" class="btn btn-default" value="Create new array"/>
</div>
{%
form_theme form
'jquery.collection.html.twig'
'FuzAppBundle:Advanced:doctrine-theme.html.twig'
%}
{{ form(form) }}
<hr/>
{% if names|length %}
Existing arrays:
<table class="table">
<thead>
<th>Name</th>
<th>Open</th>
<th>Delete</th>
</thead>
<tbody>
{% for name in names %}
<tr>
<td>{{ name }}</td>
<td>
{% if data.name != name %}<a href="{{ path('usageWithDoctrine', {'name': name}) }}">Open</a>{% endif %}
</td>
<td><a href="{{ path('usageWithDoctrineDelete', {'name': name}) }}">Delete</a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
{{
tabs([
'Base/BaseController.php',
'Controller/AdvancedController.php',
'Resources/views/Advanced/usageWithDoctrine.html.twig',
'Resources/views/Advanced/doctrine-theme.html.twig',
'Entity/MyArray.php',
'Form/MyArrayType.php',
'Entity/MyElement.php',
'Form/MyElementType.php',
'Repository/MyArrayRepository.php',
])
}}
{% endblock %}
{% block script %}
<script type="text/javascript">
// only useful for the "new" button...
$('#new').on('click', function() {
var name = prompt("Which name would you like to use?");
if (name) {
var uri = '{{ path('usageWithDoctrine', {'name': 'a'}) }}';
document.location = uri.substr(0, uri.length - 1) + encodeURIComponent(name);
}
});
$('.doctrine-sample').collection();
</script>
{% endblock %}