我的助手有点奇怪。首先,我刚刚开始使用cakePHP和MVC。也许我做错了什么,却找不到什么。
对于我的应用程序,我必须使用Xml文件来处理我的文本的语言(我知道有许多不同的方法来处理语言,但我需要使用这种方法)。所以我创建了一个帮助器(View\Helper\Xmlhelper.php中的XmlHelper.php)
<?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;
}
}从我的控制器中我得到了:
class EventsController extends Controller {
public $helpers = array('Html', 'Form','Xml');
public $components = array('Session');在我的大多数观点中,一切都很好,但也有一些只是着火
Error: Class 'Xml' not found File:
C:\wamp\www\cakephp\app\View\Helper\Xmlhelper.php Line: 11在我看来,我称之为:
<?php $this->Xml->getXml('dico',$ln,'thanks'); ?>
<h1><?php echo $this->Xml->readXml(array('texte'));?></h1>ln定义得很好。
如果有人能给我解释一下出了什么问题,我会很感激的!
发布于 2013-02-21 19:36:11
问题出在您在XmlHelper中使用的XML类。
基本上,您使用App:uses();是错误的,它一次只能包含一个类,所以您需要添加另一行:
App::uses('AppHelper', 'View/Helper');
App::uses('Xml', 'Path/To/Xml.php');我真的帮不上你的Path/To/Xml.php位,因为我不知道你把它保存在哪里了。如果它是一个外部库,那么它实际上应该在供应商的文件夹中。See here for more info。
https://stackoverflow.com/questions/15001029
复制相似问题