在app / Library中我有一个名为Helpers.php
<?php
namespace App\Library\Helpers;
class Helpers {
public function truncate($text) {
if (strlen($text) > 200) {
preg_replace('/\s+?(\S+)?$/', '', substr($text, 0, 201));
}
return $text;
}
}
在我的一个观点中,我想使用该类:
@foreach($data['articles'] as $article)
<div class="container">
<div class="article">
<h1>{{ $article->title }}</h1>
<p>
<?php
$helpers = new \App\Library\Helpers;
echo $helpers->truncate($article->body);
?>
</p>
</div>
</div>
@endforeach
我收到此错误:
Class 'App\Library\Helpers' not found
答案 0 :(得分:1)
您正在尝试使用命名空间而不是类,您的类实际上是App\Library\Helpers\Helpers
。使用刀片,您可以使用inject方法在视图中显示您的课程。
@inject('helpers', 'App\Library\Helpers\Helpers')
@foreach($data['articles'] as $article)
<div class="container">
<div class="article">
<h1>{{ $article->title }}</h1>
<p>{{ $helpers->truncate($article->body) }}</p>
</div>
</div>
@endforeach
使用inject创建一个作为第一个参数传递的名称的新变量,并将传入的类值作为第二个参数。您的助手现在可以在视图中使用。
答案 1 :(得分:0)
<?php
$helpers = new App\Library\Helpers\Helpers;
echo $helpers->truncate($article->body);
?>
或修复命名空间名称。
namespace App\Library;