Как включить файл представления из вспомогательной функции в Code Igniter? - PullRequest
1 голос
/ 21 марта 2012

Я пытаюсь написать функцию, которая включает файл header.php в файл помощника в Code Igniter.

// loads the header
function loadHeader() {
    require_once('../views/templates/header.php');
}

Однако PHP выдает ошибку

Message: require_once(../views/templates/header.php) [function.require-once]: failed to open stream: No such file or directory

Затем я попытался сделать адрес относительно представления, которое вызывает loadHeader().

// loads the header
function loadHeader() {
    require_once('templates/header.php');
}

Однако эта функция также выдает аналогичную ошибку.Какой адрес по отношению к?Есть ли для меня удобный способ узнать относительный путь, из которого PHP включает файл?

Ответы [ 2 ]

6 голосов
/ 21 марта 2012

Есть несколько способов сделать это:

Стандартный просмотр Загрузка:

<?php
function loadHeader() {
    $CI =& get_instance();
    $CI->load->view('templates/header');
}

Абсолют включает:

<?php
function loadHeader() {
    require_once(APPPATH.'views/templates/header.php');
}

Относительно включает:

<?php
function loadHeader() {
    $dir = getcwd();
    chdir(dirname(__FILE__));
    require_once(realpath('../views/templates/header.php'));
    chdir($dir);
}
2 голосов
/ 21 марта 2012

Получите экземпляр Codeigniter, затем используйте его load класс:

function loadHeader() {
    $CI =& get_instance();
    $CI->load->view('templates/header');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...