{"id":27321,"date":"2017-02-10T09:23:59","date_gmt":"2017-02-10T07:23:59","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27321"},"modified":"2017-02-10T09:23:59","modified_gmt":"2017-02-10T07:23:59","slug":"pdsskeleton-is-now-stable","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/","title":{"rendered":"pds\/skeleton is now stable"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/standards.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"27322\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/standards\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/standards.png?fit=500%2C283&amp;ssl=1\" data-orig-size=\"500,283\" 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=\"standards\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/standards.png?fit=500%2C283&amp;ssl=1\" class=\"aligncenter size-medium wp-image-27322\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/standards-500x283.png?resize=500%2C283&#038;ssl=1\" alt=\"\" width=\"500\" height=\"283\" \/><\/a><\/p>\n<p><a href=\"http:\/\/php-pds.com\/\">PHP Package Development Standard<\/a>, aka <a href=\"https:\/\/github.com\/php-pds\/skeleton\/\">pds\/skeleton<\/a>, is now <a href=\"http:\/\/paul-m-jones.com\/archives\/6526\">stable<\/a>. \u00a0I&#8217;ve <a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/16\/php-package-development-standards\/\">linked<\/a> to it before and I think it&#8217;s a great idea and I&#8217;m glad I&#8217;m not alone:<\/p>\n<blockquote><p>Roughly 78,000 packages already comply with the <code>pds\/skeleton<\/code> standard, although they may not know it. To formally show that your package has adopted the standard, \u201crequire-dev\u201d it via Composer, or <a href=\"https:\/\/github.com\/php-pds\/badges\">display a badge<\/a> on your README.<\/p><\/blockquote>\n<p>I&#8217;d gladly follow this standard for my own work too, except that I mostly work with <a href=\"http:\/\/wordpress.org\">WordPress<\/a> and <a href=\"https:\/\/cakephp.org\/\">CakePHP<\/a> these days, both of which do things differently from the standard and from each other.<\/p>\n<p>WordPress kind of assumes that the whole project is public, so you don&#8217;t really get <em>public\/<\/em> folder. \u00a0It also organizes the code into <em>wp-includes\/<\/em>, <em>wp-admin\/<\/em> and <em>wp-content\/<\/em> folders, instead of the <em>src\/<\/em> suggested by PDS. \u00a0And, in terms of configuration, everything goes into <em>wp-config.php<\/em> file instead of something in the <em>config\/<\/em> folder.<\/p>\n<p>CakePHP is much closer to PDS in terms of organization of files. \u00a0The only difference that I can spot is the use of <em>webroot\/<\/em> folder instead of the suggested <em>public\/<\/em>.<\/p>\n<p>I&#8217;d really love to see larger libraries and frameworks adhere to the PDS, but until that happens, I&#8217;ll keep an eye on things.<\/p>\n<p>P.S.: The standards comic strip is of course from <a href=\"https:\/\/xkcd.com\/927\/\">xkcd<\/a>.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>PHP Package Development Standard, aka pds\/skeleton, is now stable. \u00a0I&#8217;ve linked to it before and I think it&#8217;s a great idea and I&#8217;m glad I&#8217;m not alone: Roughly 78,000 packages already comply with the pds\/skeleton standard, although they may not know it. To formally show that your package has adopted the standard, \u201crequire-dev\u201d it via &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">pds\/skeleton is now stable<\/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_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"pds\/skeleton is now stable #WebDev #PHP #standards #BestPractices","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},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[3069,38,1216,1330],"keyring_services":[],"class_list":["post-27321","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-best-practices","tag-php","tag-standards","tag-web-development"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"PHP Package Development Standard, aka pds\/skeleton, is now stable. I&#039;ve linked to it before and I think it&#039;s a great idea and I&#039;m glad I&#039;m not alone: Roughly 78,000 packages already comply with the pds\/skeleton standard, although they may not know it. To formally show that your package has adopted the standard, \u201crequire-dev\u201d it via\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"pds\/skeleton is now stable - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"PHP Package Development Standard, aka pds\/skeleton, is now stable. I&#039;ve linked to it before and I think it&#039;s a great idea and I&#039;m glad I&#039;m not alone: Roughly 78,000 packages already comply with the pds\/skeleton standard, although they may not know it. To formally show that your package has adopted the standard, \u201crequire-dev\u201d it via\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-02-10T07:23:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2017-02-10T07:23:59+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"pds\/skeleton is now stable - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"PHP Package Development Standard, aka pds\/skeleton, is now stable. I&#039;ve linked to it before and I think it&#039;s a great idea and I&#039;m glad I&#039;m not alone: Roughly 78,000 packages already comply with the pds\/skeleton standard, although they may not know it. To formally show that your package has adopted the standard, \u201crequire-dev\u201d it via\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#blogposting\",\"name\":\"pds\\\/skeleton is now stable - Leonid Mamchenkov\",\"headline\":\"pds\\\/skeleton is now stable\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2017\\\/02\\\/standards-500x283.png\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#articleImage\"},\"datePublished\":\"2017-02-10T09:23:59+02:00\",\"dateModified\":\"2017-02-10T09:23:59+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#webpage\"},\"articleSection\":\"All, Programming, Technology, Web work, best practices, PHP, standards, web development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#listItem\",\"name\":\"pds\\\/skeleton is now stable\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#listItem\",\"position\":4,\"name\":\"pds\\\/skeleton is now stable\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/\",\"name\":\"pds\\\/skeleton is now stable - Leonid Mamchenkov\",\"description\":\"PHP Package Development Standard, aka pds\\\/skeleton, is now stable. I've linked to it before and I think it's a great idea and I'm glad I'm not alone: Roughly 78,000 packages already comply with the pds\\\/skeleton standard, although they may not know it. To formally show that your package has adopted the standard, \\u201crequire-dev\\u201d it via\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/10\\\/pdsskeleton-is-now-stable\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2017-02-10T09:23:59+02:00\",\"dateModified\":\"2017-02-10T09:23:59+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"pds\/skeleton is now stable - Leonid Mamchenkov","description":"PHP Package Development Standard, aka pds\/skeleton, is now stable. I've linked to it before and I think it's a great idea and I'm glad I'm not alone: Roughly 78,000 packages already comply with the pds\/skeleton standard, although they may not know it. To formally show that your package has adopted the standard, \u201crequire-dev\u201d it via","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#blogposting","name":"pds\/skeleton is now stable - Leonid Mamchenkov","headline":"pds\/skeleton is now stable","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/standards-500x283.png","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#articleImage"},"datePublished":"2017-02-10T09:23:59+02:00","dateModified":"2017-02-10T09:23:59+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#webpage"},"articleSection":"All, Programming, Technology, Web work, best practices, PHP, standards, web development"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#listItem","name":"pds\/skeleton is now stable"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#listItem","position":4,"name":"pds\/skeleton is now stable","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/","name":"pds\/skeleton is now stable - Leonid Mamchenkov","description":"PHP Package Development Standard, aka pds\/skeleton, is now stable. I've linked to it before and I think it's a great idea and I'm glad I'm not alone: Roughly 78,000 packages already comply with the pds\/skeleton standard, although they may not know it. To formally show that your package has adopted the standard, \u201crequire-dev\u201d it via","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2017-02-10T09:23:59+02:00","dateModified":"2017-02-10T09:23:59+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"pds\/skeleton is now stable - Leonid Mamchenkov","og:description":"PHP Package Development Standard, aka pds\/skeleton, is now stable. I've linked to it before and I think it's a great idea and I'm glad I'm not alone: Roughly 78,000 packages already comply with the pds\/skeleton standard, although they may not know it. To formally show that your package has adopted the standard, \u201crequire-dev\u201d it via","og:url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2017-02-10T07:23:59+00:00","article:modified_time":"2017-02-10T07:23:59+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"pds\/skeleton is now stable - Leonid Mamchenkov","twitter:description":"PHP Package Development Standard, aka pds\/skeleton, is now stable. I've linked to it before and I think it's a great idea and I'm glad I'm not alone: Roughly 78,000 packages already comply with the pds\/skeleton standard, although they may not know it. To formally show that your package has adopted the standard, \u201crequire-dev\u201d it via","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"27321","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-20 04:25:33","updated":"2026-01-15 12:42:45","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tpds\/skeleton is now stable\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"pds\/skeleton is now stable","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/pdsskeleton-is-now-stable\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":27142,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/16\/php-package-development-standards\/","url_meta":{"origin":27321,"position":0},"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":18104,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/04\/29\/bootstrap-vs-foundation-vs-skeleton-responsive-css-framework-comparison\/","url_meta":{"origin":27321,"position":1},"title":"Bootstrap vs. Foundation vs. Skeleton &#8211; Responsive CSS Framework Comparison","author":"Leonid Mamchenkov","date":"April 29, 2013","format":"link","excerpt":"Bootstrap vs. Foundation vs. Skeleton - Responsive CSS Framework Comparison","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":24282,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/06\/02\/php-package-checklist\/","url_meta":{"origin":27321,"position":2},"title":"PHP Package Checklist","author":"Leonid Mamchenkov","date":"June 2, 2015","format":"link","excerpt":"PHP Package Checklist - now if only there was a tool attached to this that could generate the report against the package...","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"logo","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/06\/logo.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":24250,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/05\/28\/the-worlds-collide-jsphp-and-php-js\/","url_meta":{"origin":27321,"position":3},"title":"The worlds collide: jsphp and php.js","author":"Leonid Mamchenkov","date":"May 28, 2015","format":false,"excerpt":"I guess we can consider the overlapping between PHP and JavaScript worlds complete. \u00a0Just within the last couple of days I separately and independently came across two different projects: jsphp, which is\u00a0a pseudo-implementation of the ECMA 262 standard (JavaScript 8.5.1) for PHP 5.3+ php.js, which is a resource that offers\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":28630,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/06\/15\/semantic-versioning-version-0-is-unstable\/","url_meta":{"origin":27321,"position":4},"title":"Semantic Versioning : Version 0 is unstable","author":"Leonid Mamchenkov","date":"June 15, 2018","format":false,"excerpt":"We've been using Semantic Versioning for quite a while at work now.\u00a0 It's easy to explain and follow, and it provides valuable context to the numerous releases of the projects and components that we are doing on a daily basis. Turns out, however, that I missed a small, but important\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":28653,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/06\/30\/php-jsonq-a-simple-elegant-php-package-to-query-over-any-type-of-json-data\/","url_meta":{"origin":27321,"position":5},"title":"php-jsonq &#8211; a simple, elegant PHP package to query over any type of JSON data","author":"Leonid Mamchenkov","date":"June 30, 2018","format":false,"excerpt":"php-jsonq provides an easy, yet powerful way to build queries for any JSON data (or PHP data structures for that matter, which are a step away).\u00a0 This has a variety of useful applications - data migration, API response filtering, complex configurations manipulation, and so on, and so forth.","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\/27321","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=27321"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27321\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27321"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}