PHP Core Technology - International PHP Conference https://phpconference.com/php-core-technology IPC 2025 Tue, 25 Jan 2022 09:30:44 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.2 17 Ways to Undo Mistakes with Git https://phpconference.com/web-development-frontends-content-management/17-ways-to-undo-mistakes-with-git-2/ Mon, 05 Oct 2020 13:42:36 +0000 https://phpconference.com/session/17-ways-to-undo-mistakes-with-git-2/ We cannot avoid mistakes. But with the right tools, we can make sure they don’t hurt too much. Git offers many ways to undo, revert, recover and fix. We’ll look at the bad things that can happen to you – and how Git can save your neck. In this hands-on session, we’ll have a look...

Read More

The post 17 Ways to Undo Mistakes with Git appeared first on International PHP Conference.

]]>
We cannot avoid mistakes. But with the right tools, we can make sure they don’t hurt too much. Git offers many ways to undo, revert, recover and fix. We’ll look at the bad things that can happen to you – and how Git can save your neck.
In this hands-on session, we’ll have a look at Git’s various "undo" features. My intention is to give developers more confidence in their day-to-day operations when working with code: "mistakes can be undone" is something I’d like the audience to keep in mind. In the session, I will both talk about the theory and show the corresponding commands / tools in practice. I’ll be using both Git on the command line and the popular GUI "Tower" to show how to deal with mistakes in real-world scenarios.

The post 17 Ways to Undo Mistakes with Git appeared first on International PHP Conference.

]]>
Layers, Rings, Onions – Hexagonal and Clean Architecture for Better Code https://phpconference.com/software-architecture-frameworks-co/layers-rings-onions-hexagonal-and-clean-architecture-for-better-code/ Fri, 17 Jul 2020 08:11:11 +0000 https://phpconference.com/session/layers-rings-onions-hexagonal-and-clean-architecture-for-better-code/ Technical code and business code should be kept separate. That seems like a simple architecture rule. But it is violated in virtually every real project. Even the current versions of frameworks like Symfony, Laravel, and co. easily contaminate our domain models. In this talk we look at ways out of this plight. The architectural styles...

Read More

The post Layers, Rings, Onions – Hexagonal and Clean Architecture for Better Code appeared first on International PHP Conference.

]]>
Technical code and business code should be kept separate. That seems like a simple architecture rule. But it is violated in virtually every real project. Even the current versions of frameworks like Symfony, Laravel, and co. easily contaminate our domain models. In this talk we look at ways out of this plight. The architectural styles Clean and Hexagonal Architecture and Tactical Design help us to do so.

The post Layers, Rings, Onions – Hexagonal and Clean Architecture for Better Code appeared first on International PHP Conference.

]]>
Lessons learned from building Sulu 2.0 https://phpconference.com/php-frameworks/lessons-learned-from-building-sulu-2-0/ Wed, 19 Feb 2020 06:51:13 +0000 https://phpconference.com/session/lessons-learned-from-building-sulu-2-0/ After more then 2,5 years of development we have finally released a new major release of our OpenSource Content Management System build on top of Symfony. That’s a very long time, and we have totally underestimated how much work it will be. However, this allowed us to learn a lot of different lessons, from many...

Read More

The post Lessons learned from building Sulu 2.0 appeared first on International PHP Conference.

]]>
After more then 2,5 years of development we have finally released a new major release of our OpenSource Content Management System build on top of Symfony. That’s a very long time, and we have totally underestimated how much work it will be. However, this allowed us to learn a lot of different lessons, from many different areas. Some concern how to plan such a project, how to handle certain restrictions or software architecture. In this talk I would like to tell you about as many as of these lessons as possible.

