A talk about YAGNI (You Aren't Gonna Need It) principle in Laravel development. The speaker discusses how to avoid over-engineering by only implementing features when they're actually needed, while maintaining balance between simplicity and necessary complexity. He covers the stages of adopting YAGNI, from initial resistance through to confidence, and provides practical examples of when to apply or not apply YAGNI in Laravel applications.
A comprehensive talk about writing better Laravel code by focusing on proper use of Eloquent ORM features. The speaker discusses model defaults, relationship management, custom collections, and report generation patterns. He emphasizes the importance of making code readable and semantic, using real-world furniture-making analogies to illustrate concepts of craftsmanship in software development.
Adam Wathan presents strategies for simplifying Laravel controllers by following the 'Never Write Custom Actions' (NWCA) rule. He demonstrates how to break down large controllers with many custom actions into smaller, more focused controllers that only use standard CRUD/REST actions. Through examples from a podcast management application, he shows how to model seemingly custom operations as standard resource actions by thinking creatively about your domain models and resources.
Jeffrey Way shares 9 code refactoring techniques to improve Laravel applications, focusing on simplicity and practical solutions. He emphasizes letting code 'grossness' guide refactoring decisions rather than premature optimization, and advocates for optimizing code for deletion rather than trying to future-proof everything. The talk provides concrete examples of patterns like decorators, query objects, and event handling while warning against over-engineering.
A detailed talk about practical design patterns and code organization in Laravel applications, focusing on when and how to implement different patterns. The speaker emphasizes writing maintainable code by making strategic decisions about pattern usage based on actual needs rather than prematurely implementing complex architectures. He covers both preventative and reactive patterns, from code organization to scaling solutions.
The speaker presents a practical guide to understanding and implementing design patterns in Laravel applications. Starting with a story about a junior developer struggling with the Gang of Four design patterns book, he demonstrates how to make patterns more accessible by showing real-world implementations of the Adapter, Strategy, and Factory patterns using Laravel examples. The talk focuses on practical refactoring techniques and how to properly structure code using these patterns.
Bob Martin gives a talk about clean architecture, discussing how frameworks like Rails (and by extension Laravel) should not dominate application design. He emphasizes that web frameworks are just I/O devices and should be treated as plugins to the core business logic. He discusses the importance of proper architecture that allows deferring major decisions, separates business logic from delivery mechanisms, and enables easy testing. He also touches on the growing responsibility of software developers in society and the need for self-regulation through practices like TDD.
A comprehensive talk about design patterns in Laravel, focusing on three key patterns: Singleton, Observer, and Bridge. The speaker explains each pattern using real-world analogies (like pizza-making) and shows how Laravel implements them differently from traditional PHP implementations. The talk demonstrates how Laravel uses these patterns in its core functionality, including service containers, event systems, and database migrations.
The talk discusses time-driven development and software architecture decisions, using real-world examples from building a user profile management system. The speaker emphasizes the importance of balancing proper software design principles with practical time constraints. They demonstrate how over-engineering can sometimes waste time, while strategic architecture decisions can save time in the long run. The talk includes examples of transitioning from a CRM-based system to a local database, and lessons learned from over-engineering a GitHub integration.
Jake Bennett presents his first conference talk on implementing State Machines and the State Pattern in Laravel applications. He demonstrates how to refactor complex conditional logic around invoice status management into a cleaner, more maintainable state machine implementation using PHP classes. The talk walks through creating a state diagram, implementing state classes, and delegating behavior through a state machine pattern rather than traditional event-action controllers.
A technical talk about software design patterns used in Laravel framework. The speaker covers several key design patterns including Iterators, Observers, Singletons, Facades, and Decorators, explaining how they are implemented in Laravel and their practical applications. The talk includes detailed explanations of each pattern's structure, purpose, and real-world examples from Laravel's codebase.
The talk focuses on Test-Driven Development (TDD) and behavioral design patterns, particularly emphasizing the importance of object communication and mocking in software design. The speaker discusses how exposing object communications through tests can help identify design problems and SOLID principle violations. He argues that mocks should be used as design tools rather than just for test isolation, and presents several case studies showing how proper mocking practices can lead to better software design.
A comprehensive talk about Laravel's IOC (Inversion of Control) Container, covering dependency injection, container bindings, and service providers. The speaker explains core IOC concepts through practical examples, demonstrates how to use the container effectively, and discusses advanced topics like circular dependencies and contextual binding.
A talk about the importance of user experience (UX) design in development, focusing on how developers can improve UX through better logging practices and thoughtful design choices. The speaker shares experiences from teaching technology in Indonesian villages to demonstrate how diverse user bases are, and provides practical tips for implementing better UX through Monolog logging and human-centered design principles.
The talk demystifies monads by explaining them as ordinary data types with specific operations and rules, similar to stacks and collections. The speaker uses practical examples in PHP/Laravel to show how monads are already being used (like Laravel's fluent syntax, JavaScript promises, and jQuery), and demonstrates how to implement basic monads like Maybe and Many to handle null checking and collections in a functional way.
This talk focuses on design patterns in Laravel, particularly exploring the Factory Pattern, Builder Pattern, Strategy Pattern and Provider Pattern. The speaker uses a pizza ordering system as a practical example to demonstrate how these patterns can work together to create maintainable, flexible code. The talk includes concrete examples of implementing these patterns in Laravel applications and explains how they can be used to extend framework functionality.
David Hemphill gives a talk about creative ways to use and reuse Laravel's built-in components for solving common development problems. He shares approaches for handling front-end filtering, database testing, data access patterns, and model scheduling by leveraging existing Laravel features like pipelines, database seeders, form requests, and the scheduler rather than reaching for third-party packages.