{"id":5059,"date":"2019-02-05T00:04:19","date_gmt":"2019-02-05T00:04:19","guid":{"rendered":"https:\/\/2019.miami.wordcamp.org\/?post_type=wcb_session&#038;p=5059"},"modified":"2019-03-31T17:10:03","modified_gmt":"2019-03-31T21:10:03","slug":"object-oriented-programming-with-wordpress","status":"publish","type":"wcb_session","link":"https:\/\/miami.wordcamp.org\/2019\/session\/object-oriented-programming-with-wordpress\/","title":{"rendered":"How to Approach Object-Oriented Programming With WordPress"},"content":{"rendered":"\n<p>You&#8217;re a WordPress developer who wants to use object-oriented programming in their next project. You&#8217;re already familiar with concepts like inheritance. The issue is that you&#8217;re not sure how to apply those concepts to design classes that feel useful.<\/p>\n\n\n\n<p>This isn&#8217;t something to feel ashamed about! In fact, it&#8217;s a common problem when trying to use object-oriented programming with WordPress. It&#8217;s hard to know how to design classes that work well with WordPress.<\/p>\n\n\n\n<p>Well, you&#8217;re in luck! This is what we&#8217;ll go over during this talk. <\/p>\n\n\n\n<p>We&#8217;ll start by going over the prevalent class design in the WordPress ecosystem. We&#8217;ll analyze what it&#8217;s doing and why it leaves you feeling unsatisfied. <\/p>\n\n\n\n<p>Then we&#8217;ll look at how object-oriented programming expects you to design classes. We&#8217;ll finish by looking at strategies that you can use to design classes. This should let you finally design classes that feel meaningful to use!<\/p>\n\n\n\n<figure class=\"wp-block-embed-facebook wp-block-embed is-type-video is-provider-facebook\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"fb-video\" data-allowfullscreen=\"true\" data-href=\"https:\/\/www.facebook.com\/wcmia\/videos\/831367203868173\/\" style=\"background-color: #fff; display: inline-block;\"><\/div>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>You&#8217;re a WordPress developer who wants to use object-oriented programming in their next project. You&#8217;re already familiar with concepts like inheritance. The issue is that you&#8217;re not sure how to apply those concepts to design classes that feel useful. This isn&#8217;t something to feel ashamed about! In fact, it&#8217;s a common problem when trying to [&hellip;]<\/p>\n","protected":false},"author":7673567,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1552660200,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"https:\/\/carlalexander.ca\/approaching-object-oriented-programming-wordpress\/#slides","_wcpt_session_video":"","_wcpt_speaker_id":[5146],"footnotes":""},"session_track":[1226616],"session_category":[],"class_list":["post-5059","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-developers-workshop"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paxzxh-1jB","session_date_time":{"date":"March 15, 2019","time":"10:30 am"},"session_speakers":[{"id":"5146","slug":"carl-alexander","name":"Carl Alexander","link":"https:\/\/miami.wordcamp.org\/2019\/speaker\/carl-alexander\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wp\/v2\/sessions\/5059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":4,"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wp\/v2\/sessions\/5059\/revisions"}],"predecessor-version":[{"id":8535,"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wp\/v2\/sessions\/5059\/revisions\/8535"}],"speakers":[{"embeddable":true,"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wp\/v2\/speakers\/5146"}],"author":[{"embeddable":true,"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wporg\/v1\/users\/carlalexander"}],"wp:attachment":[{"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wp\/v2\/media?parent=5059"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wp\/v2\/session_track?post=5059"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/miami.wordcamp.org\/2019\/wp-json\/wp\/v2\/session_category?post=5059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}