如何调用php类中的函数?

时间:2014-12-22 12:15:30

标签: php class imagick system.drawing.imaging

这是一个示例代码:

sample code

我想在另一个页面中调用它:

include 'root of class file';
$r = new ImagineResizer();

我收到了这个错误:

Fatal error: Class 'ImagineResizer' not found in C:\WampDeveloper\Websites\example.com\webroot\images.php on line 13

也可以调用函数:

$r->resize('c:/test1.jpg', 'c:/test2.jpg');

2 个答案:

答案 0 :(得分:2)

如示例代码所示,该类位于另一个名称空间中:

<?php 

namespace Acme\MyBundle\Service;
use Symfony\Component\HttpFoundation\File\File;
use Imagine\Image\ImagineInterface;
use Imagine\Image\BoxInterface;
use Imagine\Image\Point;
use Imagine\Image\Box;

class ImagineResizer {
    //-- rest of code     
}

要在另一个命名空间中使用某个类,您需要指出该文件的位置: 首先包括课程(手动或自动加载)     

然后你可以用两种方式创建一个实例。使用use - 关键字

的第一种方式
use Acme\MyBundle\Service\ImageResizer;
$object = new ImageResizer();

或指向绝对类:

$object = new \Acme\MyBundle\Service\ImageResizer();

答案 1 :(得分:1)

希望这会帮助你解决一些问题:

  1. 确保包含实际文件 - 而不仅仅是文件夹所在的文件。
  2. 确保您调用该类的文件使用与您的类文件相同的命名空间。如果没有,则必须使用完整的命名空间调用该类。
  3. 利润。
  4. 当我开始使用它们时,命名空间确实让我有耐心,但是一旦你习惯它,它就不会太难了。我建议使用自动加载器。设置起来有点麻烦,但一旦完成它就会有所帮助。