วิธีการตั้งค่าตัวแปรในเทมเพลต Laravel Blade


248

ฉันกำลังอ่านเอกสาร Laravel Blade และฉันไม่สามารถหาวิธีกำหนดตัวแปรภายในเทมเพลตเพื่อใช้ในภายหลัง ฉันทำไม่ได้{{ $old_section = "whatever" }}เพราะนั่นจะสะท้อน "อะไรก็ได้" และฉันไม่ต้องการมัน

ฉันเข้าใจว่าฉันสามารถทำได้<?php $old_section = "whatever"; ?>แต่นั่นไม่ได้สง่างาม

มีวิธีที่ดีกว่าและสง่างามในการทำเช่นนั้นในเทมเพลต Blade หรือไม่?


1
ตรวจสอบแรงดึงนี้: github.com/laravel/laravel/pull/866
Spir

สิ่งนี้มักจะมีประโยชน์สำหรับการทดสอบโดยเฉพาะถ้าคุณทำงานกับแม่แบบ แต่มีคนอื่นทำงานในส่วนของ PHP เพียงแค่ระมัดระวังที่จะลบการประกาศเมื่อคุณเสร็จสิ้นการทดสอบ
trysis

<?php $old_section = "whatever"; ?>มีอะไรผิดปกติกับเพียงแค่ทำ ฉันคิดว่ามันอ่านได้ค่อนข้างมาก
Jaime Hablutzel

@ JaimeHablutzel คำตอบในความคิดของฉันอยู่ในคำถาม: มันไม่ได้สง่างาม
duality_

คำตอบ:


122

มันเป็นกำลังใจให้ทำในมุมมองดังนั้นจึงไม่มีแท็กใบมีดสำหรับมัน หากคุณต้องการทำสิ่งนี้ในมุมมองเบลดของคุณคุณสามารถเปิดแท็ก php ตามที่คุณเขียนหรือลงทะเบียนเบลดแท็กใหม่ เป็นเพียงตัวอย่าง:

<?php
/**
 * <code>
 * {? $old_section = "whatever" ?}
 * </code>
 */
Blade::extend(function($value) {
    return preg_replace('/\{\?(.+)\?\}/', '<?php ${1} ?>', $value);
});

9
ตัวแปรในมุมมองมีประโยชน์บางอย่าง มันดูดีมาก! จะวางรหัสนี้ไว้ที่ไหนดี?
duality_

1
คุณสามารถใส่ไว้ใน application / start.php ของคุณหรือถ้าคุณจะมีสิ่งต่าง ๆ เช่นนี้ใส่ไว้ในไฟล์แยกต่างหากและรวมไว้ที่นั่น Laravel นั้นหลวมมากด้วยวิธีนี้คุณสามารถใส่คอนโทรลเลอร์บางลงได้ สิ่งเดียวที่คุณต้องทำคือขยายก่อนที่จะแสดงผลมุมมอง
TLGreg

