codeigniter 模板解析带参数

发布于 2024-12-29 15:27:01 字数 502 浏览 0 评论 0原文

我正在开发一个基于“codeigniter”php 框架的 php CMS 项目。但这是一个普遍问题。我希望我的“视图”之一包含数据库中的一些动态内容,其中包含一些 php 代码。一种选择是在数据库中插入 php 代码,然后使用 eval() 运行它,因为只有管理员应该能够编辑数据库(我知道这绝对不安全),另一种选择是使用模板解析器,因为由于显而易见的原因,我不会选择第一个(除非有人真正说服我),我想知道一些事情

1-codeigniter(或任何其他框架)中的模板解析类旨在替换硬编码的模板数据 说 {title} 将被替换为 .<标题>.废话。 /标题>. (忽略点)

那么是否可以传递参数,比如

{f}blah,blah1{/f} => .<形式方法=“blah”动作=“blah1”>。或者 {bu}blah{/bu} => base_url(废话);

2-是否应该/可以在不使用模板类的情况下完成此操作,因为模板解析将需要比本机 php 代码更多的 cpu 周期。

I am working on a php CMS project based on "codeigniter" php framework. This is a general question though. I want one of my "view" to include some dynamic content off the database containing some php code. One option is inserting the php code in the database and then using eval() to run it, as only an admin should be able to edit the database (i know it is definitely not secure) other option is to use a template parser, since iam not going for the first one for obvious reasons (unless someone really convinces me to), i would like to know a few things

1- Template parsing class in codeigniter (or any other framework) is designed to replace hardcoded template data
say {title} will be replaced by .< title >. blah .< / title >. (ignore the dots)

so is it possible to pass parameters along with it say

{f}blah,blah1{/f} => .< form method="blah" action="blah1" >. or
{bu}blah{/bu} => base_url(blah);

2- Should/can this be done without using the template class at all, as template parsing will require more cpu cycles than a native php code.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

以歌曲疗慰 2025-01-05 15:27:01

也许它对你有帮助:
视图1:

<head>
<title><?=$title?></title>
<head>

视图2:

<?=$head?>
<body>
Hello
</body

控制器:

$subdata['title'] = 'My title';
$data['hello'] = $this->load->view('view1',$subdata,TRUE);
$this->load->view('view2',$data);

Maybe it helps you:
View1:

<head>
<title><?=$title?></title>
<head>

view2:

<?=$head?>
<body>
Hello
</body

Controller:

$subdata['title'] = 'My title';
$data['hello'] = $this->load->view('view1',$subdata,TRUE);
$this->load->view('view2',$data);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文