Skip to content

Commit

Permalink
Merge pull request cakephp#5330 from okinaka/3.0-ja
Browse files Browse the repository at this point in the history
[ja] follows the en version.
  • Loading branch information
chinpei215 authored Oct 25, 2017
2 parents c2b2d7f + af9c3c6 commit 7a5a6d2
Show file tree
Hide file tree
Showing 22 changed files with 86 additions and 38 deletions.
2 changes: 1 addition & 1 deletion en/controllers/components/security.rst
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ require secure SSL requests::
}
}
Note: use ``$this->request-here()`` for CakePHP versions prior to 3.4.0
Note: use ``$this->request->here()`` for CakePHP versions prior to 3.4.0

This example would force all actions that had admin routing to require secure
SSL requests. When the request is black holed, it will call the nominated
Expand Down
10 changes: 7 additions & 3 deletions ja/bake/development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,13 @@ Bake テーマの作成
#. 新しいディレクトリー **plugins/[name]/src/Template/Bake/Template/** を作成します。
#. **vendor/cakephp/bake/src/Template/Bake/Template** から上書きしたい
テンプレートをあなたのプラグインの中の適切なファイルにコピーしてください。
#. bake を実行するときに、必要であれば、 bake のテーマを指定するための
``--theme`` オプションを使用してください。
#. bake を実行するときに、必要であれば、 bake のテーマを指定するための ``--theme``
オプションを使用してください。各呼び出しでこのオプションを指定しなくても済むように、
カスタムテーマをデフォルトテーマとして使用するように設定することもできます。 ::

<?php
// config/bootstrap.php または config/bootstrap_cli.php の中で
Configure::write('Bake.theme', 'MyTheme');

Bake テンプレートのカスタマイズ
===============================
Expand All @@ -235,7 +240,6 @@ bake テンプレートを作成することができます。この方法では
#. **vendor/cakephp/bake/src/Template/Bake/** から上書きしたいテンプレートを
あなたのアプリケーションの中の適切なファイルにコピーします。


Bake コマンドオプションの新規作成
=================================

Expand Down
1 change: 1 addition & 0 deletions ja/controllers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,7 @@ CakePHP のコントローラーはリクエストのライフサイクル周り
最良の結果を得るために、子コントローラーのコールバック中で
``AppController`` のコールバックを呼ぶのを忘れないでください。 ::

//use Cake\Event\Event;
public function beforeFilter(Event $event)
{
parent::beforeFilter($event);
Expand Down
2 changes: 1 addition & 1 deletion ja/controllers/components/request-handling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ RequestHandler はクライアントやリクエストについての情報を
パラメーターを省略した場合は、最も可能性の高いコンテンツタイプが返されます。
$type を配列で渡した場合、クライアントが受け付けるものとマッチした最初の値が返されます。
設定はまず、もし Router で解析されたファイルの拡張子により確定されます。
次に、 ``HTTP\_ACCEPT`` にあるコンテンツタイプのリストから選ばれます。 ::
次に、 ``HTTP_ACCEPT`` にあるコンテンツタイプのリストから選ばれます。 ::

$this->RequestHandler->prefers('json');

Expand Down
4 changes: 3 additions & 1 deletion ja/controllers/components/security.rst
Original file line number Diff line number Diff line change
Expand Up @@ -190,10 +190,12 @@ Security コンポーネントは、一般的にコントローラーの ``befor

public function forceSSL()
{
return $this->redirect('https://' . env('SERVER_NAME') . $this->request->here());
return $this->redirect('https://' . env('SERVER_NAME') . $this->request->getRequestTarget());
}
}

注意: CakePHP バージョン 3.4.0 より前では ``$this->request->here()`` を使用してください。

上記の例では、 管理者用ルーティングの全てのアクションは、セキュアな SSL 通信のみを許可します。
リクエストが破棄対象になった時、 ``forceSSL()`` コールバック関数が呼ばれ、非セキュアなリクエストを
自動的にセキュアなリクエストにリダイレクトします。
Expand Down
4 changes: 3 additions & 1 deletion ja/epub-contents.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
orm

controllers/components/authentication
bake
core-libraries/caching
bake
console-and-shells
development/debugging
deployment
Expand Down Expand Up @@ -53,8 +53,10 @@
core-libraries/xml

core-libraries/global-constants-and-functions
chronos
debug-kit
migrations
elasticsearch
appendices

