我有一个自定义功能,我想在刀片模板中传递它.这是功能:
function trim_characters( $text, $length = 45, $append = '…' ) {
$length = (int) $length;
$text = trim( strip_tags( $text ) );
if ( strlen( $text ) > $length ) {
$text = substr( $text, 0, $length + 1 );
$words = preg_split( "/[\s]| /", $text, -1, PREG_SPLIT_NO_EMPTY );
preg_match( "/[\s]| /", $text, $lastchar, 0, $length );
if ( empty( $lastchar ) )
array_pop( $words );
$text = implode( ' ', $words ) . $append;
}
return $text;
}
Run Code Online (Sandbox Code Playgroud)
用法是这样的:
$string …Run Code Online (Sandbox Code Playgroud) 我正在为编辑表单编写逻辑,并且在输入中显示数据时会有一些复杂性.
当我最初显示表单时,我显示的记录值如下:
value="{{$dog->title}}"
Run Code Online (Sandbox Code Playgroud)
然后当表单没有通过验证时,我需要显示旧的输入,这样用户就不会丢失他已输入的内容.所以我需要有一种方法来显示旧数据,如:
value="{{old('title')}}"
Run Code Online (Sandbox Code Playgroud)
因为我需要输入旧数据以防它存在,我最终得到了这段代码:
value="{{$dog->title or old('title')}}"
Run Code Online (Sandbox Code Playgroud)
在控制器中我检查Request是否有旧输入,我将$ dog var指定为null值.
我想问一下这是否是一种好的做法,还是有更好的"正确"方法呢?
我有一个multiauth laravel 5.2应用程序,其中定义了config/auth.php以下警告:
...
'admin' => [
'driver' => 'session',
'provider' => 'admin',
],
'user' => [
'driver' => 'session',
'provider' => 'user',
],
...
Run Code Online (Sandbox Code Playgroud)
所以,admin和user.
问题在于视图层,因为这两个登录保护共享一些视图,例如:
Hello {{Auth::guard('admin')->user()->name}}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,守卫被硬编码到视图中总是admin(当登录后卫时它会给出错误user),但是,为了避免为了这个小改变而必须做另一个相同的视图,我想让它具有动态,例如:
Hello {{Auth::guard(<LOGGEDIN GUARD>)->user()->name}}
Run Code Online (Sandbox Code Playgroud)
PS:我知道这可以通过获取相应的url段来实现,例如:www.site.com/pt/user/dasboard在这种情况下它将是段2,但是这样app会失去可伸缩性,因为将来相应的段可能不一样(2在上面的例子中)
我安装了一些Visual Studio代码扩展来处理Laravel刀片代码
laravel-blade [ https://marketplace.visualstudio.com/items?itemName=KTamas.laravel-blade ]
Laravel Blade Snippets [ https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel-blade ]
但他们没有帮我格式化Laravel刀片代码[blade.php文件].我的意思是他们没有像我预期的那样自动缩进代码.但我已经看到在线刀片代码在Visual Studio Code IDE中缩进.
示例:
https://medium.com/@ardanirohman/laravel-%EF%B8%8F-visual-studio-code-debug-environment-65440274d3b0
他们可以使用任何特定的配置或技术来实现这些扩展吗?还是有其他方法吗?提前致谢
所以我的 Mailable 视图抛出了这个错误——这就是我手头上的一切。当我使用 Lumen 5.8 时它运行良好,所以我猜测它是在升级到 Laravel 6 之后发生的。
调用未定义的函数array_except()(查看:/kunden/182801_60322/tu/uat/api/resources/views/mail/invite-employee.blade.php)
我的刀片文件如下所示:
@extends('mail.master')
@section('content')
<tr>
<td align="left" style="border: 1px solid #dddee5; border-bottom: 2px solid #cecfd9; padding; 20px;">
<div class="padded">
<p>
{!! nl2br(e($data->message)) !!}
</p>
</div>
</td>
<tr>
<tr>
<td align="left" bgcolor="#eaeaf2" class="padded">
<p style="margin-bottom: 5px;" class="cta-label">{{ $data->copy->click }}</p>
<div class="cta-link">
<a style="color: #337BE9;" class="cta-link--a" href="{{ $data->appUrl }}/{{ $data->route }}/{{ $data->verificationCode }}">{{ $data->appUrl }}/{{ $data->route }}/{{ $data->verificationCode }}</a>
</div>
<p style="font-size: 12px; margin-top: 10px;">{{ $data->copy->mistake }}</p>
</td>
</tr>
@endsection
Run Code Online (Sandbox Code Playgroud)
显然代码的任何部分都没有试图调用该函数。
我的 composer.json …
我在Blade模板中有一个@foreach循环,需要对集合中的第一个项目应用特殊格式.如何添加条件以检查这是否是第一项?
@foreach($items as $item)
<h4>{{ $item->program_name }}</h4>
@endforeach`
Run Code Online (Sandbox Code Playgroud) 是否有语法在Laravel刀片模板中指定内联if和else if语句?
通常,if和else语句的syntaxt将是:
{{ $var === "hello" ? "Hi" : "Goodbye" }}
Run Code Online (Sandbox Code Playgroud)
我现在想要包含if if语句,这可能吗?
{{ $var === "hello" ? "Hi" : "Goodbye" else if $var ==="howdie ? "how" : "Goodbye""}}
Run Code Online (Sandbox Code Playgroud) 嘿伙计们我是laravel的新手,我一直试图将表'student'的所有记录存储到变量中,然后将该变量传递给视图,以便我可以显示它们.
我有一个控制器 - ProfileController,里面有一个函数:
public function showstudents()
{
$students = DB::table('student')->get();
return View::make("user/regprofile")->with('students',$students);
}
Run Code Online (Sandbox Code Playgroud)
在我看来,我有这个代码
<html>
<head></head>
<body> Hi {{Auth::user()->fullname}}
@foreach ($students as $student)
{{$student->name}}
@endforeach
@stop
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:未定义的变量:学生(查看:regprofile.blade.php)
我正在设置我的 Laravel 应用程序,每次运行 php artisan serve 时,它都会在 localhost:8000 启动 Laravel 开发服务。但是当我在浏览器上打开 locahost 链接时,它会强制 http 到 https 并记录无效请求(不支持的 SSl 请求)。你建议我怎么做才能解决这个问题?
我已经尝试将 HTTPS mod 重写规则强制到 .htaccess 文件上的 http:// 并且它仍然存在。
这是命令行
C:\Users\topaz\cashurban>php artisan serve
Laravel development server started: <http://127.0.0.1:8000>
[Thu Aug 22 23:06:07 2019] 127.0.0.1:60410 Invalid request (Unsupported SSL request)
[Thu Aug 22 23:06:08 2019] 127.0.0.1:60418 Invalid request (Unsupported SSL request)
[Thu Aug 22 23:06:08 2019] 127.0.0.1:60419 Invalid request (Unsupported SSL request)
[Thu Aug 22 23:06:08 2019] 127.0.0.1:60420 Invalid request (Unsupported SSL request) …Run Code Online (Sandbox Code Playgroud) 我想从数据库设置复选框状态,所以我写,
{{ Form::checkbox('asap', null, $offer->asap) }}
Run Code Online (Sandbox Code Playgroud)
但是如果我想将id设置为复选框之类的话
{{ Form::checkbox('asap', null, $offer->ASAP, array('id'=>'asap')) }}
Run Code Online (Sandbox Code Playgroud)
它始终将我的复选框状态设置为true.(在用户选择之前)
那么问一下在用户选择它之前如何设置复选框状态,如何在刀片复选框中设置ID?
laravel-blade ×10
laravel ×8
php ×6
laravel-5 ×2
checkbox ×1
css ×1
http ×1
laravel-5.1 ×1
laravel-6 ×1
lumen ×1
validation ×1