15
Symfony Worst Practices Worst Practices Michael Sulima [email protected]

ORO Meetups - Symfony2 Worst Practices

Embed Size (px)

Citation preview

Page 1: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Worst Practices

Michael [email protected]

Page 2: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Don’t use this tool

Page 3: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Fat Stupid Ugly Controllers

Page 4: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Fat Stupid Ugly Controllers■ Use single responsibility principle also for controller actions

■ Do not start coding in controllers

■ Do not create forms in controllers

■ Extract your shared methods or avoid them at all

■ Go the test driven way

Page 5: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Doctrine likes memory

Page 6: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Doctrine likes memory

■ Avoid Object Hydration when handling many entities

■ Don’t load the whole entity if you only need reference to it

■ Do not flush inside cycles

Page 7: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Fat DI Container

■ Controllers as services

■ Single use forms

■ Do not create parameter if you will never needed to change that value

Page 8: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Circle dependency between bundles

Page 9: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Don’t inject DIC into services

Page 10: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Using Object Manager■ Do not inject Object Manager into entities

■ Do not inject Object Manager into services

Page 11: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Binding to the Environment

Page 12: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Using data in form constructors

Page 14: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

Q & A

Page 15: ORO Meetups - Symfony2 Worst Practices

Symfony Worst Practices

No?