The Blog

Laravel

Laravel

Encrypting and Decrypting Within Laravel Applications

John Koster
John Koster
November 30, 2016

Laravel provides support for AES encryption, a symmetric key encryption scheme, right out of the box. The framework automatically signs all encrypted values with a message authentication code (MAC) to detect any modifications to the encrypted data. Laravel offers a simple API for interacting with encryption services through the Illuminate\Contracts\Encryption\Encrypter interface. There are two implementations of Encrypter shipped with Laravel: Illuminate\Encryption\Encrypter and Illuminate\Encryption\McryptEncrypter. Users can configure the encryption key and cipher in the config/app.php configuration file. Encryption keys must be a random, thirty-two character long string. Decrypting data is as simple as calling the decrypt($payload) method on an Encrypter implementation. Additionally, Laravel provides the Illuminate\Support\Facades\Crypt facade to easily access encryption capabilities.

Laravel

Laravel: Available Hashing Methods

John Koster
John Koster
November 30, 2016

Learn about the different hashing functions available in PHP and their security levels. These functions, such as CRYPT_BLOWFISH and CRYPT_SHA256, can be used with Laravel's Illuminate\Contracts\Hashing\Hasher interface. See the alphabet table for the characters used in the hashing functions, and find out how to implement each function in your Laravel project. Additionally, a Hasher class will be created to interact with all the hashing functions and a service provider class will register everything with the service container.

Laravel

Laravel Collection Public API: __toString

John Koster
John Koster
November 30, 2016

The __toString() method allows a Collection instance to be cast into a string. When casted to a string, the JSON representation of the collection is returned. This can be useful for easily getting the JSON value of a collection without having to manually call the toJson() method. An example is provided to illustrate how to cast a Collection instance into a string.

Laravel

Laravel Collection Public API: average

John Koster
John Koster
November 30, 2016

The average method in Laravel is an alias of the avg method. It calculates the average of items within a collection. In the provided example, both avg and average methods result in 12.5 when used on the given collection.

Laravel

Laravel Collection Public API: avg

John Koster
John Koster
November 30, 2016

The avg method in Laravel is used to calculate the average of items in a collection. It can be used with arrays or objects and has an optional parameter to specify what property should be averaged. The method supports nested collections and can be used with "dot" notation to specify nested properties. Overall, the avg method is a convenient way to calculate averages in Laravel collections.

Laravel

Laravel Collection Public API: combine

John Koster
John Koster
November 30, 2016

The combine method in Laravel is used to combine the keys of a collection with the values of another collection or array. It returns a new collection instance and does not modify the original one. However, both collections/arrays must have the same length for this method to work properly. An error will be thrown if they don't have an equal number of elements.

Laravel

Laravel Collection Public API: every

John Koster
John Koster
November 30, 2016

The every method in Laravel can be used to retrieve a subset of a collection based on each item's distance from each other. You can define the distance between each item using the $step parameter, and specify the starting point using the optional $offset parameter. For example, you can retrieve all even numbers from a collection using $collection->every(2), or retrieve every 50th item from a collection using $collection->every(50).

Laravel

Laravel Collection Public API: except

John Koster
John Koster
November 30, 2016

The except method in Laravel returns key/value pairs from a collection that are *not* in the specified keys array. You can use it to exclude sensitive data like passwords. By combining it with the toJson method, you can convert the resulting data to JSON format. This allows you to easily remove sensitive information before sending it to an end user.

Laravel

Laravel Collection Public API: keyBy

John Koster
John Koster
November 30, 2016

The keyBy method in Laravel is used to create a new Collection instance where the keys of the new key/value pairs are determined by a callback function or a string. This method does not modify the original Collection instance and instead returns a new modified Collection instance. You can use a simple string value or a callback function to determine the keys of the new collection. For example, you can use the id as the key or even create a hash of the id to use as the key.

Laravel

Laravel Collection Public API: only

John Koster
John Koster
November 30, 2016

The only method allows you to retrieve specific key/value pairs from a collection based on the keys supplied in the $keys array. For example, you can use it to get only the first_name and last_name values from a collection of users. After executing the only method, you will receive a new collection containing the desired key/value pairs.

Latest posts

Where Things get Good: Moving on to Forte Development Phase 1

Wrapping up Forte Phase 0 with the lexer and parser now in private alpha, and kicking off Phase 1 wi...

Read more
Forte Update: Backtracking, Metadata, HTML Validation, and More

A Forte development update: the parser now supports backtracking, improvements to node metadata, ide...

Read more
Parsing HTML and Blade Attributes in Forte

Wrapping up attribute parsing in Forte's HTML parser, from simple HTML attributes to complex, edge-c...

Read more
Switch Statements and Parser Extensions in Forte

Exploring how Forte's parser extensions can be used to handle complex Blade directives like nested s...

Read more
Parsing Blade Comments in Forte

Digging into parsing Blade and HTML comments while building Forte's HTML parser for Laravel Blade.

Read more
Thoughts on HTML Elements and Blade Components in Forte

This week I’m tackling Forte's HTML parser - consolidating Blade, Flux, and Livewire components into...

Read more