Динамическая генерация заголовков в Laravel: раскрываем возможности разговорных выражений

// Controller
public function show($id)
{
    $post = Post::findOrFail($id);
    $title = $post->title;

    return view('post.show', compact('post', 'title'));
}
// View (post/show.blade.php)
<title>{{ $title }} - My Awesome Blog</title>
// app/Helpers/TitleHelper.php
function generateDynamicTitle($pageName)
{
    $mainTitle = 'My Awesome Website';
    $title = $mainTitle;
    if ($pageName) {
        $title .= ' - ' . $pageName;
    }
    return $title;
}
// Controller
use App\Helpers\TitleHelper;
public function show($id)
{
    $post = Post::findOrFail($id);
    $pageTitle = generateDynamicTitle($post->title);
    return view('post.show', compact('post', 'pageTitle'));
}
// View (post/show.blade.php)
<title>{{ $pageTitle }}</title>
// resources/lang/en/titles.php
return [
    'blog' => 'Welcome to My Awesome Blog',
    'about' => 'Learn More About Us',
    // ...other titles
];
// Controller
public function show($id)
{
    $post = Post::findOrFail($id);
    $pageTitle = __('titles.blog');
    return view('post.show', compact('post', 'pageTitle'));
}
// View (post/show.blade.php)
<title>{{ $pageTitle }}</title>
// Model (Post.php)
public function getSlugAttribute()
{
    return Str::slug($this->title);
}
// View (post/show.blade.php)
<title>{{ $post->title }} - My Awesome Blog</title>
<meta name="description" content="{{ $post->title }} - Read more on My Awesome Blog">
// Route (web.php)
Route::get('posts/{slug}', 'PostController@show');

Помните, привлекательный заголовок может существенно повлиять на видимость вашего сайта и вовлеченность пользователей. Так что экспериментируйте с этими методами, чтобы ваши игры выделялись из толпы!

На этом пока все. Приятного кодирования!