![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 1 Dołączył: 6.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Chciałem się dowiedzieć, kiedy NALEŻY stosować wyjątki w OOP? Chodzi mi o konkretne przykłady i jakieś dobre wytłumaczenie.
Wyjątki jak sama nazwa wskazuje, ale np . Kod $a=5; $b=0; if($a<$5){ ... } Też mogli byśmy użyć wyjątków? i czy powinno się? bless |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 1 Dołączył: 6.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
zend dziękuje:) Posłucham się i poćwiczę(IMG:style_emoticons/default/smile.gif)
Pozdrawiam Na podstawie waszych odpowiedzi, napisałem klasę do tworzenia miniatur. Proszę o ocenę skryptu:) Napiszcie co można poprawić itd. Za odpowiedzi dziękuje:) Kod <?php //Autor: Podgur class ImageException extends Exception { public function __toString() { $ret = 'Powstal blad<br /> Komunikat: '.$this->getMessage().'<br />Plik: '.$this->getFile().'<br />Wiersz: '.$this->getLine(); return $ret; } } class ImageClass { public $image; //konstruktor pobierający obrazek function __construct($url) { //Sprawdzanie czy istnieje plik graficzny podany w konstruktorze if(!file_exists($url)) { //W przypadku nie istnienia pliku throw new ImageException('Podany plik nie istnieje'); }else{ $this->image=$url; } } public function resize($height,$width,$quality=60) { //Brak obsługi formatu png i bmp //Pobranie nazwy pliku $namefile = $this->image; //Wycięcie rozszerzenia $type = substr(strstr($namefile,'.'),1); //Tablica z formatami $rozszerzenia=array("jpg","jpeg","gif"); if(!in_array($type,$rozszerzenia)) { throw new ImageException('Zly format pliku'); } //Nagłówek header("Content-Type: image/$type"); switch($type){ //Rozszerzenie *.jpg/jpeg case "jpg": $img = imagecreatefromjpeg($this->image); break; //Rozszerzenie *.gif case "gif": $img = imagecreatefromgif($this->image); break; } $mini = imagecreatetruecolor($width,$height); //Stworzenie miniatury imagecopyresized($mini,$img,0,0,0,0,$width,$height,imagesx($img),imagesy($img)); switch($type){ //Rozszerzenie *.jpg/jpeg case "jpg": imagejpeg($mini, "mini".rand(1,100)."_$namefile", 70); break; //Rozszerzenie *.gif case "gif": imagegif($mini, "mini".rand(1,100)."_$namefile", 70); break; } } } try { //wywolanie obiektu klasy. Jako parametr dajemy scieżke, bądź nazwę pliku $photo = new ImageClass('a.jpg'); //wywolanie metody resize() $photo->resize(1000,1000); //Przyjmuje 3 parametry: wysokosc,szerokosc i jakość miniatury } catch(ImageException $error) { echo $error; } ?> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.09.2025 - 21:33 |