Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP5 przekazywanie parametrow
gokuf1ghter
post 10.06.2011, 16:40:20
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 24.05.2011

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


Staram sie rpzesiasc z ActionScript 3 na php5 obiektowego. Jedna sprawa to ze ciaglę sie gubię w kodzie, brak jakichkolwiek podpowiedzi do kodu, dziwnej, denerwujacej skladni (raz sie pisze $this->zmienna a innym razem $zmienna => $zmienna2 a jeszcze innym $zmienna) to na dodatek brak konkretnych informacji odnosnie konkretnego bledu.

Mam sobie jedna stronke html i php:

  1. if($kat = new RemoveDir("'./katalog'")){
  2. echo $kat->dirRemove;
  3. }
  4. $kat->readDir();


a tutaj mam sobie taka klase:

  1. <?php
  2.  
  3. Class RemoveDir{
  4.  
  5. var $dirRemove;
  6.  
  7. public function RemoveDir($dirToRemove){
  8.  
  9. $this->dirRemove = $dirToRemove;
  10.  
  11. }
  12.  
  13. public function readDir(){
  14.  
  15. $dir = opendir($this->dirRemove);
  16.  
  17. $files = Array();
  18.  
  19. if($dir){
  20.  
  21. while(false != ($plik = readdir($dir))){
  22.  
  23. array_push($files, $plik);
  24.  
  25. echo($plik);
  26. }
  27.  
  28. }else{
  29.  
  30. echo "nie mozna otworzyc kataslogu";
  31.  
  32. }
  33. }
  34. }
  35.  
  36. ?>


Oczywiscie nie dziala. W kolko wyskakuja jakies problemy. Ten tutaj mowi cos takiego:
Warning: opendir('./katalog') [function.opendir]: failed to open dir: No such file or directory in /home/ [adres] on line 14

Tyle ze jezeli zamiast $this->dirRemove wpisze $dirRemove to nie ma bledu tylko wyskakuje info "nie mozna otworzyc kataslogu" czyli wykonuje sie ta czesc kodu:
}else{

echo "nie mozna otworzyc kataslogu";

}


Nic nie kumam z tego jezyka.... zamiast sie go uczyc, poswiecam mase czasu na szukanie beznensownych bledow w banalnych rzeczach.... Wczesniej 30 min szukalem dlaczego nie dziala mi klasa, gdzie zamiast konstruktora takiego samego jak nazwa (RemoveDir), wpisalem "niby zalecany" _construct ktory oczywiscie traktowalo jak normalna funkcje a nie jak konstruktor (uzywam bluefish`a wersja 2.0.3).

Moje pytanie:

jak przekazac parametry do funkcji,

jak wywolac funkcje w konstruktorze (jezeli w konstruktorze napisze:

  1. public function RemoveDir($dirToRemove){
  2.  
  3. $this->dirRemove = $dirToRemove;
  4.  
  5.  
  6. }

wywala jakis blad.


Dlaczego takie echo sie nie wykona:
  1. public function RemoveDir($dirToRemove){
  2.  
  3. $this->dirRemove = $dirToRemove;
  4. echo "pisze pisze i nic"
  5.  
  6.  
  7. }

skoro owe echo jest w konstruktorze i (teoretycznie) powinno sie wykonac, kiedy w indexie tworze instancje tej klasy.

Ten post edytował Daiquiri 4.02.2012, 20:05:29
Powód edycji: [Daiquiri]: Na życzenie autora maskuje adres
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 - 08:00