简体   繁体   English

如何在Laravel中添加一个类,以便在Blade中可用?

[英]How do I add a class in Laravel so it is available in Blade?

I would like to create a class in Laravel, and make it available in Blade. 我想在Laravel中创建一个类,并使其在Blade中可用。 Details below: 详情如下:

class myHelper {

    function clear_alias($string)
    {
        $string = @iconv('UTF-8', 'ASCII//TRANSLIT', $string);
        $string = strtolower($string);
        $string = strtr($string, array('&' => '_', '"' => '-', '&'.'#039;' => '-', '<' => '-', '>' => '-', '\'' => ''));
        $string = preg_replace('/^[^a-z0-9]{0,}(.*?)[^a-z0-9]{0,}$/si', '\\1', $string);
        $string = preg_replace('/[^a-z0-9\-]/', '-', $string);
        $string = preg_replace('/[\-]{2,}/', '-', $string);
        return $string;
    }

    function cut_text($string,$char=100)
    {
        $string = strip_tags($string);

        if (strlen($string) > $char)
        {
            $string=substr($string, 0, $char);
            for ($a=strlen($string)-1;$a>=0;$a--)
            {
                if ($string[$a]==" ")
                {
                    $string=substr($string, 0, $a)."...";
                    break;
                };
            };
        };
        return $string;
    }
}

Any help greatly appreciated 任何帮助,不胜感激

Just place your class in the autoload part in your composer.json : 只需将您的类放在composer.json的autoload部分中:

"autoload": {
    "classmap": [
        "database",
        "app/Helpers/MyHelper.php"

Then run composer dumpautoload 然后运行composer dumpautoload

I think you should place your class in /app/MyClass.php and then use it in your controller: 我认为您应该将您的类放在/app/MyClass.php中,然后在控制器中使用它:

use \\App\\MyClass; 使用\\ App \\ MyClass;

Kind regards 亲切的问候

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM