The Blog

Laravel

Creating a Hashing Manager For Our Custom Laravel Hashing Implementations

John Koster
John Koster
November 30, 2016

Learn how to work with different hashing implementations in PHP by using the HashManager class. This class allows you to easily create hashes using various algorithms such as CRYPT_STD_DES, CRYPT_EXT_DES, MD5, CRYPT_SHA256, and CRYPT_SHA512. You can also work with instances of the Hasher class, making it even more flexible. No need to create a facade for the Hasher class, as it's unnecessary in this case.

Laravel

Creating a Service Provider For Our Custom Laravel Hashing Implementations

John Koster
John Koster
November 30, 2016

This article explains how to create a service provider for custom hashing implementations in Laravel. It provides links to articles with detailed explanations on creating specific hashing implementations. The article also includes code examples to register different hashing implementations with the application service container, using a service provider named HashServiceProvider. The service provider binds each implementation with a specific name for easy referencing.

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.

Latest posts

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
Laracon, Blade and What's Next

Recapping Laracon in Denver with the Statamic team, this post introduces Forte - a new Blade extensi...

Read more