{"id":36247,"date":"2019-02-26T12:49:26","date_gmt":"2019-02-26T10:49:26","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=36247"},"modified":"2019-02-26T12:49:33","modified_gmt":"2019-02-26T10:49:33","slug":"refactoring-guru-design-patterns-php","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/26\/refactoring-guru-design-patterns-php\/","title":{"rendered":"Refactoring.Guru : Design Patterns + PHP"},"content":{"rendered":"<!-- google_ad_section_start -->\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"630\" data-attachment-id=\"36248\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/26\/refactoring-guru-design-patterns-php\/refactoring-guru\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/refactoring.guru_.png?fit=863%2C824&amp;ssl=1\" data-orig-size=\"863,824\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"refactoring.guru\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/refactoring.guru_.png?fit=660%2C630&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/refactoring.guru_.png?resize=660%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-36248\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/refactoring.guru_.png?w=863&amp;ssl=1 863w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/refactoring.guru_.png?resize=500%2C477&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/refactoring.guru_.png?resize=768%2C733&amp;ssl=1 768w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/refactoring.guru\/\">Refactoring.Guru<\/a> is a great resource for learning about refactoring best practices and design patterns.  A lot of the website&#8217;s content is also available as <a href=\"https:\/\/refactoring.guru\/design-patterns\/book\">Dive into Design Patterns ebook<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Today I came across <a href=\"https:\/\/github.com\/RefactoringGuru\/design-patterns-php\">this GitHub repository<\/a>, which makes this resource even better specifically for PHP developers.  Yup, that&#8217;s right, the GitHub repository features all code examples written in PHP 7.3, making it super easy to jump into coding.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And if you aren&#8217;t a PHP developer, have a look at <a href=\"https:\/\/github.com\/RefactoringGuru\">the other repositories<\/a>, which do the same for a few other programming languages.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Refactoring.Guru is a great resource for learning about refactoring best practices and design patterns. A lot of the website&#8217;s content is also available as Dive into Design Patterns ebook. Today I came across this GitHub repository, which makes this resource even better specifically for PHP developers. Yup, that&#8217;s right, the GitHub repository features all code &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/26\/refactoring-guru-design-patterns-php\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Refactoring.Guru : Design Patterns + PHP<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","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":"Refactoring.Guru : Design Patterns + PHP #WebDev #PHP #DesignPatterns","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,1334],"tags":[3069,3136,38,1330],"keyring_services":[],"class_list":["post-36247","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-best-practices","tag-design-patterns","tag-php","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28429,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/03\/12\/money-php-library-to-make-working-with-money-safer-easier-and-fun\/","url_meta":{"origin":36247,"position":0},"title":"money &#8211; PHP library to make working with money safer, easier, and fun","author":"Leonid Mamchenkov","date":"March 12, 2018","format":false,"excerpt":"money is a PHP library that implements Martin Fowler's design pattern for money.\u00a0 See the official documentation and this blog post for more information. Some of the issues addresses by this library are the binding of the money amount to the currency, and currency conversion operations.\u00a0 If your code needs\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":44293,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/09\/23\/github-adds-php-and-composer-dependency-graphs\/","url_meta":{"origin":36247,"position":1},"title":"GitHub adds PHP and Composer dependency graphs","author":"Leonid Mamchenkov","date":"September 23, 2019","format":false,"excerpt":"Here are some great news from GitHub: Dependency graph support is now available for PHP repositories with Composer dependencies. You may see security alerts on your repositories as dependency graph support rolls out. When there\u2019s a published vulnerability on any of the Composer dependencies that your project lists in\u00a0composer.json\u00a0and\u00a0composer.lock\u00a0files, GitHub\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\/2019\/09\/github-php-composer.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":27142,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/16\/php-package-development-standards\/","url_meta":{"origin":36247,"position":2},"title":"PHP Package Development Standards","author":"Leonid Mamchenkov","date":"December 16, 2016","format":false,"excerpt":"Paul M. Jones announces the availability of PHP Package Development Standards for review: This initiative researches the PHP package ecosystem to recognize commonly adopted development practices. It rationalizes and refines those practices, then publishes them as PDS packages for reference by PHP package authors. PDS publications are derived from and\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":28538,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/05\/02\/code-quality-tools-in-php-to-check-and-improve-your-code\/","url_meta":{"origin":36247,"position":3},"title":"Code quality tools in PHP to check and improve your code","author":"Leonid Mamchenkov","date":"May 2, 2018","format":false,"excerpt":"\"Code quality tools in PHP to check and improve your code\" is a list of both some very well known tools and some new kids on the block.\u00a0 The article covers the following: PHP-CS-Fixer Documentation Github PHPCS Documentation Github PHPMD Documenation Official website PHPStan Github PHPUnit Documentation Github PHPLoc Github\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":27841,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/08\/14\/dephpugger-php-debugger-for-the-command-line\/","url_meta":{"origin":36247,"position":4},"title":"Dephpugger &#8211; PHP debugger for the command line","author":"Leonid Mamchenkov","date":"August 14, 2017","format":false,"excerpt":"DePHPugger is an easy to use debugger for PHP, which works from the command line and can also be integrated with any IDE or editor. \u00a0Here is a GIF screencast that demonstrates the functionality: There are more demos in the project's GitHub repository. You can also read this article and\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\/08\/logo-400x500.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28119,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/10\/18\/phpfastcache-high-performance-distributed-object-caching-system\/","url_meta":{"origin":36247,"position":5},"title":"phpFastCache &#8211; high-performance, distributed object caching system","author":"Leonid Mamchenkov","date":"October 18, 2017","format":false,"excerpt":"phpFastCache is a high-performance, distributed object caching system for PHP.\u00a0 It supports a variety of drivers, as per its GitHub repository: APC(u) Cookie Files Memcache(d) Redis ... and many more.","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\/36247","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=36247"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/36247\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=36247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=36247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=36247"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=36247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}