首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cakephp Helper在某些视图上发生触发错误

Cakephp Helper在某些视图上发生触发错误
EN

Stack Overflow用户
提问于 2013-02-21 19:23:41
回答 1查看 199关注 0票数 1

我的助手有点奇怪。首先,我刚刚开始使用cakePHP和MVC。也许我做错了什么,却找不到什么。

对于我的应用程序,我必须使用Xml文件来处理我的文本的语言(我知道有许多不同的方法来处理语言,但我需要使用这种方法)。所以我创建了一个帮助器(View\Helper\Xmlhelper.php中的XmlHelper.php)

代码语言:javascript
复制
<?php
App::uses('AppHelper', 'View/Helper','Xml');


class XmlHelper extends AppHelper {
    var $xml = array();
    var $name = 'Xml';
    var $filename = '';

    public function getXml($filename, $language, $view) {
         $this->xml = Xml::toArray(Xml::build('Xml/'.$filename.'.xml')); //THE LINE
         $this->xml = $this->xml[$filename][$language][$view];
         $this->filename = $filename;
    }

    public function readXml($tags) {
        $tempXml =  $this->xml;
        foreach ($tags as $tag){
            $tempXml =  $tempXml[$tag];
        }
        return  $tempXml;
    }
}

从我的控制器中我得到了:

代码语言:javascript
复制
class EventsController extends Controller {
public $helpers = array('Html', 'Form','Xml');
    public $components = array('Session');

在我的大多数观点中,一切都很好,但也有一些只是着火

代码语言:javascript
复制
Error: Class 'Xml' not found File:
C:\wamp\www\cakephp\app\View\Helper\Xmlhelper.php Line: 11

在我看来,我称之为:

代码语言:javascript
复制
<?php $this->Xml->getXml('dico',$ln,'thanks'); ?>
<h1><?php echo $this->Xml->readXml(array('texte'));?></h1>

ln定义得很好。

如果有人能给我解释一下出了什么问题,我会很感激的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-21 19:36:11

问题出在您在XmlHelper中使用的XML类。

基本上,您使用App:uses();是错误的,它一次只能包含一个类,所以您需要添加另一行:

代码语言:javascript
复制
App::uses('AppHelper', 'View/Helper');
App::uses('Xml', 'Path/To/Xml.php');

我真的帮不上你的Path/To/Xml.php位,因为我不知道你把它保存在哪里了。如果它是一个外部库,那么它实际上应该在供应商的文件夹中。See here for more info

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15001029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档