


Penyelesaian kepada masalah yang templat Thinkphp tidak menghuraikan dan mengeluarkan secara langsung kerana kemahiran is_javascript
Contoh dalam artikel ini menerangkan penyelesaian kepada masalah bahawa templat Thinkphp tidak dihuraikan dan secara langsung mengeluarkannya sebagaimana adanya. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:
1. Soalan:
Saya sedang mempelajari templat thinkphp baru-baru ini, tetapi saya mendapati bahawa halaman templat itu keluar seperti sedia ada Selepas beberapa pencarian yang sukar, saya akhirnya menemui penyelesaiannya.
2. Penyelesaian:
Ramai orang telah menghadapi masalah yang sama __ROOT__, __PUBLIC__ dan __APP__ yang terkandung dalam rentetan yang diberikan kepada pembolehubah digantikan dengan laluan sebenar apabila dipaparkan dalam templat. Saya menemui masalah ini semasa menulis sistem pengurusan fail Timi.
Selepas membaca kod sumber daripada fail dan mengeluarkannya ke halaman, saya mendapati bahawa selagi ia adalah watak laluan TP, ia telah digantikan dengan laluan sebenar.
Contohnya:
Selepas halaman dikeluarkan, ia dipaparkan sebagai laluan sebenar /public/.
Dalam tempoh ini, saya telah melalui banyak percubaan, seperti penyulitan base64 semasa menetapkan, menyahkod semasa mengeluarkan templat, dan mendapati ia tidak berfungsi. Akhirnya, saya tidak dapat membantu tetapi melihat kod sumber Tp, dan mendapati bahawa dalam langkah terakhir kaedah paparan, "Pemalar laluan Tp" telah digantikan dengan laluan sebenar dengan memanggil kaedah teg. Semuanya normal sebelum kaedah render.
Saya pada asalnya merancang untuk menukar kod sumber untuk melaksanakan penyelesaian berikut untuk kasut kanak-kanak:
Bos, adakah ini penyelesaian sementara atau penyelesaian muktamad?
Tetapi saya rasa tidak salah untuk menambah pertimbangan dalam kaedah assign(),
Jika ia $this->assign('','',false), kandungan tidak akan diganti dan akan dikeluarkan seperti sedia ada.
Hasilnya, selepas membaca kod sumber ini, saya menyedari bahawa ia tidak semudah itu dan perubahannya terlalu besar.
Balasan terakhir daripada kanak-kanak lain menunjukkan penyelesaian terakhir:
"Anda boleh merujuk kandungan di sini: http://www.jb51.net/article/54217.htm(penggantian templat)
Dengan peraturan penggantian templat, semua rentetan __PUBLIC__ pada halaman akan digantikan Jika kita benar-benar perlu mengeluarkan rentetan __PUBLIC__ pada templat, kita boleh menambah peraturan penggantian, contohnya:
.
'--PUBLIC--' => '__PUBLIC__', // Gunakan peraturan baharu untuk mengeluarkan /Rentetan awam
)
Selepas menambah peraturan penggantian dengan cara ini, jika kita ingin mengeluarkan rentetan __PUBLIC__, kita hanya perlu menambah --PUBLIC-- dalam templat Kaedah keluaran rentetan gantian lain adalah serupa.
Selepas menambah peraturan penggantian dengan cara ini, jika kita ingin mengeluarkan rentetan __PUBLIC__, kita hanya perlu menambah --PUBLIC-- dalam templat Kaedah keluaran rentetan gantian yang lain adalah serupa.
Jadi, rancangan itu dikeluarkan:
Konfigurasikan dalam fail konfigurasi Tp config.php
//Pemulihan laluan fail Timi
'--AWAM--' => '__AWAM__',
'--APP--' => '__APP__',
'--URL--' => '__URL__',
'--ACTION--' => '__ACTION__',
'--SELF--' => '__SELF__',
'--INFO--' => '__INFO__',
'--EXT--' => '__EXT__'
),
Apabila membaca kod sumber, gantikan "path constant character" __ROOT__ dengan --ROOT--:
Kemudian konfigurasi TMPL_PARSE_STRING hanya diganti apabila templat dihuraikan, seperti yang ditunjukkan dalam rajah di bawah:
Sejak itu, masalah ini telah "sementara" dan "sempurna" diselesaikan.
Saya harap artikel ini akan membantu pengaturcaraan rangka kerja ThinkPHP semua orang.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Giteepages Statik Laman Web Penggunaan Gagal: 404 Penyelesaian Masalah dan Resolusi Ralat Semasa Menggunakan Gitee ...

Cara Menentukan Versi Pakej Tempatan dalam Projek PNPM dan Monorepo Apabila menguruskan projek menggunakan PNPM dan Monorepo, anda sering menghadapi keperluan untuk berkongsi kawasan tempatan antara projek ...

Mengapa kod saya tidak berkuat kuasa apabila menggunakan RXJS untuk beroperasi di sungai? Belajar RXJS ...

Penjelasan terperinci mengenai kaedah carian XPath di bawah nod Dom dalam JavaScript, kita sering perlu mencari nod tertentu dari pokok Dom berdasarkan ekspresi XPath. Sekiranya anda perlu ...

Penyelesaian kepada masalah yang fail pelayan tidak dapat dimuat turun selepas konfigurasi sftp.json Setelah mengkonfigurasi fail sftp.json, pengguna mungkin menghadapi ketidakupayaan untuk memuat turun fail pelayan sasaran ...

Bagaimana untuk menyelesaikan masalah imej telus dengan hasil transformasi unjuran OpenCV.js kosong. Apabila menggunakan OpenCv.js untuk pemprosesan imej, kadang -kadang anda akan menemui imej selepas transformasi unjuran ...

Kegagalan atribut ketinggian max komponen jadual elementplus dan penyelesaiannya adalah dengan menggunakan elemen ...

Mengenai vuematerialyear ...
