我是codigniter的新手,我正在做一个菜单,所以我把所有的链接都放在同一个主文件中,不重复所有的时间。
我的代码是:main.php
<?=$this->load->view('headers/menu');?>
在menu.php中
<span><a href="<?=base_url()?>main/agregar">Agregar</a></span>
<span><a href="<?=base_url()?>main/modificar">Modificar</a></span>
<span><a href="<?=base_url()?>main/eliminar">Eliminar</a></span>
<span><a href="<?=base_url()?>main/buscar">Buscar</a></span>
所以,出现以下错误,我不知道为什么…有什么想法?非常感谢
遇到PHP错误
严重性:4096
消息:类CI_Loader的对象不能转换为字符串
文件名:视图/main.php
行号:15
回溯:
文件:C:'xampp'htdocs'everisgas'application'views'main.php功能:_error_handler
文件:C:'xampp'htdocs'everisgas'application'controllers'main.php9功能:view
文件:C:'xampp'htdocs'everisgas'index.php Line: 292require_once
这可以是关于框架的版本。例如在CI 2.6
中 <?php echo $this->load->view('headers/menu');?>
可在CI 3.0中使用
<?php $this->load->view('headers/menu');?>
如果你想加载视图的内容并打印它,那么你必须告诉CI以字符串形式返回视图内容,通过传递第三个参数作为true
,如果你不将第三个参数设置为TRUE,它将返回CI_Loader实例用于链接。
<?=$this->load->view('headers/menu', '', TRUE);?>
你可以试着在你的主视图中使用下面的方法:
<?php $this->load->view('headers/menu'); ?>
这将加载主视图文件中的菜单视图文件
为什么要回显<?=$this->load->view('headers/menu');?>
而不是这样做加载它在你的控制器之前加载主视图或使用include 'menu.php'
如果main.php
和menu.php
在同一目录
不要使用
<?=
因为它和
一样<?php echo
但是$this->load->view返回的不是字符串,所以你只需要使用
<?php $this->load->view('some_template');?>
, 回声 !
在Codeigniter 1.5.4(或更低)版本中使用load->view('headers/menu');?>将加载视图文件,但在Codeigniter 3.0版本,这将不再工作,而是你只需使用这样的load->view('headers/menu');div ?>
你可以这样写你的代码
<?php $this->load->view('vadmin/menu'); ?>
这是可以解决你的问题