Laravel Companion: Second Edition
Laravel Companion: Second Edition
About the Book
The Laravel Companion Second Edition takes you through the helper features, function, classes, utilities and much, much more of the Laravel Framework.
Updated and expanded for Laravel 5.5, you are sure to learn something about the features that are easily overlooked or are easily forgotten. As we progress together through the book, we will export all of the string helper functions, array helpers, Collections, and much, much more through hundreds of practical code examples (including interacting with The Open Movie Database API and gathering weather forecasts).
The content for this book will be adapted for a web format and uploaded for free at https://stillat.com; purchasing this book helps to ensure the continued development of new content; thank you!
Table of Contents
-
- Who is This Book For?
- Symbols Used In This Book
- What Was Used to Write This Book?
-
String Helper Functions
- Immutable Strings
-
Returning Part of a String After Another String With
after
- Signature
- Example Use
-
Returning Part of a String Before Another String With
before
- Signature
- Example Use
-
Converting Strings to ASCII Encoding With
ascii
- Signature
- Example Use
-
Formatting Strings With StudlyCapsFormatting With
studly
- Signature
- Example Use
-
Global
studly_case
Helper Function
-
Formatting Strings With camelCasing With
camel
- Signature
- Example Use
-
Global
camel_case
Helper Function
-
Formatting Strings With snake_casing With
snake
- Signature
- Example Use
-
Global
snake_case
Helper Function
-
Formatting Strings With kebab-casing With
kebab
- Signature
- Example Use
-
Global
kebab_case
Helper Function
-
Formatting Strings With Title Casing Using
title
- Signature
- Example Use
-
Global
title_case
Helper Function
-
Generating URL Strings With
slug
- Signature
- Example Use
-
Global
str_slug
Helper Function
-
Checking if a String Contains Another String With
contains
- Signature
- Example Use
-
Global
str_contains
Helper Function
-
Checking if a String Ends With Another String With
endsWith
- Signature
- Example Use
-
Global
ends_with
Helper Function
-
Checking if a String Starts With Another String With
startsWith
- Signature
- Example Use
-
Global
starts_with
Helper Function
-
Ensuring a String Always Ends With a Particular Value With
finish
- Signature
- Example Use
-
Global
str_finish
Helper Function
-
Ensuring a String Always Starts With a Certain Value With
start
- Signature
- Example Use
-
Global
str_start
Helper Function
-
String Pattern Matching With
is
- Signature
- Example Use
-
Global
str_is
Helper Function
-
Calculating String Length With
length
- Signature
- Example Use
-
Limiting String Length With End Caps (…) With
limit
- Signature
- Example Use
-
Global
str_limit
Helper Function
-
Limiting the Number of Words In a String With an End Cap (…) With
words
- Signature
- Example Use
-
Creating Lowercase Variants of Strings With
lower
- Signature
- Example Use
-
Generating the Upper-Cased Variants of Strings With
upper
- Signature
- Example Use
-
Pluralizing Strings With
plural
- Signature
- Example Use
-
plural
Special Cases -
Global
str_plural
Helper Function
-
Converting Pluralized Strings to Their Singular Counterpart With
singular
- Signature
- Example Use
-
singular
Special Cases -
Global
str_singular
Helper Function
-
Generating Random String Sequences With
random
- Signature
- Example Use
-
Global
str_random
Helper Function
-
Parsing Class and Method Names With
parseCallback
- Signature
- Example Use
-
Replacing the First Occurrence of a String With
replaceFirst
- Signature
- Example Use
-
Global
str_replace_first
Helper Function
-
Replacing the Last Occurrence of a String With
replaceLast
- Signature
- Example Use
-
Global
str_replace_last
Helper Function
-
Getting Portions of a String With
substr
- Signature
- Example Use
-
Uppercasing the First Letter of a String With
ucfirst
- Signature
- Example Use
-
String Translation With
__
- Signature
- Example Use
- Supplying a Locale
- Example Within Blade Templates
-
String Translation With
trans
- Signature
- Example Use
- Supplying a Locale
- Resolving Translator Instance
- Retrieving Translations Without a Fallback Locale
-
String Translation With
trans_choice
- Signature
- Example Use
-
HTML Encoding With
e
- Signature
- Example Use
-
Working With
Htmlable
Values
-
String Translation: The File Loader
- PHP Based Language Files
- JSON Based Language Files
-
The
FileLoader
Public API-
Loading Language Files With
load
- Signature
- Example Use
-
Loading JSON Language Files Using
load
- Special Parameters
-
Adding Translation Namespaces With
addNamespace
- Signature
- Example Use
-
Adding JSON Language Files With
addJsonPath
- Signature
- Example Use
-
Retrieving Namespace Information With
namespaces
- Signature
- Example Use
-
Loading Language Files With
-
String Translation: The
Translator
Public API-
Retrieving Translation Line Text With
get
- Signature
- Example Use
- Retrieving Translation Lines
- Providing Replacements for Translation Lines
- Specifying a Locale
- Suppressing Fallback Local Translation Lines
-
Retrieving Translation Lines from JSON Language Files With
getFromJson
- Signature
- Example Use
-
Translating Strings With
trans
- Signature
- Example Use
-
Determining if a Translation Line Exists With
has
- Signature
- Example Use
-
Determining if a Locale Has a Translation Line With
hasForLocale
- Signature
- Example Use
-
Translating Strings Based on a Number of Items With
choice
- Signature
- Example Use
- Determining the Count of Items in a Collection
- Specifying the Locale
-
The
transChoice
Method
-
Loading Translation Text Lines With
load
- Signature
-
Loader
load
vs. Translatorload
-
Retrieving the Translation Loader With
getLoader
- Signature
-
Adding Translation Namespaces With
addNamespace
- Signature
-
Adding JSON Translation Files With
addJsonPath
- Signature
-
Adding Arbitrary Translation Lines With
addLines
- Signature
- Example Use
-
Parsing Translation Keys With
parseKey
- Signature
- Example Use
-
Working with Translator Message Selectors
-
Retrieving a Message Selector Instance With
getSelector
-
Setting the Message Selector Instance With
setSelector
-
Retrieving a Message Selector Instance With
-
Working with Translator Locales
-
Setting the Application Locale With
setLocale
-
Getting the Application Locale With
getLocale
-
Getting the Application Locale With
locale
-
Setting the Fallback Locale With
setFallback
-
Getting the Fallback Locale With
getFallback
-
Setting the Application Locale With
-
Retrieving Translation Line Text With
-
String Translation: Pluralization Syntax
-
Handling Specific Numbers
- Examples of Specific Numbers
-
Ranges
- Creating a Range Between Two Numbers
- Creating Negative Ranges
-
Handling Specific Numbers
-
Array Helper Functions
- Immutable Arrays
- Array Dot Notation
-
Adding Elements to the Arrays With
add
- Signature
- Example Use
-
Global
array_add
Helper Function
-
Splitting an Array Into It’s Keys and Values With
divide
- Signature
- Example Use
-
Global
array_divide
Helper Function
-
Collapsing a Multi-Dimensional Array to a Single Level With
collapse
- Signature
- Example Use
- Collapsing Collections
-
Global
array_collapse
Helper Function
-
Representing Multi-Dimensional Arrays in Dot Notation With
dot
- Signature
- Example Use
-
Global
array_dot
Helper Function
-
Excluding Items From an Array With
except
- Signature
- Example Use
-
Global
array_except
Helper Function
-
Filtering Array Elements With
only
- Signature
- Example Use
-
Global
array_only
Helper Function
-
Reducing a Multi-Dimensional Array to a Single Dimension Losing Keys With
flatten
- Signature Use
- Example Use
-
Global
array_flatten
Helper Function
-
Finding the First Occurrence of an Element Matching a Condition With
first
- Signature
- Example Use
-
Optional
$callback
Parameter -
Global
array_first
Helper Function
-
Finding the Last Occurrence of an Element Matching a Condition With
last
- Signature
- Example Use
-
Optional
$callback
Parameter -
Global
array_last
Helper Function
-
Checking if an Array Contains an Element With
has
- Signature
- Example Use
-
Global
array_has
Helper Function
-
Adding or Setting New Array Element Values With
set
- Signature
- Example Use
-
Using
set
to change the entire array -
Replacing the
$array
With a New Array -
Replacing the
$array
With a Completely Different Type -
Global
array_set
Helper Function
-
Removing Elements From an Array With
forget
- Signature
- Example Use
-
Global
array_forget
Helper Function
-
Retrieving Elements from an Array With
get
- Signature
- Example Use
-
Global
array_get
Helper Function
-
Retrieving, and Removing an Element From an Array With
pull
- Signature
- Example Use
-
Global
array_pull
Helper Function
-
Retrieving Nested Array Values With
pluck
- Signature
- Example Use
- Returning an array with a key/value pair
- Working With Nested Arrays or Objects
-
Global
array_pluck
Helper Function
-
Conditionally Retrieving Array Values With
where
- Signature
- Example Use
-
Global
array_where
Helper Function
-
Sorting Arrays With
sort
- Signature
- Example Use
-
Global
array_sort
Helper Function
-
Checking if an Array is an Associative Array With
isAssoc
- Signature
- Example Use
-
Determining if an Object is Array Accessible With
accessible
- Signature
- Example Use
-
Determining if an Array Contains an Element With
exists
- Signature
- Example Use
-
Adding a New Element to the Beginning of an Array With
prepend
- Signature
- Example Use
-
Global
array_prepend
Helper Function
-
Creating Combinations of Elements With
crossJoin
- Signature
- Example Use
-
Ensuring a Value is an Array With
wrap
- Signature
- Example Use
-
Global
array_wrap
Helper Function
-
Randomizing Element Order With
shuffle
- Signature
- Example Use
-
Retrieving Random Elements from an Array With
random
- Signature
- Example Use
-
Global
array_random
Helper Function
-
Getting the First Element of an Array With
head
- Signature
- Example Use
-
Getting the Last Element of an Array With
last
- Signature
- Example Use
-
Application and User Flow Helper Functions
-
Accessing the Service Container With
app
- Signature
- Example Use
-
Resolving Concrete Implementations From the Service Container With
resolve
- Signature
- Example Use
-
Accessing the Authentication Manager With
auth
- Signature
- Example Use
-
Resolving Authentication Policies With
policy
- Signature
- Example Use
-
Generating Paths Relative to the Application Root With
app_path
- Signature
- Example Use
-
Generating Paths Relative to the Application Installation Directory With
base_path
- Signature
- Example Use
-
Generating Paths Relative to the Configuration Directory With
config_path
- Signature
- Example Use
-
Generating Paths Relative to the Database Directory With
database_path
- Signature
- Example Use
-
Generating Paths Relative to the Public Directory With
public_path
- Signature
- Example Use
-
Generating Paths Relative to the Storage Directory With
storage_path
- Signature
- Example Use
-
Generating Paths Relative to the Resource Directory With
resource_path
- Signature
- Example Use
-
Accessing the Cache System With
cache
- Signature
- Example Use
-
Managing HTTP Cookies With
cookie
- Signature
- Example Use
-
Accessing and Manipulating Session Data With
session
- Signature
- Returning an Instance of “\Illuminate\Session\SessionManager”
- Setting a Session Value
- Retrieving a Session Value
-
Throwing HTTP Exceptions With
abort
- Signature
- Example Use
-
Conditionally Throwing HTTP Exceptions With
abort_if
- Signature
- Example Use
-
Conditionally Throwing HTTP Exceptions With
abort_unless
- Signature
- Example Use
-
Conditionally Throwing Exceptions With
throw_if
- Signature
- Example Use
-
Conditionally Throwing Exceptions With
throw_unless
- Signature
- Example Use
-
Recover From Possible Exceptions With
rescue
- Signature
- Example Use
-
Attempt an Error-Prone Operation a Number of Times With
retry
- Signature
- Example Use
-
Comparing
abort
,abort_if
andabort_unless
-
Performing HTTP Redirects With
redirect
- Signature
-
Accessing the
Redirector
Instance Usingredirect
- Redirecting to a Given Path
- Redirecting to Secure URLs
- Redirecting to Custom URLs
- Changing the HTTP Status Code
- Supplying Additional Headers
-
Redirecting Users to the Previous Page With
back
- Signature
- Example Use
-
Returning a Redirect Response Using the
Redirect
Facade -
Returning a Redirect Response Using the
response
Helper Function -
Returning a redirect response using the
back
helper function: - Changing the HTTP Status Code
- Supplying Additional Headers
-
Accessing and Sending HTTP Responses With
response
- Signature
- Example Use
- Changing the HTTP Status Code
- Supplying Additional Headers
-
Accessing HTTP Request Details With
request
- Signature
- Example Use
-
Rendering Views to Strings and Returning View Responses With
view
- Signature
- Example Use
- Rendering a View to a String
-
Accessing Session Input Data With
old
- Signature
- Example Use
-
Triggering Events With
event
- Signature
- Example Use
-
Notifying Server Side Clients of Events With
broadcast
- Signature
- Example Use
-
Dispatching Queued Jobs With
dispatch
- Signature
- Example Use
-
Dispatching Queued Jobs Immediately With
dispatch_now
- Signature
- Example Use
-
Creating Eloquent Models for Testing With
factory
- Signature
- Example Use
-
Generating an HTML Field for HTTP Verbs With
method_field
- Signature
- Example Use
-
Accessing Validation Features With
validator
- Signature
- Example Use
-
Accessing the Service Container With
-
Configuration, Environment, Security and Logging Helper Functions
-
Hashing Strings With
bcrypt
- Signature
- Example Use
- Available Options
-
Encrypting Strings With
encrypt
- Signature
- Example Use
-
Decrypting Strings With
decrypt
- Signature
- Example Use
-
Generating CSRF Hidden HTML Fields With
csrf_field
- Signature
- Example Use
-
Generating CSRF Session Tokens With
csrf_token
- Signature
- Example Use
-
Accessing and Manipulating Configuration Values With
config
- Signature
- Example Use
- Setting Configuration Values
- Retrieving Configuration Values
-
Retrieving Environment Variables With
env
- Signature
- Example Use
-
Accessing the Logging Features With
logger
- Signature
- Example Use
-
Logging Informative Messages With
info
- Signature
- Example Use
-
Reporting Application Exceptions With
report
- Signature
- Example Use
-
Hashing Strings With
-
URL Generation Helper Functions
-
Generating URLs to Controller Actions With
action
- Signature
- Example Use
- Relative URLs
-
Generating URLs to Assets With
asset
- Signature
- Example Use
-
Generating Secure URLs to Assets With
secure_asset
- Signature
- Example Use
-
Notes on
asset
andsecure_asset
-
Generating URLs With
url
- Signature
- Example Use
- Generating Secure URLs
-
Generating HTTPS URLs With
secure_url
- Signature
- Example Use
-
Generating URLs to Named Routes With
route
- Signature
- Example Use
-
Generating Public URLs to Elixir Compiled Assets With
elixir
- Signature
- Example Use
-
Generating Public URLs to Mix Compiled Assets With
mix
- Signature
- Example Use
- Changing the Manifest Directory
-
Generating URLs to Controller Actions With
-
Miscellaneous Helper Functions
-
Displaying Variable Data and Stopping Script Execution for Debugging With
dd
- Signature
- Example Use
-
Getting Array or Object Values With
data_get
- Signature
- Example Use
-
Setting Array or Object Values With
data_set
- Signature
- Example Use
-
Using
data_set
With Objects
-
Setting Data on Objects Without Overwriting Existing Data With
data_fill
- Signature
- Example Use
-
Retrieving Object Values With
object_get
- Signature
- Example Use
-
Checking if a Variable Holds a Value With
filled
- Signature
- Example Use
-
Determining if a Variable Holds a Value With
blank
- Signature
- Example Use
-
Provide Default Values for Object Properties With
optional
- Signature
- Example Use
-
Determining Which Traits a Class Uses With
trait_uses_recursive
- Signature
- Example Use
-
Finding What Traits a Class Uses With
class_uses_recursive
- Signature
- Example Use
-
Retrieving the Default Value of a Given Variable With
value
- Signature
- Example Use
-
Returning In-line Access to a Variable With
with
- Signature
- Example Use
-
Conditionally Transforming/Changing Values With
transform
- Signature
- Example Use
-
Getting the Current Date and Time With
now
- Signature
- Example Use
-
Get the Current Date With
today
- Signature
- Example Use
-
Checking if the Script is Executing on a Windows Machine With
windows_os
- Signature
- Example Use
-
Execute a Callback on a Given Value While Chaining the Original Value With
tap
- Signature
- Example Use
-
Using
tap
to Proxy Method Calls
-
Getting the Class Name for an Object Instance With
class_basename
- Signature
- Example Use
-
Displaying Variable Data and Stopping Script Execution for Debugging With
-
Collection Basics
- Creating a New Collection Instance
-
Collections: The Public API
-
Retrieving Collection Elements With
all
- Signature
- Example Use
-
Convert a Collection to a Native PHP Array With
toArray
- Signature
- Example Use
-
Splitting a Collection Into Smaller Pieces With
chunk
- Signature
- Example Use
-
Converting a Multi-Dimensional Collection Into a Single Dimension With
collapse
- Signature
- Example Use
-
Determining If a Collection Contains an Element With
contains
- Signature
- Example Use
-
Considerations of the
contains
Method -
Using
contains
With Higher Order Messages
-
Determining if a Collection Contains an Element Using Strict Comparison With
containsStrict
- Signature
- Example Use
-
Getting the Number of Elements in a Collection With
count
- Signature
- Example Use
-
Determine Which Collection Elements are Not Present in the Provided Collections With
diff
- Signature
- Example Use
-
Returning Collection Elements That Are Not Present in the Specified Collections With
diffAssoc
- Signature
- Example Use
-
Retrieving Collection Elements Whose Keys Are Not Present in the Provided Keys With
diffKeys
- Signature
- Example Use
-
Executing a Function On All Collection Elements With
each
- Signature
- Example Use
-
Using
each
With Higher Order Messages
-
Filtering Collection Elements With
filter
- Signature
- Example Use
-
Using
filter
With Higher Order Messages
-
Getting the First Collection Element With
first
- Signature
- Example Use
-
Using
first
With Higher Order Messages
-
Reducing a Multi-Dimensional Collection to a Single Dimension Losing Keys With
flatten
- Signature
- Example Use
-
Swapping Element Keys and Values With
flip
- Signature
- Example Use
-
Paginating Collections With
forPage
- Signature
- Example Use
-
Using
chunk
to Achieve Similar Results
-
Removing Collection Elements With
forget
- Signature
- Example Use
-
Retrieving Collection Elements With
get
- Signature
- Example Use
-
Grouping Collection Elements With
groupBy
- Signature
- Example Use
-
Preserving Keys With
groupBy
-
Determining If a Collection Has An Element With
has
- Signature
- Example Use
-
Combining Collection Elements Into a String With
implode
- Signature
- Example Use
-
Filtering Collections Based On Value Presence With
intersect
- Signature
- Example Use
-
Checking If a Collection Contains Items With
isEmpty
- Signature
- Example Use
-
Converting a Collection Into Something JSON Serializeable With
jsonSerialize
- Signature
- Example Use
-
Retrieving the Collection Element’s Keys With
keys
- Signature
- Example Use
-
Getting the Last Collection Element With
last
- Signature
- Example Use
-
Transforming Collection Elements With
map
- Signature
- Example Use
-
Using
map
with Higher Order Messages
-
Mapping Collection Elements and Reducing to a Single Dimension With
flatMap
- Signature
- Example Use
-
Using
flatMap
With Higher Order Messages
-
Retrieving the Maximum Value of a Collection With
max
- Signature
- Example Use
-
Merging Multiple Collection Values With
merge
- Signature
- Example Use
-
Calculating the Minimum Value of a Collection With
min
- Signature
- Example Use
-
Retrieving Collection Element Values With
pluck
- Signature
- Example Use
-
Retrieving and Removing the Last Collection Element With
pop
- Signature
- Example Use
-
Adding an Element to the Beginning of a Collection With
prepend
- Signature
- Example Use
-
Retrieving and Removing an Element From a Collection With
pull
- Signature
- Example Use
-
Adding an Element to the End of a Collection With
push
- Signature
- Example Use
-
Adding New Elements to a Collection With
put
- Signature
- Example Use
-
Retrieving Random Collection Elements With
random
- Signature
- Example Use
-
Reducing a Collection to One Element With
reduce
- Signature
- Example Use
-
Conditionally Removing Elements From a Collection With
reject
- Signature
- Example Use
-
Using
reject
With Higher Order Messages
-
Reversing the Order of Collection Elements With
reverse
- Signature
- Example Use
-
Finding an Element Key Conditionally With
search
- Signature
- Example Use
-
Removing the First Element of a Collection With
shift
- Signature
- Example Use
-
Randomizing Element Order With
shuffle
- Signature
- Example Use
-
Retrieving a Portion of a Collection With
slice
- Signature
- Example Use
-
Sorting a Collection With
sort
- Signature
- Example Use
- Custom Sorting Comparison Function
-
Sorting a Collection Based on a Key Value With
sortBy
- Signature
- Example Use
-
sortBy
Options - Sorting Flag Comparison Table
-
The
SORT_NUMERIC
Flag -
The
SORT_STRING
Flag -
SORT_STRING
andSORT_FLAG_CASE
Flags for Case Insensitivity -
The
SORT_LOCALE_STRING
Flag -
The
SORT_NATURAL
Flag -
The
SORT_NATURAL
andSORT_FLAG_CASE
Flags for Case Insensitivity -
Using
sortBy
With Higher Order Messages
-
Sort a Collection in Descending Order With
sortByDesc
- Signature
- Example Use
-
Using
sortByDesc
With Higher Order Messages
-
Removing a Portion of a Collection With
splice
- Signature
- Example Use
-
Calculating the Average Value of a Collection With
avg
- Signature
- Example Use
- Averaging Nested Collections
-
Using
avg
With Higher Order Messages
-
Calculating the Average Value of a Collection With
average
- Signature
- Example Use
-
Using
average
With Higher Order Messages
-
Calculating the Sum of a Collection With
sum
- Signature
- Example Use
-
Using
sum
With Higher Order Messages
-
Retrieving a Specified Number of Items From a Collection With
take
- Signature
- Example Use
-
Converting a Collection’s Contents to JSON With
toJson
- Signature
- Example Use
-
toJson
and Deeply Nested Data Structures
-
Converting a Collection to JSON With PHP’s Magic
__toString
Method -
Modifying Collection Elements With
transform
- Signature
- Example Use
-
Retrieving the Distinct Values of a Collection With
unique
- Signature
- Example Use
-
Retrieving Only the Values of a Collection’s Elements With
values
- Signature
- Example Use
-
Filtering Collection Elements With
where
- Signature
- Example Use
-
Pair the Values of a Collection With the Values of Other Collections With
zip
- Signature
- Example Use
-
Combining the Keys of a Collection With the Values of Another Collection With
combine
- Signature
- Example Use
-
Testing All Collection Values With
every
- Signature
- Example Use
-
Using
every
With Higher Order Messages
-
Excluding Collection Elements With
except
- Signature
- Example Use
-
Retrieving a Subset Of a Collections Elements With
only
- Signature
- Example Use
-
Transforming Collection Element Keys With
keyBy
- Signature
- Example Use
-
Filtering a Collection Based On Key Presence With
whereIn
- Signature
- Example Use
-
Creating Combination of Elements With
crossJoin
- Signature
- Example Use
-
Dumping the Collection Contents and Stopping Script Execution for Debugging With
dd
- Signature
- Example Use
-
Dumping the Collection Contents and Continuing Script Execution for Debugging With
dump
- Signature
- Example Use
-
Executing a Function on Collection Elements With
eachSpread
- Signature
- Example Use
-
Filtering Collections Based on Key Presence With
intersectByKeys
- Signature
- Example Use
-
Checking If a Collection Contains Items With
isNotEmpty
- Signature
- Example Use
-
Convert Collection Elements Into Object Instances With
mapInto
- Signature
- Example Use
-
Executing a Function on Collection Elements and Values With
mapSpread
- Signature
- Example Use
- Replicating the Behavior of the LINQ Zip Operator
-
Reducing a Collection Into a Collection of Key/Array-Value Pairs With
mapToDictionary
- Signature
- Example Use
-
Reducing a Collection Into a Collection of Key/Collection-Value Pairs With
mapToGroups
- Signature
- Example Use
-
Reducing a Collection With User-Defined Keys With
mapWithKeys
- Signature
- Example Use
-
Retrieving Collection Elements At a Specific Interval With
nth
- Signature
- Example Use
-
Ensuring a Collection Always Contains a Specified Number of Elements With
pad
- Signature
- Example Use
-
Filtering Collections With (Without Losing Filtered Rejections)
partition
- Signature
- Example Use
-
Using
partition
With Higher Order Messages
-
Executing a Function on a Collection and Returning the Function Results With
pipe
- Signature
- Example Use
-
Breaking a Collection Into a Specified Number of Groups With
split
- Signature
- Example Use
-
Adding Values to a Collection With
union
- Signature
- Example Use
-
Retrieving the Distinct Values of a Collection Using Strict Comparison Operators With
uniqueStrict
- Signature
- Example Use
-
Conditionally Executing a Callback On a Collection’s Elements With
unless
- Signature
- Example Use
-
Conditionally Executing a Callback On a Collection’s Elements With
when
- Signature
- Example Use
-
Filtering a Collection Based On Key Presence Using Strict Comparison Operators With
whereInStrict
- Signature
- Example Use
-
Filtering a Collection Based On Key Presence Using Strict Comparison Operators With
whereNotInStrict
- Signature
- Example Use
-
Filtering a Collection Based On Key Presence With
whereNotIn
- Signature
- Example Use
- Performing Strict Comparisons
-
Filtering Collection Elements Using Strict Comparison Operators With
whereStrict
- Signature
- Example Use
-
Calculating the Median Value of a Collection With
median
- Signature
- Example Use
-
Determining the Most Common Value in a Collection With
mode
- Signature
- Example Use
-
Combining the Values of Multiple Traversable Sources With
concat
- Signature
- Example Use
-
Execute a Callback on the Collection Instance While Returning the Original Collection Instance With
tap
- Signature
- Example Use
-
Creating a Copy of a Collection With
toBase
- Signature
- Example Use
-
Retrieving Collection Elements With
-
Collections: The Static API
-
Creating a New Collection Instance From Arrays Using
make
- Signature
- Example Use
-
Ensure a Value Is a Collection With
wrap
- Signature
- Example Use
-
Returning the Items of a Collection With
unwrap
- Signature
- Example Use
-
Creating a Collection By Invoking a Callback a Given Number of Times With
times
- Signature
- Example Use
-
Adding Methods to the Higher Order Message List With
proxy
- Signature
- Example Use
-
Creating a New Collection Instance From Arrays Using
-
Message Bags
-
The
MessageProvider
Interface
-
The
-
The
MessageBag
Public API-
Adding Messages to the Message Bag With
add
- Signature
- Example Use
- Notes on Keys
-
Retrieving Messages With a Provided Format With
all
- Signature
- Example Use
-
Determining if There are Any Messages With
any
- Signature
- Example Use
-
Checking if There Are Any Messages With
isNotEmpty
- Signature
- Example Use
-
Retrieving the Number of Messages With
count
- Signature
- Example Use
-
Retrieving the First Message With
first
- Signature
- Example Use
-
Getting Specific Messages With
get
- Signature
- Example Use
-
Getting the Current Message Format With
getFormat
- Signature
- Example Use
-
Returning the Message Bag Instance With
getMessageBag
- Signature
- Example Use
-
Getting an Array of Messages With
getMessages
- Signature
- Example Use
-
Checking if Messages Exist for a Specific Input Key With
has
- Signature
-
Checking if There Are Any Messages With
isEmpty
- Signature
- Example Use
-
Converting the Message Bag to Something JSON Serializeable With
jsonSerialize
- Signature
- Example Use
-
Getting all of the Message Keys With
keys
- Signature
- Example Use
-
Merging Additional Messages With
merge
- Signature
- Example Use
-
Setting the Message Format With
setFormat
- Signature
-
Converting the Message Bag to an Array With
toArray
- Signature
- Example Use
-
Converting the Message Bag to JSON With
toJson
- Signature
- Example Use
-
toJson
and Deeply Nested Data Structures
-
__toString
- Signature
- Example Use
-
Adding Messages to the Message Bag With
- View Error Bags
-
The
ViewErrorBag
Public API-
Getting the Number of Error Messages With
count
- Signature
- Example Use
-
Determining if There Are Any Error Messages With
any
- Signature
- Example Use
-
Getting the Message Bag Instance With
getBag
- Signature
- Example Use
-
Getting all Message Bag Instances With
getBags
- Signature
- Example Use
-
Determining if a Message Bag Exists With
hasBag
- Signature
- Example Use
-
Add a New Message Bag Instance to the View Error Bag With
put
- Signature
- Example Use
-
Resetting
MessageBag
Messages
-
Getting the Number of Error Messages With
- Dynamic Data Containers and the Fluent Data Type
-
Fluent
Public API-
Retrieving Values With
get
- Signature
- Example Use
- Fluent and Closures
-
Getting Key/Value Data Associations With
getAttributes
- Signature
- Example Use
-
Converting the Data Object to an Array With
toArray
- Signature
- Example Use
-
Converting the Data Object to Something JSON Serializeable With
jsonSerialize
- Signature
- Example Use
-
Converting the Object to JSON With
toJson
- Signature
- Example Use
-
toJson
and Deeply Nested Data Structures
-
Retrieving Values With
-
Augmenting Framework Behavior With Macros
- Default Classes That Support Macros
- Creating a Callback Function Macro
- Creating Class Based Macros with Mixins
- Framework Classes with Dynamic Methods Available
- Notes on Eloquent Builder
-
Macroable
Public API-
Defining a Callback Function Macro With
macro
- Signature
- Example Use
-
Injecting Class-Based Macros With
mixin
- Signature
- Example Use
-
Determining if a Class Has a Macro Defined With
hasMacro
- Signature
- Example Use
-
Macroable Implementation of PHP’s Magic
__call
Method- Signature
-
Macroable Implementation of PHP’s Magic
__callStatic
Method- Signature
-
Important Notes On
__call
and__callStatic
-
Defining a Callback Function Macro With
-
Facades
- Facade Aliases and Importing Facades
- Using Facades
-
Creating Facades
- Creating a Facade Alias
-
Facade Class Reference
-
Notes on
Blade
-
Notes on
Schema
-
Additional
Cookie
Methods -
Additional
Input
Methods -
Additional
Schema
Methods -
Additional
Notification
Methods -
Additional
Queue
Methods -
Additional
Storage
Methods
-
Notes on
- Resolving the Class Behind a Facade
- Appendix A: Available Hash Functions
- Appendix B: HTTP Status Codes
-
Appendix C: Language Specific Replacements
- Bulgarian
- German
- Notes
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them