{"id":4975,"date":"2018-03-23T01:18:32","date_gmt":"2018-03-23T00:18:32","guid":{"rendered":"https:\/\/2018.europe.wordcamp.org\/?post_type=wcb_session&#038;p=4975"},"modified":"2018-07-19T21:03:48","modified_gmt":"2018-07-19T20:03:48","slug":"dependency-injection-and-design-patterns-in-real-life","status":"publish","type":"wcb_session","link":"https:\/\/europe.wordcamp.org\/2018\/session\/dependency-injection-and-design-patterns-in-real-life\/","title":{"rendered":"Dependency Injection and Design Patterns in Real Life"},"content":{"rendered":"<p>You know a lot of pattern buzzwords and OOP syntax, but fail to get actual benefits out of their practical use? You&#8217;ve read about principles and best practices but cannot apply them to your daily problems? We&#8217;ll work on a simple WordPress plugin to discuss fundamental principles like dependency injection and discover useful design patterns that solve real pain points in your development work. We&#8217;ll combine these techniques to give you strategies to better deal with ever-changing requirements.<\/p>\n<p>This workshop assumes solid knowledge of PHP and basic knowledge about classes and objects, how the PHP OOP syntax works and what the notions of polymorphism, encapsulation and inheritance mean.<\/p>\n<p>&nbsp;<\/p>\n<h2>Required skill set<\/h2>\n<p>You should be generally proficient in PHP and know the syntax and basic use of OOP concepts in PHP.<\/p>\n<h2>Technical requirement<\/h2>\n<p>You should have a machine ready to run PHP 7.1 code and a text editor or preferably an IDE.\u00a0Example code can be found <a href=\"https:\/\/github.com\/schlessera\/wceu-2018-code\">here<\/a>. <a href=\"https:\/\/github.com\/schlessera\/wceu-2018-resources\">Plugin<\/a> that helps set up the pre-requirements for the workshop.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You know a lot of pattern buzzwords and OOP syntax, but fail to get actual benefits out of their practical use? You&#8217;ve read about principles and best practices but cannot apply them to your daily problems? We&#8217;ll work on a simple WordPress plugin to discuss fundamental principles like dependency injection and discover useful design patterns [&hellip;]<\/p>\n","protected":false},"author":14387856,"featured_media":0,"template":"","meta":{"_crdt_document":"","jetpack_post_was_ever_published":false,"_wcpt_session_time":1529071200,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"https:\/\/schlessera.github.io\/wceu-2018\/","_wcpt_session_video":"","_wcpt_speaker_id":[4846,4828],"footnotes":""},"session_track":[1242640],"session_category":[1242643],"class_list":["post-4975","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-workshop-3","wcb_session_category-workshop-3h"],"jetpack_shortlink":"https:\/\/wp.me\/p8QI2W-1if","jetpack_sharing_enabled":true,"session_date_time":{"date":"June 15, 2018","time":"15:00"},"session_speakers":[{"id":"4846","slug":"alain-schlesser","name":"Alain Schlesser","link":"https:\/\/europe.wordcamp.org\/2018\/speaker\/alain-schlesser\/"},{"id":"4828","slug":"david-mosterd","name":"David Mosterd","link":"https:\/\/europe.wordcamp.org\/2018\/speaker\/david-mosterd\/"}],"session_cats_rendered":"Workshop 3h","_links":{"self":[{"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/sessions\/4975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":3,"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/sessions\/4975\/revisions"}],"predecessor-version":[{"id":10243,"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/sessions\/4975\/revisions\/10243"}],"speakers":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/speakers\/4846"},{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/speakers\/4828"}],"author":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wporg\/v1\/users\/schlessera"}],"wp:attachment":[{"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/media?parent=4975"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/session_track?post=4975"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2018\/wp-json\/wp\/v2\/session_category?post=4975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}