Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Sunshine And March Vibes (2025 Wallpapers Edition)

      May 30, 2025

      The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks

      May 30, 2025

      How To Fix Largest Contentful Paint Issues With Subpart Analysis

      May 30, 2025

      How To Prevent WordPress SQL Injection Attacks

      May 30, 2025

      Does Elden Ring Nightreign have crossplay or cross-platform play?

      May 30, 2025

      Cyberpunk 2077 sequel enters pre-production as Phantom Liberty crosses 10 million copies sold

      May 30, 2025

      EA has canceled yet another game, shuttered its developer, and started more layoffs

      May 30, 2025

      The Witcher 3: Wild Hunt reaches 60 million copies sold as work continues on The Witcher 4

      May 30, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      How Remix is shaking things up

      May 30, 2025
      Recent

      How Remix is shaking things up

      May 30, 2025

      Perficient at Kscope25: Let’s Meet in Texas!

      May 30, 2025

      Salesforce + Informatica: What It Means for Data Cloud and Our Customers

      May 30, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Does Elden Ring Nightreign have crossplay or cross-platform play?

      May 30, 2025
      Recent

      Does Elden Ring Nightreign have crossplay or cross-platform play?

      May 30, 2025

      Cyberpunk 2077 sequel enters pre-production as Phantom Liberty crosses 10 million copies sold

      May 30, 2025

      EA has canceled yet another game, shuttered its developer, and started more layoffs

      May 30, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Development»String Manipulation Made Easy with Laravel’s AsStringable Cast

    String Manipulation Made Easy with Laravel’s AsStringable Cast

    January 8, 2025

    String Manipulation Made Easy with Laravel's AsStringable Cast

    Laravel’s AsStringable cast transforms model attributes into Stringable objects, providing fluent access to Laravel’s powerful string manipulation methods directly from your model attributes.

    When working with text in your Laravel models, you often need to perform various string operations like formatting, cleaning, or transforming the text. While you could do this manually each time, Laravel’s AsStringable cast transforms your model’s string attributes into powerful Stringable objects, giving you access to dozens of built-in string manipulation methods.

    This cast is particularly useful when you consistently need to perform string operations on specific model attributes. Instead of writing the same string manipulation code repeatedly, you can access these operations directly on your model attributes as if they were Stringable objects.

    use IlluminateDatabaseEloquentCastsAsStringable;
    
    class Post extends Model
    {
        protected $casts = [
            'title' => AsStringable::class,
            'content' => AsStringable::class,
        ];
    }
    

    Let’s explore a practical example of a blog system with SEO-friendly content handling:

    <?php
    
    namespace AppModels;
    
    use IlluminateDatabaseEloquentModel;
    use IlluminateDatabaseEloquentCastsAsStringable;
    
    class Article extends Model
    {
        protected $casts = [
            'title' => AsStringable::class,
            'content' => AsStringable::class,
            'meta_description' => AsStringable::class
        ];
    
        public function getSlugAttribute()
        {
            return $this->title
                ->lower()
                ->replaceMatches('/[^a-z0-9s]/', '')
                ->replace(' ', '-')
                ->limit(60, '');
        }
    
        public function getSeoTitleAttribute()
        {
            return $this->title
                ->title()
                ->limit(60, '...')
                ->append(' | My Blog');
        }
    
        public function getExcerptAttribute()
        {
            return $this->content
                ->stripTags()
                ->words(50, '...')
                ->title();
        }
    
        public function getReadingTimeAttribute()
        {
            return $this->content
                ->stripTags()
                ->wordCount() / 200;
        }
    }
    

    The AsStringable cast simplifies string manipulation by providing a fluent interface for common text operations, making your code more readable and maintainable.


    The post String Manipulation Made Easy with Laravel’s AsStringable Cast appeared first on Laravel News.

    Join the Laravel Newsletter to get all the latest
    Laravel articles like this directly in your inbox.

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleRecurr is a PHP library for working with recurrence rules for calendar dates
    Next Article Immutable Value Objects in PHP and Laravel With the Bags Package

    Related Posts

    Security

    China-Linked Hackers Exploit SAP and SQL Server Flaws in Attacks Across Asia and Brazil

    May 30, 2025
    Security

    New Apache InLong Vulnerability (CVE-2025-27522) Exposes Systems to Remote Code Execution Risks

    May 30, 2025
    Leave A Reply Cancel Reply

    Continue Reading

    Bluetti slashes power station prices in big summer sale

    Development

    A mockup generator to turn boring screenshots into exciting graphics

    Development

    The Ant Monster

    Artificial Intelligence

    Beyond the Blueprint: mRNA’s in Promise Immunotherapy

    Development

    Highlights

    LLM in a Flash: Efficient Large Language Model Inference with Limited Memory

    August 7, 2024

    This paper was accepted at the ACL 2024 Large language models (LLMs) are central to…

    This AI Paper from Columbia University Introduces Manify: A Python Library for Non-Euclidean Representation Learning

    March 17, 2025

    Concurrency control in Amazon Aurora DSQL

    December 7, 2024

    CVE-2025-39595 – Quentn WP SQL Injection

    April 20, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.