Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Deklaracja funkcji
Forum PHP.pl > Forum > Przedszkole
kubek3898
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";
}
Crozin
W PHP nie ma potrzeby by definiować sygnaturę funkcji przed jej użyciem, stąd brak takiej możliwości.
kubek3898
A właśnie ja mam taką potrzebę 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

netmare
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.
muniekw
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.
Sephirus
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 smile.gif

Dobrze jest oddzielić logikę od warstwy prezentacji wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.