मुझे कोडनिर्देशक वैश्विक चर का उपयोग करने की आवश्यकता है, मैं प्रत्येक नियंत्रक पृष्ठ के लिए एक चर नहीं बनाना चाहता, मैं इसे PHP में शीर्षलेख में रखना चाहता हूं, लेकिन मुझे कोई समाधान नहीं मिला।

उदाहरण चर $template;

नियंत्रक 1:

    class Auth extends CI_Controller{
        public function index (){
         $this->load->view($template.'Auth')
       }
    }

नियंत्रक 2:

    class Loader extends CI_Controller{
        public function index (){
         $this->load->view($template.'Auth')
       }
    }
0
Abdullah Aytekin 4 सितंबर 2021, 04:46

2 जवाब

सबसे बढ़िया उत्तर
//-create new file in:-//
/application/helpers/template_helper.php

<?php 
function admin_template() {
    return "admin/home";
}



//-From controller Auth-//

class Auth extends CI_Controller{
    function __construct(){
        parent::__construct();
        $this->load->helper('template');
    }
        public function index (){
         $data['info']="enter info here....";
         $this->load->view(admin_template().'Auth', $data)
       }
    }

ऑटो लोड भी कर सकते हैं (template_helper.php): /application/config/autoload.php

0
Indra 4 सितंबर 2021, 03:33

आप ऐप/कोर के तहत एक बेस कंट्रोलर (जैसे BASE_Controller.php) भी बना सकते हैं; फिर यहां अपना वैश्विक चर परिभाषित करें (आधार नियंत्रक पर)। उसके बाद, बस नियंत्रकों से आधार नियंत्रक का विस्तार करें। यह दृष्टिकोण वैश्विक कार्यों के लिए भी उपयोगी हो सकता है जैसे यह जांचना कि उपयोगकर्ता लॉग इन है या नहीं, सेटिंग्स आदि जैसे कुछ वैश्विक डेटा प्राप्त करना। नीचे उदाहरण देखें:

ऐप/कोर/BASE_Controller.php

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');



class BASE_Controller extends CI_Controller
{    
    public function __construct()
    {
        parent::__construct();        
        $this->data['info'] = "Your value goes in here";
        // if the info is declared from a function, do as:
        $this->data['logged_in'] = $this->checkStatus();
    }
    function checkStatus(){
     return false;
    }
    
   
}

फिर ऐप/नियंत्रक/नियंत्रक.php में

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Dashboard extends BASE_Controller {

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

    public function index()
    {
       $this->load->view($template.'Auth',$this->data);
    }

}

आप अपने वेरिएबल को विचारों से $array_index के रूप में आसानी से एक्सेस कर सकते हैं; उदाहरण के लिए, यदि आपने $this->data['info'] परिभाषित किया है, तो एक्सेस इस प्रकार है:

$info;
//likewise, if you have $this->data['user_id'], access it as:
$user_id;

फोर कंट्रोलर जो बेस कंट्रोलर का विस्तार करता है, बस इसे इस तरह एक्सेस करें:

//$this->data['variable'];
//example;
$user_id = $this->data['user_id'];
0
Coding Sniper 4 सितंबर 2021, 06:32