{"id":3650,"date":"2018-02-28T15:44:08","date_gmt":"2018-02-28T15:44:08","guid":{"rendered":"https:\/\/2018.london.wordcamp.org\/?post_type=wcb_session&#038;p=3650"},"modified":"2018-02-28T15:44:08","modified_gmt":"2018-02-28T15:44:08","slug":"uncommon-abuses-of-composer","status":"publish","type":"wcb_session","link":"https:\/\/london.wordcamp.org\/2018\/session\/uncommon-abuses-of-composer\/","title":{"rendered":"Uncommon (Ab)Uses of Composer"},"content":{"rendered":"<p>Composer is a hugely flexible tool that works reliably on all but the most obscure hosters\/platforms. What&#8217;s more, it provides a plugin system that lets you pull external code from a repository and have that code hook into the normal Composer execution flow. The logical conclusion is that Composer is used for much more than just pulling in dependencies.<\/p>\n<p>We&#8217;ll start this session with a quick look at the basic mechanisms that make Composer as flexible as it is. Then, we&#8217;ll go through some of the more useful and\/or exotic examples of how to use Composer for solving problems that it wasn&#8217;t really meant to solve.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Composer is a hugely flexible tool that works reliably on all but the most obscure hosters\/platforms. What&#8217;s more, it provides a plugin system that lets you pull external code from a repository and have that code hook into the normal Composer execution flow. The logical conclusion is that Composer is used for much more than [&hellip;]<\/p>\n","protected":false},"author":14387856,"featured_media":0,"template":"","meta":{"_crdt_document":"","jetpack_post_was_ever_published":false,"_wcpt_session_time":1523795400,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[3648],"footnotes":""},"session_track":[446658],"session_category":[144],"class_list":["post-3650","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-track-a","wcb_session_category-development"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9b3zx-WS","session_date_time":{"date":"15th April 2018","time":"1:30 pm"},"session_speakers":[{"id":"3648","slug":"alain-schlesser","name":"Alain Schlesser","link":"https:\/\/london.wordcamp.org\/2018\/speaker\/alain-schlesser\/"}],"session_cats_rendered":"Development","_links":{"self":[{"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wp\/v2\/sessions\/3650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":1,"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wp\/v2\/sessions\/3650\/revisions"}],"predecessor-version":[{"id":3651,"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wp\/v2\/sessions\/3650\/revisions\/3651"}],"speakers":[{"embeddable":true,"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wp\/v2\/speakers\/3648"}],"author":[{"embeddable":true,"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wporg\/v1\/users\/schlessera"}],"wp:attachment":[{"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wp\/v2\/media?parent=3650"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wp\/v2\/session_track?post=3650"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/london.wordcamp.org\/2018\/wp-json\/wp\/v2\/session_category?post=3650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}