Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekazanie klasy do innej klasy, Przekazanie klasy do innej klasy
vadergb
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 10.06.2009

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


Dotychczas piszac skrypty np. chcac przekazac dostepne rzeczy z klasy obslugi bazy danych robilem to na zasadzie przekazania jej do nastepnej.

cos typu:
$klasa = news baza();
$klasa2 = news baza($klasa);

i potem np w klasa2:
  1. class klasa2 {
  2. private $mysqli;
  3. public function __construct(mysqli $mysqli) {
  4. $this->mysqli = $mysqli;
  5. }
  6. public function findAllNews() {
  7.  
  8. $result = $this->mysqli->query ( "SELECT * FROM my_news where title='DEU' limit 2" );
  9. $result_arr = array ();
  10. while ( $data = $result->fetch_object () ) {
  11. $result_arr [] = $data;
  12. }
  13. return $result_arr;
  14.  
  15. }
  16. }

Czy jest to najwydajniejszy sposob?

Czy jest mozliwosc zrobienia klasy publicznej nie uzywajac singletona?

Przy wiekszej ilosci klas do przekazania robi sie balagan:

np. trzeba przekazac klasy: obsluga bazy danych, obsluga $_POST (itp.), Klasa obslugujaca Sesje, Klasa ACL - i jeszcze kilka by sie znalazlo...
Te klasy powinny byc tak na dobra sprawe dostepne prawie wszedzie w kazdej innej klasi - Czy jest jakis inny sposob na przekazanie jej do innej klasy innym sposobem niz singleton?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vadergb
post
Post #2





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 10.06.2009

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


Cytat(fifi209 @ 17.08.2009, 15:28:02 ) *
Bardziej o coś takiego:

  1. class globals {
  2.  
  3. static private $vars;
  4.  
  5. static public function _get($name) {
  6. if (isset(self::$vars[$name])) {
  7. return self::$vars[$name];
  8. }else{
  9. return false;
  10. }
  11. }
  12.  
  13. static public function _set($name, $value) {
  14. return self::$vars[$name] = $value;
  15. }
  16. }


i potem używasz w innej klasie:
  1. globals::_set('zmienna', 'test');


hmm ale mowimy o zapisywaniu w tej klasie objektow nie zmiennych.
zrobimy np
  1. globals::_set('obiekt1', $object);


a potem:
  1. $obiekt1=globals::_get('obiekt1');

i w $obiekt1 mamy juz obiekt ktory chcemy.

Ale jest sens pchac w to nowa klase - przez to chyba skrypt traci na wydajnosci niz jakbysmy robili to za pomoca tradycyjnej metody:

  1. $obiekt1=new obiekt();
  2. $obiekt2=new obiekt1($obiekt1);


Zalezy mi na zeby jak najbardziej to bylo wydajne. To nie ma byc pod budowe xxx stron skrypt - tylko pod budowe okreslonej strony ktora docelowa bedzie odwiedzac sporo grupa ludzi.

pozdrawiam
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: 11.06.2026 - 11:20