{"id":13410470,"url":"https://github.com/php-cds/php-cds","last_synced_at":"2025-03-14T16:32:14.117Z","repository":{"id":152289637,"uuid":"58624938","full_name":"php-cds/php-cds","owner":"php-cds","description":"PHP Community Driven Standards","archived":false,"fork":false,"pushed_at":"2016-05-28T08:38:51.000Z","size":14,"stargazers_count":470,"open_issues_count":15,"forks_count":5,"subscribers_count":101,"default_branch":"master","last_synced_at":"2024-07-31T20:42:46.272Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://twitter.com/php_cds","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/php-cds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-12T08:54:10.000Z","updated_at":"2024-07-05T13:01:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6f2e6a2-99bc-45d8-b5f8-b8fe611693a8","html_url":"https://github.com/php-cds/php-cds","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-cds%2Fphp-cds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-cds%2Fphp-cds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-cds%2Fphp-cds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-cds%2Fphp-cds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/php-cds","download_url":"https://codeload.github.com/php-cds/php-cds/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243610211,"owners_count":20318921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T20:01:07.161Z","updated_at":"2025-03-14T16:32:14.063Z","avatar_url":"https://github.com/php-cds.png","language":null,"funding_links":[],"categories":["miscellaneous"],"sub_categories":[],"readme":"# PHP Community-driven Standards\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://avatars3.githubusercontent.com/u/19323243?v=3\u0026s=300\" width=\"150\" /\u003e\n\u003c/p\u003e\n\n[![Gitter](https://badges.gitter.im/php-cds/php-cds.svg)](https://gitter.im/php-cds/php-cds?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\nPHP CDS is not a group or organisation, it's a concept. Its core idea is for the community to create RFCs,\ndiscuss them, then hold a vote on their acceptance as a community standard.\n\nIts **aim is** to be as loosely coupled to any individual, group or organisation as possible.\nRFCs/Standards are proposed, discussed, agreed upon in the simplest possible fashion by the community.\nAnyone willing to contribute to the PHP community is welcome to participate in the CDS process.\n\nIts **aim is not** to propose standards itself, have members or limit discussion.\n\nBecause there is no membership involved, there's no in-house lobbying. If you propose ideas, you don't need\nto convince the right people: You are free to propose anything you want, and the community as a whole can accept or reject your idea. \n\n## PSRs\n\n### From PHP-CDS\n\nNone yet.\n\n### From PHP-FIG\n=======\n\n|  Name|\n|------|\n| [PSR-0 Autoloading Standard (deprecated)](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md)\n| [PSR-1 Basic Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md)\n| [PSR-2 Coding Style Guide](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)\n| [PSR-3 Logger Interface](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)\n| [PSR-4 Autoloader](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md)\n| [PSR-6 Caching Interface](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-6-cache.md)\n| [PSR-7 HTTP Message Interface](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-7-http-message.md)\n\n\n## How the Process Works\n\n### Create an RFC\n\nAn RFC is a request-for-comment, mostly in form of an issue in the [php-cds/php-cds](https://github.com/php-cds/php-cds/issues/new) repository.\nAuthors describe their idea, maybe even first draft of an API, and open it immediately for discussion and voting.\n\n### Voting for an RFC\n\nRFCs can be voted on immediately using [GitHub reactions](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments)\nusing :+1: and :-1:. Based on this immediate feedback, authors can quickly see whether there is merit to their idea.\n\nParticipants have the ability to watch for activity using GitHub's watch function on the [php-cds/php-cds](https://github.com/php-cds/php-cds) repository.\n\n### Discussion on implementation\n\nIf an author decides to create a concrete implemention of an interface/API/document based on an RFC,\nall discussion should happen in the [php-cds/php-cds-discussion](https://github.com/php-cds/php-cds-discussion) repository.\n\nDiscussion in a separate repository prevents noise for those who are only interested in voting.\n\nThose who want to be more involved in the Community-driven Standards process can watch the [php-cds/php-cds-discussion](https://github.com/php-cds/php-cds-discussion) repository.\n\n## Get involved\n\nAll you need to get involved is a GitHub account. You can participate in several different ways:\n\n### Vote\n\nWatch the [php-cds/php-cds](https://github.com/php-cds/php-cds/watchers) and especially the [php-cds/php-cds-psr](https://github.com/php-cds/php-cds-psr) repositories for new RFCs and PSRs. Vote immediately using [GitHub reactions](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments)\nwith :+1: and :-1: on the incoming RFC's issue tracking page.\n\nYou can vote on RFCs in [php-cds/php-cds](https://github.com/php-cds/php-cds) and PSRs in [php-cds/php-cds-psr](https://github.com/php-cds/php-cds-psr). We will however announce in [reddit.com/r/php](https://www.reddit.com/r/PHP/) and [Twitter @php_cds](https://twitter.com/php_cds) about new and ending PSR votings as well as ending RFCs.\n\n### Discuss\n\nIf you want to get more involved, you can watch the [php-cds/php-cds-discussion](https://github.com/php-cds/php-cds-discussion) repository, where pull requests and discussions about implementions happen. You can participate in all discussions in this repository.\n\n### Support\n\nYou can express your support for PHP-CDS by pressing the star button. This signals to other people that you support this concept, and also that you have an active interest in adopting those Community-driven Standards.\n\n### Moderate\n\nTo keep discussions level-headed and to maintain state of RFCs, moderators are needed. If you want to be a moderator and you are a trustworthy member of the php community, then please write [@marcj](https://github.com/marcj) in [gitter](https://gitter.im/php-cds/php-cds).\n\nA moderator must not limit discussion or censor ideas. In an ideal world, moderators wouldn't be involved at all. They do not have any special\npurpose other than to help maintain clean repositories on behalf of the community.\n\n## Workflow\n\n### Create a RFC\n\nRFCs (request for comments) are made using the GitHub issue tracker of the [php-cds/php-cds](https://github.com/php-cds/php-cds/issues) repository. You can create an issue, add a title, prefixed with `[RFC]` and\nstart writing about your idea. That's it.\n\nTry to be as concise as possible so readers will be able to quickly digest and understand your idea before voting.\n\n## How to vote on an RFC\n\nIn the GitHub issue tracker of the [php-cds/php-cds](https://github.com/php-cds/php-cds) repository you see all RFCs (issues with a title prefixed with `[RFC]`).\nAfter reading the issue description, try to understand it and express your opinion with a [GitHub reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments)\nusing :+1: and :-1:.\n\n## Implement/discuss an RFC\n\nOnce you think you have enough positive feedback from the community (as seen by the [GitHub reactions](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments))\nyou are free to open a discussion thread in the php-cds/php-cds-discussion repository. People that are interested in joining\nyour RFC can discuss and reply at any time. You can also create pull requests so people can easily comment on proposed code.\n\n## Publish PSR\n\nOnce an RFC has positive community reaction, you have decided to create a discussion and a concrete implemention, and you think your work is\ndone and ready for prime time, the RFC becomes a PSR-proposal (PHP Standard Recommendation) as soon as you create a issue in the\n[php-cds/php-cds-psr](https://github.com/php-cds/php-cds-psr) repository.\n\nCreating an issue in this repository means you want to have a final vote on the RFC asking the community for your proposal to become an official PSR.\nIt's completely up to you how you write your proposal. Any GitHub member is able to express their opinion as a comment or as a vote using :+1: and :-1:.\n\nA vote is considered successful if 2/3 of all votes are positive (:+1:). This means that an RFC becomes a recommended standard, which will be displayed in the php-cds repositories. Please note that this doesn't mean everyone automatically will use it; its still just\na recommendation.\n\n## PSR names and changes\n\nPSRs do not have numbers, they have names. For example \"PSR-event-dispatcher\" or \"PSR-logging\", ideally corresponding to the PHP\nnamespace in which they reside (\"PSR-event-dispatcher\" -\u003e `Pcs\\EventDispatcher`).\n\nPSRs do not have an initial version number attached. If a change is required, the version will be incremented by 1.\nFor example, an update to \"PSR-event-dispatcher\" would become \"PSR-event-dispatcher-2\".\nThe current version of all accepted PSRs are displayed in the php-cds repositories.\n\n## Close RFC and PSR\n\nEvery issue created in [php-cds/php-cds](https://github.com/php-cds/php-cds) (which represents an RFC) or [php-cds/php-cds-psr](https://github.com/php-cds/php-cds-psr) (which represents a PSR) has an allowed voting window. The voting window is always 1 month from the creation date. If an RFC or PSR has more than 1/3 negative votes, it will be closed.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-cds%2Fphp-cds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphp-cds%2Fphp-cds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-cds%2Fphp-cds/lists"}