Skip to content

Commit 4fde169

Browse files
authored
Merge pull request #345 from shamiao/5.5
修正 View - View Composer 一节的翻译
2 parents ca1a707 + 7c93c62 commit 4fde169

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

about.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@
197197
- Vagrant Box (开源项目名称,不翻)
198198
- View 视图
199199
- Vendor 供应商
200-
- View Composer 视图组件
200+
- View Composer/Creator 视图合成器/构造器
201201

202202
### W
203203

views.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- [创建视图](#creating-views)
44
- [向视图传递数据](#passing-data-to-views)
55
- [与所有视图共享数据](#sharing-data-with-all-views)
6-
- [视图 Composer](#view-composers)
6+
- [视图合成器](#view-composers)
77

88
<a name="creating-views"></a>
99
## 创建视图
@@ -87,11 +87,11 @@
8787
}
8888

8989
<a name="view-composers"></a>
90-
## 视图 Composer
90+
## 视图合成器
9191

92-
视图 Composer 是在渲染视图时调用的回调或者类方法。如果你每次渲染视图时都要绑定视图的数据,视图 Composer 可以帮你将这些逻辑整理到特定的位置
92+
视图合成器是在渲染视图时调用的回调或者类方法。如果你每次渲染视图时都要绑定视图的数据,视图合成器可以帮你将这些逻辑整理到特定的位置
9393

94-
在下面这个例子中,我们会在一个 [服务提供器](/docs/{{version}}/providers) 中注册视图 Composer,使用 `View` Facade 来访问底层的 `Illuminate\Contracts\View\Factory` 契约实现。默认情况下,Laravel 没有存放视图 Composer 的目录,你需要根据喜好来重新建立目录,例如:`App\Http\ViewComposers`
94+
在下面这个例子中,我们会在一个 [服务提供器](/docs/{{version}}/providers) 中注册视图合成器,使用 `View` Facade 来访问底层的 `Illuminate\Contracts\View\Factory` 契约实现。默认情况下,Laravel 没有存放视图合成器的目录,你需要根据喜好来重新建立目录,例如:`App\Http\ViewComposers`
9595

9696
<?php
9797

@@ -131,9 +131,9 @@
131131
}
132132
}
133133

134-
> {note} 注意,如果你创建了新的一个服务提供器来存放你视图 composer 的注册项,那么你需要将这个服务提供器添加到配置文件 `config/app.php``providers` 数组中。
134+
> {note} 注意,如果你创建了新的一个服务提供器来存放你注册视图合成器的代码,那么你需要将这个服务提供器添加到配置文件 `config/app.php``providers` 数组中。
135135
136-
到此我们已经注册了视图 composer,每次渲染 `profile` 视图时,都会执行 `ProfileComposer@compose` 方法。那么下面我们来定义这个 composer 类吧。
136+
到此我们已经注册了视图合成器,每次渲染 `profile` 视图时都会执行 `ProfileComposer@compose` 方法。那么下面我们来定义视图合成器的这个类吧:
137137

138138
<?php
139139

@@ -175,28 +175,28 @@
175175
}
176176
}
177177

178-
在渲染视图之前,使用 `Illuminate\View\View` 实例调用 Composer 的 `compose` 方法。你可以使用 `with` 方法将数据绑定到视图。
178+
视图合成器的 `compose` 方法会在视图渲染之前被调用,并传入一个 `Illuminate\View\View` 实例。你可以使用 `with` 方法将数据绑定到视图。
179179

180-
> {tip} 所有的视图 composers 都会通过 [服务容器](/docs/{{version}}/container) 进行解析,所以你可以在 composer 的构造函数中类型提示需要注入的依赖项
180+
> {tip} 所有的视图合成器都会通过 [服务容器](/docs/{{version}}/container) 进行解析,所以你可以在视图合成器的构造函数中类型提示需要注入的依赖项
181181
182-
#### 在多个视图中加入 Composer
182+
#### 将视图构造器添加到多个视图
183183

184-
通过将一组视图作为第一个参数传入 `composer` 方法在多个视图中加入视图 Composer
184+
通过将一组视图作为第一个参数传入 `composer` 方法,将一个视图合成器添加到多个视图
185185

186186
View::composer(
187187
['profile', 'dashboard'],
188188
'App\Http\ViewComposers\MyViewComposer'
189189
);
190190

191-
`composer` 方法同时也接受通配符 `*`可以让你将一个 composer 添加到所有视图
191+
`composer` 方法同时也接受通配符 `*`表示将一个视图合成器添加到所有视图
192192

193193
View::composer('*', function ($view) {
194194
//
195195
});
196196

197197
#### 视图构造器
198198

199-
视图**构造器**和视图 composer 非常相似。而不同之处在于:视图构造器在视图实例化之后立即执行,而视图 composer 是在视图渲染时执行。要注册视图构造器,可以使用 `creator` 方法
199+
视图**构造器**和视图合成器非常相似。唯一不同之处在于:视图构造器在视图实例化之后立即执行,而视图合成器在视图即将渲染时执行。使用 `creator` 方法注册视图构造器
200200

201201
View::creator('profile', 'App\Http\ViewCreators\ProfileCreator');
202202

@@ -205,6 +205,7 @@
205205
| 用户名 | 头像 | 职能 | 签名 |
206206
|---|---|---|---|
207207
| [@JokerLinly](https://laravel-china.org/users/5350) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/5350_1481857380.jpg"> | Review | Stay Hungry. Stay Foolish. |
208+
| [@shamiao](https://laravel-china.org/users/7034) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/7034_1480130781.jpg"> | 修正 | Make developers great again. |
208209

209210
---
210211

0 commit comments

Comments
 (0)