CakePHP:无法从自定义包加载类

CakePHP: Unable to load class from custom package(CakePHP:无法从自定义包加载类)
本文介绍了CakePHP:无法从自定义包加载类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我们想在我们的一个控制器中使用 FPDF 库.

We want to use the FPDF library in one of our controllers.

我们创建了以下文件:

app
-Lib
--Fpdf
---files.php
---fpdf.php
---fdpf_wrapper.php <-- this is our class (FdpfWrapper) which extends the base FPDF class

就在控制器类之前,我们试试这个:

Right before the controller class, we try this:

App::uses('FpdfWrapper', 'Lib/Fpdf');

但每次都失败.我们做错了什么?

But it fails every time. What are we doing wrong?

推荐答案

首先,必须注册包路径才能与 App::usesLib/Fpdf没有这样的,默认只注册核心包.

First of all, package paths must be registered in order to be used with App::uses, and Lib/Fpdf is no such one, by default only the core packages are registered.

您可以扩展现有包的路径,在您的情况下为 Lib:

You could either extend the paths for an already existing package, in your case that would be Lib:

App::build(array('Lib' => array(APP . 'Lib' . DS . 'Fpdf' . DS)));

然后使用 App::uses('FpdfWrapper', 'Lib');

http://book.cakephp.org/2.0/en/core-utility-libraries/app.html#adding-paths-for-app-to-find-packages-in

或者更好地添加一个新包:

or better add a new package:

App::build(array('Lib/Fpdf' => array(APP . 'Lib' . DS . 'Fpdf' . DS)), App::REGISTER);

http://book.cakephp.org/2.0/en/core-utility-libraries/app.html#add-new-packages-to-an-application

然后你可以使用 App::uses('FpdfWrapper', 'Lib/Fpdf');

最后但并非最不重要的一点,当然文件名必须遵循@Nunser 已经提到的 CakePHP 约定,即 fdpf_wrapper.php 必须重命名为 FdpfWrapper.php

And last but not least, of course the filename must follow the CakePHP conventions as already mentioned by @Nunser, ie fdpf_wrapper.php must be renamed to FdpfWrapper.php

这篇关于CakePHP:无法从自定义包加载类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Codeigniter htaccess to remove index.php and www(Codeigniter htaccess 删除 index.php 和 www)
htaccess mod_rewrite part of url to GET variable(htaccess mod_rewrite url 的一部分到 GET 变量)
Replacing a querystring parameter value using mod_rewrite(使用 mod_rewrite 替换查询字符串参数值)
.htaccess in subdirectory #39;overriding#39; parent htaccess(子目录“覆盖父 htaccess 中的 .htaccess)
How to rewrite SEO friendly url#39;s like stackoverflow(如何像stackoverflow一样重写SEO友好的url)
Is it okay to have a very long .htaccess file?(有一个很长的 .htaccess 文件可以吗?)