{"id":18199,"date":"2013-05-22T22:51:04","date_gmt":"2013-05-22T20:51:04","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=18199"},"modified":"2013-05-22T22:51:04","modified_gmt":"2013-05-22T20:51:04","slug":"slim-php-framework","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2013\/05\/22\/slim-php-framework\/","title":{"rendered":"Slim PHP framework"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"http:\/\/slimframework.com\/\">Slim PHP framework<\/a><\/p>\n<blockquote><p>FEATURES<\/p>\n<ul>\n<li>Powerful router\n<ul>\n<li>Standard and custom HTTP methods<\/li>\n<li>Route parameters with wildcards and conditions<\/li>\n<li>Route redirect, halt, and pass<\/li>\n<li>Route middleware<\/li>\n<\/ul>\n<\/li>\n<li>Template rendering with custom views<\/li>\n<li>Flash messages<\/li>\n<li>Secure cookies with AES-256 encryption<\/li>\n<li>HTTP caching<\/li>\n<li>Logging with custom log writers<\/li>\n<li>Error handling and debugging<\/li>\n<li>Middleware and hook architecture<\/li>\n<li>Simple configuration<\/li>\n<\/ul>\n<\/blockquote>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Slim PHP framework FEATURES Powerful router Standard and custom HTTP methods Route parameters with wildcards and conditions Route redirect, halt, and pass Route middleware Template rendering with custom views Flash messages Secure cookies with AES-256 encryption HTTP caching Logging with custom log writers Error handling and debugging Middleware and hook architecture Simple configuration<\/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":[3063,38,1330],"keyring_services":[],"class_list":["post-18199","post","type-post","status-publish","format-link","hentry","category-general","category-programming","category-technology","tag-frameworks","tag-php","tag-web-development","post_format-post-format-link"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":23960,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/23\/stack-reusable-middleware-with-php\/","url_meta":{"origin":18199,"position":0},"title":"Stack &#8211; reusable middleware with PHP","author":"Leonid Mamchenkov","date":"April 23, 2015","format":"link","excerpt":"Stack - reusable middleware with 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":22151,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/07\/08\/testframeworkinatweet-php-a-php-unit-testing-framework-in-a-tweet\/","url_meta":{"origin":18199,"position":1},"title":"TestFrameworkInATweet.php &#8211; a PHP unit testing framework in a tweet","author":"Leonid Mamchenkov","date":"July 8, 2014","format":"link","excerpt":"TestFrameworkInATweet.php - a PHP unit testing framework in a tweet. \u00a0This is brilliant in its own way. \u00a0It reminds me of the Perl Golf Apocalypse.","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":26996,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/28\/runkit-changing-the-php-internals-on-the-fly\/","url_meta":{"origin":18199,"position":2},"title":"runkit &#8211; changing the PHP internals on the fly","author":"Leonid Mamchenkov","date":"November 28, 2016","format":false,"excerpt":"Here is something I didn't know about until today - PHP's runkit extension: The runkit extension provides means to modify constants, user-defined functions, and user-defined classes. It also provides for custom superglobal variables and embeddable sub-interpreters via sandboxing. This blog post - \"Shimming PHP for Fun and Profit\" - demonstrates\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":18040,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/04\/19\/behat-behavior-driven-development-bdd-framework-for-php\/","url_meta":{"origin":18199,"position":3},"title":"Behat &#8211; Behavior Driven Development (BDD) framework for PHP","author":"Leonid Mamchenkov","date":"April 19, 2013","format":"link","excerpt":"Behat - Behavior Driven Development (BDD) framework 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":28455,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/03\/26\/atoum-modern-simple-and-intuitive-php-unit-testing-framework\/","url_meta":{"origin":18199,"position":4},"title":"atoum &#8211; modern, simple and intuitive PHP unit testing framework","author":"Leonid Mamchenkov","date":"March 26, 2018","format":false,"excerpt":"With all the hype around the quality assurance and testing tools for PHP, I wonder how did I miss atoum.\u00a0 Atoum is a modern, simple and intuitive unit testing framework for PHP.\u00a0 From a quick look around, it seems to be a lot simpler than PHPUnit and I definitely need\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":28469,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/04\/08\/botman-framework-agnostic-php-library-to-build-chat-bots\/","url_meta":{"origin":18199,"position":5},"title":"Botman &#8211; framework agnostic PHP library to build chat bots","author":"Leonid Mamchenkov","date":"April 8, 2018","format":false,"excerpt":"Botman is a framework agnostic library for building your own chat bots in PHP.\u00a0 With the same chat bot logic you can connect to a variety of chat services like HipChat, Slack, Telegram, Facebook Messenger, Google Hangouts and a variety of others (just search for \"botman\/driver\" on Packagist).\u00a0 You can\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\/04\/botman-500x116.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18199","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=18199"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18199\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=18199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=18199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=18199"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=18199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}