Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]funkcja zagnieżdżone i opendir x2
michau666
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.05.2008

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


Witam,

mam 2 pytania teoretyczne:
  1. Czy można zagnieżdżać we własnej funkcji inną własną funkcję?
  2. Czy można korzystając z otwartego folderu czytając jego zawartość otworzyć nastepny, zczytać go, zamknąć i dopiero po tym zamknąć drugi?
A tak dodatkowo to czy wykorzystanie drzewka folderów do skonstuowania menu rowijanego jest dobrym pomyslem czy to pomysl zeby sie napracować a wyniki i tak beda marne?
Go to the top of the page
+Quote Post
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


ad.1. można, ale efekt nie będzie taki jak się spodziewasz. funkcja zdefiniowana wewnątrz innej funkcji jest nadal funkcją globalną. jedyna różnica, to fakt ze zostaje ona zdefiniowana dopiero w momencie wywołania funkcji macierzystej. co gorsza wywołanie funkcji macierzystej więcej niż raz spowoduje błąd redeklaracji funkcji, np.:
  1. <?php
  2. function a()
  3. {
  4. function b()
  5. {
  6. echo 'B';
  7. }
  8. echo 'A';
  9. b();
  10. }
  11.  
  12. b(); // funkcja b() nie istnieje - Fatal error: Call to undefined function b() in ...
  13. a(); // OK - AB
  14. b(); // OK - teraz funcja b() już jest zdefiniowana - ABB
  15. a(); // redeklaracja funkcji b() - Fatal error: Cannot redeclare b() (previously declared in ...) in ...
  16. ?>


ad.2. można, ale zdecydowanie odradzam zastosowanie do budowania systemu menu. rozwiązanie będzie zależne od systemu operacyjnego, systemu plików oraz uprawnień dostępu do niego (utrudnienia na niektórych hostingach). jeżeli nie chcesz sie bawić z bazą danych to zdecydowanie polecam pliki w standardzie XML do budowania wszelkich drzewiastych struktur

pozdrawiam.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 05:29