0

Ich habe einen Ordner superfunctions namensWie man codeigniter Datenbankbibliothek innerhalb eines noncoderigniter Ordners/Datei laden?

enter image description here

, die Ordner in gleicher Höhe ist mit dem Controller, Modell und Ansichten Ordner

ist es möglich, die die Datenbankbibliothek innerhalb der PHP-Dateien davon zu nennen besagter Ordner.

Ich möchte this->db->query("") usw. verwenden ...

auf oder in

application/superfunctions/function1.php

function1.php ist nur reine Funktion/keine Klasse

Antwort

0

warum nicht eine Bibliothek mit diesen Funktionen erstellen , und diese Bibliothek automatisch laden Auf der anderen Seite können Sie eine Klasse in Ihrem Unterordner wie

erstellen
<?php 
class My_super_class{ 

    protected $CI; 

    public function __construct(){ 
     parent::__construct(); 

     $this->CI =& get_instance(); 
    } 

    public function do_somthing($param1 = NULL){ 
     //param1 as array 
     $this->CI->db->insert('table', $param1); 
    } 

    public function check_login(){ 
     $this->CI->load->library('session'); 

     return (! empty($this->CI->session->userdata('id'))) ? TRUE : FALSE; 
    } 
} 
?> 
+0

Hi ich weiß, wie man eine Bibliothek erstellt, es ist auch, was ich bedenke .. bu Ich denke, ich kann die db-Klasse direkt verwenden, ohne CI-Instanz .. im Moment lese ich jetzt die DB-Klasse und wie man es manuell instanziieren .. der Grund, warum ich es manuell aus einer separaten Datei aufgerufen werden muss ist, dass .. die Dateien darin Ordner wird groß sein .. Ich werde hauptsächlich nur auf Datenbankoperationen konzentrieren .. – user2070715

2

Der richtige Weg, um Ihr Ziel zu erreichen, ist es, eine Hilfsdatei zu machen.

/application/helpers/function1.php

function1.php

<?php 
if(!function_exists('function1')) 
{ 
    function function1() 
    { 
     // Get the CodeIgniter instance by reference 
     // Basically, $this from the controller is now $CI within this function 
     $CI = &get_instance(); 

     $CI->db->query(""); 
     // do whatever 

     return 'hi'; 
    } 
} 

Also, wenn Sie es in Ihrem Controller müssen Sie dann nur:

class Welcome extends CI_controller { 

    public function __construct() 
    { 
     $this->load->helper('function1'); 
    } 

    public function index() 
    { 
     echo function1(); 
    } 
} 
Verwandte Themen