Allows focusing on the business end of your app.
There is a community fixing bugs that I'd need to fix on my own.
It's probably more secure and more extensively tested than what I can whip on my own.
A framework is just a tool, go with the one which adds the most productivity
Good devs can create great apps in any framework
Making it [the app] more scalable is about separating domain, following SOLID in that separated layer, introducing proper unit testing etc. It's developer who can do so, not the framework itself.
Alexander Makarov - Yii
A framework is just a tool, go with the one which adds the most productivity
Productivity walks hand-in-hand with simplicity;
Simplicity is not always the way to go;
Simplicity can bring technical debt;
Good devs can create great apps in any framework
Making it [the app] more scalable is about separating domain, following SOLID in that separated layer, introducing proper unit testing etc. It's developer who can do so, not the framework itself.
Making it [the app] more scalable is about separating domain, following SOLID in that separated layer, introducing proper unit testing etc.
Single Responsibility Principle
Open/Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
Classes should have only one reason to change.
One and only one well defined responsibility
Classes should be closed to modification...
...but should be open for extension.
If S is a subtype of T, than all T objects from an application should be replaceable by S, without changing the application properties.
It's preferable to have multiple specific implementations than a single generic one.
Classes should depend on abstractions, not on implementations.
ActiveRecord violates SRP with wild abandon.
Making it [the app] more scalable is about separating domain, following SOLID in that separated layer, introducing proper unit testing etc.
Making it [the app] more scalable is about separating domain, following SOLID in that separated layer, introducing proper unit testing etc.
We can't unit test things that depend on global state.
Global state isn't just global variables. Static methods and Singletons also represent global state!
Unit testing methods with dependencies
Can't mock singletons!
Can't mock hardcoded dependencies (static methods, for example).
PSR4 - Autoloading
PSR3 - Logging
PSR6 - Cache
PSR7 - HTTP
A package [lack of] technique can constrain your application and your development processes.
Develop like you will outgrow your short-term commercial needs. The tradeoff is inelastic most of the time.
Try to keep personal preferences away from company choices.
Backend and frontend
ESTOU DOANDO OITO FILHOTES
SOCORRO