Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcje w odzielnych plikach czy w jednym?
Forum PHP.pl > Forum > PHP
MacDada
Hej,

z tego co gdzieś czytałem, parser php ładuje wszystkie funkcje z pliku, nawet te, które są nie używane. Czy to prawda?

Jeśli tak, to czy bardziej opłaca się rozrzucić funkcje po wielu plikach i ładować tylko te, które rzeczywiście są potrzebne czy mimo wszystko trzymać wszystkie funkcje w jednym pliku (nie przeszkadza mi to, że może być ich dużo).

pozdr.
IceManSpy
Wg mnie lepiej trzymać wszystko w jednej. Bo tak to za każdym razem musiałbyś ładować X plików i nie wiesz, czy akurat w tym jest ta funkcja, którą potrzebujesz.
Pilsener
Każda klasa powinna być w oddzielnym pliku, funkcja podobnie, funkcje o podobnym przeznaczeniu można wrzucić do jednego pliku tworząc bibliotekę. Jeśli używasz klas to każda klasa powinna mieć nazwę np. Model_Forum_Posts co na dysku wygląda models/forum/posts.php, resztę załatwia autoloader. Z funkcjami gorzej, ale logika nakazuje, by ładować tylko te, które są aktualnie potrzebne. Można zrobić jakiś ręczny autoloader, czyli funkcję, która ładuje inne funkcje.
wookieb
  1. // kod skryptu
  2. $pamiec = iles tam;
  3.  
  4. include 'file.php';
  5. $pamiec = iles tam + file.php // obojetnie czy uzywasz funkcji z niego czy nie

Dlatego tak jak napisał Pilsener. Ładujesz zawsze kiedy potrzebujesz a tutaj to troszkę roboty jest i nie chodzi o autoloadery tylko odpowiednio zaprojektowanie aplikacji aby pobierała zawsze to co jest potrzebne.
piotr94
jeśli robisz moduły, to wtedy przypisujesz zestaw funkcji do danego modułu.
masz np. moduł modules/module.cos_tam.php a funkcje do niego masz w pliku functions/modules/functions.cos_tam.php
Wszystko tez zależy od skomplikowania danego projektu - czasem nie opłaca się robić systemu ładowania funkcji itd. Ale tu w decyzji pomoże Ci tylko zdrowy rozsądek
erix
Cytat
z tego co gdzieś czytałem, parser php ładuje wszystkie funkcje z pliku, nawet te, które są nie używane. Czy to prawda?

Tak.

Cytat
Jeśli tak, to czy bardziej opłaca się rozrzucić funkcje po wielu plikach i ładować tylko te, które rzeczywiście są potrzebne czy mimo wszystko trzymać wszystkie funkcje w jednym pliku (nie przeszkadza mi to, że może być ich dużo).

Zależy od sytuacji. Jeśli nie masz akceleratora zainstalowanego z interpreterem, wówczas lepiej się skłaniać do wrzucania jak największej liczby metod w jeden plik (oczywiście, w granicach rozsądku). Jeśli masz akcelerator - tu już jest tylko kwestia wygody.
MacDada
Jak pisałem to pytanie to robiłem projekt jeszcze funkcyjnie, ale poczytałem trochę o wzorcach projektowych, przeleciałem dokumentację OOP w PHP i postanowiłem używać obiektów i MVC. Tak więc sposób z autoloaderem podany przez Pilsenera na pewno znajdzie u mnie zastosowanie.

Pozdr. i dzięki za odpowiedzi.
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-2025 Invision Power Services, Inc.