Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z ponownym wywołaniem funkcji (redeclare)
dybik
post 24.08.2014, 18:10:22
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.10.2008

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


Witam,

być może poruszam temat oczywisty ale nie mogę dać sobie z nim rady , proszę o pomoc:

Mam nadzieję że poniższy opis wystarczy do zobrazowania problemu:

posiadam dwa pola w formularzu:
<input type="file" name="obrazek_1" id="obrazek_1">
<input type="file" name="obrazek_2" id="obrazek_2">

Formularz po wysłaniu uruchamia funkcję:
  1.  
  2. class QuestionnaireController extends Controller{
  3. public function insert() {
  4.  
  5. $model_photo = $this ->loadModel('upload');
  6. $model_photo -> image('obrazek_1);
  7. $model_photo -> image('obrazek_2');
  8.  
  9. }
  10. }


Załadowanie modelu odnosi się do kodu:
  1. class UploadModel extends Model{
  2.  
  3. public function image($obrazek_nazwa) {
  4.  
  5. function resizeImage($field, $cat, $sett, $nazwa_fotki, $crop='medium')
  6. {
  7. }
  8.  
  9. resizeImage('obrazek_1', $cat, $sett, $nazwa_fotki_1, $crop='medium');
  10. }
  11. }
  12.  



Nie chodzi mi o kwestie tego co znajduje się w konkretnych klasach i metodach, a jedynie o kwestię konieczności wielkorotnego wywołania metody image() z różnymi parametrami podawanymi jako $obrazek_nazwa.
Dlaczego kiedy próbuję wywołać metodę image z różnymi parametrami (z poziomu klasy QuestionnaireController) serwer wyrzuca mi błąd "PHP Fatal error: Cannot redeclare resizeImage() (previously declared in /media/sf_htdocs/akuko/model/upload.php:53)" a jeżeli zrobię to do okoła czyli poprzez wywołanie resizeImage z wewnątrz klasy UploadModel a konkretniej w taki sposób:

  1. resizeImage('obrazek_1', $cat, $sett, $nazwa_fotki_1, $crop='medium');
  2. resizeImage('obrazek_2', $cat, $sett, $nazwa_fotki_2, $crop='medium');


wówczas problem nie występuje ?

Być może źle logicznie podchodzę do tematu , jednak czasami zachodzi koniecznośc wywołania dwa razy tej samej metody z innymi parametrami, spoza jej klasy, jak to wówczas zrobić? Czy jedynym rozwiązaniem jest przekazanie tablicy do klasy (w tym przypadku) UploadModel i dopiero w niej wykonanie operacji ?

Jeżeli coś mało jasno opisałem, oczywiście 'dopowiem'.

Z góry dzięki za pomoc w rozwiązaniu tej niejasności smile.gif

Ten post edytował dybik 24.08.2014, 18:11:11
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:04