BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Meetup//Meetup Calendar 1.0//EN CALSCALE:GREGORIAN METHOD:PUBLISH NAME:PHPDX X-WR-CALNAME:PHPDX BEGIN:VTIMEZONE TZID:America/Los_Angeles TZURL:http://tzurl.org/zoneinfo-outlook/America/Los_Angeles X-LIC-LOCATION:America/Los_Angeles BEGIN:DAYLIGHT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 TZNAME:PDT DTSTART:19700308T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:-0700 TZOFFSETTO:-0800 TZNAME:PST DTSTART:19701101T020000 RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU END:STANDARD END:VTIMEZONE BEGIN:VEVENT UID:event_312774110@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20260212T163000 DTEND;TZID=America/Los_Angeles:20260212T183000 SUMMARY:PHPdx IN PERSON with MergePHP: Domain Driven PHP DESCRIPTION:PHPDX\n2026 join us IN PERSON at the new time\, 5:00pm Pacific . You can still [join us ONLINE](https://www.youtube.com/@MergePHP/streams )\n\n***Stay tuned for location***\n\n**Agenda**:\n4:30 - Welcome mingle a nd setup\n5:00 - Presentation\n\n**Presentation**\nIn the modern PHP ecosy stem\, we often let frameworks dictate our application's architecture. We start with composer create-project and immediately begin molding our busin ess logic to fit the constraints of a specific "Way." But what happens whe n the framework becomes a hurdle rather than a helper?\n\nThis session exp lores the Art of Domain-Driven Design (DDD) by stripping away the safety n et of frameworks. We will start from a "naked" PHP environment\, demonstra ting how to build a robust\, testable\, and scalable application using onl y pure PHP and the principles of DDD. By focusing on Entities\, Value Obje cts\, Aggregates\, and Domain Services without the noise of an ORM or a he avy container\, you will learn to see your business logic as the primary c itizen of your codebase.\n\nOnce we have established the "Pure Domain" fou ndation\, we will pivot to the pragmatic reality of modern development: In tegration. We will discuss how to take these framework-agnostic principles and safely "plug" them into popular frameworks like Laravel or Symfony. Y ou’ll learn how to treat the framework as a replaceable infrastructure d etail—leveraging its power for routing and delivery while keeping your c ore logic untainted and portable.\n\nPresented by Chris Miller\n\n**Join u s live on YouTube at:**\n[https://www.youtube.com/@MergePHP/streams](https ://www.youtube.com/@MergePHP/streams)\n\\-\\-\\-\nWant to present at Merge PHP? Sign up to speak with the link below. Technical talks are appreciated ! Make a note if it's a full-length or shorter lightning talk.\nMergePHP i s:\n\n* AtlantaPHP\n* AustinPHP\n* AZ PHP\n* BostonPHP\n* Houston\n* Kansa s City PHP\n* PDX (Portland\, OR)\n* San Diego PHP\n* SeattlePHP\n* UtahPH P\n* Vegas PHP\n* Vancouver PHP\n\nSubscribe to our Channel: [https://www. youtube.com/c/MergePHP](https://www.youtube.com/c/MergePHP)\nFollow us on Mastodon:[ https://phpc.social/@merge](https://phpc.social/@merge)\nSpeake r Signups: [https://mphp.io/speakers](https://mphp.io/speakers)\nSuggest S peakers: [https://mphp.io/suggest](https://mphp.io/suggest) URL;VALUE=URI:https://www.meetup.com/pdx-php/events/312774110/ STATUS:CONFIRMED CREATED:20260107T211422Z LAST-MODIFIED:20260107T211422Z CLASS:PUBLIC END:VEVENT BEGIN:VEVENT UID:event_gnmxhtyjcfbqb@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20260312T160000 DTEND;TZID=America/Los_Angeles:20260312T180000 SUMMARY:MergePHP DESCRIPTION:PHPDX\nMergePHP meets the second Thursday of every month at 16 :00 Pacific URL;VALUE=URI:https://www.meetup.com/pdx-php/events/gnmxhtyjcfbqb/ STATUS:CONFIRMED CREATED:20231109T233447Z LAST-MODIFIED:20231109T233447Z CLASS:PUBLIC END:VEVENT BEGIN:VEVENT UID:event_gnmxhtyjcgbmb@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20260409T160000 DTEND;TZID=America/Los_Angeles:20260409T180000 SUMMARY:MergePHP DESCRIPTION:PHPDX\nMergePHP meets the second Thursday of every month at 16 :00 Pacific URL;VALUE=URI:https://www.meetup.com/pdx-php/events/gnmxhtyjcgbmb/ STATUS:CONFIRMED CREATED:20231109T233447Z LAST-MODIFIED:20231109T233447Z CLASS:PUBLIC END:VEVENT BEGIN:VEVENT UID:event_gnmxhtyjchbsb@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20260514T160000 DTEND;TZID=America/Los_Angeles:20260514T180000 SUMMARY:MergePHP DESCRIPTION:PHPDX\nMergePHP meets the second Thursday of every month at 16 :00 Pacific URL;VALUE=URI:https://www.meetup.com/pdx-php/events/gnmxhtyjchbsb/ STATUS:CONFIRMED CREATED:20231109T233447Z LAST-MODIFIED:20231109T233447Z CLASS:PUBLIC END:VEVENT BEGIN:VEVENT UID:event_gnmxhtyjcjbpb@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20260611T160000 DTEND;TZID=America/Los_Angeles:20260611T180000 SUMMARY:MergePHP DESCRIPTION:PHPDX\nMergePHP meets the second Thursday of every month at 16 :00 Pacific URL;VALUE=URI:https://www.meetup.com/pdx-php/events/gnmxhtyjcjbpb/ STATUS:CONFIRMED CREATED:20231109T233447Z LAST-MODIFIED:20231109T233447Z CLASS:PUBLIC END:VEVENT BEGIN:VEVENT UID:event_gnmxhtyjckbmb@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20260709T160000 DTEND;TZID=America/Los_Angeles:20260709T180000 SUMMARY:MergePHP DESCRIPTION:PHPDX\nMergePHP meets the second Thursday of every month at 16 :00 Pacific URL;VALUE=URI:https://www.meetup.com/pdx-php/events/gnmxhtyjckbmb/ STATUS:CONFIRMED CREATED:20231109T233447Z LAST-MODIFIED:20231109T233447Z CLASS:PUBLIC END:VEVENT BEGIN:VEVENT UID:event_gnmxhtyjclbrb@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20260813T160000 DTEND;TZID=America/Los_Angeles:20260813T180000 SUMMARY:MergePHP DESCRIPTION:PHPDX\nMergePHP meets the second Thursday of every month at 16 :00 Pacific URL;VALUE=URI:https://www.meetup.com/pdx-php/events/gnmxhtyjclbrb/ STATUS:CONFIRMED CREATED:20231109T233447Z LAST-MODIFIED:20231109T233447Z CLASS:PUBLIC END:VEVENT BEGIN:VEVENT UID:event_gnmxhtyjcmbnb@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20260910T160000 DTEND;TZID=America/Los_Angeles:20260910T180000 SUMMARY:MergePHP DESCRIPTION:PHPDX\nMergePHP meets the second Thursday of every month at 16 :00 Pacific URL;VALUE=URI:https://www.meetup.com/pdx-php/events/gnmxhtyjcmbnb/ STATUS:CONFIRMED CREATED:20231109T233447Z LAST-MODIFIED:20231109T233447Z CLASS:PUBLIC END:VEVENT BEGIN:VEVENT UID:event_gnmxhtyjcnblb@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20261008T160000 DTEND;TZID=America/Los_Angeles:20261008T180000 SUMMARY:MergePHP DESCRIPTION:PHPDX\nMergePHP meets the second Thursday of every month at 16 :00 Pacific URL;VALUE=URI:https://www.meetup.com/pdx-php/events/gnmxhtyjcnblb/ STATUS:CONFIRMED CREATED:20231109T233447Z LAST-MODIFIED:20231109T233447Z CLASS:PUBLIC END:VEVENT BEGIN:VEVENT UID:event_gnmxhtyjcpbqb@meetup.com SEQUENCE:1 DTSTAMP:20260205T061037Z DTSTART;TZID=America/Los_Angeles:20261112T160000 DTEND;TZID=America/Los_Angeles:20261112T180000 SUMMARY:MergePHP DESCRIPTION:PHPDX\nMergePHP meets the second Thursday of every month at 16 :00 Pacific URL;VALUE=URI:https://www.meetup.com/pdx-php/events/gnmxhtyjcpbqb/ STATUS:CONFIRMED CREATED:20231109T233447Z LAST-MODIFIED:20231109T233447Z CLASS:PUBLIC END:VEVENT X-ORIGINAL-URL:https://www.meetup.com/PDX-PHP/events/ical/ X-WR-CALNAME:PHPDX END:VCALENDAR