Autor | Zpráva | ||
---|---|---|---|
Silver8000 Profil |
#1 · Zasláno: 23. 8. 2016, 19:16:21
Cau lidi,potrebuji pichnout....
mam tohle : <?php defined('BASEPATH') OR exit('No direct script access allowed'); class CI_Library { private static $instance; public function __construct(){ self::$instance =& $this; foreach (is_loaded() as $var => $class){ $this->$var =& load_class($class); } $this->load =& load_class('Loader', 'core'); $this->load->initialize(); log_message('info', 'Library Class Initialized'); } public static function &get_instance(){ return self::$instance; } } jde mi o to abych v kazde knihovne nemusel zadavat : $this->CI =& get_instance();
a pak to cele rozepisovat. takhle si to predstavuji po vytvoreni CI_Library : <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Web_System extends CI_Library { function __construct(){ parent::__construct(); } function My_Function(){ /*Cokoliv*/ } } ?> s jednoduchym pristupem : $this->Web_System->My_Function(); misto aby jsem to delal takhle : $this->CI->Web_System->My_Function(); jde o to ze kdyz mam 2 extend Library a obe jsou nacteny tak uz nemusim v ty druhy znova vyvolat tu prvni. Hledal jsem tuto odpoved vsude ale pokazdy jsem narazil na to jak si vytvorit vlastni Library ale uz tam nepsali jak na to aby byla sdilena. jako kdyz napriklad volam model a tam nemusim davat nic extra a pokazdy se dostanu do jakyho koliv modelu. Dik za vsechny rady... |
||
Časová prodleva: 5 měsíců
|
|||
Silver8000 Profil |
#2 · Zasláno: 28. 1. 2017, 06:23:26
A tohle je reseni problemu - uz zadne psani
$this->CI->VaseTrida->VaseMetoda(); :
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class CI_Library { public function __construct(){ $CI =& get_instance(); foreach($CI AS $Key=>$Val){ $this->{$Key} = $Val; } } } ?> <?php defined('BASEPATH') OR exit('No direct script access allowed'); class JakekolivJmenoVasiKnihovny extends CI_Library { public function __construct(){ parent::__construct(); } } ?> |
||
Časová prodleva: 8 let
|
0