我尝试在运行 Apache/PHP 5.6/MariaDB 的 CentOS 7 上安装一个新的 laravel 项目。
在/var/www:
composer create-project laravel/laravel devil
chmod -R 777 devil/storage
chmod -R 777 devil/vendor
Run Code Online (Sandbox Code Playgroud)
当我尝试从浏览器访问它时,刀片扩展似乎不起作用。它一直显示空白页,没有任何错误。
我检查了我的 Chrome Web 开发人员扩展上显示 500(内部服务器错误)的 HTTP 响应。
仅当我根本不使用刀片模板(不使用 .blade.php 扩展名和刀片语法)时,该应用程序才能工作。
下面是文件夹结构
drwxr-xr-x. 10 adzar adzar 4096 Mar 25 04:06 app
-rwxr-xr-x. 1 adzar adzar 1635 Mar 25 04:06 artisan
drwxr-xr-x. 2 adzar adzar 39 Mar 25 04:06 bootstrap
-rw-r--r--. 1 adzar adzar 788 Mar 25 04:06 composer.json
-rw-r--r--. 1 adzar adzar 100509 Mar 25 04:06 …Run Code Online (Sandbox Code Playgroud) 我在标题部分的样式表参考内部使用刀片回显。这是为了指定站点皮肤的 CSS。
原来的行是:
<link href="{{ asset("/dist/css/skins/skin-default.min.css"}}" rel="stylesheet" type="text/css\" />
Run Code Online (Sandbox Code Playgroud)
我正在获取每个用户的皮肤设置,并希望将其插入该行以更改用户想要的皮肤。我已将设置从视图服务提供者中拉出到变量中。
$view->with('visualSkin', Auth::user()->visualSkin);
Run Code Online (Sandbox Code Playgroud)
这样,当所有视图都渲染时,我就设置了 $visualSkin 。
如果用户没有设置,如何将其插入到上面的 asset href 中并将其默认为设置?
我可以通过执行以下操作来调用该变量或设置默认值:
{{ $visualSkin or "skin-default" }}
Run Code Online (Sandbox Code Playgroud)
但是,如何将该部分内联到我的 asset href 中?像这样的东西不起作用:
<link href="{{ asset("/dist/css/skins/{{ $visualSkin or "skin-red-trim" }}.min.css"}}" rel="stylesheet" type="text/css\" />
Run Code Online (Sandbox Code Playgroud)
我也尝试过一些 php 技巧,但由于将其插入 php echo 时是刀片格式,因此刀片进程不会渲染它。
你能嵌套刀刃回声吗?
我错过了一些逃跑的角色吗?
我想在 html.blade.php 文件中以日期时间本地格式填充当前日期时间的输入标记。我想用这样的东西:
<input type="datetime-local"
autocomplete="on"
id="created_date"
name="created_date"
class="form-control"
value="{{currentDateTime()}}" >
Run Code Online (Sandbox Code Playgroud) 我试图显示一个基于 url 的搜索框,意味着对于特定路线,它将显示搜索框,否则不会显示。为此我使用了Request::path(). 但问题是对于某些路线它不起作用。假设我有两条路线,例如
Route::get('products','abcontroller@index');
Route::get('product/{name}','abcontroller@searchProduct');
Run Code Online (Sandbox Code Playgroud)
现在如果我使用以下代码:
@if(Request::path() == 'products' || Request::path() == 'product/{name}')
// something print
@endif
Run Code Online (Sandbox Code Playgroud)
对于products路线,我可以看到搜索框,但product/{name}我看不到..我该如何解决这个问题?
我有一个收藏。
$items = Item:where('count' , '>' , 5)->get();
Run Code Online (Sandbox Code Playgroud)
我有一组 id。
$ids = [2 , 4 , 7 , 8];
Run Code Online (Sandbox Code Playgroud)
在我的 Laravel 刀片中,我想根据 ids 数组在 $items 上显示每个。我做了这样的事情:
@foreach($ids as $id)
<a href="#">
{{ $items->where('id' ,$id)->first()->name }}
</a>
@endforeach
Run Code Online (Sandbox Code Playgroud)
它工作得很好。问题是,我向数据库发送了多少查询?以下是否在运行新查询?
$items->where('id' ,$id)->first()->name
Run Code Online (Sandbox Code Playgroud)
因为我已经get()从数据库中的项目。另一个问题是,如何在显示视图/刀片时找出有多少查询被发送到数据库?
我有以下刀片文件。我传入了一个带有标题和描述的项目对象,我想填充值属性。description 变量在 p-tag 中起作用,但在 textarea-tag 中不起作用。$title 变量也可以正常工作。为什么它在 textarea 中不起作用?
@extends('layout')
@section('content')
<h1 class="display-4">Edit Project</h1>
<p>{{ $project->description }}</p>
<form>
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" name="title" placeholder="Title" value="{{ $project->title }}">
</div>
<div class="form-group">
<label for="description">Description</label>
<textarea type="text" class="form-control" name="description" value="{{ $project->description }}"></textarea>
</div>
<button type="submit" class="btn btn-primary">Update Project</button>
</form>
@endsection
Run Code Online (Sandbox Code Playgroud) 正如标题所说的那样,我仍然会指导您重现该问题。详情如下。
npm install - 对于节点composer install - 用于 php打开resources/views/welcome.blade.php并编辑为下面的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Mix</title>
<link rel="stylesheet" href="{{ mix('css/app.css') }}">
</head>
<body>
<div id="app">
<h1>Hello, world!</h1>
<example-component />
<camel-case-component />
</div>
<script src="{{ mix('js/app.js') }}"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)打开resources/js/app.js并编辑为下面的代码
require('./bootstrap');
window.Vue = require('vue');
Vue.component('camel-case-component', require('./components/CamelCaseComponent.vue').default);
Vue.component('example-component', require('./components/ExampleComponent.vue').default);
const app = new Vue({
el: …Run Code Online (Sandbox Code Playgroud)I have a simple app, I need to pass two different ID's id and code_id in a route, here is my solution I have tried so far
view
<a href="{{ route('settings.code', $settings->id, $settings->code_id) }}">{{ __('Code') }}</a>
Run Code Online (Sandbox Code Playgroud)
Here is route config
Route::get('settings/code/{id}/{code_id}', ['as' => 'settings.code', 'uses' => 'SettingController@code']);
Run Code Online (Sandbox Code Playgroud)
Here is my function in a controller
public function code($code_id, $id)
{
$settings = Setting::find($code_id, $id);
dd($settings);
return view('pages.settings.code', compact('settings'));
}
Run Code Online (Sandbox Code Playgroud)
Here is the error I get
Missing required parameters for [Route: settings.code] …Run Code Online (Sandbox Code Playgroud) 我注意到,laravel 刀片@json($list)指令(https://laravel.com/docs/7.x/blade)
正在转换为
<?php echo json_encode($list, 15, 512) ?>
Run Code Online (Sandbox Code Playgroud)
什么是15?
我在可用选项中没有看到此选项
选项位掩码包括JSON_FORCE_OBJECT,JSON_HEX_QUOT,JSON_HEX_TAG,JSON_HEX_AMP,JSON_HEX_APOS,JSON_INVALID_UTF8_IGNORE,JSON_INVALID_UTF8_SUBSTITUTE,JSON_NUMERIC_CHECK,JSON_PARTIAL_OUTPUT_ON_ERROR,JSON_PRESERVE_ZERO_FRACTION,JSON_PRETTY_PRINT,JSON_UNESCAPED_LINE_TERMINATORS,JSON_UNESCAPED_SLASHES,JSON_UNESCAPED_UNICODE,JSON_THROW_ON_ERROR的。
PS您可以尝试解码更多这样的指令
{{ '@json($list)'}}
Run Code Online (Sandbox Code Playgroud) 在我的 Laravel 8 项目中,我尝试发送 HTML 电子邮件,但Undefined variable出现错误。
我的控制器中有此代码:
// here the $client has a model value
Mail::to($client)->send(new ClientCreated($client));
Run Code Online (Sandbox Code Playgroud)
在我的app/Mail/ClientCreated.php文件中:
<?php
namespace App\Mail;
use App\Client;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class ClientCreated extends Mailable
{
use Queueable, SerializesModels;
private $client;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(Client $client)
{
$this->client = $client;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
// …Run Code Online (Sandbox Code Playgroud)