我有一个带有命名空间的类,它还需要许多其他类。主要课程是
<?php
/**
* Deals with PDF document level aspects.
*/
namespace Aspose\Cloud\Pdf;
use Aspose\Cloud\Common\AsposeApp;
use Aspose\Cloud\Common\Product;
use Aspose\Cloud\Common\Utils;
use Aspose\Cloud\Event\SplitPageEvent;
use Aspose\Cloud\Exception\AsposeCloudException as Exception;
use Aspose\Cloud\Storage\Folder;
class Document
{
public $fileName = '';
public function __construct($fileName='')
{
$this->fileName = $fileName;
}
/**
* Gets the page count of the specified PDF document.
*
* @return integer
*/
public function getFormFields()
{
//build URI
$strURI = Product::$baseProductUri . '/pdf/' . $this->getFileName() . '/fields';
//sign URI
$signedURI = Utils::sign($strURI);
//get response stream
$responseStream = Utils::ProcessCommand($signedURI, 'GET', '');
$json = json_decode($responseStream);
return $json->Fields->List;
}
}
我在index.php
中使用这个<?
ini_set('display_errors', '1');
use Aspose\Cloud\Pdf;
$document=new Document;
echo $document->GetFormFields();
//or like this
echo Document::GetFormFields();
//also tried this
echo pdf::GetFormFields();
?>
错误
Fatal error: Class 'Document' not found in /var/www/pdfparser/asposetry/index.php on line 5
文档类路径为 Aspose / Cloud / Pdf / Document.php
尝试一次
如果我使用包含在index.php include(Aspose/Cloud/Pdf/Document.php)
中,但后来进一步的命名空间产生错误。使用use
很难更改每个include
命名空间。 anybudy可以告诉我这个解决方案吗?
感谢。
答案 0 :(得分:2)
namespace Aspose\Cloud\Pdf;
class Document {
...
要use
这门课,你必须写
use Aspose\Cloud\Pdf\Document
您也可以在没有use
声明的情况下访问它,但每次都必须写全名:
$document=new Aspose\Cloud\Pdf\Document;
// Or if you're in a namespace, you'll have to do this:
$document=new \Aspose\Cloud\Pdf\Document;
答案 1 :(得分:1)
您正在尝试使用Document
命名空间内的Aspose\Cloud\Pdf
类,但实际上您正在使用没有命名空间的Document
类。您必须使用以下方法之一:
//Option one:
use Aspose\Cloud\Pdf\Document;
Document::getFormFields();
//Option two:
Aspose\Cloud\Pdf\Document::getFormFields();
另请注意,您不能将Document::getFormFields()
用作静态函数,因为它不是静态的。您应该将其设置为静态(将static
放在public
和function
之间)或在对象上使用它。