The post Lessons learned from building Sulu 2.0 appeared first on International PHP Conference.

]]>
WordPress for Modern Developers https://phpconference.com/web-development/wordpress-for-modern-developers/ Thu, 13 Feb 2020 10:59:40 +0000 https://phpconference.com/session/wordpress-for-modern-developers/ WordPress may poser a third of the web, but it’s one of the world’s most popular legacy projects. So if you’re a modern web developer but you’re forced to use WordPress, what are your options? This talk explores the tools and frameworks that are available to enable modern development in a legacy project, and how...

Read More

The post WordPress for Modern Developers appeared first on International PHP Conference.

]]>
WordPress may poser a third of the web, but it’s one of the world’s most popular legacy projects. So if you’re a modern web developer but you’re forced to use WordPress, what are your options?

This talk explores the tools and frameworks that are available to enable modern development in a legacy project, and how to make WordPress development feel like working with a modern framework. It also explores just how far you can push the “magic” of WordPress when it comes to theme development.

The post WordPress for Modern Developers appeared first on International PHP Conference.

]]>
Reformat, Refactor, Replace https://phpconference.com/php-core-technology/reformat-refactor-replace/ Thu, 13 Feb 2020 11:59:39 +0000 https://phpconference.com/session/reformat-refactor-replace/ When your everyday grind is a monolithic, legacy, PHP application from the early 2000s, it can be hard to utilise the newer tools and technologies that are available. Fortunately, there’s a process you can follow to get your application up to date without losing customers, business logic, or your mind. This talk covers the tried-and-true...

Read More

The post Reformat, Refactor, Replace appeared first on International PHP Conference.

]]>
When your everyday grind is a monolithic, legacy, PHP application from the early 2000s, it can be hard to utilise the newer tools and technologies that are available. Fortunately, there’s a process you can follow to get your application up to date without losing customers, business logic, or your mind.

This talk covers the tried-and-true process of upgrading and replacing a legacy system with a brand new, modern codebase.

The post Reformat, Refactor, Replace appeared first on International PHP Conference.

]]>
Create a WebSocket server in PHP, is it possible ? https://phpconference.com/php-core-technology/create-a-websocket-server-in-php-is-it-possible/ Tue, 11 Feb 2020 13:37:59 +0000 https://phpconference.com/session/create-a-websocket-server-in-php-is-it-possible/ Today, WebSockets are more and more used in our projects. The real time they bring us allows to respond to new usages, to differentiate ourselves with new features. They are commonly tied to the Node.js and JavaScript ecosystem. Do you know it’s possible to create a WebSocket server or client using PHP ? What are...

Read More

The post Create a WebSocket server in PHP, is it possible ? appeared first on International PHP Conference.

]]>
Today, WebSockets are more and more used in our projects. The real time they bring us allows to respond to new usages, to differentiate ourselves with new features. They are commonly tied to the Node.js and JavaScript ecosystem. Do you know it’s possible to create a WebSocket server or client using PHP ?

What are the available solutions ? Why do I need to create my own server/client ? Is PHP the right tool for that job ?

This talk’s goal is to present the current state in the PHP ecosystem and show using a real example how to build a viable implementation. Then, like we often heard, everything depends on the context, you are free to use that kind of tool in your project … or not !

The post Create a WebSocket server in PHP, is it possible ? appeared first on International PHP Conference.

]]>
PHP in 2020: Fully Loaded https://phpconference.com/php-core-technology/php-in-2020-fully-loaded/ Wed, 11 Dec 2019 13:31:30 +0000 https://phpconference.com/session/php-in-2020-fully-loaded/ Does your application rely on autoloading? Chances are, it does – given autoloading was introduced to PHP back in Version 5. While the original global function has long been deprecated, since PHP 7.4 the whole concept of autoloading became superfluous. This talk will introduce you to the new preloading mechanism and how it is likely...

Read More

The post PHP in 2020: Fully Loaded appeared first on International PHP Conference.

]]>
Does your application rely on autoloading? Chances are, it does – given autoloading was introduced to PHP back in Version 5. While the original global function has long been deprecated, since PHP 7.4 the whole concept of autoloading became superfluous. This talk will introduce you to the new preloading mechanism and how it is likely to change pretty much everything: how to load classes, and when and how to deploy new versions to production.

