{"id":1259,"date":"2016-07-20T18:48:45","date_gmt":"2016-07-20T22:48:45","guid":{"rendered":"https:\/\/2016.toronto.wordcamp.org\/?post_type=wcb_session&#038;p=1259"},"modified":"2016-07-20T18:48:45","modified_gmt":"2016-07-20T22:48:45","slug":"unlocking-the-awesome-magical-power-of-mu-plugins","status":"publish","type":"wcb_session","link":"https:\/\/toronto.wordcamp.org\/2016\/session\/unlocking-the-awesome-magical-power-of-mu-plugins\/","title":{"rendered":"Unlocking the Awesome Magical Power of MU-Plugins"},"content":{"rendered":"<h3><em><strong>Session Description<\/strong><\/em><\/h3>\n<p>I plan on demonstrating a key concept we use on rd.com of building a foundation around an MU Plugin and extending these in different directions as needed. I intend to demonstrate how we use advance object oriented coding practices to reuse code blocks under the DRY method. I will even do a live demonstration and build a new plugin based on the mu plugin, up through git, and all the layers of code quality enforcement using phpcs and phpunit finally push new plugin via Jenkins deployment\/build system to a working environment. This is a complete plugin development using advance PHP OOP inheritance next level techniques. Note; I will have a backup video in case the live demo proves problematic.<\/p>\n<h3><em><strong>Learning Outcomes<\/strong><\/em><\/h3>\n<p>* Advance OOP PHP next level tecniques<br \/>\n* How to create a library of MU Plugins<br \/>\n* How to use the library to build a regular plugin (or theme)<br \/>\n* How to build like a pro with Jenkins, PHPcs &amp; PHPUnit<\/p>\n<h3><em><strong>User level<\/strong><\/em><\/h3>\n<p>All attendees are welcome to come to this session but the ones that will likely benefit the most\u00a0are beginner, intermediate &amp; advanced\u00a0developers.<\/p>\n<h3><em><strong>Prerequisites<\/strong><\/em><\/h3>\n<p>The\u00a0technical knowledge required to understand\u00a0this session is to know the Plugin API, basic PHP OOP concepts.<\/p>\n<h3><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Session Description I plan on demonstrating a key concept we use on rd.com of building a foundation around an MU Plugin and extending these in different directions as needed. I intend to demonstrate how we use advance object oriented coding &hellip; <a href=\"https:\/\/toronto.wordcamp.org\/2016\/session\/unlocking-the-awesome-magical-power-of-mu-plugins\/\">Continue reading <span class=\"assistive-text\">Unlocking the Awesome Magical Power of MU-Plugins<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2571841,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1470495600,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[1033],"footnotes":""},"session_track":[909936],"session_category":[],"class_list":["post-1259","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-track-4-rm-1-149"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p789Km-kj","session_date_time":{"date":"August 6, 2016","time":"11:00 am"},"session_speakers":[{"id":"1033","slug":"mikel-king","name":"Mikel King","link":"https:\/\/toronto.wordcamp.org\/2016\/speaker\/mikel-king\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wp\/v2\/sessions\/1259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":2,"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wp\/v2\/sessions\/1259\/revisions"}],"predecessor-version":[{"id":1497,"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wp\/v2\/sessions\/1259\/revisions\/1497"}],"speakers":[{"embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wp\/v2\/speakers\/1033"}],"author":[{"embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wporg\/v1\/users\/vizkr"}],"wp:attachment":[{"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wp\/v2\/media?parent=1259"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wp\/v2\/session_track?post=1259"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2016\/wp-json\/wp\/v2\/session_category?post=1259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}