The count
method returns the number of messages stored within the default
MessageBag
instance. It is also the only MessageBag
method that specifically handled by the ViewErrorBag
instance itself because it needs to be declared within the ViewErrorBag
class itself to satisfy the requirements of PHP's Countable
interface.
The following code example demonstrates the behavior of the count
method:
1<?php
2
3use Illuminate\Support\ViewErrorBag;
4use Illuminate\Support\MessageBag;
5
6// Create a new ViewErrorBag instance.
7$viewErrorBag = new ViewErrorBag;
8
9// Create a new MessageBag instance.
10$messageBag = new MessageBag([
11 'username' => [
12 'The username is required.'
13 ]
14]);
15
16// Add the new MessageBag instance to
17// the ViewErrorBag
18$viewErrorBag->put('formErrors', $messageBag);
19
20// Get the count from $viewErrorBag
21//
22// 0
23$messageCount = $viewErrorBag->count();
24
25// Change the 'default' MessageBag to the one
26// created earlier.
27$viewErrorBag->put('default', $messageBag);
28
29// Get the count from $viewErrorBag
30//
31// 1
32$messageCount = count($viewErrorBag);
As can be seen in the comments in the above example, the count
method only operates on the default
MessageBag
instance. Because of this adding the MessageBag
formErrors
did not affect the count, but setting the same MessageBag
instance as the value for the default
key did change the results of the count
method.
#Continue Reading
This article is part of a mini-series all about Laravel's View Error Bags. Each of these articles can be found here:
- An Introduction to Laravel View Error Bags
- Laravel ViewErrorBag Public API: count
- Laravel ViewErrorBag Public API: getBag
- Laravel ViewErrorBag Public API: getBags
- Laravel ViewErrorBag Public API: hasBag
- Laravel ViewErrorBag Public API: put
∎