Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
gectus committed Apr 20, 2016
1 parent a173c4c commit c43d868
Show file tree
Hide file tree
Showing 14 changed files with 379 additions and 2,945 deletions.
96 changes: 5 additions & 91 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,94 +1,8 @@
PHP Framework Interoperability Group
====================================


Proposing a Standards Recommendation
------------------------------------

To propose a standards recommendation (PSR):

- fork this repo, create a branch, checkout that branch, add the PSR in
`proposed/`, push the branch to Github, and send a pull request; or,

- create a ticket to start a discussion on Github; or,

- start a conversation on the [mailing list][].

[mailing list]: http://groups.google.com/group/php-fig/


Requesting Membership
---------------------

You **do not** need to be a voting member to participate in discussion on
the [mailing list][].

To become a voting member, you must send an email to the [mailing list][].

- The subject line should read: `Membership Request: {$your_name} ({$project_name})`

- The body should include your name, the name of (and link to) the project you
represent, and other details you feel are relevant.

Current members will vote on your request.

Do not combine separate membership requests in a single thread; one request
per thread, please.


Voting Members
--------------

1. Nate Abele: Lithium

1. Nils Adermann: phpBB

1. Brett Bieber: PEAR, PEAR2

1. Guilherme Blanco: Doctrine, Doctrine2, et al.

1. Jordi Boggiano: Composer, Packagist

1. Karma Dordrak: Zikula

1. Paul Dragoonis: PPI, PPI2

1. William Durand: Propel, Propel 2

1. Andrew Eddie: Joomla

1. Cal Evans: the community at large

1. Larry Garfield: Drupal

1. Ivan Habunek: Apache log4php

1. Paul M. Jones: Solar Framework, Aura Project

1. Robert Lemke: TYPO3 Flow, TYPO3 Neos

1. Larry Masters: CakePHP, CakePHP 2

1. John Mertic: SugarCRM

1. Ryan Parman: Amazon Web Services SDK

1. Evert Pot: SabreDAV

1. Fabien Potencier: Symfony, Symfony2

1. Andre Romcke: eZ Publish

1. Paul Scott: Chisimba, C4

1. Phil Sturgeon: PyroCMS

1. Lukas Smith: Jackalope

1. Kris Wallsmith: Assetic, Buzz

1. Mike van Riel: phpDocumentor
====================================

1. Matthew Weier O'Phinney: Zend Framework, Zend Framework 2
PSR – это аббревиатура от Proposing a Standards Recommendation (предлагаемые рекомендации стандартов), которые были разработаны группой PHP Framework Interoperability Group, известная как PHP-FIG [http://www.php-fig.org/]. В число участников поддерживающих стандарты входят такие известные проекты как : phpBB, PEAR, Doctrine, Composer, Propel, CakePHP, Symfony, phpDocumentor, Zend и т.д.

1. David Zülke: Agavi
- PSR-0 Обязательные требования, которые должны соблюдаться в автозагрузчике.
- PSR-1 Основной стандарт написания кода.
- PSR-2 Руководство Оформления Кода.
77 changes: 39 additions & 38 deletions accepted/PSR-0.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,48 @@
The following describes the mandatory requirements that must be adhered
to for autoloader interoperability.

Mandatory
---------

* A fully-qualified namespace and class must have the following
structure `\<Vendor Name>\(<Namespace>\)*<Class Name>`
* Each namespace must have a top-level namespace ("Vendor Name").
* Each namespace can have as many sub-namespaces as it wishes.
* Each namespace separator is converted to a `DIRECTORY_SEPARATOR` when
loading from the file system.
* Each `_` character in the CLASS NAME is converted to a
`DIRECTORY_SEPARATOR`. The `_` character has no special meaning in the
namespace.
* The fully-qualified namespace and class is suffixed with `.php` when
loading from the file system.
* Alphabetic characters in vendor names, namespaces, and class names may
be of any combination of lower case and upper case.

Examples
--------
Ниже описаны обязательные требования, которые должны соблюдаться в
автозагрузчике для взаимодействия.

Обязательные
------------

* Полностью сформированное пространство имен и класс должны иметь следующую
структуру `\<Vendor Name>\(<Namespace>\)*<Class Name>`
* Каждое пространство имен должно иметь пространство имен верхнего уровня ("Vendor Name").
* Каждое пространство имен может содержать столько вложенных пространств имен,
сколько ему необходимо.
* Каждый разделитель пространств имен преобразуется в `DIRECTORY_SEPARATOR` при
загрузке из файловой системы.
* Каждый символ `_` в ИМЕНИ КЛАССА преобразуется в `DIRECTORY_SEPARATOR`.
Символ `_` не имеет особого значения в пространстве имен.
* Полностью сформированное пространство имен и класс дополняются `.php` при
загрузке из файловой системы.
* Буквы в именах поставщиков, пространствах имен, и именах классов могут в любой комбинации
строчных и прописных букв.

Примеры
-------

* `\Doctrine\Common\IsolatedClassLoader` => `/path/to/project/lib/vendor/Doctrine/Common/IsolatedClassLoader.php`
* `\Symfony\Core\Request` => `/path/to/project/lib/vendor/Symfony/Core/Request.php`
* `\Zend\Acl` => `/path/to/project/lib/vendor/Zend/Acl.php`
* `\Zend\Mail\Message` => `/path/to/project/lib/vendor/Zend/Mail/Message.php`

Underscores in Namespaces and Class Names
-----------------------------------------
Подчеркивания в Пространствах имен и Именах классов
---------------------------------------------------

* `\namespace\package\Class_Name` => `/path/to/project/lib/vendor/namespace/package/Class/Name.php`
* `\namespace\package_name\Class_Name` => `/path/to/project/lib/vendor/namespace/package_name/Class/Name.php`

The standards we set here should be the lowest common denominator for
painless autoloader interoperability. You can test that you are
following these standards by utilizing this sample SplClassLoader
implementation which is able to load PHP 5.3 classes.
Стандарты установленные здесь должны быть наименьшим общим знаменателем для
безболезненного взаимодействия с автозагрузчиком. Вы можете проверить, что вы следуете
этим стандартам, используя предложенный пример SplClassLoader, реализующий возможность
загружать PHP 5.3 классы.


Example Implementation
----------------------
Пример реализации
-----------------

Below is an example function to simply demonstrate how the above
proposed standards are autoloaded.
Ниже приведен пример функции, чтобы просто показать, как выше
предложенные стандарты будут автоматически загружены.
```php
<?php

Expand All @@ -61,13 +62,13 @@ function autoload($className)
}
```

SplClassLoader Implementation
-----------------------------
Реализация SplClassLoader
-------------------------

The following gist is a sample SplClassLoader implementation that can
load your classes if you follow the autoloader interoperability
standards proposed above. It is the current recommended way to load PHP
5.3 classes that follow these standards.
Следующий gist представляет собой пример реализации SplClassLoader, который может
загружать ваши классы, если вы будете следовать выше предложенным стандартам для
автозагрузчика. На данным момент это рекомендованный способ загружать PHP
5.3 классы, которые следуют этим стандартам.

* [http://gist.github.com/221634](http://gist.github.com/221634)

Loading

0 comments on commit c43d868

Please sign in to comment.