Rumah >pembangunan bahagian belakang >tutorial php >Menyelaraskan model Laravel anda dengan atribut yang boleh diperoleh
Type Converter AsStringable
Laravel adalah alat yang berkuasa yang meningkatkan cara anda mengendalikan sifat rentetan dalam model fasih anda. Dengan menukar sifat rentetan ke objek Stringable
, anda boleh mengakses sejumlah besar kaedah manipulasi rentetan untuk menulis kod bersih dan lebih ekspresif. Kaedah ini sangat berguna untuk aplikasi yang berintensifkan kandungan di mana operasi rentetan kerap, membantu menjaga pengawal dan melihat kemas. Berikut adalah contoh praktikal sistem pengurusan kandungan:
use Illuminate\Database\Eloquent\Casts\AsStringable; class Post extends Model { protected function casts(): array { return [ 'title' => AsStringable::class, 'content' => AsStringable::class ]; } }
jenis penukar menukarkan pemprosesan rentetan ke dalam pengalaman panggilan yang elegan, rantaian sambil mengekalkan kesederhanaan kod dan penyelenggaraan.
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Casts\AsStringable; class Article extends Model { protected function casts(): array { return [ 'title' => AsStringable::class, 'content' => AsStringable::class, 'meta_description' => AsStringable::class ]; } public function getSnippetAttribute() { return $this->content ->stripTags() ->words(30, '...'); } public function getUrlPathAttribute() { return $this->title ->slug() ->prepend('/articles/'); } public function getFormattedContentAttribute() { return $this->content ->markdown() ->replaceMatches('/\@mention\((.*?)\)/', '<a href="https://www.php.cn/link/2fc02e925955d516a04e54a633f05608">@</a>') ->replace('[[', '<mark>') ->replace(']]', '</mark>'); } public function getSeoTitleAttribute() { return $this->title ->title() ->limit(60); } }
Atas ialah kandungan terperinci Menyelaraskan model Laravel anda dengan atribut yang boleh diperoleh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!