{"id":27385,"date":"2017-03-05T10:57:04","date_gmt":"2017-03-05T08:57:04","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27385"},"modified":"2017-03-05T10:57:04","modified_gmt":"2017-03-05T08:57:04","slug":"how-to-handle-configuration-in-php","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/05\/how-to-handle-configuration-in-php\/","title":{"rendered":"How to handle configuration in PHP"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"http:\/\/www.eschrade.com\/\">Kevin Schroeder<\/a> has a <a href=\"http:\/\/www.eschrade.com\/page\/how-to-handle-configuration-in-php\/\">blog post<\/a> about <a href=\"https:\/\/github.com\/magium\/configuration-manager\">the tool<\/a> that he is building for configuration management in PHP. \u00a0The library is still in the early pre-release stage, but it looks like it solves quite a few problems related to configuration, like nesting, inheritance, and environment\/context variation.<\/p>\n<div class=\"jetpack-video-wrapper\"><span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"660\" height=\"372\" src=\"https:\/\/www.youtube.com\/embed\/76MLD9Kl2Lk?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span><\/div>\n<p>Here&#8217;s <a href=\"https:\/\/www.youtube.com\/watch?v=76MLD9Kl2Lk\">the YouTube video<\/a> that provides a bit of introduction into how to use the tool, and what to expect of it.<\/p>\n<p>The only thing that dials down my excitement in this implementation is the use of XML, even though I understand why he opted for this choice.<\/p>\n<p>I will need a PHP configuration management solution soon, but the priority hasn&#8217;t been raised high enough yet for me to jump into the research. \u00a0If you know of any other similar tools, please let me know &#8211; it all will come handy pretty soon.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Kevin Schroeder has a blog post about the tool that he is building for configuration management in PHP. \u00a0The library is still in the early pre-release stage, but it looks like it solves quite a few problems related to configuration, like nesting, inheritance, and environment\/context variation. Here&#8217;s the YouTube video that provides a bit of &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/05\/how-to-handle-configuration-in-php\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">How to handle configuration in 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":"How to handle configuration in PHP #WebDev #PHP","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,133,62,1334],"tags":[3195,38,1330],"keyring_services":[],"class_list":["post-27385","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-sysadmin","category-technology","category-web-work","tag-configuration-management","tag-php","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":27454,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/26\/phpqa-all-in-one-analyzer-cli-tool\/","url_meta":{"origin":27385,"position":0},"title":"PHPQA all-in-one Analyzer CLI tool","author":"Leonid Mamchenkov","date":"March 26, 2017","format":false,"excerpt":"PHPQA all-in-one Analyzer CLI tool. \u00a0This project bundles together all the usual PHP quality control tools, and then some. \u00a0It simplifies the installation and configuration of the tools and helps developers to push up the quality control bar on their projects. The tools currently included are: PHP Parallel Lint PHP\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\/03\/phplint-500x390.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":19006,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/12\/20\/redbeanphp-a-lightweight-configuration-less-orm-library-for-php\/","url_meta":{"origin":27385,"position":1},"title":"RedBeanPHP &#8211; a lightweight, configuration-less ORM library for PHP","author":"Leonid Mamchenkov","date":"December 20, 2013","format":"link","excerpt":"RedBeanPHP - a lightweight, configuration-less ORM library for PHP","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":27605,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/05\/23\/yang-a-data-modeling-language-for-the-network-configuration-protocol-netconf\/","url_meta":{"origin":27385,"position":2},"title":"YANG &#8211; A Data Modeling Language for the Network Configuration Protocol (NETCONF)","author":"Leonid Mamchenkov","date":"May 23, 2017","format":false,"excerpt":"In the spirit of validating everything against a schema\u00a0(validating JSON, validating CSV), here is another option - YANG: YANG\u00a0is a data modeling language for the definition of data sent over the NETCONF network configuration protocol. The name is an acronym for \"Yet Another Next Generation\". The YANG data modeling language\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":28350,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/01\/29\/vim-as-a-php-ide-the-complete-guide\/","url_meta":{"origin":27385,"position":3},"title":"Vim as a PHP IDE &#8211; the complete guide","author":"Leonid Mamchenkov","date":"January 29, 2018","format":false,"excerpt":"\"Vim as a PHP IDE - the complete guide\" is yet another one of those lengthy articles on how to setup Vim as an IDE (Integrated Development Environment), specifically so for PHP developers. Over the years, it's interesting to see how with more powerful Vim, such guides become more 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":22700,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/10\/22\/url-rewriting-in-built-in-web-server-of-php\/","url_meta":{"origin":27385,"position":4},"title":"URL rewriting in built-in web server of PHP","author":"Leonid Mamchenkov","date":"October 22, 2014","format":false,"excerpt":"PHP comes with a handy for development built-in web server. \u00a0However, most web projects have friendly URLs these days which are either Apache (mod_rewrite) or Nginx specific configuration. \u00a0This almost renders built-in PHP web server useless. \u00a0Unless you provide a PHP-based routing, like so: Start the PHP web server with\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":28276,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/12\/11\/php-fpm-tuning-using-pm-static-for-max-performance\/","url_meta":{"origin":27385,"position":5},"title":"PHP-FPM tuning: Using \u2018pm static\u2019 for Max Performance","author":"Leonid Mamchenkov","date":"December 11, 2017","format":false,"excerpt":"\"PHP-FPM tuning: Using \u2018pm static\u2019 for Max Performance\" looks at different process management settings in PHP-FPM: static, dynamic, and ondemand, and the way they affect performance.\u00a0 The default - ondemand - might work well for you if you have a large server with plenty of resources and not so many\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\/27385","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=27385"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27385\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27385"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}