Codeigniter: Message: вызов функции-члена line () в null - PullRequest
0 голосов
/ 03 сентября 2018

Codeigniter:

Я делаю это на языке / english / pages / about-me_lang.php:

<?php echo $this->lang->line('url_Contact')?>

и мне выдаётся эта ошибка:

Message: Call to a member function line() on null

так что это не имеет языка ...

Что я должен использовать, чтобы получить строковую переменную lang?

А как узнать, что такое $ this? Я имею в виду в целом (Codeigniter)

Спасибо

Обновление 1:

enter image description here

именно здесь, в этих файлах, ничего с $ this-> работать не будет, как $ this-> load или $ this-> lang.

Что такое $ this здесь и как получить $ this, чтобы я мог загрузить туда файлы?

Обновление 2:

$ это применимо в контексте класса.

Таким образом, это означает, что php-файл в папке views принадлежит классу (это из контекста класса контроллера?), Но php-файл в языке не является, хм ...

Обновление 3:

Итак, мы имеем CI_Loader и основаны на этом: https://www.codeigniter.com/user_guide/libraries/loader.html

несет ответственность за то, что он несет ответственность:)

... но под языковой папкой есть другая вещь:

because when I try: $this->load->model('functions');

я получаю:

Message: Undefined property: CI_Lang::$load

Теперь, как с классом CI_Lang получить эту переменную?

Обновление 4:

Нашел решение, разместил его как отдельный ответ внизу!

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Чтобы получить строку текста из языкового файла, но внутри файлов, которые находятся в языковой папке, это решение:

<?php echo $this->line('url_Contact')?>

потому что контекст класса там CI_Lang .

Спасибо Ринсад за упоминание контекста класса.

0 голосов
/ 03 сентября 2018

Используйте false во втором аргументе, если не уверены, существует ли строка

$this->lang->line('url_Contact', FALSE);

При желании вы можете передать FALSE в качестве второго аргумента этого метода, чтобы отключить ведение журнала ошибок, если вы не уверены, существует ли строка

Убедитесь, что языковой класс загружен.

Проверьте мой ответ на другой вопрос, который хорошо объяснил .

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