19
เหตุผลสำหรับการเพิ่มรหัสพิเศษนี้เพียงเพื่อการใช้งานคืออะไร{?แทนเพียงใช้พื้นเมือง<??
Justin

1
หากไม่แนะนำให้ทำมีวิธีที่ "เหมาะสม" มากกว่าในการทำสิ่งต่อไปนี้หรือไม่? ฉันมีเว็บไซต์ที่แสดงชื่อเรื่องในมุมมองแอปหลักเป็น {{$ title}} ซึ่งมีระบบย่อยที่ต้องการผนวกหมายเลขหน้าต่อท้ายชื่อ ("หน้าแบบฟอร์มแอปพลิเคชัน {{$ หน้า}}") และ ฉันกำลังส่ง $ page ไปยังมุมมอง (ซึ่งถูกใช้เป็นอย่างอื่นในมุมมอง) ฉันไม่ต้องการสร้างชื่อเรื่องในการเรียกคอนโทรลเลอร์แต่ละครั้งฉันแค่ต้องการส่งมุมมองหมายเลขหน้า - ในกรณีที่บางวันฉันต้องการเปลี่ยนชื่อฐาน ฉันใช้ <? php $ title = ... ?> ตอนนี้ แต่มีวิธีที่ถูกต้องมากกว่านี้ไหม
jdavidbakr

4
ควรส่งตัวแปรจากคอนโทรลเลอร์ไม่ได้ประกาศแบบอินไลน์ในมุมมองของคุณ ถ้าแม่แบบส่วนกลางต้องการตัวแปรคุณสามารถตั้งค่าได้ในผู้ให้บริการstackoverflow.com/a/36780419/922522 หากเทมเพลตเฉพาะหน้าที่ต้องการตัวแปรให้ใช้ @yield แล้วส่งต่อจากมุมมองลูกที่มีตัวควบคุม laravel.com/docs/5.1/blade#template-inheritance
Justin

361

LARAVEL 5.5 ขึ้นไป

คำสั่ง @php blade ไม่ยอมรับแท็กแบบอินไลน์ ใช้คำสั่งเต็มรูปแบบแทน:

@php
$i = 1
@endphp

LARAVEL 5.2 ขึ้นไป

คุณสามารถใช้:

@php ($i = 1)

หรือคุณสามารถใช้มันในคำสั่งบล็อก:

@php
$i = 1
@endphp

LARAVEL 5

ขยายเบลดแบบนี้:

/*
|--------------------------------------------------------------------------
| Extend blade so we can define a variable
| <code>
| @define $variable = "whatever"
| </code>
|--------------------------------------------------------------------------
*/

\Blade::extend(function($value) {
    return preg_replace('/\@define(.+)/', '<?php ${1}; ?>', $value);
});

จากนั้นทำอย่างใดอย่างหนึ่งต่อไปนี้:

วิธีแก้ปัญหาอย่างรวดเร็ว: หากคุณขี้เกียจให้ใส่รหัสในฟังก์ชั่น boot () ของ AppServiceProvider.php

โซลูชัน Nicer: สร้างผู้ให้บริการของตัวเอง ดูhttps://stackoverflow.com/a/28641054/2169147เกี่ยวกับวิธีการขยายเบลดใน Laravel 5 มันใช้งานได้ดีกว่านี้เล็กน้อย แต่เป็นการออกกำลังกายที่ดีในการใช้ผู้ให้บริการ :)

LARAVEL 4

คุณสามารถใส่รหัสด้านบนที่ด้านล่างของแอพ / start / global.php (หรือที่อื่น ๆ ถ้าคุณรู้สึกว่ามันดีกว่า)


หลังจากการเปลี่ยนแปลงข้างต้นคุณสามารถใช้:

@define $i = 1

เพื่อกำหนดตัวแปร


5
ดี! โปรดทราบว่าคุณสามารถดำเนินการคำสั่ง php ใด ๆ กับการใช้งานของคุณ ฉันจะเปลี่ยนชื่อเป็น soph คล้าย @php มีประโยชน์มาก ...
igaster

จริงมาก igaster คุณสามารถเปลี่ยนชื่อ 'กำหนด' ถึง 'PHP' ถ้าคุณต้องการ แต่ที่เปิดหลุมพรางไปมากกว่าใช้ PHP ในแม่แบบของคุณ :)
พิม

1
ขอบคุณ @ C.delaFonteijne หากคุณใช้เนมสเปซ (และคุณควร) จำเป็นต้องมี \ ฉันได้เพิ่ม \ ในรหัสข้างต้น
PIM

1
โปรดทราบว่าการดำเนินการเกือบจะแน่นอนของคุณเป็นมาตรฐานตั้งแต่ Laravel 5.2 คุณสามารถใช้@php(@i = 1)หรือใช้ในคำสั่งบล็อก (ใกล้กับ@endphp)
Daan

1
ฉันไม่เห็นว่า "@php" "@endphp" เป็น "สง่างาม" มากกว่า "<? php" "?>" ได้อย่างไร มันก็เป็นตัวละครอีกไม่กี่! มันเป็นเพียงเพราะมันเริ่มต้นด้วย "@" เช่นเดียวกับคำสั่งใบอื่น ๆ ? นักพัฒนาของเราเป็นกลุ่มที่ย้ำคิดย้ำทำ! ;-)
OMA

116

ใน คุณสามารถใช้ไวยากรณ์ความคิดเห็นแม่แบบเพื่อกำหนด / ตั้งค่าตัวแปร

ไวยากรณ์ของความคิดเห็นคือ {{-- anything here is comment --}}และมันถูกเรนเดอร์โดย เครื่องยนต์เป็น

<?php /* anything here is comment */ ?>

ดังนั้นด้วยเล่ห์เหลี่ยมเล็กน้อยเราสามารถใช้มันเพื่อกำหนดตัวแปรตัวอย่างเช่น

