Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Automatyczna deklaracja kilku klas na raz, ja zainicjować wiele klas hurtowo...
zephyr7
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.11.2005

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


Piszę prosty VC framework (zamiast M mam tylko klasę do przetwarzania sql),

Jak zainicjować wiele klas na raz?

Czy poniższy kod jest bezpieczny?

//podaję listę klas do zainicjowania
$uses=array('db','form','validate'....);

foreach ($uses as $cls){

$cls=substr(strip_tags(strtolower($cls)),0,25);
include_once CLASSES.$cls.'_class.php';

//chodzi mi szczególnie o tą linjkę....
eval ('$'.$cls.'= new '.$cls.';');

}



Co chcę zrobić? Chcę w dowolnym miejscu programu wpisać np. $db->get("username"), bez konieczności tworzenia ręcznie $db=new db;

Jeśli mam 20 klas, ręczne definiowanie wszystkiego wygląda kretyńsko...

Z drugiej strony, korzystanie w eval, jak wyżej również...


Czy jest jakiś prostszy sposób? Wiem, że funkcją __autoload można zastąpić include, ale czy jest analogiczna funkcja od razu deklarująca klasę? (np. $db=new db;)

z góry dzięki za pomoc


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dipter
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 14
Dołączył: 28.11.2010
Skąd: Kraków

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


Według mnie, i jest to chyba jeden z lepszych sposób to jak wyżej Destroyerr napisał rejestr. Do tego jakiś prosty loader bibliotek. Załóżmy tworzysz metodę, która dodaje do tablicy wszystkie znalezione biblioteki .php w katalogu "x", a potem je tylko ładujesz. Rejestr - Dodajesz tu obiekty, które Ci są obecnie potrzebne. Lub też możesz zamiast rejestru korzystać z singletonów. Jak wolisz - do twojej dyspozycji.
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 19:54