.. todolist::
Expand Down
4 changes: 2 additions & 2 deletions ja/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ CakePHP はウェブ開発を単純に簡単にできるように開発されま

この概要の目的は、CakePHP の一般的なコンセプトとそのコンセプトがどのように CakePHP
の中で働くのかを紹介することです。 プロジェクトをすぐに始めたいなら、 :doc:`チュートリアルから始める
</tutorials-and-examples/bookmarks/intro>` か :doc:`直接ドキュメントを見て下さい </topics>` 。
</tutorials-and-examples/cms/installation>` か :doc:`直接ドキュメントを見て下さい </topics>` 。

設定より規約
============
Expand Down Expand Up @@ -144,7 +144,7 @@ CakePHP のリクエストサイクル

次の明白なステップは :doc:`download CakePHP </installation>` で,
:doc:`チュートリアルとなにかすごいものを作る
</tutorials-and-examples/bookmarks/intro>` を読んで下さい。.
</tutorials-and-examples/cms/installation>` を読んで下さい。.

付録
====
Expand Down
2 changes: 1 addition & 1 deletion ja/intro/conventions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ ArticlesController の ``index()`` 関数にマップします。そして、Art
必要なクラスとファイルを作成しただけでこれらの関係が設定されています。

さて、これで CakePHP の基本について一通り理解できました。物事がどう組み合わせられるかを確かめるために、
:doc:`/tutorials-and-examples/bookmarks/intro` を体験することができるでしょう。
:doc:`/tutorials-and-examples/cms/installation` を体験することができるでしょう。

.. meta::
:title lang=ja: CakePHP の規約
Expand Down
20 changes: 20 additions & 0 deletions ja/orm/validation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,26 @@ CakePHP は、エンティティーが保存される前に適用される「ル
return $entity->isOkLooking();
}, 'ruleName');

条件付きルールの使用
--------------------

エンティティーデータに基づいて条件付きでルールを適用することができます。 ::

$rules->add(function ($entity, $options) use($rules) {
if ($entity->role == 'admin') {
$rule = $rules->existsIn('user_id', 'Admins');

return $rule($entity, $options);
}
if ($entity->role == 'user') {
$rule = $rules->existsIn('user_id', 'Users');

return $rule($entity, $options);
}

return false;
}, 'userExists');

再利用可能なカスタムルールの作成
--------------------------------

Expand Down
4 changes: 3 additions & 1 deletion ja/pdf-contents.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ Contents
orm

controllers/components/authentication
bake
core-libraries/caching
bake
console-and-shells
development/debugging
deployment
Expand Down Expand Up @@ -53,6 +53,8 @@ Contents
core-libraries/xml

core-libraries/global-constants-and-functions
chronos
debug-kit
migrations
elasticsearch
appendices
2 changes: 2 additions & 0 deletions ja/plugins.rst
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,8 @@ ContactInfoHelper を使いたいとしましょう。この場合、あなた

echo $this->ContactInfo->address($contact);

.. _plugin-create-your-own:

プラグイン作成
================

Expand Down
7 changes: 4 additions & 3 deletions ja/quickstart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
**************************

CakePHP を学ぶ最も良い方法はなにか作ってみることです。
簡単なブックマークアプリケーションから作ることを始めましょう
簡単なコンテンツ管理アプリケーションから作ることを始めましょう

.. include:: /tutorials-and-examples/bookmarks/intro.rst
.. include:: /tutorials-and-examples/bookmarks/part-two.rst
.. include:: /tutorials-and-examples/cms/installation.rst
.. include:: /tutorials-and-examples/cms/database.rst
.. include:: /tutorials-and-examples/cms/articles-controller.rst

.. meta::
:title lang=ja: Getting Started
Expand Down
17 changes: 9 additions & 8 deletions ja/tutorials-and-examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,22 @@
.. toctree::
:maxdepth: 1

tutorials-and-examples/cms/installation
tutorials-and-examples/cms/database
tutorials-and-examples/cms/articles-controller
tutorials-and-examples/cms/tags-and-users
tutorials-and-examples/cms/authentication

.. toctree::
:hidden:

tutorials-and-examples/bookmarks/intro
tutorials-and-examples/bookmarks/part-two
tutorials-and-examples/blog/blog
tutorials-and-examples/blog/part-two
tutorials-and-examples/blog/part-three
tutorials-and-examples/blog-auth-example/auth

.. toctree::
:hidden:

