PHPKonf is hosted by the İstanbul PHP community (İstanbul PHP) in İstanbul, Turkey from May 20th 2017, and you're invited! For the 4th year, we'll host some of the best speakers, awesome talk topics, latest technologies, and up to date news in PHP

Saturday 20th May 2017

Keynote: PHP in 2017
Keynote by Rasmus Lerdorf in Teknasyon Track (50 minutes)

For many in the PHP community 2016 was all about getting onto PHP 7. The drastic performance improvements and overall efficiency has resulted in PHP 7 adoption rates well beyond past PHP versions. If you are not on PHP 7 yet, you will learn why you should be and how you can take advantage of the new and upcoming features in PHP 7.

Designing the M in MVC Development
Talk by Rob Allen in Teknasyon Track (50 minutes)

Domain-Driven Design helps us to map our software to the real world of our clients, but can be quite hard to understand. In this session, I look at the fundamentals of DDD and how to apply it. We'll discuss the terminology, from ubiquitous language through entities & value objects to repositories and services. We'll apply this knowledge to inform the design and implementation of the business logic of your application. By the end of this session you will be equipped to create excellent, maintainable models in your projects.

The Big "Why equal doesn't equal" Quiz
Talk by Juliette Reinders Folmer in Netsparker Track (50 minutes)

Do you think you know PHP? But do you really? We all compare and test data on nearly every other line in our code, be it input validation, an if-statement, a switch or determining what to display and how. So of course we are all experts on how to do these tests and comparisons…. Or are we? No matter whether you are a beginner or an expert, come and join in the fun for the Big “Why equal doesn’t equal” Quiz, test your knowledge and learn about defensive programming and the quirks of a loose type programming language along the way.

A hands on introduction to Laravel
Talk by Freek Van der Herten in Teknasyon Track (50 minutes)

Laravel is an amazing framework that allows you to rapidly create quality applications. If you've never worked with Laravel before, and are interested to know what the fuzz is all about, this is the talk for you. In this beginner level talk you'll learn how Laravel makes your job easy. We'll go over the stuff that makes Laravel shine like it's expressive routing system, the easy to learn Eloquent ORM, the powerful command line tools, the scheduler, the built-in testing facilities and much more. Along the way I'll share some lesser known hidden gems that will make you smile.

Advanced debugging techniques
Talk by Patrick Allaert in Netsparker Track (50 minutes)

Step-by-step debugging with Xdebug is no secret for you? Perfect then, because we won't talk about it. We will rather see tools that let you know what's really happening in your PHP code, like the phpdbg debugger, process tracing tools like: strace, ltrace, the Linux inotify mechanism, tcpdump/wireshark for network analysis or MySQL Proxy for real time SQL debugging and monitoring!

PHP Language Trivia
Talk by Nikita Popov in Teknasyon Track (50 minutes)

Why do object-to-array casts return "mangled" property names, while some properties may become entirely inaccessible? Why are property accessors (like `__get` and `__set`) much slower than ordinary method calls? Why do objects become larger when you loop over them? Why are exception backtraces not always accurate? Sometimes, internal details of the PHP implementation leak into the language, manifesting either as unexpected results or unusual performance characteristics. This talk seeks to explore some of the darker corners of PHP and explain how certain behaviors relate to the underlying implementation. Takeaway: A better understanding of both PHP, its implementation and its performance characteristics -- albeit probably not much that is directly applicable to your average project. But hey, language trivia is fun!

Understand your application with metrics
Talk by Mariusz Gil in Netsparker Track (50 minutes)

When your PHP code is running on production servers, you've got the new challenge, undestand what exactly is going on. From low-level system data like cpu or network usage, to high-level business indicators like logins, user actions or A//B tests, every piece of information matters. With dedicated engine for time-series data you can show useful dashboards for every team, do capacity planning or even monitor your app with anomaly detection algorithms. In this talk I'll introduce core concepts for data gathering, stacks for processing metrics from PHP application, based on InfluxDB/Graphite, graph frontends, Twitter OSS libraries for getting even more from observed metrics (anomaly and breakout detection)... During this talk you will learn how to create, manage, identify and use important metrics in your PHP application, to be sure that everything is running as expected and how to use them in case of problems.

"Writing code that lasts" … or writing code you won’t hate tomorrow.
Talk by Rafael Dohms in Teknasyon Track (50 minutes)

As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let’s talk about growing, learning and improving our code with calisthenics, readability and good design.

PostgreSQL for MySQL-Users
Talk by Andreas Heigl in Netsparker Track (50 minutes)

You know SQL off your back and you know how to bend MySQL to your will. And you also heard about the other Elephant in the development-ring. What is keeping you from testing PostgreSQL? In this session we will check out what the differences are between "The Dolphin" MySQL and "The Elephant" PostgreSQL and how we can do the things we know from MySQL with PostgreSQL as well.

14:20 Build your framework like Constructicons
Talk by Stefan Koopmanschap in Teknasyon Track (50 minutes)

While we have a strong offering of full-stack frameworks and microframeworks, the rise of components and libraries combined with Composer allows us to easily build our own framework without reinventing the wheel. In this talk, I'll show you how the total can be more than the sum of the parts, such as Devastator was stronger than the individual Constructicons in Transformers.

Redis for your boss in Netsparker Track (50 minutes)

“Use the right tool for the right job” is one of the first thing they teach you when you start out in these waters. I would make “Get to really know your tools” a second. In this talk we’re going to work on the architecture of an app that showcases some common features/scenarios we all probably already have in the apps we’re working on: counters, leaderboards, queuing, timelines, caching, session management, chat. But this time we’ll implement them with Redis, making the apps much faster, your hardware (and you) much cooler, your boss (and the clients) much happier and hopefully your salary a bit higher.

Dockerizing Development Environment
Talk by Fatih Üstündağ in Teknasyon Track (50 minutes)

Dockerizing Development Environment

Boost up your code with Specifications
Talk by Emii Khaos in Netsparker Track (50 minutes)

Big repositories, complex query builders, tight coupling to your ORM. Adding new behaviors and search methods can be a mess. Don't struggle anymore! This talk shows you how to decouple you from the ORM and writing general search behaviors for all your entities with the specification pattern. Your new specifications are not tied to any specific ORM and can be reused on different levels.

Total Recall - The application that never forgets
Talk by Holger Woltersdorf in Teknasyon Track (50 minutes)

Building an application upon CQRS and Event Sourcing offers three pretty nice benefits. 1. Well structured code and business logic, separated by read and write concerns. 2. The source of truth - A reliable and recoverable view into the past of your application state. 3. The opportunity to answer future questions that you don't know about today. This talk tries to show you examples for these benefits and how to give your application a memory.

A year of Symfony
Talk by Sarah Khalil in Netsparker Track (50 minutes)

Last year, Symfony 3 was out. A lot happened! 52 blog posts to help you keep up with all new things, 1200+ pull requests, 2 new versions out¦ Well I'm sure you missed something. Let's review what happened during last year: basically we'll see and/or discover nice new features that appeared since the last year.

Closing Keynote: Three Claims About Development You Probably Never Heard
Keynote by Bilgem Çakır in Teknasyon Track (50 minutes)

We have been doing this for five decades now, and we did figure some things out. Yet software development is still immature compared to other disciplines and we regularly miss our ship dates and quality goals. In this talk, we will examine three perspectives that are widely unstudied, while trying to avoid simply being contrarian.