Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHPImageWorkshop
maniutek08
post
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 1
Dołączył: 23.08.2009

Ostrzeżenie: (0%)
-----


Czy ktoś korzystał z tego skryptu??
http://phpimageworkshop.com/

Próbuje go okiełznać, ale co chwila napotykam problemy.. klasa jest ładowana korzystając z autoload i prosta manipulacja obrazkiem wygląda tak :
  1. use PHPImageWorkshop\ImageWorkshop;
  2. $image = ImageWorkshop :: initFromPath('butterfly.png');
  3. $image -> resizeInPixel(250, null, true);
  4. $image -> save('news/', 'new.png', true, null, 8);


deklaracja metody initFromPath wygląda tak :
  1. public static function initFromPath($path)


a wyjątki są zrzucane w ten sposób :
  1. throw new ImageWorkshopException('Not an image file (jpeg/png/gif) at "'.$path.'"', static::ERROR_NOT_AN_IMAGE_FILE);


No i z tymi błędami mam problem :

Otóż podanie nieistniejącego pliku graficzne skutkuje wywaleniem błędu : Fatal error: Uncaught PHPImageWorkshop\Exception\ImageWorkshopBaseException: [2]: No such file found at "butterflysdf.png" thrown in i przerwaniem ładowania skryptu.. Ja jednakowoż nie chciałbym, aby skrypt się zatrzymywał i chciałbym ten błąd wyświetlić w widoku w przyjaźniejszej formie.. Więc próbuje w try i catch gdzie przy catch robię :
  1. catch(ImageWorkshopException $e) {
  2. $this -> error = 'Błąd : '.$e -> getMessage();
  3. }


ale tu okazuje się, że nie mogę użyć $this bo metoda jest static. Próbuje usunąć static z deklaracji, try i catch działa ale wtedy nie mogę użyć czegoś takiego :
  1. $image = ImageWorkshop :: initFromPath('butterfly.png');


no to robie zwyczajny obiekt :
  1. $image = new ImageWorkshop;


ale to przestaje mi widzieć inne klasy PHPImageWorkshop

W jaki sposób najmniej inwazyjny przechwycić błędy i wyświetlić w widoku bez przerywania skryptu??
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 23:33