tutorials-and-examples/cms/installation
tutorials-and-examples/cms/database
tutorials-and-examples/cms/articles-controller
tutorials-and-examples/cms/tags-and-users
tutorials-and-examples/cms/authentication

.. meta::
:title lang=ja: チュートリアルと例
Expand Down
7 changes: 6 additions & 1 deletion ja/tutorials-and-examples/cms/articles-controller.rst
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,10 @@ view テンプレートの作成
$article = $this->Articles->newEntity();
if ($this->request->is('post')) {
$article = $this->Articles->patchEntity($article, $this->request->getData());

// user_id の決め打ちは一時的なもので、あとで認証を構築する際に削除されます。
$article->user_id = 1;

if ($this->Articles->save($article)) {
$this->Flash->success(__('Your article has been saved.'));
return $this->redirect(['action' => 'index']);
Expand Down Expand Up @@ -532,5 +536,6 @@ JavaScript を使用して記事を削除する POST リクエストを行うリ
また、このビューコードは ``Form Helper`` を使って記事を削除しようとする前に
JavaScript の確認ダイアログを表示します。

基本的な記事管理のセットアップの後は、 :doc:`タグとユーザーテーブルの基本的な操作 <tags-and-users>`
基本的な記事管理のセットアップの後は、 :doc:`タグとユーザーテーブルの基本的な操作
</tutorials-and-examples/cms/tags-and-users>`
を作成します。
7 changes: 3 additions & 4 deletions ja/tutorials-and-examples/cms/authentication.rst
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ logout メソッドを実装します。ログアウトのために ``/users/log
add と edit アクションの修正
==============================

edit アクションへのアクセスをブロックしていますが、作成中または編集中の記事の
edit アクションへのアクセスをブロックしていますが、編集中の記事の
``user_id`` 属性を変更することはできます。次に、これらの問題を解決します。
最初は ``add`` アクションです。

Expand All @@ -236,7 +236,7 @@ add アクションを次のように置き換えます。 ::
if ($this->request->is('post')) {
$article = $this->Articles->patchEntity($article, $this->request->getData());

// 追加: セッションから user_id をセット
// 変更: セッションから user_id をセット
$article->user_id = $this->Auth->user('id');

if ($this->Articles->save($article)) {
Expand All @@ -248,8 +248,7 @@ add アクションを次のように置き換えます。 ::
$this->set('article', $article);
}

同様に **src/Templates/Articles/add.ctp** から ``user_id`` コントロールを削除することを
忘れないでください。次は ``edit`` アクションを更新します。edit メソッドを次のように置き換えます。 ::
次は ``edit`` アクションを更新します。edit メソッドを次のように置き換えます。 ::

// src/Controller/ArticlesController.php の中で

Expand Down
6 changes: 3 additions & 3 deletions ja/tutorials-and-examples/cms/database.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ CMS チュートリアル - データベース作成
(1, 'First Post', 'first-post', 'This is the first post.', 1, now(), now());

複合主キーを持つ ``articles_tags`` テーブルにお気づきでしょうか。CakePHP は、
ほぼどこでも複合主キーをサポートします。これは、マルチテナントなアプリケーションの構築が
しやすくなります
ほぼどこでも複合主キーをサポートしているので、追加の ``id`` カラムを必要としない
単純なスキーマを持つことができます

私たちが使用するテーブルやカラムの名前は恣意的ではありませんでした。CakePHP の
:doc:`命名規則 </intro/conventions>` を使用することによって、CakePHP がより効果的になり、
Expand Down Expand Up @@ -160,5 +160,5 @@ Table オブジェクトを ``ArticlesTable`` と名付けることで、CakePHP
どのようにプロパティーを変更できるかを制御するプロパティー ``_accessible`` をセットアップしました。

このモデルは、今は動きませんが、次は最初の
:doc:`コントローラーとテンプレート <articles-controller>`
:doc:`コントローラーとテンプレート </tutorials-and-examples/cms/articles-controller>`
を作成し、このモデルとのやりとりができるようにします。
3 changes: 2 additions & 1 deletion ja/tutorials-and-examples/cms/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,5 @@ CakePHP のディレクトリー構造がどのように働くかを学ぶのに
可能かどうか以外は、すべての確認事項が緑色のコック帽になるべきです。そうでなければ、PHP 拡張の
追加のインストールやディレクトリーのパーミッション設定が必要かもしれません。

次に、 :doc:`データベースの構築と最初のモデルの作成 <database>` をします。
次に、 :doc:`データベースの構築と最初のモデルの作成 </tutorials-and-examples/cms/database>`
をします。
6 changes: 5 additions & 1 deletion ja/tutorials-and-examples/cms/tags-and-users.rst
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,10 @@ ArticlesTable の ``initialize`` メソッドに以下を追加することで
$article = $this->Articles->newEntity();
if ($this->request->is('post')) {
$article = $this->Articles->patchEntity($article, $this->request->getData());

// user_id の決め打ちは一時的なもので、あとで認証を構築する際に削除されます。
$article->user_id = 1;

if ($this->Articles->save($article)) {
$this->Flash->success(__('Your article has been saved.'));
return $this->redirect(['action' => 'index']);
Expand Down Expand Up @@ -459,4 +463,4 @@ CakePHP では、コントローラーのアクションをスリムに保ち、
役立ちます。 :doc:`/core-libraries/collections` のメソッドを使用してクエリー結果を操作したり、
エンティティーを簡単に作成したりするシナリオを扱うことができます。

次は :doc:`認証 <authentication>` を追加しましょう。
次は :doc:`認証 </tutorials-and-examples/cms/authentication>` を追加しましょう。
2 changes: 1 addition & 1 deletion ja/views/helpers/breadcrumbs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ BreadcrumbsHelper は内部で ``StringTemplateTrait`` を使用しています
'wrapper' => '<ul{{attrs}}>{{content}}</ul>',
'item' => '<li{{attrs}}><a href="{{url}}"{{innerAttrs}}>{{title}}</a></li>{{separator}}',
'itemWithoutLink' => '<li{{attrs}}><span{{innerAttrs}}>{{title}}</span></li>{{separator}}',
'separator' => '<li{{attrs}}><span{{innerAttrs}}>{{custom}}{{separator}}</span></li>'
'separator' => '<li{{attrs}}><span{{innerAttrs}}>{{separator}}</span></li>'
]

``StringTemplateTrait`` の ``template()`` メソッドを使用すると簡単にカスタマイズすることができます。 ::
Expand Down
2 changes: 1 addition & 1 deletion ja/views/helpers/form.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1403,7 +1403,7 @@ data 配列を提供します。

CakePHP が Windows サーバー上にインストールされている場合、上記の例について、
送信されるデータ配列内の値は次のように構成されます
(Unix 環境では ``'tmp\_name'`` が異なったパスになります)。 ::
(Unix 環境では ``'tmp_name'`` が異なったパスになります)。 ::

$this->request->data['submittedfile']

Expand Down
2 changes: 1 addition & 1 deletion ja/views/helpers/url.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ URL の生成
.. php:method:: build(mixed $url = null, boolean|array $full = false)
コントローラーとアクションの組み合わせを指定することで URL を生成して返します。
``$url`` が空の場合、 ``REQUEST\_URI`` を返します。そうでない場合、
``$url`` が空の場合、 ``REQUEST_URI`` を返します。そうでない場合、
コントローラーとアクションの組み合わせで URL を生成します。
``full`` が ``true`` の場合、結果がフルベース URL で返されます。 ::

Expand Down
10 changes: 7 additions & 3 deletions ja/views/themes.rst
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
テーマ
######

テーマには、ページの見た目や雰囲気を簡単に素早く切り替えられるようになるという利点があります。
CakePHP のテーマは、テンプレートファイルを供給することに集中したシンプルなプラグインです。
:ref:`plugin-create-your-own` のセクションをご覧ください。
テーマには、ページの見た目や雰囲気を簡単に素早く切り替えられるようになるという利点があります。
もし必要であれば、テンプレートファイルに追加してヘルパーやセルもまた供給することができます。
ヘルパーやセルをテーマで使うときは、 :term:`プラグイン記法` を使い続ける必要があります。

テーマを使うためには、コントローラーのアクションをテーマ名にするか
``beforeRender()`` をコールバックしてください。::
``beforeRender()`` をコールバックしてください。 ::

class ExamplesController extends AppController
{
// For CakePHP before 3.1
// CakePHP 3.1 より前
public $theme = 'Modern';

public function beforeRender(\Cake\Event\Event $event)
{
$this->viewBuilder()->setTheme('Modern');

// CakePHP 3.5 より前
$this->viewBuilder()->theme('Modern');
}
}
Expand Down

0 comments on commit 7a5a6d2

Please sign in to comment.