簡體   English   中英

如何在php類中調用函數?

[英]How can I call a function in a php class?

這是一個示例代碼:

樣例代碼

我想在另一個頁面中調用它:

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');

如您的示例代碼所示,該類位於另一個名稱空間中:

<?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     
}

要在另一個命名空間中使用類,您需要指出文件的位置:首先包括該類(手動或自動加載)

然后,您可以通過2種方式創建實例。 第一種use -keyword

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

或指向絕對類:

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

希望這會幫助您:

  1. 確保包括實際文件,而不僅僅是文件所在的文件夾。
  2. 確保從中調用類的文件使用與類文件相同的名稱空間。 如果不是,則必須使用完整的名稱空間調用該類。
  3. 利潤。

當我開始使用名稱空間時,確實讓我耐心了一下,但是一旦習慣了,就不太難了。 我建議盡管使用自動裝帶器。 設置起來有點麻煩,但是一旦完成,它就會幫上大忙。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM