1つの方法は、sysConfig
データを必要とする任意のコントローラにプロパティを追加することです。 CIはすでにシンボルを使用しているため、変数の名前は$ configであってはなりません。これはConfig
クラスで定義され、設定されています。だから、この答えのために私は$sysConfig
を使用します。
class Some_controller extends CI_Controller
{
protected $sysConfig; //class property with scope to this controller
public function __construct()
{
parent :: __construct();
$this->load->model('sysConfig_model');
}
sysConfig_model
(図示せず)は、確立していると思われるテーブルを管理します。私はコードを表示しないので、そのモデルの関数を作り上げています。モデル関数get($id)
は、$id
に基づいて必要な "ユーザー"を取得し、そのデータを配列に返します。 (有効値の設定$id
は表示されません)
コントローラーは、このコントローラの機能のように、$this->sysConfig
のように必要に応じてプロパティを使用できます。
クラス定義が実際$this->sysConfig
に値を割り当てる
public function format_title()
{
if(isset($this->sysConfig){
$this->sysConfig['suckup'] = "the most highly regarded "
. $this->sysConfig['title']
. " in the world visit our site!";
}
}
...に続くは、このコードの次のビットで起こります。この例では、コントローラのindex()
関数は、データベースから取得するユーザーの「ID」である引数を受け取ることができます。
public function index($id = NULL)
{
//assign data to the class property $sysConfig from the model
$this->sysConfig = $this->sysConfig_model->get($id);
プロパティは非常に簡単にビューに渡すことができます。まずは吸います。
$this->format_title();
$data['userStuff'] = $this->sysConfig;
$this->load->view('some_view', $data);
} //end of index()
} //end of class Some_controller
some_view.php
<div>
<h4>Welcome <?php echo $userStuff['firstName']. " " . $userStuff['lastName']; ?></h4>
<p>I cannot say how swell it is to have <?php echo $userStuff['suckup']; ?></p>
</div>
"グローバル" のアイデアは本当にPHPでOOPの方法論に反している - または任意の他のOOP言語。
質問をする前に、文書をお読みください。たとえば、あなたはこれを介して行くことができますhttp://www.codeigniter.com/userguide3/database/results.html –
@ sayantan-das私はデータベースから任意のデータを選択することができますが、私はこれで何の問題もありません。テーブル$ sysConfig上のデータを$ Configという変数で選択し、直接アクセスします。 – 56356356356
次にヘルパーファイルを追加して、getConfig( 'config_name_here') 'のようなヘルパーに関数を書くと、リクエストされた設定値を取得できます。カスタムヘルパーをオートロードすると、そのヘルパー内のすべての関数が利用可能になりますあなたのプロジェクト全体を通して。 <?= getConfig( 'config_name')?> –