Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Deklaracja funkcji
-kubek3898-
post
Post #1





Goście







Czy da się TYLKO zadeklarować funkcję, a później dopiero ją zdefiniować? Mam na myśli coś takiego, co było w C++:

extern void fff();

później dopiero:

void fff()
{
cout << "blablall";
}
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


W PHP nie ma potrzeby by definiować sygnaturę funkcji przed jej użyciem, stąd brak takiej możliwości.
Go to the top of the page
+Quote Post
-kubek3898-
post
Post #3





Goście







A właśnie ja mam taką potrzebę (IMG:style_emoticons/default/smile.gif) . Mam taki kawałek kodu:

  1. $breadcrumbs = '';
  2.  
  3. switch($_GET['page'])
  4. {
  5. case 'index':
  6. {
  7. $breadcrumbs = 'Kokpit';
  8. //require_once "index.php";
  9. break;
  10. }
  11. case 'add_cash':
  12. {
  13. $breadcrumbs = 'Dodaj wpłatę';
  14. require_once "add_cash.php";
  15. break;
  16. }
  17. case 'edit_cash':
  18. {
  19. $breadcrumbs = 'Edytuj wpłatę';
  20. require_once "edit_cash.php";
  21. break;
  22. }
  23. case 'statistics':
  24. {
  25. $breadcrumbs = 'Statystyki';
  26. require_once "statistics.php";
  27. break;
  28. }
  29. case 'add_user':
  30. {
  31. $breadcrumbs = 'Dodaj nowego użytkownika';
  32. require_once "add_user.php";
  33. break;
  34. }
  35. case 'list_users':
  36. {
  37. $breadcrumbs = 'Lista użytkowników';
  38. require_once "list_users.php";
  39. break;
  40. }
  41. case 'profile':
  42. {
  43. $breadcrumbs = 'Twój profil';
  44. require_once "profile.php";
  45. break;
  46. }
  47. case 'settings':
  48. {
  49. $breadcrumbs = 'Ustawienia';
  50. require_once "settings.php";
  51. break;
  52. }
  53. case 'security':
  54. {
  55. $breadcrumbs = 'Bezpieczeństwo';
  56. require_once "security.php";
  57. break;
  58. }
  59. case 'license':
  60. {
  61. $breadcrumbs = 'Licencja';
  62. //require_once "license.php";
  63. licencja();
  64. break;
  65. }
  66. case 'logout':
  67. {
  68. $breadcrumbs = 'Wyloguj';
  69. require_once "logout.php";
  70. break;
  71. }
  72. case 'visit':
  73. {
  74. $breadcrumbs = 'Odwiedziny';
  75. require_once "visit.php";
  76. break;
  77. }
  78. case 'settlement':
  79. {
  80. $breadcrumbs = 'Rozliczenia';
  81. require_once "settlement.php";
  82. break;
  83. }
  84. case 'logs':
  85. {
  86. $breadcrumbs = 'Logowania';
  87. require_once "logs.php";
  88. break;
  89. }
  90. }


I teraz tutaj np tutaj:

  1. case 'license':
  2. {
  3. $breadcrumbs = 'Licencja';
  4. //require_once "license.php";
  5. licencja();
  6. break;
  7. }


Nie chcę, żeby w tym miejscu włączało plik (bo wtedy rozwala mi się styl), tylko chcę odwołać się do funkcji i dołączyć plik na sam koniec (wraz funkcją). Jednak wtedy wywala:

Fatal error: Call to undefined function licencja() in C:\xampp\htdocs\ESS\admin\index.php on line 71

Go to the top of the page
+Quote Post
netmare
post
Post #4





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

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


Nie wczytywałem się w Twój kod, ale nie ma potrzeby - zobacz create_function, call_user_function, is_callable,eval i szukaj rozwiązania dla siebie.
Go to the top of the page
+Quote Post
muniekw
post
Post #5





Grupa: Zarejestrowani
Postów: 243
Pomógł: 22
Dołączył: 1.06.2009
Skąd: Warszawa

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


Cytat(kubek3898 @ 7.02.2013, 18:23:22 ) *
Nie chcę, żeby w tym miejscu włączało plik (bo wtedy rozwala mi się styl), tylko chcę odwołać się do funkcji i dołączyć plik na sam koniec (wraz funkcją). Jednak wtedy wywala:

Fatal error: Call to undefined function licencja() in C:\xampp\htdocs\ESS\admin\index.php on line 71


A gdzie masz zdefiniowaną tą funkcję?
Jeśli chcesz z niej korzystać w tym pliku to musisz dołączyć plik w którym jest zdefiniowana.
Go to the top of the page
+Quote Post
Sephirus
post
Post #6





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Albo poczytaj po prostu o OB w PHP (Output Buffering - ob_start() ) i naucz się jak includować coś w jednym miejscu a wyświetlać w innym i takich problemów nie będzie o ile dobrze Cię zrozumiałem (IMG:style_emoticons/default/smile.gif)

Dobrze jest oddzielić logikę od warstwy prezentacji (IMG:style_emoticons/default/wink.gif)
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: 22.08.2025 - 14:29