The post PHP in 2020: Fully Loaded appeared first on International PHP Conference.

]]>
PSR-14: A Major PHP Event https://phpconference.com/php-frameworks/psr-14-a-major-php-event/ Wed, 11 Dec 2019 13:31:30 +0000 https://phpconference.com/session/psr-14-a-major-php-event/ PSR-14 is the latest specification from the PHP Framework Interoperability Group (PHP-FIG), this time addressing event dispatching. Many frameworks and applications contain an "event dispatcher", "message bus", "hook system", or some other variation on the same basic concept, but to date they are all incompatible with each other. No more! The PSR-14 spec offers a...

Read More

The post PSR-14: A Major PHP Event appeared first on International PHP Conference.

]]>
PSR-14 is the latest specification from the PHP Framework Interoperability Group (PHP-FIG), this time addressing event dispatching. Many frameworks and applications contain an "event dispatcher", "message bus", "hook system", or some other variation on the same basic concept, but to date they are all incompatible with each other. No more! The PSR-14 spec offers a way to interweave these disparate systems, making it far easier to swap individual libraries into the framework of your choice. It goes beyond the basic "register and call" object that most systems use to make it easier to plug different implementations together, offering an easier experience and greater flexibility for library authors. This session will cover how PSR-14 works, some examples of how to leverage it effectively, and how to adopt it alongside, and even encompassing, your existing one-off tooling.

The post PSR-14: A Major PHP Event appeared first on International PHP Conference.

]]>
How Much Framework? #slideless https://phpconference.com/php-frameworks/how-much-framework/ Wed, 11 Dec 2019 13:31:30 +0000 https://phpconference.com/session/how-much-framework/ Choosing a framework is not an easy task: How good is the documentation? How many developers are actively working on it and how long has it been around? Interesting and valid questions but not necessarily the most important ones. How much of a framework do we actually need? And how crucial will it be for...

Read More

The post How Much Framework? #slideless appeared first on International PHP Conference.

]]>
Choosing a framework is not an easy task: How good is the documentation? How many developers are actively working on it and how long has it been around? Interesting and valid questions but not necessarily the most important ones. How much of a framework do we actually need? And how crucial will it be for our application? In this session, we’ll try to answer these two questions in a potentially surprising way: by implementing our own micro framework from scratch – in 45 minutes!

The post How Much Framework? #slideless appeared first on International PHP Conference.

]]>
Hall of Mirrors https://phpconference.com/php-core-technology/hall-of-mirrors/ Wed, 11 Dec 2019 13:31:28 +0000 https://phpconference.com/session/hall-of-mirrors/ Having done away with "eval()" and "register_globals" we now live in a brave new world of autoloading third-party dependencies, object reflection and comment @annotations. Do you really know what is executed when you run a bit of code and do you even want to? PHPUnit is designed to isolate pieces of code for testing. Together...

Read More

The post Hall of Mirrors appeared first on International PHP Conference.

]]>
Having done away with "eval()" and "register_globals" we now live in a brave new world of autoloading third-party dependencies, object reflection and comment @annotations. Do you really know what is executed when you run a bit of code and do you even want to? PHPUnit is designed to isolate pieces of code for testing. Together with a debugger, this makes for an excellent sandbox to explore this topic. Using the internals of the testing framework we take a look at how quickly complexity creeps in. Starting with a simple test we explore what happens when complexity is introduced: parameters, dependencies, process isolation and finally reordering of units of work. At every step the testing core has to do more work to hide what is really going on. The talk ends connecting the dots by looking at the architecture and implementation of the execution reordering features, introduction of a state-cache and footprint improvements of data-driven automated tests.

The post Hall of Mirrors appeared first on International PHP Conference.

]]>