【问题标题】:how to make load codeigniter database library inside a non codeigniter folder / file?如何在非 codeigniter 文件夹/文件中加载 codeigniter 数据库库?
【发布时间】:2016-05-12 18:06:01
【问题描述】:

我有一个名为superfunctions的文件夹

该文件夹与控制器、模型和视图文件夹处于同一级别

是否可以调用该文件夹的php文件中的数据库库。

我想使用this->db->query("") 等...

在里面或里面

application/superfunctions/function1.php

function1.php 只是纯函数/不是类

【问题讨论】:

    标签: php database codeigniter model-view-controller codeigniter-3


    【解决方案1】:

    实现目标的正确方法是将其设为帮助文件。

    /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';
        }
    }
    

    因此,当您在控制器中需要它时,只需执行以下操作:

    class Welcome extends CI_controller {
    
        public function __construct()
        {
            $this->load->helper('function1');
        }
    
        public function index()
        {
            echo function1();
        }
    }
    

    【讨论】:

      【解决方案2】:

      为什么不用这些函数创建一个库,然后自动加载该库 另一方面,您可以在子文件夹中创建一个类,例如

      <?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;
          }
      }
      ?>
      

      【讨论】:

      • 嗨我知道如何创建库,这也是我正在考虑的.. 但我认为我可以直接使用 db 类而不调用 CI 实例.. 我现在正在阅读 DB 类以及如何手动实例化它..我需要从单独的文件中手动调用它的原因是..该文件夹中的文件会很大..我将主要关注数据库操作..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-03
      相关资源
      最近更新 更多