{{-- */$i=0;/* --}}

จะแสดงผลโดย ตาม <?php /* */$i=0;/* */ ?>ที่ชุดตัวแปรสำหรับเรา โดยไม่ต้องเปลี่ยนรหัสบรรทัดใด ๆ


2
@ พยายามทำตัวเอง +1 | ไม่ใช่วิธีปฏิบัติที่ดีที่สุดแต่เหมาะสำหรับการแฮ็ครหัสอย่างรวดเร็วในแม่แบบเช่นเดียวกับรูปแบบอินไลน์สำหรับ html
Markus Hofmann

121
ฉันจะไม่แนะนำให้ทำแฮ็คนี้เป็นคนที่ดูรหัสนี้หลังจากที่คุณจะเกลียดคุณ
Justin

2
เห็นด้วยกับจัสตินแท็กแสดงความคิดเห็นสำหรับความคิดเห็นเพื่อแสดงความคิดเห็นในความคิดเห็นและเริ่มทำอย่างอื่นจะถามปัญหา
Leon

27
สิ่งนี้ไม่ดีไปกว่า php<?php $i=0; ?>
gyo

3
การทำเช่นนี้แทนที่จะใช้ php tags คืออะไร? ไม่สามารถอ่านได้ (ดูเหมือนความคิดเห็น) ต้องการการพิมพ์มากกว่านี้และอาจเสียหายด้วยการอัปเดตระบบแยกวิเคราะห์ แม้ว่าจะมีจุด แต่ก็ไม่ใช่คำตอบของวิธีการกำหนดตัวแปรในเทมเพลตใบมีด ไม่ทราบว่ามีอะไรผิดปกติกับผู้มีสิทธิเลือกตั้งบางทีพวกเขาพบสิ่งนี้ 'geeky'? ฉัน ...
SuperDuck

52

มีวิธีแก้ไขปัญหาง่าย ๆ ที่ไม่ต้องการให้คุณเปลี่ยนรหัสใด ๆ และทำงานใน Laravel 4 เช่นกัน

คุณเพียงแค่ใช้ผู้ประกอบการที่ได้รับมอบหมาย ( =) ในการแสดงออกส่งผ่านไปยัง@ifคำสั่งแทน (ตัวอย่างเช่น) ==ดำเนินการเช่น

@if ($variable = 'any data, be it string, variable or OOP') @endif

จากนั้นคุณสามารถใช้งานได้ทุกที่ที่คุณสามารถใช้ตัวแปรอื่น ๆ

{{ $variable }}

ข้อเสียเพียงอย่างเดียวคือการมอบหมายของคุณจะดูเหมือนผิดพลาดกับคนที่ไม่ทราบว่าคุณกำลังทำสิ่งนี้เป็นวิธีแก้ปัญหา


27

คุณจะทำให้มันซับซ้อนเกินไป

เพียงแค่ใช้ php ธรรมดา

<?php $i = 1; ?>
{{$i}}

donesies

(หรือhttps://github.com/alexdover/blade-set ก็ดูสวยมากเหมือนกัน)

พวกเราทุกคน "แฮ็ค" ระบบโดยการตั้งค่าตัวแปรในมุมมองดังนั้นทำไมจึงทำให้ "แฮ็ค" มีความซับซ้อนมากขึ้นแล้วมันจะต้องเป็นอย่างไร

ทดสอบใน Laravel 4

ประโยชน์อีกอย่างคือการเน้นไวยากรณ์ทำงานอย่างถูกต้อง (ฉันเคยใช้แฮ็คความคิดเห็นมาก่อนและมันแย่มากที่จะอ่าน)


21

คุณสามารถตั้งค่าตัวแปรต่าง ๆ ใน Blade Templating Engine ได้ด้วยวิธีต่อไปนี้:

1.
การตั้งค่า บล็อก PHP ทั่วไปตัวแปร: <?php $hello = "Hello World!"; ?>
เอาต์พุต: {{$hello}}

2.
การตั้งค่า บล็อกเบลด PHP ตัวแปร: @php $hello = "Hello World!"; @endphp
เอาต์พุต: {{$hello}}


19

ตั้งแต่ Laravel 5.2.23 คุณมี@php Blade directiveซึ่งคุณสามารถใช้ inline หรือ block statement:

@php($old_section = "whatever")

หรือ

@php
    $old_section = "whatever"
@endphp

15

คุณสามารถตั้งค่าตัวแปรในไฟล์มุมมอง แต่มันจะถูกพิมพ์เช่นเดียวกับที่คุณตั้งไว้ อย่างไรก็ตามมีวิธีแก้ปัญหาคือ คุณสามารถตั้งค่าตัวแปรภายในส่วนที่ไม่ได้ใช้ ตัวอย่าง:

@section('someSection')
  {{ $yourVar = 'Your value' }}
@endsection

จากนั้น{{ $yourVar }}จะพิมพ์Your valueทุกที่ที่คุณต้องการ แต่คุณจะไม่ได้รับผลลัพธ์เมื่อคุณบันทึกตัวแปร

แก้ไข:การตั้งชื่อส่วนที่จำเป็นมิฉะนั้นจะมีข้อยกเว้นจะถูกโยน


ไม่ทำงานอย่างอื่นจะต้องรวมคุณสมบัติไม่ได้กำหนด: Illuminate \ View \ Factory :: $ startSection (ดู: /home/vagrant/Code/dompetspy/resources/views/reviews/index.blade.php)
MaXi32

14

ใน Laravel 4:

หากคุณต้องการให้ตัวแปรเข้าถึงได้ในมุมมองทั้งหมดของคุณไม่ใช่เฉพาะแม่แบบของคุณView::shareเป็นวิธีที่ยอดเยี่ยม ( ข้อมูลเพิ่มเติมเกี่ยวกับบล็อกนี้ )

เพียงเพิ่มสิ่งต่อไปนี้ในapp / controllers / BaseController.php

class BaseController extends Controller
{
  public function __construct()
  {                   
    // Share a var with all views
    View::share('myvar', 'some value');
  }
}

และตอนนี้$myvarจะสามารถใช้ได้กับมุมมองทั้งหมดของคุณ - รวมถึงแม่แบบของคุณ

ฉันใช้สิ่งนี้เพื่อตั้งค่า URL เนื้อหาเฉพาะสภาพแวดล้อมสำหรับภาพของฉัน


1
นี่คือสิ่งที่ฉันกำลังมองหา: วิธีที่ดีในการหลีกเลี่ยงการโทรซ้ำที่ฐานข้อมูล!
clod986

ดูเหมือนจะไม่ใช่ตัวเลือกใน Laravel 5 ใช่ไหม
ก็อดดาร์ด

@Goddard คุณยังสามารถ ไวยากรณ์มีการเปลี่ยนแปลงแม้ว่า: stackoverflow.com/a/36780419/922522
Justin

8

และทันใดนั้นจะไม่มีอะไรปรากฏขึ้น จากประสบการณ์ของฉันถ้าคุณต้องทำอะไรแบบนี้เตรียม html ในวิธีการของแบบจำลองหรือทำการจัดระเบียบโค้ดของคุณใหม่ไปยังอาร์เรย์หรืออะไรบางอย่าง

ไม่เคยมีเพียงวิธีเดียว

{{ $x = 1 ? '' : '' }}

11
เตรียม HTML ในโมเดลหรือไม่ นั่นเป็นสิ่งที่น่าเกลียดที่สุดเท่าที่จะจินตนาการได้
duality_

@duality_ คุณกำลังประกาศและเปลี่ยนแปลงตัวแปรในมุมมองของคุณ ฉันบอกว่าคุณอาจจัดระเบียบรหัสของคุณผิด สถาปนิก Lrn 2
Michael J. Calkins

3
แน่นอน Michael ... ตัวแปรเหล่านั้นไม่ใช่ตัวแปรเช่น$users = ...แต่มีบางอย่างตามเส้น$css_class = ...ดังนั้นจึงออกแบบตัวแปรอย่างเคร่งครัดที่ไม่ได้เป็นของโมเดลหรือคอนโทรลเลอร์ตามที่นักออกแบบกำหนดไว้
duality_

2
หากคุณต้องการเดินทางในเส้นทางนั้นฉันชอบโซลูชันที่เรียบง่ายและสง่างามมากขึ้น: {{''; $ x = 1}}
Daniel


6

ฉันจะขยายคำตอบที่ได้รับจาก @Pim

เพิ่มสิ่งนี้ในวิธีการบูทของ AppServiceProvider ของคุณ

<?php
/*
|--------------------------------------------------------------------------
| Extend blade so we can define a variable
| <code>
| @set(name, value)
| </code>
|--------------------------------------------------------------------------
*/

Blade::directive('set', function($expression) {
    list($name, $val) = explode(',', $expression);
    return "<?php {$name} = {$val}; ?>";
});

วิธีนี้คุณจะไม่เปิดเผยความสามารถในการเขียนนิพจน์ php ใด ๆ

คุณสามารถใช้คำสั่งนี้เช่น:

@set($var, 10)
@set($var2, 'some string')

5

ใน Laravel 5.1, 5.2 :

https://laravel.com/docs/5.2/views#sharing-data-with-all-views

คุณอาจต้องแชร์ข้อมูลกับทุกมุมมองที่แอปพลิเคชันของคุณแสดงผล คุณสามารถทำได้โดยใช้วิธีการแบ่งปันของมุมมองจากโรงงาน โดยทั่วไปคุณควรโทรออกเพื่อแบ่งปันภายในวิธีการบูตของผู้ให้บริการ คุณมีอิสระที่จะเพิ่มพวกเขาใน AppServiceProvider หรือสร้างผู้ให้บริการแยกต่างหากเพื่อจัดเก็บพวกเขา

แก้ไขไฟล์: /app/Providers/AppServiceProvider.php

<?php

namespace App\Providers;

class AppServiceProvider extends ServiceProvider
{        
    public function boot()
    {
        view()->share('key', 'value');
    }

    public function register()
    {
        // ...
    }
}

5

คุณสามารถใช้แพ็คเกจที่ฉันเผยแพร่: https://github.com/sineld/bladeset

จากนั้นคุณสามารถตั้งค่าตัวแปรของคุณได้อย่างง่ายดาย:

@set('myVariable', $existing_variable)

// or

@set("myVariable", "Hello, World!")

3

สำหรับวิธีที่สง่างามของฉันเป็นดังต่อไปนี้

{{ ''; $old_section = "whatever"; }}

และเพียงแค่สะท้อน$old_sectionตัวแปรของคุณ

{{ $old_section }}

3

หากคุณมี PHP 7.0:

วิธีที่ง่ายและมีประสิทธิภาพมากที่สุดคือการมอบหมายงานในวงเล็บวงเล็บภายใน

กฎง่าย: คุณใช้ตัวแปรมากกว่าหนึ่งครั้งหรือไม่? จากนั้นให้ประกาศเป็นครั้งแรกที่ใช้ภายในวงเล็บรักษาความสงบและดำเนินการต่อ

@if(($users = User::all())->count())
  @foreach($users as $user)
    {{ $user->name }}
  @endforeach
@else
  There are no users.
@endif

และใช่ฉันรู้ว่า@forelseนี่เป็นเพียงการสาธิต

เนื่องจากขณะนี้ตัวแปรของคุณได้รับการประกาศเป็นและเมื่อมีการใช้งานจึงไม่จำเป็นต้องมีวิธีแก้ไขปัญหาใบมีดใด ๆ


2

ฉันไม่คิดว่าคุณสามารถ - แต่แล้วอีกครั้งตรรกะชนิดนี้ควรได้รับการจัดการในตัวควบคุมของคุณและส่งผ่านไปยังมุมมองที่ตั้งไว้แล้ว


6
ตัวแปรบางตัวมีไว้สำหรับการดูอย่างเคร่งครัด $previous_group_name,, $separator_printedฯลฯ
duality_

2
หากเป็นเพียงมุมมองเท่านั้นคุณควรส่งต่อไปยังมุมมองจากคอนโทรลเลอร์ app/controllers/BaseController.phpหากคุณต้องการมันใช้ได้กับทุกมุมมองเห็นคำตอบของฉันข้างต้นโดยใช้
จัสติน

1
ฉันใช้อาร์เรย์หลายชุดเพื่อส่งข้อมูล $ ทั้งหมดของฉันไปยังมุมมอง
Hos Mercury

2

กำหนดตัวแปรให้กับเทมเพลตเบลดนี่คือวิธีแก้ไข

เราสามารถใช้<?php ?>แท็กในหน้าใบมีด

<?php $var = 'test'; ?>
{{ $var }

หรือ

เราสามารถใช้ความคิดเห็นใบมีดกับไวยากรณ์พิเศษ

{{--*/ $var = 'test' /*--}}
{{ $var }}

1

การแฮ็คความคิดเห็นไม่ใช่วิธีที่อ่านง่ายมาก บรรณาธิการจะให้สีเป็นความคิดเห็นและบางคนอาจพลาดเมื่อดูรหัส

ลองสิ่งนี้:

{{ ''; $hello = 'world' }}

มันจะรวบรวมเป็น:

<?php echo ''; $hello = 'world'; ?>

... และทำงานที่ได้รับมอบหมายและไม่ได้สะท้อนอะไรเลย


1

เป็นการดีกว่าที่จะฝึกฝนเพื่อกำหนดตัวแปรในคอนโทรลเลอร์จากนั้นส่งผ่านไปยังมุมมองการใช้compact()หรือ->with()วิธีการ

มิฉะนั้น #TLGreg ให้คำตอบที่ดีที่สุด



1

ฉันกำลังมองหาวิธีการกำหนดค่าให้กับคีย์และใช้มันหลายครั้งในมุมมองของฉัน สำหรับกรณีนี้คุณสามารถใช้@section{"key", "value"}ในสถานที่แรกแล้วโทร@yield{"key"}เพื่อส่งออกค่าในสถานที่อื่น ๆ ในมุมมองของคุณหรือลูกของมัน


0

ในความคิดของฉันมันจะดีกว่าที่จะเก็บตรรกะในตัวควบคุมและส่งมันไปยังมุมมองที่จะใช้ สามารถทำได้หนึ่งในสองวิธีโดยใช้วิธีการ 'ดู :: ทำให้' ขณะนี้ฉันกำลังใช้ Laravel 3 อยู่ แต่ฉันค่อนข้างแน่ใจว่าเป็นวิธีเดียวกันใน Laravel 4

public function action_hello($userName)
{
    return View::make('hello')->with('name', $userName);
}

หรือ

public function action_hello($first, $last)
{
    $data = array(
        'forename'  => $first,
        'surname' => $last
    );
    return View::make('hello', $data);
}

วิธีการ 'ด้วย' สามารถเชนได้ จากนั้นคุณจะใช้ข้อมูลด้านบนดังนี้:

<p>Hello {{$name}}</p>

ข้อมูลเพิ่มเติมที่นี่:

http://three.laravel.com/docs/views

http://codehappy.daylerees.com/using-controllers


ตรรกะการนำเสนอถูกเก็บไว้อย่างดีที่สุดในมุมมอง บางครั้งคุณต้องสร้างตัวแปรจากภายในมุมมอง เช่นการจัดรูปแบบวันที่ $format='Y-m-d H:i:s';วิธีนั้นคุณสามารถใช้รูปแบบนั้นอีกครั้งภายในมุมมอง สิ่งนี้ไม่ได้อยู่ในคอนโทรลเลอร์อย่างแน่นอน ที่กล่าวว่าเพื่อตอบคำถาม ... ไม่มีอะไรผิดปกติกับ<?php ?>แท็ก
น้ำเกรวี่

0

ฉันมีคำถามที่คล้ายกันและพบสิ่งที่ฉันคิดว่าเป็นทางออกที่ถูกต้องกับView Composers

View Composers ช่วยให้คุณสามารถตั้งค่าตัวแปรทุกครั้งที่มีการเรียกมุมมองที่แน่นอนและสามารถเป็นมุมมองเฉพาะหรือเทมเพลตมุมมองทั้งหมด อย่างไรก็ตามฉันรู้ว่ามันไม่ใช่คำตอบที่ตรงกับคำถาม (และสายเกินไป 2 ปี) แต่ดูเหมือนว่ามันจะเป็นทางออกที่ดีกว่าการตั้งค่าตัวแปรภายในมุมมองด้วยเบลด

View::composer(array('AdminViewPath', 'LoginView/subview'), function($view) {
    $view->with(array('bodyClass' => 'admin'));
});

0

laravel 5 คุณสามารถทำสิ่งนี้ได้อย่างง่ายดาย ดูด้านล่าง

{{--*/ @$variable_name = 'value'  /*--}}

0

คุณสามารถยืดใบมีดได้โดยใช้วิธีการยืดที่แสดงด้านล่าง ..

Blade::extend(function($value) {
    return preg_replace('/\@var(.+)/', '<?php ${1}; ?>', $value);
});

หลังจากนั้นก็เริ่มต้นตัวแปรดังนี้

@var $var = "var"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.