1<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="facebook-domain-verification" content="spjosrxfeh3j1n5be7e7uct36tlga3"/><link rel="apple-touch-icon" sizes="180x180" href="/assets/images/icons/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/assets/images/icons/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/assets/images/icons/favicon-16x16.png"/><link rel="manifest" href="/assets/images/icons/site.webmanifest"/><link rel="mask-icon" href="/assets/images/icons/safari-pinned-tab.svg" color="#5bbad5"/><link rel="shortcut icon" href="/assets/images/icons/favicon.ico"/><meta name="msapplication-TileColor" content="#ffffff"/><meta name="msapplication-config" content="/assets/images/icons/browserconfig.xml"/><meta name="theme-color" content="#ffffff"/>
1<script type="text/javascript"> 2 _linkedin_partner_id = "8021770"; 3 window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; 4 window._linkedin_data_partner_ids.push(_linkedin_partner_id); 5 </script>
5<script type="text/javascript"> 6 (function(l) { 7 if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; 8 window.lintrk.q=[]} 9 var s = document.getElementsByTagName("script")[0]; 10 var b = document.createElement("script"); 11 b.type = "text/javascript";b.async = true; 12 b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; 13 s.parentNode.insertBefore(b, s); 14 })(window.lintrk); 15 </script>
15<noscript><img height="1" width="1" style="display:none" alt="" src="https://px.ads.linkedin.com/collect/?pid=8021770&fmt=gif"/></noscript>
15<script> 16 !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); 17 },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', 18 a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); 19 twq('config','ob2rn'); 20 </script>
20<script>
vendor: 525 bytes, lines 20-29
20 21 !function(f,b,e,v,n,t,s) 22 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 23 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 24 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 25 n.queue=[];t=b.createElement(e);t.async=!0; 26 t.src=v;s=b.getElementsByTagName(e)[0]; 27 s.parentNode.insertBefore(t,s)}(window, document,'script', 28 'https://connect.facebook.net/en_US/fbevents.js'); 29 fbq('init', '
294314665212115853
vendor: 56 bytes, lines 29-31
29'); 30 fbq('track', 'PageView'); 31
31</script>
31<noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=4314665212115853&ev=PageView&noscript=1" alt=""/></noscript><title>2026 Schedule | PHP UK Conference</title><meta name="robots" content="index,follow"/><meta name="description" content="Check out our talk schedule for PHP UK Conference 2026, we have a wide range of talks and workshops lined up."/><meta property="og:title" content="2026 Schedule | PHP UK Conference"/><meta property="og:description" content="Check out our talk schedule for PHP UK Conference 2026, we have a wide range of talks and workshops lined up."/><meta name="next-head-count" content="24"/><link rel="preload" href="/_next/static/css/7d5aaac96b97ef73.css" as="style"/><link rel="stylesheet" href="/_next/static/css/7d5aaac96b97ef73.css" data-n-g=""/><noscript data-n-css=""></noscript>
31<script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script>
31<script src="/_next/static/chunks/webpack-59c5c889f52620d6.js" defer=""></script>
31<script src="/_next/static/chunks/framework-492ecd3e75959344.js" defer=""></script>
31<script src="/_next/static/chunks/main-1bae251907bc7fc5.js" defer=""></script>
31<script src="/_next/static/chunks/pages/_app-5df0585ac33e79d8.js" defer=""></script>
31<script src="/_next/static/chunks/466-f31f50cb2c4f6db3.js" defer=""></script>
31<script src="/_next/static/chunks/pages/schedule-071818aa272f4645.js" defer=""></script>
31<script src="/_next/static/W_zc6_l4psbU3pCUN0ZLu/_buildManifest.js" defer=""></script>
31<script src="/_next/static/W_zc6_l4psbU3pCUN0ZLu/_ssgManifest.js" defer=""></script>
31<style id="__jsx-ad6f88581f8437d1">.schedule-table__track-header.jsx-ad6f88581f8437d1 .schedule-table__track-time.jsx-ad6f88581f8437d1::before,.schedule-table__track-header.jsx-ad6f88581f8437d1 .schedule-table__track-location.jsx-ad6f88581f8437d1::before{-webkit-filter:brightness(0)invert(1);filter:brightness(0)invert(1)}</style></head><body><div id="__next"><header class="header fixed-top"><div class="container"><nav class="navbar navbar-expand-lg navbar-light"><a class="navbar-brand" href="/"><svg width="5305" height="1431" viewBox="0 0 5305 1431" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5018.23 1430.14H0.917969L89.5784 982.788H5106.38L5018.23 1430.14Z" fill="white"></path><path d="M370.973 1342.59C344.682 1342.59 322.184 1336.78 303.224 1325.4C284.265 1314.03 269.602 1298.1 259.491 1277.63C249.126 1257.15 244.07 1233.39 244.07 1206.09C244.07 1178.78 249.126 1155.02 259.491 1134.55C269.855 1114.07 284.265 1098.14 303.224 1086.77C322.184 1075.39 344.682 1069.58 370.973 1069.58C401.055 1069.58 426.335 1076.91 446.811 1092.08C467.287 1106.99 481.696 1127.21 490.039 1152.75L440.238 1166.65C435.435 1150.72 427.093 1138.34 415.717 1129.74C404.089 1120.89 389.427 1116.6 371.226 1116.6C354.541 1116.6 340.637 1120.39 329.767 1127.72C318.644 1135.05 310.302 1145.67 304.741 1159.07C299.179 1172.46 296.399 1188.39 296.399 1206.59C296.399 1224.79 299.179 1240.72 304.741 1254.12C310.302 1267.51 318.644 1278.13 329.767 1285.46C340.89 1292.79 354.794 1296.59 371.226 1296.59C389.427 1296.59 404.342 1292.29 415.717 1283.19C427.346 1274.34 435.435 1261.95 440.238 1246.28L490.039 1260.18C481.696 1285.72 467.287 1305.94 446.811 1320.85C426.335 1335.77 401.055 1343.35 370.973 1343.35V1342.59Z" fill="black"></path><path d="M847.637 1342.97C821.346 1342.97 798.848 1337.16 779.888 1325.78C760.929 1314.41 746.267 1298.48 736.155 1278.01C725.79 1257.53 720.734 1233.77 720.734 1206.46C720.734 1179.16 725.79 1155.4 736.155 1134.92C746.519 1114.45 760.929 1098.52 779.888 1087.15C798.848 1075.77 821.346 1069.96 847.637 1069.96C873.927 1069.96 896.426 1075.77 915.386 1087.15C934.345 1098.52 949.007 1114.45 959.119 1134.92C969.483 1155.4 974.539 1179.16 974.539 1206.46C974.539 1233.77 969.483 1257.53 959.119 1278.01C948.754 1298.48 934.345 1314.41 915.386 1325.78C896.426 1337.16 873.927 1342.97 847.637 1342.97ZM847.637 1296.46C864.321 1296.46 877.972 1293.17 889.095 1285.84C900.218 1278.51 908.307 1267.89 913.869 1254.24C919.43 1240.59 922.211 1224.67 922.211 1206.46C922.211 1188.26 919.43 1172.59 913.869 1159.19C908.307 1145.79 899.965 1135.43 889.095 1128.1C877.972 1120.77 864.321 1116.98 847.637 1116.72C830.952 1116.47 817.302 1120.01 806.179 1127.34C795.056 1134.67 786.966 1145.29 781.405 1158.69C775.843 1172.34 773.063 1188.26 773.063 1206.46C773.063 1224.67 775.843 1240.34 781.405 1253.74C786.966 1267.14 795.309 1277.5 806.179 1284.83C817.049 1292.16 830.952 1295.95 847.637 1296.21V1296.46Z" fill="black"></path><path d="M1221.03 1337.41V1075.52H1271.34L1385.09 1250.2V1075.52H1435.4V1337.41H1385.09L1271.34 1162.73V1337.41H1221.03Z" fill="black"></path><path d="M1728.92 1337.29V1075.39H1888.94V1124.94H1778.21V1181.82H1866.94V1231.37H1778.21V1337.54H1728.66L1728.92 1337.29Z" fill="black"></path><path d="M2203.93 1337.29V1075.39H2374.82V1121.65H2253.23V1177.77H2352.83V1224.03H2253.23V1291.28H2374.82V1337.54H2203.93V1337.29Z" fill="black"></path><path d="M2667.96 1337.29V1075.39H2778.68C2781.21 1075.39 2784.75 1075.39 2789.05 1075.64C2793.34 1075.64 2797.13 1076.15 2800.67 1076.91C2816.35 1079.44 2829.24 1084.49 2839.1 1092.33C2849.21 1100.17 2856.54 1110.02 2861.09 1122.16C2865.89 1134.04 2868.17 1147.44 2868.17 1162.1C2868.17 1184.09 2862.61 1202.8 2851.74 1218.47C2840.87 1234.15 2823.68 1243.75 2800.42 1247.29L2778.68 1248.81H2717.5V1337.54H2667.96V1337.29ZM2717.25 1202.29H2776.15C2778.68 1202.29 2781.46 1202.29 2784.49 1202.04C2787.53 1201.79 2790.31 1201.28 2792.84 1200.52C2799.41 1198.75 2804.72 1195.72 2808.26 1191.42C2811.8 1187.13 2814.32 1182.32 2815.84 1177.01C2817.36 1171.71 2817.86 1166.65 2817.86 1162.1C2817.86 1157.55 2817.11 1152.24 2815.84 1147.19C2814.58 1141.88 2812.05 1137.07 2808.26 1132.78C2804.72 1128.48 2799.41 1125.44 2792.84 1123.68C2790.31 1122.92 2787.53 1122.41 2784.49 1122.16C2781.46 1122.16 2778.68 1121.91 2776.15 1121.91H2717.25V1202.55V1202.29ZM2815.59 1337.29L2764.02 1230.61L2815.08 1220.75L2871.96 1337.29H2815.84H2815.59Z" fill="black"></path><path d="M3165.1 1337.29V1075.39H3335.99V1121.65H3214.39V1177.77H3313.99V1224.03H3214.39V1291.28H3335.99V1337.54H3165.1V1337.29Z" fill="black"></path><path d="M3623.94 1337.41V1075.52H3674.24L3788 1250.2V1075.52H3838.31V1337.41H3788L3674.24 1162.73V1337.41H3623.94Z" fill="black"></path><path d="M4215.62 1342.59C4189.33 1342.59 4166.83 1336.78 4147.87 1325.4C4128.91 1314.03 4114.25 1298.1 4104.14 1277.63C4093.77 1257.15 4088.71 1233.39 4088.71 1206.09C4088.71 1178.78 4093.77 1155.02 4104.14 1134.55C4114.5 1114.07 4128.91 1098.14 4147.87 1086.77C4166.83 1075.39 4189.33 1069.58 4215.62 1069.58C4245.7 1069.58 4270.98 1076.91 4291.46 1092.08C4311.93 1106.99 4326.34 1127.21 4334.68 1152.75L4284.88 1166.65C4280.08 1150.72 4271.74 1138.34 4260.36 1129.74C4248.73 1120.89 4234.07 1116.6 4215.87 1116.6C4199.19 1116.6 4185.28 1120.39 4174.41 1127.72C4163.29 1135.05 4154.95 1145.67 4149.39 1159.07C4
31143.82 1172.46 4141.04 1188.39 4141.04 1206.59C4141.04 1224.79 4143.82 1240.72 4149.39 1254.12C4154.95 1267.51 4163.29 1278.13 4174.41 1285.46C4185.54 1292.79 4199.44 1296.59 4215.87 1296.59C4234.07 1296.59 4248.99 1292.29 4260.36 1283.19C4271.99 1274.34 4280.08 1261.95 4284.88 1246.28L4334.68 1260.18C4326.34 1285.72 4311.93 1305.94 4291.46 1320.85C4270.98 1335.77 4245.7 1343.35 4215.62 1343.35V1342.59Z" fill="black"></path><path d="M4606.84 1337.29V1075.39H4777.73V1121.65H4656.13V1177.77H4755.74V1224.03H4656.13V1291.28H4777.73V1337.54H4606.84V1337.29Z" fill="black"></path><path d="M1243.05 99.9243C1237.94 82.3763 1229.76 66.7023 1218.69 52.732C1207.44 38.7617 1193.81 27.858 1177.46 20.021C1161.1 12.0137 1143.38 7.9248 1124.3 7.9248H285.232L118.27 843.417H383.194L429.705 607.115H1039.46C1072.85 607.115 1102.49 596.552 1128.39 575.596C1154.29 554.47 1170.3 527.552 1176.78 495.011L1244.75 154.783C1248.84 135.702 1248.16 117.472 1242.88 99.9243H1243.05ZM983.406 356.842L977.784 386.656C977.102 392.619 974.547 398.071 969.777 403.012C964.665 408.464 957.339 411.36 949.843 411.36H411.362L478.828 369.619L511.859 202.487H978.125C984.428 202.487 990.05 204.531 994.821 208.45C999.591 212.539 1002.83 217.479 1004.36 223.953L983.576 356.842H983.406Z" fill="white"></path><path d="M3313.2 99.9243C3308.09 82.3763 3299.74 66.7023 3288.67 52.732C3277.6 38.7617 3263.8 27.858 3247.44 20.021C3231.09 12.0137 3213.37 7.9248 3194.29 7.9248H2355.22L2188.25 843.417H2453.18L2499.69 607.115H3109.44C3142.83 607.115 3172.48 596.552 3198.37 575.596C3224.1 554.47 3240.29 527.552 3246.59 495.011L3314.57 154.783C3318.66 135.702 3317.97 117.472 3312.86 99.9243H3313.2ZM3053.56 356.842L3047.94 386.656C3047.26 392.619 3044.7 398.071 3039.93 403.012C3034.82 408.464 3027.49 411.36 3020 411.36H2541.89L2584.98 202.487H3048.11C3054.41 202.487 3060.03 204.531 3064.81 208.45C3069.58 212.539 3072.81 217.479 3074.35 223.953L3053.56 356.842Z" fill="white"></path><path d="M1490.62 530.448L1436.95 843.247H1186.34L1353.47 7.9248H1604.08L1539.68 327.708H1957.43L2021.83 7.9248H2272.44L2105.31 843.247H1854.7L1919.1 523.463" fill="white"></path><path d="M4006.29 843.589H3427.04C3404.72 843.589 3384.27 838.989 3365.53 829.789C3346.79 820.589 3331.29 808.323 3319.02 792.819C3306.75 777.316 3297.73 759.427 3292.1 739.153C3286.48 718.879 3285.63 697.923 3289.72 676.457L3423.46 7.58594H3674.24L3560.61 614.442C3557.54 630.287 3569.81 645.109 3585.99 645.279L3885.84 648.857C3892.14 648.857 3897.94 646.642 3903.22 642.213C3908.33 637.783 3911.74 632.501 3913.44 626.027L4037.47 7.58594H4288.25L4143.78 731.316C4137.31 764.708 4121.29 791.797 4095.4 812.582C4069.5 833.367 4039.86 843.589 4006.46 843.589H4006.29Z" fill="white"></path><path d="M4608.84 485.493L4510 556.96L4450.39 834.907H4199.61L4364.19 6.55957H4620.08L4557.73 298.584L5004.55 6.55957H5304.73L4807.32 346.457L5133.41 834.907H4840.88L4608.84 485.493Z" fill="white"></path></svg></a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-bar"></span><span class="navbar-toggler-bar"></span><span class="navbar-toggler-bar"></span></button><div class="collapse navbar-collapse justify-content-end" id="navbarSupportedContent"><ul class="navbar-nav"><li class="nav-item"><a class="nav-link undefined" href="/about"><span>About</span></a></li><li class="nav-item"><a class="nav-link undefined" href="/schedule"><span>Schedule</span></a></li><li class="nav-item"><a class="nav-link undefined" href="/speakers"><span>Speakers</span></a></li><li class="nav-item"><a class="nav-link undefined" href="/sponsors"><span>
31Sponsors</span></a></li><li class="nav-item"><a class="nav-link undefined" href="/venue"><span>Venue</span></a></li></ul></div><div class="d-none d-lg-inline justify-content-end"><ul class="navbar-nav flex-row ms-md-auto"><li class="nav-item d-flex"><button class="btn btn-outline-white"><span>BECOME A SPONSOR</span></button></li><li class="nav-item d-flex"><a class="btn btn-custom-yellow" href="/tickets"><span>BUY TICKETS</span></a></li></ul></div></nav></div></header><main class=""><section class="hero hero--custom-image"><img src="/assets/images/schedule-hero.svg" class="hero__bg hero__bg--custom" alt="Schedule hero background"/><div class="container"><div class="row"><div class="col-md-8 col-12"><div class="hero__content glass-effect"><h1 class="h1">Our Schedule</h1><p>Check out our full schedule for PHP UK Conference 2026.</p><a class="btn btn-outline-white" href="/tickets">BUY TICKETS</a></div></div></div></div></section><div class="relative pb-15 pt-0 container"><div class="tab-content"><div class="tab-pane active" id="tab-19-feb" role="tabpanel" aria-labelledby="19-feb-tab" tabindex="0"><div class="schedule__day__description text-center"></div><div class="schedule-table"><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Break"><div class="schedule-table__track-meta"><span class="schedule-table__track-time">08.00 - Registration and Refreshments</span></div><div></div><br/></div></div></div></div><div class="schedule-table__time">09.15</div><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Keynote"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Keynote">Keynote</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">It Depends</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">09.15</span></div><a href="/speaker/gary-hockin" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/gary-hockin.webp" height="100" width="100" alt="Gary Hockin" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Gary Hockin</span></div></a></div></div><div><p>As a consultant I'm often asked absolute questions, "Is $x better than $y?". The answer is nearly always "It Depends".</p><p>Software development is a constant game of give and take. Every day we (consciously or not) make numerous decisions and trade-offs in order to get our code shipped. I've found that making these tradeoffs front of mind when I'm working means easier and better decisions.</p><p>Let's take a look at some of the more common decisions we make day-to-day and try and figure out what the compromises are. Hopefully you'll start looking at more decisions as tradeoffs, and make better choices yourself in future.</p></div><br/></div></div></div></div><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Break"><div class="schedule-table__track-meta"><span class="schedule-table__track-time">10:00 - Room Change & Networking</span></div><div></div><br/></div></div></div></div><div class="schedule-table__time">10.15</div><div class="schedule-table__slot"><div class="row"><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Crafting Custom PHPStan Rules</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">10.15</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Ludgate & Cornhill</span></div><a href="/speaker/ondrej-mirtes" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/ondrej-mirtes.webp" height="100" width="100" alt="OndÅej Mirtes" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">OndÅej Mirtes</span></div></a></div></div><p class="mb-2">Static analysis tools like PHPStan have become essential for PHP developers, and all projects can greatly benefit from custom rules tailored to their <!-- -->...</p>
31<a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Event-Driven Evolution with AI as my Partner in Design</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">10.15</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Fleet</span></div><a href="/speaker/naomi-gotts" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/naomi-gotts.webp" height="100" width="100" alt="Naomi Gotts" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Naomi Gotts</span></div></a></div></div><p class="mb-2">I've always loved creating things - designing systems, writing code, and shaping solutions by hand. So when AI tools started to dominate the conver<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Know Your Enemies: Live Exploit of a PHP Engine Security Breach</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">10.15</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Walbrook</span></div><a href="/speaker/alexandre-daubois" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/alexandre-daubois.webp" height="100" width="100" alt="Alexandre Daubois" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Alexandre Daubois</span></div></a></div></div><p class="mb-2">All programming languages have their foundations: the engine that interprets your code and makes everything run. In PHP, this is the Zend Engine, a<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div></div></div><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Break"><div class="schedule-table__track-meta"><span class="schedule-table__track-time">11.00 - Morning Break</span></div><div></div><br/></div></div></div></div><div class="schedule-table__time">11.30</div><div class="schedule-table__slot"><div class="row"><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">From Events to Insights: Testing and Documenting EventâBased Software</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">11.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Ludgate & Cornhill</span></div><a href="/speaker/sebastian-bergmann" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/sebastian-bergmann.webp" height="100" width="100" alt="Sebastian Bergmann" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Sebastian Bergmann</span></div></a></div></div><p class="mb-2">In modern architectures, loosely coupled subsystems collaborate via events rather than giving each other direct instructions. This is referred to a<!-- -->...</p>
31<a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Everything Is Showbiz: Lessons from a PHP + AI Side Projectd</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">11.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Fleet</span></div><a href="/speaker/paul-conroy" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/paul-conroy.webp" height="100" width="100" alt="Paul Conroy" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Paul Conroy</span></div></a></div></div><p class="mb-2">This talk grew out of a side project that got wildly out of hand. I set out to build a quick Laravel app to make one of my favourite podcasts searc<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Packets, Protocols and PHP: Networking Fundamentals for Developers</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">11.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Walbrook</span></div><a href="/speaker/jessica-smith" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/jessica-smith.webp" height="100" width="100" alt="Jessica Smith" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Jessica Smith</span></div></a></div></div><p class="mb-2">Whether you're building APIs, deploying microservices, or just curious about what happens beneath the surface of your applications, understanding n<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div></div></div><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Break"><div class="schedule-table__track-meta"><span class="schedule-table__track-time">12.15 - Room Change & Networking</span></div><div></div><br/></div></div></div></div><div class="schedule-table__time">12.30</div><div class="schedule-table__slot"><div class="row"><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Building Native Apps with PHP</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">12.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Ludgate & Cornhill</span></div><a href="/speaker/simon-hamp" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/simon-hamp.webp" height="100" width="100" alt="Simon Hamp" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Simon Hamp</span></div></a></div></div><p class="mb-2">I'll show how we're building native mobile apps with PHP and go deeper into how it works</p><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">The Four Pillars of Observability</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">12.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Fleet</span></div><a href="/speaker/florian-engelhardt" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/florian-engelhardt.webp" height="100" width="100" alt="Florian Engelhardt" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Florian Engelhardt</span></div></a></div></div><p class="mb-2">Achieving optimal performance and reliability requires more than monitoring â it demands observability. Discover how metrics, logging, tracing, and<!-- -->...</p>
31<a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">PHP, Value Objects and You ð«µ</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">12.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Walbrook</span></div><a href="/speaker/daniel-leech" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/daniel-leech.webp" height="100" width="100" alt="Daniel Leech" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Daniel Leech</span></div></a></div></div><p class="mb-2">Value Objects can be one of the most powerful tools in your modelling toolbox. They make code expressive, maintainable, deterministic and cohesive.<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div></div></div><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Break"><div class="schedule-table__track-meta"><span class="schedule-table__track-time">13.00 - Lunch</span></div><div></div><br/></div></div></div></div><div class="schedule-table__time">14.30</div><div class="schedule-table__slot"><div class="row"><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Saving Time by Using a Debugger</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">14.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Ludgate & Cornhill</span></div><a href="/speaker/derick-rethans" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/derick-rethans.webp" height="100" width="100" alt="Derick Rethans" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Derick Rethans</span></div></a></div></div><p class="mb-2">In this talk I explain how to use Xdebug to get more productive writing PHP code, focussing on the improvements in Xdebug 3.5 such as Native Path M<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">PHP & AI: Beyond the Hype</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">14.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Fleet</span></div><a href="/speaker/christopher-hertel" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/christopher-hertel.webp" height="100" width="100" alt="Christopher Hertel" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Christopher Hertel</span></div></a></div></div><p class="mb-2">At first AI is a ton of buzzwords and hype, but how do we integrate AI in our existing products / software projects in a meaningful and realistic m<!-- -->...</p>
31<a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">PHP Performance Demystified - Measure, Understand, Optimize</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">14.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Walbrook</span></div><a href="/speaker/volker-dusch" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/volker-dusch.webp" height="100" width="100" alt="Volker Dusch" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Volker Dusch</span></div></a></div></div><p class="mb-2">In this talk, we'll explore options for PHP performance analysis. From understanding how the PHP virtual machine and OPCodes work, to performing yo<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div></div></div><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Break"><div class="schedule-table__track-meta"><span class="schedule-table__track-time">15.15 - Room change & Networking</span></div><div></div><br/></div></div></div></div><div class="schedule-table__time">15.30</div><div class="schedule-table__slot"><div class="row"><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Securing Your API: The OWASP Top 10</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">15.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Ludgate & Cornhill</span></div><a href="/speaker/rob-allen" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/rob-allen.webp" height="100" width="100" alt="Rob Allen" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Rob Allen</span></div></a></div></div><p class="mb-2">APIs are the foundation of our applications today and need to be secure. From broken authorisation and authentication to injection attacks, the OWA<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">PHP Foundation Update</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">15.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Fleet</span></div><a href="/speaker/sara-golemon" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/sara-golemon.webp" height="100" width="100" alt="Sara Golemon" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Sara Golemon</span></div></a></div></div><p class="mb-2">The PHP Foundation is a non-profit organization formed in 2021 by PHP contributors, ecosystem leaders, and companies supporting the use and adoption o<!-- -->...</p>
31<a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Stepping away from the code... but not quite...</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">15.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Walbrook</span></div><a href="/speaker/wim-godden" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/wim-godden.webp" height="100" width="100" alt="Wim Godden" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Wim Godden</span></div></a></div></div><p class="mb-2">In many developers' lives comes a time when they move on from "coder" to "lead" to "architect" (or similar terminology) and maybe all the way to CT<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div></div></div><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Break"><div class="schedule-table__track-meta"><span class="schedule-table__track-time">16.00 - Afternoon break</span></div><div></div><br/></div></div></div></div><div class="schedule-table__time">16.30</div><div class="schedule-table__slot"><div class="row"><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">No OSS, No Users: Why Investing in Open Source Matters</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">16.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Ludgate & Cornhill</span></div><a href="/speaker/pauline-vos" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/pauline-vos.webp" height="100" width="100" alt="Pauline Vos" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Pauline Vos</span></div></a></div></div><p class="mb-2">At MongoDB, I help maintain the open-source tools that help PHP developers use our product. Without active, stable OSS, we shrimply wouldn't have a<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">API Platform: From Rest & GraphQL APIs to state-of-the-art standards in seconds</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">16.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Fleet</span></div><a href="/speaker/vincent-amstoutz" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/vincent-amstoutz.webp" height="100" width="100" alt="Vincent Amstoutz" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Vincent Amstoutz</span></div></a></div></div><p class="mb-2">API Platform is a totally open-source, out-of-the-box framework for making APIs that follow all the Web's best practices (standards, RFCs...) since<!-- -->...</p>
31<a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div><div class="col-12 col-md"><div class="schedule-table__track Talk"><div style="background-image:url(/assets/images/keynote-header.svg);background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.25rem;margin:-1.25rem -1.25rem 1.25rem -1.25rem;color:white" class="jsx-ad6f88581f8437d1 schedule-table__track-header"><div class="jsx-ad6f88581f8437d1"><span style="color:white" class="jsx-ad6f88581f8437d1 badge bg-Talk">Talk</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-title"><h5 class="jsx-ad6f88581f8437d1 schedule-table__track-main-title text-white mt-2 mb-1">Escaping the Code Maze</h5></span><div class="jsx-ad6f88581f8437d1 schedule-table__track-meta"><span class="jsx-ad6f88581f8437d1 schedule-table__track-time text-white">16.30</span><span class="jsx-ad6f88581f8437d1 schedule-table__track-location text-white">Walbrook</span></div><a href="/speaker/yannick-chenot" class="jsx-ad6f88581f8437d1 schedule-table__track-profile d-flex align-items-center"><div class="jsx-ad6f88581f8437d1 schedule-table__track-image ratio-1x1"><img src="/assets/images/2026/speakers/yannick-chenot.webp" height="100" width="100" alt="Yannick Chenot" class="jsx-ad6f88581f8437d1"/></div><div class="jsx-ad6f88581f8437d1 d-flex align-items-center"><span class="jsx-ad6f88581f8437d1 schedule-table__track-speaker text-white">Yannick Chenot</span></div></a></div></div><p class="mb-2">Exploring a code base is like navigating a maze with a partial map. While some paths are correctly indicated, some are mislabelled or turn out to b<!-- -->...</p><a class="link-underline-primary link-offset-3 cursor-pointer more">Show more</a><br/></div></div></div></div><div class="schedule-table__time">17:00</div><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Lightning Talks & Closing Address"><span class="badge bg-Lightning Talks & Closing Address">Lightning Talks & Closing Address</span><div class="schedule-table__track-meta"><span class="schedule-table__track-time">17:00</span><span class="schedule-table__track-location">Ludgate & Cornhill</span></div><div></div><br/></div></div></div></div><div class="schedule-table__slot"><div class="row"><div class="col-12"><div class="schedule-table__track Break"><div class="schedule-table__track-meta"><span class="schedule-table__track-time">17.15 - Social</span></div><div></div><br/></div></div></div></div></div></div></div></div><section class="newsletter pt-10 pb-8"><section class="container"><div class="row flex-column-reverse flex-md-row"><div class="col-12 col-md-8"><h4 class="h2 mb-4">Stay updated with PHP UK news</h4><p>Enter your email address to join the PHP UK Conference mailing list and be the first to hear our latest news and announcements.</p><section class="newsletter__form"><form id="subForm" action="https://www.createsend.com/t/subscribeerror?description=" method="post" class="js-cm-form d-flex" data-id="30FEA77E7D0A9B8D7616376B900632318FE5D9E02012F7FACFAB8D56784439A4442473ADE295546EB4770306D9757A886DD095ACECD560AACCB4CFDBDBE6AA2E"><input autoComplete="Email" aria-label="Email" id="fieldEmail" maxLength="200" class="form-control js-cm-email-input qa-input-email sc-gZMcBi dshyOS" name="cm-nsujj-nsujj" required="" type="email" placeholder="Enter email address"/><button type="submit" class="btn custom-subscribe-btn ms-2 js-cm-submit-button sc-jWBwVP fClqPV">SUBSCRIBE</button></form></section></div></div></section></section></main><footer class="footer"><div class="container"><div class="row"><div class="d-flex flex-column col-md-6 col-12"><svg width="5305" height="1431" viewBox="0 0 5305 1431" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5018.23 1430.14H0.917969L89.5784 982.788H5106.38L5018.23 1430.14Z" fill="white"></path><path d="M370.973 1342.59C344.682 1342.59 322.184 1336.78 303.224 1325.4C284.265 1314.03 269.602 1298.1 259.491 1277.63C249.126 1257.15 244.07 1233.39 244.07 1206.09C244.07 1178.78 249.126 1155.02 259.491 1134.55C269.855 1114.07 284.265 1098.14 303.224 1086.77C322.184 1075.39 344.682 1069.58 370.973 1069.58C401.055 1069.58 426.335 1076.91 446.811 1092.08C467.287 1106.99 481.696 1127.21 490.039 1152.75L440.238 1166.65C435.435 1150.72 427.093 1138.34 415.717 1129.74C404.089 1120.89 389.427 1116.6 371.226 1116.6C354.541 1116.6 340.637 1120.39 329.767 1127.72C318.644 1135.05 310.302 1145.67 304.741 1159.07C299.179 1172.46 296.399 1188.39 296.399 1206.59C296.399 1224.79 299.179 1240.72 304.741 1254.12C310.302 1267.51 318.644 1278.13 329.767 1285.46C340.89 1292.79 354.794 1296.59 371.226 1296.59C389.427 1296.59 404.342 1292.29 415.717 1283.19C427.346 1274.34 435.435 1261.95 440.238 1246.28L490.039 1260.18C481.696 1285.72 467.287 1305.94 446.811 1320.85C426.335 1335.77 401.055 1343.35 370.973 1343.35V1342.59Z" fill="black"></path><path d="M847.637 1342.97C821.346 1342.97 798.848 1337.16 779.888 1325.78C760.929 1314.41 746.267 1298.48 736.155 1278.01C725.79 125
317.53 720.734 1233.77 720.734 1206.46C720.734 1179.16 725.79 1155.4 736.155 1134.92C746.519 1114.45 760.929 1098.52 779.888 1087.15C798.848 1075.77 821.346 1069.96 847.637 1069.96C873.927 1069.96 896.426 1075.77 915.386 1087.15C934.345 1098.52 949.007 1114.45 959.119 1134.92C969.483 1155.4 974.539 1179.16 974.539 1206.46C974.539 1233.77 969.483 1257.53 959.119 1278.01C948.754 1298.48 934.345 1314.41 915.386 1325.78C896.426 1337.16 873.927 1342.97 847.637 1342.97ZM847.637 1296.46C864.321 1296.46 877.972 1293.17 889.095 1285.84C900.218 1278.51 908.307 1267.89 913.869 1254.24C919.43 1240.59 922.211 1224.67 922.211 1206.46C922.211 1188.26 919.43 1172.59 913.869 1159.19C908.307 1145.79 899.965 1135.43 889.095 1128.1C877.972 1120.77 864.321 1116.98 847.637 1116.72C830.952 1116.47 817.302 1120.01 806.179 1127.34C795.056 1134.67 786.966 1145.29 781.405 1158.69C775.843 1172.34 773.063 1188.26 773.063 1206.46C773.063 1224.67 775.843 1240.34 781.405 1253.74C786.966 1267.14 795.309 1277.5 806.179 1284.83C817.049 1292.16 830.952 1295.95 847.637 1296.21V1296.46Z" fill="black"></path><path d="M1221.03 1337.41V1075.52H1271.34L1385.09 1250.2V1075.52H1435.4V1337.41H1385.09L1271.34 1162.73V1337.41H1221.03Z" fill="black"></path><path d="M1728.92 1337.29V1075.39H1888.94V1124.94H1778.21V1181.82H1866.94V1231.37H1778.21V1337.54H1728.66L1728.92 1337.29Z" fill="black"></path><path d="M2203.93 1337.29V1075.39H2374.82V1121.65H2253.23V1177.77H2352.83V1224.03H2253.23V1291.28H2374.82V1337.54H2203.93V1337.29Z" fill="black"></path><path d="M2667.96 1337.29V1075.39H2778.68C2781.21 1075.39 2784.75 1075.39 2789.05 1075.64C2793.34 1075.64 2797.13 1076.15 2800.67 1076.91C2816.35 1079.44 2829.24 1084.49 2839.1 1092.33C2849.21 1100.17 2856.54 1110.02 2861.09 1122.16C2865.89 1134.04 2868.17 1147.44 2868.17 1162.1C2868.17 1184.09 2862.61 1202.8 2851.74 1218.47C2840.87 1234.15 2823.68 1243.75 2800.42 1247.29L2778.68 1248.81H2717.5V1337.54H2667.96V1337.29ZM2717.25 1202.29H2776.15C2778.68 1202.29 2781.46 1202.29 2784.49 1202.04C2787.53 1201.79 2790.31 1201.28 2792.84 1200.52C2799.41 1198.75 2804.72 1195.72 2808.26 1191.42C2811.8 1187.13 2814.32 1182.32 2815.84 1177.01C2817.36 1171.71 2817.86 1166.65 2817.86 1162.1C2817.86 1157.55 2817.11 1152.24 2815.84 1147.19C2814.58 1141.88 2812.05 1137.07 2808.26 1132.78C2804.72 1128.48 2799.41 1125.44 2792.84 1123.68C2790.31 1122.92 2787.53 1122.41 2784.49 1122.16C2781.46 1122.16 2778.68 1121.91 2776.15 1121.91H2717.25V1202.55V1202.29ZM2815.59 1337.29L2764.02 1230.61L2815.08 1220.75L2871.96 1337.29H2815.84H2815.59Z" fill="black"></path><path d="M3165.1 1337.29V1075.39H3335.99V1121.65H3214.39V1177.77H3313.99V1224.03H3214.39V1291.28H3335.99V1337.54H3165.1V1337.29Z" fill="black"></path><path d="M3623.94 1337.41V1075.52H3674.24L3788 1250.2V1075.52H3838.31V1337.41H3788L3674.24 1162.73V1337.41H3623.94Z" fill="black"></path><path d="M4215.62 1342.59C4189.33 1342.59 4166.83 1336.78 4147.87 1325.4C4128.91 1314.03 4114.25 1298.1 4104.14 1277.63C4093.77 1257.15 4088.71 1233.39 4088.71 1206.09C4088.71 1178.78 4093.77 1155.02 4104.14 1134.55C4114.5 1114.07 4128.91 1098.14 4147.87 1086.77C4166.83 1075.39 4189.33 1069.58 4215.62 1069.58C4245.7 1069.58 4270.98 1076.91 4291.46 1092.08C4311.93 1106.99 4326.34 1127.21 4334.68 1152.75L4284.88 1166.65C4280.08 1150.72 4271.74 1138.34 4260.36 1129.74C4248.73 1120.89 4234.07 1116.6 4215.87 1116.6C4199.19 1116.6 4185.28 1120.39 4174.41 1127.72C4163.29 1135.05 4154.95 1145.67 4149.39 1159.07C4143.82 1172.46 4141.04 1188.39 4141.04 1206.59C4141.04 1224.79 4143.82 1240.72 4149.39 1254.12C4154.95 1267.51 4163.29 1278.13 4174.41 1285.46C4185.54 1292.79 4199.44 1296.59 4215.87 1296.59C4234.07 1296.59 4248.99 1292.29 4260.36 1283.19C4271.99 1274.34 4280.08 1261.95 4284.88 1246.28L4334.68 1260.18C4326.34 1285.72 4311.93 1305.94 4291.46 1320.85C4270.98 1335.77 4245.7 1343.35 4215.62 1343.35V1342.59Z" fill="black"></path><path d="M4606.84 1337.29V1075.39H4777.73V1121.65H4656.13V1177.77H4755.74V1224.03H4656.13V1291.28H4777.73V1337.54H4606.84V1337.29Z" fill="black"></path><path d="M1243.05 99.9243C1237.94 82.3763 1229.76 66.7023 1218.69 52.732C1207.44 38.7617 1193.81 27.858 1177.46 20.021C1161.1 12.0137 1143.38 7.9248 1124.3 7.9248H285.232L118.27 843.417H383.194L429.705 607.115H1039.46C1072.85 607.115 1102.49 596.552 1128.39 575.596C1154.29 554.47 1170.3 527.552 1176.78 495.011L1244.75 154.783C1248.84 135.702 1248.16 117.472 1242.88 99.9243H1243.05ZM983.406 356.842L977.784 386.656C977.102 392.619 974.547 398.071 969.777 403.012C964.665 408.464 957.339 411.36 949.843 411.36H411.362L478.828 369.619L511.859 202.487H978.125C984.428 202.487 990.05 204.531 994.821 208.45C999.591 212.539 1002.83 217.479 1004.36 223.953L983.576 356.842H983.406Z" fill="white"></path><path d="M3313.2 99.9243C3308.09 82.3763 3299.74 66.7023 3288.67 52.732C3277.6 38.7617 3263.8 27.858 3247.44 20.021C3231.09 12.0137 3213.37 7.9248 3194.29 7.9248H2355.22L2188.25 843.417H2453.18L2499.69 607.115H3109.44C3142.83 60
317.115 3172.48 596.552 3198.37 575.596C3224.1 554.47 3240.29 527.552 3246.59 495.011L3314.57 154.783C3318.66 135.702 3317.97 117.472 3312.86 99.9243H3313.2ZM3053.56 356.842L3047.94 386.656C3047.26 392.619 3044.7 398.071 3039.93 403.012C3034.82 408.464 3027.49 411.36 3020 411.36H2541.89L2584.98 202.487H3048.11C3054.41 202.487 3060.03 204.531 3064.81 208.45C3069.58 212.539 3072.81 217.479 3074.35 223.953L3053.56 356.842Z" fill="white"></path><path d="M1490.62 530.448L1436.95 843.247H1186.34L1353.47 7.9248H1604.08L1539.68 327.708H1957.43L2021.83 7.9248H2272.44L2105.31 843.247H1854.7L1919.1 523.463" fill="white"></path><path d="M4006.29 843.589H3427.04C3404.72 843.589 3384.27 838.989 3365.53 829.789C3346.79 820.589 3331.29 808.323 3319.02 792.819C3306.75 777.316 3297.73 759.427 3292.1 739.153C3286.48 718.879 3285.63 697.923 3289.72 676.457L3423.46 7.58594H3674.24L3560.61 614.442C3557.54 630.287 3569.81 645.109 3585.99 645.279L3885.84 648.857C3892.14 648.857 3897.94 646.642 3903.22 642.213C3908.33 637.783 3911.74 632.501 3913.44 626.027L4037.47 7.58594H4288.25L4143.78 731.316C4137.31 764.708 4121.29 791.797 4095.4 812.582C4069.5 833.367 4039.86 843.589 4006.46 843.589H4006.29Z" fill="white"></path><path d="M4608.84 485.493L4510 556.96L4450.39 834.907H4199.61L4364.19 6.55957H4620.08L4557.73 298.584L5004.55 6.55957H5304.73L4807.32 346.457L5133.41 834.907H4840.88L4608.84 485.493Z" fill="white"></path></svg><div class="d-none d-md-block mt-md-auto"><p class="footer__copyright">© Copia Events Ltd <!-- -->2026<!-- --> </p><p></p></div></div><div class="col-md-6 col-12"><ul class="footer__menu list-reset"><li><h6>About</h6><ul class="list-reset"><li><a href="/schedule">Schedule</a></li><li><a href="/speakers">Speakers</a></li><li><a href="/sponsors">Sponsors</a></li><li><a href="/tickets">Tickets</a></li><li><a href="mailto:[email protected]">Email us</a></li></ul></li><li><h6>Contact</h6><ul class="list-reset"><li><a href="/sponsors">Become a sponsor</a></li><li><a href="https://twitter.com/PHPUKConference">Tweet us</a></li><li><a href="mailto:[email protected]">Email us</a></li><li><a class="termly-display-preferences" href="/schedule#">Consent Preferences</a></li><li><a href="/privacy">Privacy Policy</a></li><li><a href="/terms">Terms & Conditions</a></li></ul></li><li><h6>Stay Informed</h6><ul class="list-reset"><li><a href="https://twitter.com/PHPUKConference">Twitter</a></li><li><a href="https://www.facebook.com/ukconference/">Facebook</a></li><li><a href="https://www.youtube.com/channel/UCX06sx2WWYGny7b3XDUyFCQ">YouTube</a></li><li><a href="/conduct">Code of conduct</a></li></ul></li></ul><div class="d-md-none"><p class="footer__copyright">© Copia Events Ltd <!-- -->2026<!-- --> </p><p><a href="/privacy">Privacy Policy</a></p></div></div></div></div></footer></div>
31<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"year":2026,"schedule":[{"name":"19 Feb","description":"","slots":[{"time":"08.00 - Registration and Refreshments","title":"Registration and Refreshments","slottype":"Break","tracks":[{"colspan":3,"track":{"title":"Registration and Refreshments"}}]},{"time":"09.15","slottype":"Keynote","tracks":[{"colspan":3,"track":{"title":"It Depends","slug":"to-be-announced","speakerID":"gary-hockin","job_title":"","image":"","company":"","description":"\u003cp\u003eAs a consultant I'm often asked absolute questions, \"Is $x better than $y?\". The answer is nearly always \"It Depends\".\u003c/p\u003e\u003cp\u003eSoftware development is a constant game of give and take. Every day we (consciously or not) make numerous decisions and trade-offs in order to get our code shipped. I've found that making these tradeoffs front of mind when I'm working means easier and better decisions.\u003c/p\u003e\u003cp\u003eLet's take a look at some of the more common decisions we make day-to-day and try and figure out what the compromises are. Hopefully you'll start looking at more decisions as tradeoffs, and make better choices yourself in future.\u003c/p\u003e","speakerObject":{"slug":"gary-hockin","id":"gary-hockin","name":"Gary Hockin","avatar":"/assets/images/2026/speakers/gary-hockin.webp","company":"Roave","jobTitle":"Associate","twitter":"@geeh","linkedin":"gary-hockin-9b06863a","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n \u003cp\u003eGary Hockin helps businesses build with confidence as an associate at Roave. He is a talented and evocative speaker, a cultivated author of impressively entertaining blog posts, and records elegant and informative screencasts and videos. Gary's also a contributor to the Laminas project and is argumentative enough to be on the community review team.\u003c/p\u003e\n \u003cp\u003eWhen Gary had a real job, he was a developer of at least \"competent\" standard with over 20 years experience. When not developing, speaking about developing, reading about developing or writing about developing, Gary enjoys playing computer games and arguing with his two kids. Gary has recently discovered that conferences ask speakers to write their own biography text, and you can get away with writing pretty much anything you want.\u003c/p\u003e\n ","year":2026}}}]},{"time":"10:00 - Room Change \u0026 Networking","title":"Refreshment break","slottype":"Break","tracks":[{"colspan":3,"track":{"title":"Room change"}}]},{"time":"10.15","slottype":"Talk","tracks":[{"track":{"location":"Ludgate \u0026 Cornhill","title":"Crafting Custom PHPStan Rules","slug":"to-be-announced","speakerID":"ondrej-mirtes","job_title":"","image":"","company":"","description":"Static analysis tools like PHPStan have become essential for PHP developers, and all projects can greatly benefit from custom rules tailored to their specific needs. In this talk, I will guide the audience through the process of writing custom PHPStan rules to enforce project-specific standards and catch domain-specific bugs, and freeing up valuable time by automating repetitive code review tasks.","speakerObject":{"slug":"ondrej-mirtes","id":"ondrej-mirtes","name":"OndÅej Mirtes","avatar":"/assets/images/2026/speakers/ondrej-mirtes.webp","company":"PHPStan","jobTitle":"Open-source software developer","twitter":"","linkedin":"ondrejmirtes","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n \u003cp\u003eOndÅej is a full-time open-source software developer. He likes pointing out mistakes in other people's code so much that he created PHPStan, a popular static analyzer that focuses on finding bugs in code without running it. He shares his experience at conferences across the world, offers his expertise as a consultant, and organizes trainings.\u003c/p\u003e\n ","year":2026}}},{"track":{"location":"Fleet","title":"Event-Driven Evolution with AI as my Partner in Design","slug":"to-be-announced","speakerID":"naomi-gotts","job_title":"","image":"","company":"","description":"\u003cp\u003eI've always loved creating things - designing systems, writing code, and shaping solutions by hand. So when AI tools started to dominate the conversation, I wasn't sure how they would fit into my world in a way that still let me do the parts I love most.\u003c/p\u003e\u003cp\u003eThat question became real when I was tasked with evolving a large Laravel application towards an event-driven model. Faced with unfamiliar accounting concepts and event sourcing patterns, I turned to AI not to write code, but to help me learn, think, and explore.\u003c/p\u003e\u003cp\u003eIn this talk, I'll share how AI became a valuable design partner as I navigated this architectural shift. From bridging domain gaps to shaping key decisions and incrementally evolving a live system, this is a practical story about integrating new tools without losing your craft.\u003c/p\u003e\u003cp\u003eWhether you're exploring event-driven design or curious about how AI can fit into your workflow, this talk offers practical lessons from a real-world journey.\u003c/p\u003e","speakerObject":{"slug":"naomi-gotts","id":"naomi-gotts","name":"Naomi Gotts","avatar":"/assets/images/2026/speakers/naomi-gotts.webp","company":"","jobTitle":"Lead Engineer at Tillo","twitter":"@naomigo","linkedin":"naomigotts/","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09
31:00 â 09:30","bio":"\n Naomi is a Lead Engineer and has been working with PHP professionally for over 18 years. Alongside a passion for Test Driven Development, helping others to learn via means such as mentoring, book clubs and internal tech conferences, writing code is still very close to her heart. Outside of work, Naomi is a big F1 fan and is likely never far from a crochet hook, especially in winter time!\n ","year":2026}}},{"track":{"location":"Walbrook","title":"Know Your Enemies: Live Exploit of a PHP Engine Security Breach","slug":"to-be-announced","speakerID":"alexandre-daubois","job_title":"","image":"","company":"","description":"\u003cp\u003eAll programming languages have their foundations: the engine that interprets your code and makes everything run. In PHP, this is the Zend Engine, a critical piece of software that powers millions of applications worldwide. When everything works, you don't even think about it. You deploy to production, and the engine does its magic behind the scenes.\u003c/p\u003e\u003cp\u003eBut what happens when something goes wrong in that core? What if a subtle bug opens the door to a full security breach? Suddenly, the invisible foundation becomes the most important part of the story.\u003c/p\u003e\u003cp\u003eLet's shine a light on two such cases: a recent, real vulnerability in the PHP engine (which has since been patched), and a backdoor that, just a few years ago, actually made it into the release candidate and allowed remote code execution. We'll walk through how each issue could be exploited and, most importantly, what lessons developers can draw from them. And yes, there will be live, local, sandboxed demos of both exploits in action. Ready to dive in?\u003c/p\u003e","speakerObject":{"slug":"alexandre-daubois","id":"alexandre-daubois","name":"Alexandre Daubois","avatar":"/assets/images/2026/speakers/alexandre-daubois.webp","company":"","jobTitle":"CTO @ Les-Tilleuls.coop / Symfony Core Team / PHP \u0026 FrankenPHP Core Maintainer","twitter":"@alexdaubois","linkedin":"alexandre-daubois","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n \u003cp\u003eAlexandre is the CTO at Les-Tilleuls.coop and a leading figure in the PHP ecosystem.\u003cp\u003e\n \u003cp\u003eA major player in the open-source world, he is an active member of the Symfony and FrankenPHP Core Teams and a core maintainer of the PHP language itself. His expertise in crafting robust, high-quality code is distilled in his book, \"Clean Code in PHP\".\u003c/p\u003e\n \u003cp\u003eAs an international speaker at conferences like SymfonyLive and ForumPHP, Alexandre shares his deep insights on topics ranging from cybersecurity to object-oriented programming theory, all connected by a common thread: designing maintainable software for the decades to come.\u003c/p\u003e\n ","year":2026}}}]},{"time":"11.00 - Morning Break","title":"Room change","slottype":"Break","tracks":[{"colspan":3,"track":{"title":"Morning Break"}}]},{"time":"11.30","slottype":"Talk","tracks":[{"track":{"location":"Ludgate \u0026 Cornhill","title":"From Events to Insights: Testing and Documenting EventâBased Software","slug":"to-be-announced","speakerID":"sebastian-bergmann","job_title":"","image":"","company":"","description":"\u003cp\u003eIn modern architectures, loosely coupled subsystems collaborate via events rather than giving each other direct instructions. This is referred to as event sourcing if the entire state of an application can be reconstructed from these events.\u003c/p\u003e\u003cp\u003eI teach you proven strategies and best practices for testing event-based software. Using PHP and PHPUnit as examples, you will see how tests can be implemented to generate visual documentation of event-based software through their execution.\u003c/p\u003e","speakerObject":{"slug":"sebastian-bergmann","id":"sebastian-bergmann","name":"Sebastian Bergmann","avatar":"/assets/images/2026/speakers/sebastian-bergmann.webp","company":"PHPUnit","jobTitle":"","twitter":"","linkedin":"sebastian-bergmann-phpunit","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09
31:00 â 09:30","bio":"\n \u003cp\u003eSebastian Bergmann is the creator of PHPUnit, the testing framework that set the standard for quality and professionalism in PHP software development. As a founding partner and consultant with The PHP Consulting Company (thePHP.cc), he empowers development teams to adopt PHPUnit effectively, elevate their testing strategies, streamline workflows, and build more reliable, testable software.\u003c/p\u003e\n ","year":2026}}},{"track":{"location":"Fleet","title":"Everything Is Showbiz: Lessons from a PHP + AI Side Projectd","slug":"to-be-announced","speakerID":"paul-conroy","job_title":"","image":"","company":"","description":"\u003cp\u003eThis talk grew out of a side project that got wildly out of hand. I set out to build a quick Laravel app to make one of my favourite podcasts searchable - just a weekend hack, a bit of \"vibe coding\" to scratch an itch. Instead, it became EverythingIsShowbiz.com, a fully fledged PHP + AI transcript engine with semantic search. What started as an experiment turned into a practical crash course in where AI actually fits into PHP workflows: from managing GPU-heavy transcription jobs, to cleaning up potentially-libellous misheard phrases, making AI output trustworthy at scale, and all on a side project budget!\u003c/p\u003e\u003cp\u003eAlong the way, I learned a lot about the gap between AI hype and engineering reality. We'll explore the messy middle - where Laravel pipelines replace notebooks, admin tools become sanity savers, and side projects quietly teach us the same lessons as production systems. This talk is for anyone who's ever been asked, \"can you do that... but add AI in?\" and wants to know what that really looks like in PHP.\u003c/p\u003e\u003cp\u003eA small reminder that PHP still belongs in the future - even when that future comes wrapped in AI.\u003c/p\u003e","speakerObject":{"slug":"paul-conroy","id":"paul-conroy","name":"Paul Conroy","avatar":"/assets/images/2026/speakers/paul-conroy.webp","company":"Square1 Solutions","jobTitle":"CTO","twitter":"@conroyp","linkedin":"paulconroy2","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n \u003cp\u003eAs CTO of Square1, a leading digital agency in Dublin, I bring 20+ years of experience building high-traffic applications across Europe. Iâve led teams, shaped products, and navigated the challenges of transitioning from developer to manager. An international speaker, Iâm passionate about sharing insights on technical leadership and the evolving world of software development.\u003c/p\u003e\n ","year":2026}}},{"track":{"location":"Walbrook","title":"Packets, Protocols and PHP: Networking Fundamentals for Developers","slug":"to-be-announced","speakerID":"jessica-smith","job_title":"","image":"","company":"","description":"\u003cp\u003eWhether you're building APIs, deploying microservices, or just curious about what happens beneath the surface of your applications, understanding networking is essential. This talk explains the core concepts of networking - from the basics of TCP, UDP and the OSI model, to more advanced topics like routing, BGP and anycast.\u003c/p\u003e\u003cp\u003eYou'll gain a practical understanding of how data moves across the internet, how routing decisions are made, and why these concepts matter when building scalable, resilient applications. No prior networking experience required\u003c/p\u003e","speakerObject":{"slug":"jessica-smith","id":"jessica-smith","name":"Jessica Smith","avatar":"/assets/images/2026/speakers/jessica-smith.webp","company":"DigiCert","jobTitle":"Senior Principal Software Engineer","twitter":"","linkedin":"jessicasmithuk","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n \u003cp\u003eJessica is a Senior Principal Software Engineer at DigiCert DNS and has been using PHP for 27 years with 18 years experience in the hosting industry.\u003c/p\u003e\u003cp\u003eAlongside this, she also attends far too many LAN parties and works on a number of open source projects for the community. In her remaining spare time she looks after her 2 cats and occasionally goes climbing and sailing.\u003c/p\u003e\n ","year":2026}}}]},{"time":"12.15 - Room Change \u0026 Networking","title":"Room change","slottype":"Break","tracks":[{"colspan":3,"track":{"title":"Room change"}}]},{"time":"12.30","slottype":"Talk","tracks":[{"track":{"location":"Ludgate \u0026 Cornhill","title":"Building Native Apps with PHP","slug":"to-be-announced","speakerID":"simon-hamp","job_title":"","image":"","company":"","description":"\u003cp\u003eI'll show how we're building native mobile apps with PHP and go deeper into how it works\u003c/p\u003e","speakerObject":{"slug":"simon-hamp","id":"simon-hamp","name":"Simon Hamp","avatar":"/assets/images/2026/speakers/simon-hamp.webp","company":"","jobTitle":"Cofounder, NativePHP","twitter":"@simonhamp","linkedin":"simonhamp/","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09
31:00 â 09:30","bio":"\n Simon is the co-creator of NativePHP and co-founder of Bifrost. He's enabling PHP developers everywhere to build native applications with their favourite language.\n ","year":2026}}},{"track":{"location":"Fleet","title":"The Four Pillars of Observability","slug":"to-be-announced","speakerID":"florian-engelhardt","job_title":"","image":"","company":"","description":"\u003cp\u003eAchieving optimal performance and reliability requires more than monitoring â it demands observability. Discover how metrics, logging, tracing, and continuous profiling empower you to understand, debug, and optimize your application at every level. We'll explore each pillar and demonstrate how to instrument your PHP application for actionable insights. Real-world examples will leave you equipped to make your PHP applications observable, resilient, and performant.\u003c/p\u003e","speakerObject":{"slug":"florian-engelhardt","id":"florian-engelhardt","name":"Florian Engelhardt","avatar":"/assets/images/2026/speakers/florian-engelhardt.webp","company":"Datadog","jobTitle":"Software Engineer","twitter":"","linkedin":"florian-engelhardt","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n \u003cp\u003eFlorian is married with five kids and he likes to play table tennis ð, table football â½, chess âï¸, and MTG. He is also a software engineer and builds a PHP profiler at Datadog.\u003c/p\u003e\u003cp\u003eHe started writing small software on an IBM PS/2 30 286 in GW-BASIC back in 1993, throughout the 90s he learned HTML, JavaScript, Perl, C, and a bit of Assembler. It was September 2000 when he was introduced to PHP and he thought nobody would ever need it, but boy he was wrong.\u003c/p\u003e\u003cp\u003eIn his spare time (and with five kids you do not have that much of it), he works on various open-source PHP projects and every now and then he writes blog posts and gives talks about anything PHP.\u003c/p\u003e\n ","year":2026}}},{"track":{"location":"Walbrook","title":"PHP, Value Objects and You ð«µ","slug":"to-be-announced","speakerID":"daniel-leech","job_title":"","image":"","company":"","description":"\u003cp\u003eValue Objects can be one of the most powerful tools in your modelling toolbox. They make code expressive, maintainable, deterministic and cohesive. Yet they are sometimes misunderstood and it's often difficult for developers to realise where and how they can use them.\u003c/p\u003e\u003cp\u003eIn this talk you will learn how to identify value objects in the wild, what their properties are and how to create your own!\u003c/p\u003e","speakerObject":{"slug":"daniel-leech","id":"daniel-leech","name":"Daniel Leech","avatar":"/assets/images/2026/speakers/daniel-leech.webp","company":"DTL Software","jobTitle":"Software Engineer","twitter":"","linkedin":"daniel-leech-a32851252","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n Daniel has been developing with PHP for 17 years during which time he has comitted his time to numerous open source side- projects which include PHPBench and Phpactor. He cycled over most of Europe and plays the piano badly.\n ","year":2026}}}]},{"time":"13.00 - Lunch","title":"Lunch","slottype":"Break","tracks":[{"colspan":3,"track":{"title":"Lunch"}}]},{"time":"14.30","slottype":"Talk","tracks":[{"track":{"location":"Ludgate \u0026 Cornhill","title":"Saving Time by Using a Debugger","slug":"to-be-announced","speakerID":"derick-rethans","job_title":"","image":"","company":"","description":"\u003cp\u003eIn this talk I explain how to use Xdebug to get more productive writing PHP code, focussing on the improvements in Xdebug 3.5 such as Native Path Mapping, to make the debugging experience better and easier to set up.\u003c/p\u003e\u003cp\u003eBeyond that, this session also goes through a few complicated scenarios that are harder to debug, and shows solutions to these conundrums. I will also focus on the new features.\u003c/p\u003e","speakerObject":{"slug":"derick-rethans","id":"derick-rethans","name":"Derick Rethans","avatar":"/assets/images/2026/speakers/derick-rethans.webp","company":"","jobTitle":"Independent contractor and consultant on PHP extensions and related projects","twitter":"","linkedin":"","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wednesday 09:00 â 09:30","bio":"\u003cp\u003eDerick Rethans is a PHP internals expert and author of Xdebug. He works as an independent contractor and consultant on PHP extensions and related projects.\u003c/p\u003e\n \u003cp\u003eHe works for the PHP Foundation to improve PHP, and continues to contribute to the PHP project in numerous forms (Date/Time Extension, Xdebug, PHP 4.4/7.4 Release Manager, etc). He is a frequent lecturer at conferences, the author of php|architect's Guide to Date and Time Programming, and the co-author of PHP 5 Power Programming.\u003c/p\u003e","year":2026}}},{"track":{"location":"Fleet","title":"PHP \u0026 AI: Beyond the Hype","slug":"to-be-announced","speakerID":"
31christopher-hertel","job_title":"","image":"","company":"","description":"\u003cp\u003eAt first AI is a ton of buzzwords and hype, but how do we integrate AI in our existing products / software projects in a meaningful and realistic manner?\u003c/p\u003e\u003cp\u003eLet's have a look how Symfony AI enables us to bring AI-based or even agentic features, not only chatbots, into our PHP applications or scaled architecture.\u003c/p\u003e\u003cp\u003eIf you are looking for input on how to approach AI, need ideas where to get started or find out what's realistic at first - let this talk be your inspiration!\u003c/p\u003e","speakerObject":{"slug":"christopher-hertel","id":"christopher-hertel","name":"Christopher Hertel","avatar":"/assets/images/2026/speakers/christopher-hertel.webp","company":"","jobTitle":"","twitter":"","linkedin":"christopher-hertel","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n Christopher is a PHP software engineer, Symfony expert, and active speaker in the PHP community. As a member of Symfony's core team, he is one of the drivers behind the Symfony AI Initiative and the PHP MCP SDK. With a strong background in software architecture, agile development, and a deep curiosity for GenAI, he oversees the technical program of the EHS product line of AMCS Group.\n ","year":2026}}},{"track":{"location":"Walbrook","title":"PHP Performance Demystified - Measure, Understand, Optimize","slug":"to-be-announced","speakerID":"volker-dusch","job_title":"","image":"","company":"","description":"\u003cp\u003eIn this talk, we'll explore options for PHP performance analysis. From understanding how the PHP virtual machine and OPCodes work, to performing your reliable and meaningful benchmarks, and how to use request profiling using open-source and commercial offerings.\u003c/p\u003e\u003cp\u003eYou will leave with an overview of the available tools and an understanding of how to use them in your day-to-day. Learning how to spot bottlenecks and optimize them away efficiently and confidently.\u003c/p\u003e","speakerObject":{"slug":"volker-dusch","id":"volker-dusch","name":"Volker Dusch","avatar":"/assets/images/2026/speakers/volker-dusch.webp","company":"","jobTitle":"PHP 8.5 Release Manager and Performance Enthusiast","twitter":"","linkedin":"volker-dusch/","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n \u003cp\u003eWith over 20 years of software development experience, Volker has seen PHP grow and mature from PHP 3, working on long-living custom applications in high-traffic environments. From social networks to medical data processing, he has worked as an engineer, team lead, and Head of Engineering, mostly focusing on PHP, Go, C, JavaScript, HTML/CSS and System Operations.\u003c/p\u003e\n \u003cp\u003eIn his role as PHP 8.5 Release Manager, he's also contributing back to the ecosystem that has shaped his career.\u003c/p\u003e\n ","year":2026}}}]},{"time":"15.15 - Room change \u0026 Networking","title":"Room change","slottype":"Break","tracks":[{"colspan":3,"track":{"title":"Refreshment break"}}]},{"time":"15.30","slottype":"Talk","tracks":[{"track":{"location":"Ludgate \u0026 Cornhill","title":"Securing Your API: The OWASP Top 10","slug":"to-be-announced","speakerID":"rob-allen","job_title":"","image":"","company":"","description":"\u003cp\u003eAPIs are the foundation of our applications today and need to be secure. From broken authorisation and authentication to injection attacks, the OWASP API Security Top 10 identifies the most critical security issues facing APIs today. In this talk, we'll walk through the items on the list and explore these security flaws and look at how to prevent them. By the end of this session, you'll have a clear understanding of the most critical API security risks and be equipped with the knowledge to build more secure APIs.\u003c/p\u003e","speakerObject":{"slug":"rob-allen","id":"rob-allen","name":"Rob Allen","avatar":"/assets/images/2026/speakers/rob-allen.webp","company":"","jobTitle":"","twitter":"@akrabat","linkedin":"akrabat","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09
31:00 â 09:30","bio":"\n Rob Allen is a software developer with many years experience in a variety of interesting languages. He's particularly interested in APIs and the ecosystem around them along and contributes to Slim Framework, rst2pdf \u0026 Apache OpenWhisk along with other open source projects. Rob is a published author and based in the UK where he runs Nineteen Feet Limited, focussing on API development, training and consultancy. In his spare time, Rob blogs at [akrabat.com](https://akrabat.com) and can often be seen with a camera in his hand.\n ","year":2026}}},{"track":{"location":"Fleet","title":"PHP Foundation Update","slug":"to-be-announced","speakerID":"sara-golemon","job_title":"","image":"","company":"","description":"The PHP Foundation is a non-profit organization formed in 2021 by PHP contributors, ecosystem leaders, and companies supporting the use and adoption of PHP. In this session, we'll recap The Foundation's accomplishments in 2025, and take a look forward at plans for an even better PHP in 2026.","speakerObject":{"slug":"sara-golemon","id":"sara-golemon","name":"Sara Golemon","avatar":"/assets/images/2026/speakers/sara-golemon.webp","company":"PHP Foundation","jobTitle":"","twitter":"","linkedin":"","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\u003cp\u003eSara is a long-time contributor to the PHP language, a member of the PHP Foundation board, and release manager emerita.\u003c/p\u003e","year":2026}}},{"track":{"location":"Walbrook","title":"Stepping away from the code... but not quite...","slug":"to-be-announced","speakerID":"wim-godden","job_title":"","image":"","company":"","description":"\u003cp\u003eIn many developers' lives comes a time when they move on from \"coder\" to \"lead\" to \"architect\" (or similar terminology) and maybe all the way to CTO. After a while it gets harder to grasp the concepts the \"coder\" people are talking about, even though it seems like just yesterday. And it's not imposter syndrome, it's something entirely different ! In this talk, we'll walk through this journey, which is not always a one-way street, to illustrate that how you approach this journey makes all the difference to yourself and your team.\u003c/p\u003e","speakerObject":{"slug":"wim-godden","id":"wim-godden","name":"Wim Godden","avatar":"/assets/images/2026/speakers/wim-godden.webp","company":"","jobTitle":"","twitter":"@wimgtr","linkedin":"wimgodden","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n Wim Godden has been working with open source technologies since 1997 and has been involved in open source projects such as PHPCompatibility and OpenX.\n ","year":2026}}}]},{"time":"16.00 - Afternoon break","title":"Room change","slottype":"Break","tracks":[{"colspan":3,"track":{"title":"Refreshment break"}}]},{"time":"16.30","slottype":"Talk","tracks":[{"track":{"location":"Ludgate \u0026 Cornhill","title":"No OSS, No Users: Why Investing in Open Source Matters","slug":"to-be-announced","speakerID":"pauline-vos","job_title":"","image":"","company":"","description":"\u003cp\u003eAt MongoDB, I help maintain the open-source tools that help PHP developers use our product. Without active, stable OSS, we shrimply wouldn't have any users.\u003c/p\u003e\u003cp\u003eIn this session, I'll share why open source is essential to your product's success, and how to get involved in the ecosystems that support it. Through real-world examples, you'll learn strategies for contributing effectively, the value of community trust, and getting leadership buy-in to invest engineering time in OSS.\u003c/p\u003e\u003cp\u003eYou'll leave with practical ways to strengthen your product by strengthening its open-source foundations.\u003c/p\u003e","speakerObject":{"slug":"pauline-vos","id":"pauline-vos","name":"Pauline Vos","avatar":"/assets/images/2026/speakers/pauline-vos.webp","company":"MongoDB","jobTitle":"Software Engineer and Open-source Maintainer","twitter":"@vanamerongen","linkedin":"paulinepvos","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09
31:00 â 09:30","bio":"\n Pauline is an Amsterdam-based software engineer and open-source maintainer working at MongoDB. She likes good, clean software design and being as efficient (lazy) as possible.\n ","year":2026}}},{"track":{"location":"Fleet","title":"API Platform: From Rest \u0026 GraphQL APIs to state-of-the-art standards in seconds","slug":"to-be-announced","speakerID":"vincent-amstoutz","job_title":"","image":"","company":"","description":"\u003cp\u003eAPI Platform is a totally open-source, out-of-the-box framework for making APIs that follow all the Web's best practices (standards, RFCs...) since its release, in 2015.\u003c/p\u003e\u003cp\u003eIn this talk, we'll see how in a matter of seconds, thanks to the contributions of around 1,000 developers since the framework was created, we can easily have a robust API with auto-generated documentation, via the Swagger UI, whether for a REST or GraphQL API.\u003c/p\u003e\u003cp\u003eThrough concrete examples and feedback, we'll explore how to contribute to API Platform and use it in your projects, whatever the complexity of your APIs. We'll look at extending automatic documentation, adding custom filters, and integrating your own custom data sources.\u003c/p\u003e","speakerObject":{"slug":"vincent-amstoutz","id":"vincent-amstoutz","name":"Vincent Amstoutz","avatar":"/assets/images/2026/speakers/vincent-amstoutz.webp","company":"Les-Tilleuls.coop","jobTitle":"Senior developer","twitter":"@vinceAmstoutz","linkedin":"vincent-amstoutz","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\n \u003cp\u003eVincent is a bilingual speaker who presents in both French and English.\u003c/p\u003e\n \u003cp\u003eHe works as a Senior Developer at Les-Tilleuls.coop and actively contributes to open-source projects. He has recently worked on initiatives such as API Platform, FrankenPHP, Symfony, the AFUP website, and Sulu.\u003c/p\u003e\n \u003cp\u003eDriven by a passion for technical excellence, Vincent focuses on clean code and software architecture, continually enriching his practices through regular reading of specialized literature.\u003c/p\u003e\n ","year":2026}}},{"track":{"location":"Walbrook","title":"Escaping the Code Maze","slug":"to-be-announced","speakerID":"yannick-chenot","job_title":"","image":"","company":"","description":"\u003cp\u003eExploring a code base is like navigating a maze with a partial map. While some paths are correctly indicated, some are mislabelled or turn out to be dead ends. Take a childless class not marked as final, for instance â the keywordâs absence is like a sign pointing to a dark tunnel leading nowhere.\u003c/p\u003e\u003cp\u003eHow many such paths do we accidentally â or deliberately â leave open? This presentation introduces the Closed-by-Default Principle, a reframing of existing principles focussed on keeping those paths shut, relieving the developerâs cognitive load in the process.\u003c/p\u003e\u003cp\u003eIt is also an exploration of PHPâs evolution over time, each version introducing features to keep the maze as navigable as possible. Weâll also see how to leverage static analysis tools to automate the corresponding rules, giving developers the assurance that all paths lead somewhere.\u003c/p\u003e","speakerObject":{"slug":"yannick-chenot","id":"yannick-chenot","name":"Yannick Chenot","avatar":"/assets/images/2026/speakers/yannick-chenot.webp","company":"Yellow Raincoat Limited","jobTitle":"","twitter":"@osteel","linkedin":"yannickchenot","category":"To Be Confirmed","schedule":"Opening Keynote Speaker ⢠Wedensday 09:00 â 09:30","bio":"\u003cp\u003eYannick has been working with PHP since 2007. Born and bred in Britanny, France, heâs been in the UK for a decade and currently lives in Brighton.\u003c/p\u003e","year":2026}}}]},{"time":"17:00","slottype":"Lightning Talks \u0026 Closing Address","tracks":[{"colspan":3,"track":{"location":"Ludgate \u0026 Cornhill","title":"","slug":"","speakerID":"","job_title":"","image":"","company":"","description":""}}]},{"time":"17.15 - Social","title":"Social","slottype":"Break","tracks":[{"colspan":3,"track":{"title":"Mid Conference Social"}}]}]}]},"__N_SSG":true},"page":"/schedule","query":{},"buildId":"W_zc6_l4psbU3pCUN0ZLu","isFallback":false,"gsp":true,"scriptLoader":[]}</script>
31</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.