Codeigniter:
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)
Thanks
Update 1:
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: https://www.codeigniter.com/user_guide/libraries/loader.html
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!
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.
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