MacDada
23.07.2010, 20:18:14
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
23.07.2010, 20:19:49
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
24.07.2010, 09:43:41
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
24.07.2010, 10:14:28
// kod skryptu
$pamiec = iles tam;
include 'file.php';
$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
24.07.2010, 10:59:22
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
24.07.2010, 12:06:23
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
26.07.2010, 15:38:16
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.