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šč | 1134 (867) | faca5 |
| » | PHP include(); problemOddelek: Programiranje | 1082 (871) | DuleKrtola |
| » | Uporaba spremenjivke iz JavaScript v PHPOddelek: Programiranje | 1547 (1186) | direstrait |
| » | PHP in objektno programiranje (strani: 1 2 )Oddelek: Programiranje | 13311 (11778) | kivi113 |
| » | ASP.NET + C# vprašanjeOddelek: Programiranje | 2944 (1958) | Morenov |