Bagaimana untuk Mengumpul Templat Blade dari Strings dalam Laravel?

Linda Hamilton
Lepaskan: 2024-10-22 13:07:03
asal
948 orang telah melayarinya

How to Compile Blade Templates from Strings in Laravel?

Menyusun Templat Bilah daripada Rentetan

Ia adalah mungkin untuk menyusun templat bilah daripada rentetan daripada bergantung pada fail paparan. Untuk melakukan ini, anda boleh melanjutkan kelas BladeCompiler sedia ada dan melaksanakan kaedah tersuai.

Kelas Extended BladeCompiler

<code class="php">namespace Laravel\Enhanced;

use Illuminate\View\Compilers\BladeCompiler as LaravelBladeCompiler;

class BladeCompiler extends LaravelBladeCompiler {

    /**
     * Compile blade template with passing arguments.
     *
     * @param string $value HTML-code including blade
     * @param array $args Array of values used in blade
     * @return string
     */
    public function compileWiths($value, array $args = array())
    {
        $generated = parent::compileString($value);

        ob_start() and extract($args, EXTR_SKIP);

        // Include view contents for parsing within a catcher
        try
        {
            eval('?>'.$generated);
        }

        // Silent flush output buffer in case of exception
        catch (\Exception $e)
        {
            ob_get_clean(); throw $e;
        }

        $content = ob_get_clean();

        return $content;
    }

}</code>
Salin selepas log masuk

Penggunaan

Anda boleh menggunakan kaedah compileWiths lanjutan untuk menyusun templat bilah daripada rentetan:

<code class="php">$string = '<h2>{{ $name }}</h2>';
$compiled = BladeCompiler::compileWiths($string, array('name' => 'John Doe'));
echo $compiled;</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengumpul Templat Blade dari Strings dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!