как получить имя контроллера из URL в codeigniter? - PullRequest
0 голосов
/ 08 февраля 2019

URL-адрес:

https://localhost/caseTest/index.php/c_case_type_questions/master/c_case_type_questionset/id/1

Мне нужно получить c_case_type_questions сверху URL-адреса, есть ли способ получить его коротким путем?

Ответы [ 3 ]

0 голосов
/ 08 февраля 2019

Вы также можете использовать PHP "Magic Constant" __CLASS__, который при оценке в контроллере вернет имя класса контроллера.

В настоящий момент я не могу проверить следующую идеюи, возможно, не помнит правильно, но я считаю, $this->router->class также должен вернуть имя контроллера.Класс router загружается во время запуска платформы и сохраняет имена классов и методов в качестве свойств класса.

0 голосов
/ 16 февраля 2019

На вашем контроллере,

public function myController(){
        $data['controller_name'] = $this->router->fetch_class(); //this is currently holding your controller name

        $this->load->view('templates/header', $data);
        $this->load->view('my_directory/page', $data);
        $this->load->view('templates/footer');
    }

Если вы хотите, чтобы имя вашего контроллера отображалось в вашем представлении, создайте папку в вашей папке просмотра CI с именем my_directory с файлом в ней page.php и напишитекод ниже внутри.

<?php echo $controller_name; ?>
0 голосов
/ 08 февраля 2019

Используйте функцию этого класса URL

$this->uri->segment(n); // n=1 for controller, n=2 for method, etc

для получения более подробной информации следуйте этому URL

https://www.formget.com/codeigniter-uri-segment/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...