{"id":18429,"date":"2013-07-01T10:10:25","date_gmt":"2013-07-01T08:10:25","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=18429"},"modified":"2013-07-01T10:10:25","modified_gmt":"2013-07-01T08:10:25","slug":"the-oop-in-php-by-matthew-turland","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2013\/07\/01\/the-oop-in-php-by-matthew-turland\/","title":{"rendered":"The OOP in PHP by Matthew Turland"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"http:\/\/matthewturland.com\/slides\/phpoop\/\">The OOP in PHP by Matthew Turland<\/a><\/p>\n<p>A well all around presentation on Object Oriented Programming in PHP, including also some of the recent functionality (up to PHP 5.5).<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>The OOP in PHP by Matthew Turland A well all around presentation on Object Oriented Programming in PHP, including also some of the recent functionality (up to PHP 5.5).<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62],"tags":[3083,38],"keyring_services":[],"class_list":["post-18429","post","type-post","status-publish","format-link","hentry","category-general","category-programming","category-technology","tag-oop","tag-php","post_format-post-format-link"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28182,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/11\/06\/object-graph-visualizing-php-objects\/","url_meta":{"origin":18429,"position":0},"title":"object-graph &#8211; visualizing PHP objects","author":"Leonid Mamchenkov","date":"November 6, 2017","format":false,"excerpt":"As you might know, I am a big fan of GraphViz.\u00a0 I've used numerous times for visualizing different parts of the project code and dependencies (see here and here for example). Today I came across a way to visualize PHP objects (not just classes) - object-graph library by Sebastian Bergmann,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/11\/object-graph-500x136.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28449,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/03\/26\/php-object-graph-visualizer\/","url_meta":{"origin":18429,"position":1},"title":"PHP object graph visualizer","author":"Leonid Mamchenkov","date":"March 26, 2018","format":false,"excerpt":"koriym\/print_o is an object graph visualizer for PHP.\u00a0 Here's a Wikipedia answer to the question of \"What is an object graph?\": Object-oriented applications contain complex webs of interrelated objects. Objects are linked to each other by one object either owning or containing another object or holding a reference to another\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/03\/object-graph-500x259.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":18611,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/09\/17\/php-self-vs-static\/","url_meta":{"origin":18429,"position":2},"title":"PHP: self:: vs. static::","author":"Leonid Mamchenkov","date":"September 17, 2013","format":false,"excerpt":"I am seeing more and more PHP code with static:: key used for method calls instead of self::. \u00a0Today I've finally found some time to examine the novelty. \u00a0The page that is useful for more details is PHP's late static binding. \u00a0This functionality is available since PHP 5.3.0 so you\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29035,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/27\/avoid-complex-arrays-in-php\/","url_meta":{"origin":18429,"position":3},"title":"Avoid complex arrays in PHP","author":"Leonid Mamchenkov","date":"November 27, 2018","format":false,"excerpt":"Now that PHP 7+ sorted out a whole bunch of problems with type-hinting of parameters, return values, variables and properties, we turn our attention to somewhat deeper issues. Array is a native citizen in PHP.\u00a0 Arrays are very convenient and are widely used.\u00a0 However, if you stop and think about\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28291,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/12\/23\/defensive-programming-object-calisthenics\/","url_meta":{"origin":18429,"position":4},"title":"Defensive Programming : Object Calisthenics","author":"Leonid Mamchenkov","date":"December 23, 2017","format":false,"excerpt":"I came across this nice and somewhat strongly opinionated video on Defensive Programming: https:\/\/www.youtube.com\/watch?v=8d2AtAGJPno Marco Pivetta makes quite a few good points with I agree (and a few with which I disagree).\u00a0 One thing that he mentioned though I haven't heard about - Object Calisthenics.\u00a0 Which turns out to be\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/img.youtube.com\/vi\/8d2AtAGJPno\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":11298,"url":"https:\/\/mamchenkov.net\/wordpress\/2008\/06\/07\/programming-language-barrier\/","url_meta":{"origin":18429,"position":5},"title":"Programming language barrier","author":"Leonid Mamchenkov","date":"June 7, 2008","format":false,"excerpt":"One of the frequent things that I hear about programmers is that it doesn't matter which language the person is using and which language you need him to use, because if he is any good he'll learn and catch up pretty fast.\u00a0 In other words, if you take a decent\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=18429"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18429\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=18429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=18429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=18429"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=18429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}