Привет, я новичок в Codeigniter. Из моего понимания BASEPATH
, он используется для активации платформы Codeigniter. Код
defined('BASEPATH') OR exit('No direct script access allowed');
используется в верхней части страницы, чтобы предотвратить прямой доступ к контроллеру. Но это не работает в моем коде. Когда я пытаюсь получить прямой доступ к представлению через контроллер, оно загружается. Я проверил index.php
и BASEPATH
определен BASEPATH
. Пожалуйста посоветуй.
defined('BASEPATH') OR exit('No direct script access allowed');
defined
: проверяет, существует ли данная именованная константаBASEPATH
: он BASEPATH
из зарезервированных имен codeigniterOR exit
выводит строку: 'No direct script access allowed'
exit
- вывести сообщение и завершить текущий скрипт.Другие ссылки: PHP 5 Constants
defined('BASEPATH') OR exit('No direct script access allowed');
используется, чтобы убедиться, что запрос прошел через index.php
в корневом каталоге. Это делается по таким причинам, как проверка загрузки всех базовых классов Codeigniter, установка определенных переменных и т.д.
Так что, да, вы сможете получить доступ к файлу вида, если вы проходите через контроллер.
Надеюсь это поможет!
localhost/application/views/view_file.php
? Если это так, то нет, вы не должны быть в состоянии из-за файла .htaccess в папке приложения.
Используйте этот код перед началом класса, например:
defined('BASEPATH') OR exit('No direct script access allowed');
class Dataentry extends CI_Controller { }
When I try to directly access a view via controller
, как вы напрямую получили доступ к контроллеру?