2018-09-03 18:32
浏览 49



I am doing this in language/english/pages/about-me_lang.php:

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

and I am given this error:

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

so $this doesn't have lang...

What should I use to get lang line variable?

And how to know that is $this anyway? I mean in the whole thing (Codeigniter)


Update 1:

enter image description here

it is here, in these files that nothing with $this-> will work, like $this->load or $this->lang.

What is $this here and how to get $this that I can load files there?

Update 2:

$this is applicable inside a class context.

So it means that a php file in views folder belongs to a class (is it from a controler class context?), but php file under language isn't, hm...

Update 3:

So, in view we have CI_Loader and based on this:

is responsible for what it is responsible :)

...but, under the language folder, we have a different thing:

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

i get:

Message: Undefined property: CI_Lang::$load

Now, how with CI_Lang class to get that variable?

Update 4:

Found the solution, posted it as separate answer down below!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duanliu8998 2018-09-03 19:44

    To get a line of text from a language file, but INSIDE files that are under language folder this is the solution:

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

    because, the class context there is CI_Lang.

    Thanks Rinsad for mantioning class context.

    点赞 打赏 评论
  • dsfhe34889 2018-09-03 18:42

    Use false in the second argument, when not sure if the line exists

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

    You can optionally pass FALSE as the second argument of that method to disable error logging, in case you’re not sure if the line exists

    Make sure the language class is loaded.

    Check my answer on another question which explained well.

    点赞 打赏 评论

相关推荐 更多相似问题