Laravel’s $request->string() method converts input into a Stringable instance, enabling fluent string manipulation through method chaining. This makes input sanitization and transformation more intuitive and maintainable.
Basic Transformation Example
$name = $request->string('name')
->trim()
->title()
->limit(50);
Input:
$request->input('name') = ' jANE mARY smith ';
Output:
'Jane Mary Smith'
Sanitizing Profile Data
The following example demonstrates how to clean and format user profile data before updating the database:
<?php
namespace App\Http\Controllers;
use App\Models\Profile;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
public function update(Request $request, Profile $profile)
{
$profile->update([
'display_name' => $request->string('name')
->trim()
->title()
->limit(50)
->toString(),
'username' => $request->string('username')
->trim()
->lower()
->replaceMatches('/[^a-z0-9_-]/', '')
->limit(20)
->toString(),
'bio' => $request->string('bio')
->trim()
->stripTags()
->limit(160)
->toString(),
'website' => $request->string('website')
->trim()
->lower()
->replace(['http://', 'https://'], '')
->before('/')
->toString()
]);
return response()->json([
'message' => 'Profile updated successfully',
'profile' => $profile->fresh()
]);
}
}
Why Use string()?
The $request->string() method streamlines input handling by allowing chained transformations, improving both readability and efficiency. Whether you're formatting names, cleaning usernames, or sanitizing text input, this method ensures clean and structured data with minimal effort.
Top comments (0)