laravel 5 and solid
TRANSCRIPT
L 5 : N E W T H I N G S - Q U I C K R E V I E W
STRU
CTU
RE
Default namespace: Appapp/models=> nullapp/start => nullNEW => app/Providers
Controllers => app/HttpMiddleware => app/HttpRequests => app/Http
Route filters=> middleware
language files => resources directoryviews => resources directory
L 5 : N E W T H I N G S - Q U I C K R E V I E W
Contracts: illuminate/contractsController Method InjectionEvent ObjectsCommands / Queueing
Route Middleware (Filters)
Form Requests / Controller Request Validation
Route CacheDatabase QueueLaravel Scheduler
Elixir
SocialiteFilesystem abstraction: Flysystem
DotEnvAuthentication ScaffoldingConfiguration CacheNew Generators
TinkerSymfony VarDumper
S O L I DSINGLE RESPONSIBILITY PRINCIPLE
OPEN/CLOSED PRINCIPLE
LISKOV SUBSTITUTION PRINCIPLE
INTERFACE SEGREGATION PRINCIPLE
DEPENDENCY INVERSION PRINCIPLE
S O L I DSINGLE RESPONSIBILITY PRINCIPLE
OPEN/CLOSED PRINCIPLE
LISKOV SUBSTITUTION PRINCIPLE
INTERFACE SEGREGATION PRINCIPLE
DEPENDENCY INVERSION PRINCIPLE
Software entities (classes, modules, functions,
etc.) should be open for extension,
but closed for modification.
OPEN/CLOSED PRINCIPLE
Separate extensible behavior behind an interface, and flip the dependencies
OPEN
/C
LO
SED
PRIN
CIP
LE
S O L I DSINGLE RESPONSIBILITY PRINCIPLE
OPEN/CLOSED PRINCIPLE
LISKOV SUBSTITUTION PRINCIPLE
INTERFACE SEGREGATION PRINCIPLE
DEPENDENCY INVERSION PRINCIPLE
Let q(x) be a property provable about objects x of type T.
Then q(y) should be provable for objects y of type S
where S is a subtype of T.
LISKOV SUBSTITUTION PRINCIPLE
S O L I DSINGLE RESPONSIBILITY PRINCIPLE
OPEN/CLOSED PRINCIPLE
LISKOV SUBSTITUTION PRINCIPLE
INTERFACE SEGREGATION PRINCIPLE
DEPENDENCY INVERSION PRINCIPLE
A client should never be forced to
implement an interface that it
doesn’t use
INTERFACE SEGREGATION PRINCIPLE
S O L I DSINGLE RESPONSIBILITY PRINCIPLE
OPEN/CLOSED PRINCIPLE
LISKOV SUBSTITUTION PRINCIPLE
INTERFACE SEGREGATION PRINCIPLE
DEPENDENCY INVERSION PRINCIPLE
A. High-level modules should not depend on low-level modules. Both should depend
on abstractions.
B. Abstractions should not depend upon details. Details should depend upon
abstractions.
DEPEN
DEN
CY IN
VERSIO
N P
RIN
CIP
LE
Dependency inversion principle
S O L I DSINGLE RESPONSIBILITY PRINCIPLE
OPEN/CLOSED PRINCIPLE
LISKOV SUBSTITUTION PRINCIPLE
INTERFACE SEGREGATION PRINCIPLE
DEPENDENCY INVERSION PRINCIPLE