Forum » Programiranje » [PHP] Podajanje spremenljivke (objekta) ostalim skriptam
[PHP] Podajanje spremenljivke (objekta) ostalim skriptam
NeOman ::
Hum, morda malce nerodno formiran naslov, ampak trenutno ga ne znam boljse opisat.
Da malce poenostavim problem. V zacetni datoteki bi zelel inicializirati objekt, ga zapisat v spremeljivko in to spremeljivko kasneje uporabljati skozi celotno aplikacijo.
index.php
module.php
Kaksen namig, keyworld, povezava ali resitev - vse je dobrodoslo. Hvala.
Da malce poenostavim problem. V zacetni datoteki bi zelel inicializirati objekt, ga zapisat v spremeljivko in to spremeljivko kasneje uporabljati skozi celotno aplikacijo.
index.php
$db = new DB( ... ); ... include 'module.php';
module.php
... $result = $db->fetchRow( $query );
Kaksen namig, keyworld, povezava ali resitev - vse je dobrodoslo. Hvala.
http://xhtml.si - HTML, CSS in JavaScript po vaši meri.
NeOman ::
Ubistvu imam nekako tako:
V core.php se nastavi $db, nato pa bi zelel to spremeljivko uporabljati znotraj $page->loadApplicationModel(). Ta metoda dejansko poklice zeljeno PHP datoteko.
include_once 'settings.php'; include_once 'core' . DS . 'core.php'; try { $request = new Request( $_SERVER[ 'REQUEST_URI' ] ); if ( $request ) { $page = new Loader( $request ); $page->loadApplicationModel(); $page->loadApplicationView(); } } catch (Exception $e) { if ( SYSTEM_DEBUG == 1 ) dump( $e->getMessage() ); exit(); }
V core.php se nastavi $db, nato pa bi zelel to spremeljivko uporabljati znotraj $page->loadApplicationModel(). Ta metoda dejansko poklice zeljeno PHP datoteko.
http://xhtml.si - HTML, CSS in JavaScript po vaši meri.
Ziga Dolhar ::
Em - global? (global $db)
https://dolhar.si/
Zgodovina sprememb…
- spremenil: Ziga Dolhar ()
NeOman ::
global je very very evil solution. :)
Mislim, da bo slo, ce podam v Loader konstruktor spremeljivko in jo nato v metodi ustrezno nastavim.
OK, mi je uspelo.
in nato v metodi loadApplicationModel
Ce pa ugotovim kaksne drawbacke pa sporocim. Hvala vsem za pomoc.
Mislim, da bo slo, ce podam v Loader konstruktor spremeljivko in jo nato v metodi ustrezno nastavim.
OK, mi je uspelo.
$page = new Page( $request, $db );
in nato v metodi loadApplicationModel
$db = $this->database;
Ce pa ugotovim kaksne drawbacke pa sporocim. Hvala vsem za pomoc.
http://xhtml.si - HTML, CSS in JavaScript po vaši meri.
Zgodovina sprememb…
- spremenil: NeOman ()
Ziga Dolhar ::
V praksi sem pri mnogih projektih videl ta način (podajanja kot argumenta pri ustvarjanju objektov), ja. Global je evil, ampak sem mislil da pač "to" iščeš :).
https://dolhar.si/
680x0 ::
Če je instanca Db objekta potrebna za delovanje Page objekta, potem jo podaj kot argument v konstruktorju, drugače pa v objektu Page za to narediš public funkcijo s katero lahko instanco objekta notri preneseš tudi kasneje:
$db = new Db(); $page = new Page(); $page->setDb($db);
Zgodovina sprememb…
- spremenil: 680x0 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Shranjevanje v sejoOddelek: Izdelava spletišč | 985 (718) | faca5 |
» | PHP include(); problemOddelek: Programiranje | 980 (769) | DuleKrtola |
» | Uporaba spremenjivke iz JavaScript v PHPOddelek: Programiranje | 1428 (1067) | direstrait |
» | PHP in objektno programiranje (strani: 1 2 )Oddelek: Programiranje | 12086 (10553) | kivi113 |
» | ASP.NET + C# vprašanjeOddelek: Programiranje | 2765 (1779) | Morenov |