イントロダクションIntroduction
Laravelはオープンソースプロジェクトですから、誰でもLaravelを向上させるために貢献できます。スキルのレベルや性別、人種、宗教、国籍に拘わらず、皆さんの貢献を歓迎します。活気に満ちた、様々なコミュニティーを持っていることが、このフレームワークの芯となる、価値の一つなのです!Laravel is an open-source project and anyone may contribute to Laravel for its improvement. We welcome contributors, regardless of skill level, gender, race, religion, or nationality. Having a diverse, vibrant community is one of the core values of the framework!
みなさんの貢献を有効的に活かすため、現在Laravelではバグレポートではなく、プルリクエストだけを受け付けています。「バグレポート」はプルリクエストに含めた、失敗するユニットテストの形式で報告してください。もしくは、Laravelのサンドボックスアプリケーションの中で、そのバグをデモンストレーションし、Laravelのメインrepositoryにそれをプルリクエストとして送信します。失敗するユニットテストやサンドボックスアプリケーションは、バグが存在することを開発チームに示す証拠となりますし、そのバグを処理した後で修正できたことを示す確かな印として役立ちます。To encourage active collaboration, Laravel currently only accepts pull requests, not bug reports. "Bug reports" may be sent in the form of a pull request containing a failing unit test. Alternatively, a demonstration of the bug within a sandbox Laravel application may be sent as a pull request to the main Laravel repository[https://github.com/laravel/laravel]. A failing unit test or sandbox application provides the development team "proof" that the bug exists, and, after the development team addresses the bug, serves as a reliable indicator that the bug remains fixed.
LaravelのソースコードはGitHubで管理され、各Laravelプロジェクトのリポジトリーが存在しています。The Laravel source code is managed on Github, and there are repositories for each of the Laravel projects:
- Laravel FrameworkLaravel Framework[https://github.com/laravel/framework]
- Laravel ApplicationLaravel Application[https://github.com/laravel/laravel]
- Laravel DocumentationLaravel Documentation[https://github.com/laravel/docs]
- Laravel CashierLaravel Cashier[https://github.com/laravel/cashier]
- Laravel EnvoyLaravel Envoy[https://github.com/laravel/envoy]
- Laravel HomesteadLaravel Homestead[https://github.com/laravel/homestead]
- Laravel Homestead Build ScriptsLaravel Homestead Build Scripts[https://github.com/laravel/settler]
- Laravel WebsiteLaravel Website[https://github.com/laravel/laravel.com]
- Laravel ArtLaravel Art[https://github.com/laravel/art]
コア開発の議論Core Development Discussion
バグ、新機能、既存機能の実装についての議論は、Freenodeの#laravel-dev
IRCチャンネルで行っています。LaravelのメンテナーであるTaylor
Otwellは、通常ウイークエンドの午前8時から5時まで(America/Chicago標準時、UTC-6:00)接続しています。他の時間帯は、時々接続しています。Discussion
regarding bugs,
new features,
and
implementation
of existing
features takes
place in the
#laravel-dev
IRC channel
(Freenode).
Taylor Otwell,
the maintainer
of Laravel, is
typically
present in the
channel on
weekdays from
8am-5pm
(UTC-06:00 or
America/Chicago),
and sporadically
present in the
channel at other
times.
#laravel-dev
IRCチャンネルは、全ての人に開放しています。議論に参加しても、もしくはただ見ているだけでもかまいませんので、皆さんこのチャンネルへどうぞ参加してください!The
#laravel-dev
IRC channel is
open to all. All
are welcome to
join the channel
either to
participate or
simply observe
the
discussions!
新機能New Features
新機能のプルリクエストを送る前に、どうぞFreenodeの#laravel-dev
IRCチャンネルでTaylor
Otwellとコンタクトを取ってください。その機能がフレームワークとピッタリであれば、プルリクエストをお送りください。もし採用されなかった場合でも、諦めてはいけません!その機能をパッケージにし、Packagistを使い世界中に対しリリースすることが可能です。Before
sending pull
requests for new
features, please
contact Taylor
Otwell via the
#laravel-dev
IRC channel
(Freenode). If
the feature is
found to be a
good fit for the
framework, you
are free to make
a pull request.
If the feature
is rejected,
don't give up!
You are still
free to turn
your feature
into a package
which can be
released to the
world via
Packagist[https://packagist.org/].
新しい機能を追加する場合、ユニットテストを追加するのを忘れないでください!ユニットテストは、追加されるその新しい機能が安定しており、信頼に足るものであることを確実にしてくれます。When adding new features, don't forget to add unit tests! Unit tests help ensure the stability and reliability of the framework as new features are added.
バグBugs
ユニットテストによる報告Via Unit Test
Laravelの開発チームと事前の議論を行わなくても、バグに対するプルリクエストは送っていただいてかまいません。バグフィックを送信する場合、そのバグが再現しないことを確実に示すユニットテストを含めてください!Pull requests for bugs may be sent without prior discussion with the Laravel development team. When submitting a bug fix, try to include a unit test that ensures the bug never appears again!
フレームワークにバグがあることを確信できているが、どうやって修正するのかが不確かな場合は、失敗するユニットテストを含めたプルリクエストを送ってください。失敗するユニットテストは、バグが存在することを開発チームに示す証拠となりますし、そのバグを処理した後で修正できたことを示す確かな印として役立ちます。If you believe you have found a bug in the framework, but are unsure how to fix it, please send a pull request containing a failing unit test. A failing unit test provides the development team "proof" that the bug exists, and, after the development team addresses the bug, serves as a reliable indicator that the bug remains fixed.
そのバグに対し、失敗するユニットテストをどのように書けばよいのかわからない場合は、フレームワークに含まれている他のユニットテストを参考にしてください。それでも迷っていたら、Freenodeの#laravel
IRCチャネルで尋ねることもできます。If
are unsure how
to write a
failing unit
test for a bug,
review the other
unit tests
included with
the framework.
If you're still
lost, you may
ask for help in
the
#laravel
IRC channel
(Freenode).
どのブランチ?Which Branch?
注意: このセクションはLiferaftアプリケーションではなく、主にlaravel/frameworkリポジトリーへプルリクエストを送る場合に適用される内容です。Note: This section primarly applies to those sending pull requests to the laravel/framework[https://github.com/laravel/framework] repository, not Liferaft applications.
全てのバグフィックスは、最新の安定ブランチに送ってください。次のリリースの中にだけ存在している機能に対する修正でない限り、決してバグフィックスをmaster
ブランチに送ってはいけません。All
bug fixes should
be sent to the
latest stable
branch. Bug
fixes should
never
be sent to the
master
branch unless
they fix
features that
exist only in
the upcoming
release.
現在のLaravelリリースと完全に後方コンパティビリティを持っているマイナーな機能は、最新の安定ブランチへ送ってください。Minor features that are fully backwards compatible with the current Laravel release may be sent to the latest stable branch.
次のLaravelリリースに含めるべき、メジャーな新機能は、常にmaster
ブランチへ送ってください。Major
new features
should always be
sent to the
master
branch, which
contains the
upcoming Laravel
release.
もし、あなたの新機能がメジャーなのか、マイナーなのかはっきりしなければ、Freenodeの#laravel-dev
IRCチャネルでTaylor
Otwellに尋ねてください。If
you are unsure
if your feature
qualifies as a
major or minor,
please ask
Taylor Otwell in
the
#laravel-dev
IRC channel
(Freenode).
セキュリティ脆弱性Security Vulnerabilities
Laravelにセキュリティー脆弱性を見つけたときは、メールでTaylor Otwell(taylorotwell@gmail.com)に連絡してください。セキュリティー脆弱性は急いで対応されるでしょう。If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell at taylorotwell@gmail.com[mailto:taylorotwell@gmail.com]. All security vulnerabilities will be promptly addressed.
コーディングスタイルCoding Style
Laravelは、PSR-0とPSR-1のコーディング規約に従っています。これらの標準以外に従うべき追加の規約です。Laravel follows the PSR-0[https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md] and PSR-1[https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md] coding standards. In addition to these standards, the following coding standards should be followed:
- クラス名前空間の定義は、
<?php
と同じ行で行う。The class namespace declaration must be on the same line as<?php
. - クラス開始の
{
は、クラス名と同じ行に書く。A class' opening{
must be on the same line as the class name. - 関数や制御構造は、オールマンスタイルの字下げを行う。Functions and control structures must use Allman style braces.
- 字下げ(indent)はタブで、字揃え(align)は空白で。Indent with tabs, align with spaces.