2015-07-17 3 views
0

я кодирование двигателя шаблона, herefor я сделал функцию:Php заголовки не работают, заголовки не послали

public function getFilename() { 
    $config = new Config('template_config.ini'); 
    if($this->filepath == null){ 
     $this->filename = $config->get("file")["default"]; 
    }else{ 
     if(array_key_exists($this->filepath, $config->get("file"))){ 
      $this->filename = $config->get("file")[$this->filepath]; 
     } else { 
      Redirect::to("/404"); 
      return $this; 
     } 
    } 
    return $this; 
} 

код побежал отлично, до тех пор, пока не больше. Он работает в правом поле, и он выполняет функцию перенаправления, равную: header("Location: ".$input); exit;. После заголовка echo выходит из строя, заголовок просто не соединяется.

Это все называется в индексе:

use lib\Template\Template_loader; 
use lib\Api\Input; 
require_once("Nytrix/autoloader.php"); 
new Template_loader(Input::get("path")); 

Тогда это вызывает конструктор, это вызывает функцию имени файла:

public function __construct($filepath){ 
    $this->filepath = $filepath; 
    $this->getFilename(); 

} 

Redirect::to($argument); функция: header("Location: ".$argument);. Никакой laravel не реализован

+0

и на ваш вопрос? вы говорите, что перенаправление работает так, что заголовки работают (местоположение) ... и затем спрашивают, почему soes не перенаправляет? – donald123

+0

Можете ли вы предоставить больше кода? В частности, код, который показывает, как вы вызываете 'getFilename'. Также эта функция не имеет смысла, почему getFilename перенаправляется? После отправки заголовка переадресации вы должны «выйти;». –

+0

Мой вопрос - почему он не перенаправляет. Поскольку я не получаю ошибки, и я просто хочу перенаправить, пусть это будет моей проблемой;). «Выход» не помогает. – Nytrix

ответ

1

Этот код немного не работает. Вызов Redirect::to("/404"); не устанавливает заголовки или что-то еще. Он генерирует объект Illuminate\Http\RedirectResponse, который должен быть возвращен с контроллера.

+0

Теперь я получаю этот ответ, я сам выполнил функцию Redirect :: to(). Никакой laravel не реализован, метка laravel не подходит. Кто-то добавил, что это все php. – Nytrix

+0

@Nytrix Ahh, это намного больше смысла. Я был немного смущен, так как не видел ничего конкретного Laravel, кроме функции «Redirect :: to()». Спасибо за разъяснения! – patricus