CodeIgniter Forums
get_instance function - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: CodeIgniter 4 (https://forum.codeigniter.com/forumdisplay.php?fid=28)
+--- Forum: CodeIgniter 4 Support (https://forum.codeigniter.com/forumdisplay.php?fid=30)
+--- Thread: get_instance function (/showthread.php?tid=66367)

Pages: 1 2


get_instance function - superior - 10-16-2016

Hello,

I'm currently exploring the new CodeIgniter 4, like the whole new idea so i'm preppin my code into the new version 4.
Saw the form_helper is not implemented at this moment, so i've used to one from version 3 for my coding.

Then I saw the "get_instance" is not available, did this changed or is there something we need to call in order to use this?

Thanks in advance


RE: get_instance function - sv3tli0 - 10-16-2016

Autoloading removed the need of such method.
Now you have static service container which you can access to get DB or other service where you need it.
You can directly call objects which will be auto find.


RE: get_instance function - superior - 10-17-2016

(10-16-2016, 08:31 AM)sv3tli0 Wrote: Autoloading removed the need of such method.
Now you have static service container which you can access to get DB or other service where you need it.
You can directly call objects which will be auto find.


Wow that's a huge improvement, thank you for your answer/knowledge!


RE: get_instance function - webdevron - 08-15-2019

(10-16-2016, 08:31 AM)sv3tli0 Wrote: Autoloading removed the need of such method.
Now you have static service container which you can access to get DB or other service where you need it.
You can directly call objects which will be auto find.

Could you please share any documentations or example regarding this issue? What is the process to assess a LIBRARY within HELPER?

Thanks in advance.


RE: get_instance function - dave friend - 08-15-2019

(08-15-2019, 06:47 AM)webdevron Wrote:
(10-16-2016, 08:31 AM)sv3tli0 Wrote: Autoloading removed the need of such method.
Now you have static service container which you can access to get DB or other service where you need it.
You can directly call objects which will be auto find.

Could you please share any documentations or example regarding this issue? What is the process to assess a LIBRARY within HELPER?

Thanks in advance.

If you examine a CIv4 helper source file you should find several examples. Here are a couple from url_helper.php

PHP Code:
$url = new \CodeIgniter\HTTP\URI($fullPath);
//or for a "service"
$config = \CodeIgniter\Config\Services::request()->config

In some cases, you might find it helpful to include a "use" directive in a helper. For instance, in form_helper.php you find

PHP Code:
use Config\Services

And then later in the file this simple piece of code uses "services"

PHP Code:
$request Services::request(); 



RE: get_instance function - DzS1 - 12-23-2020

(08-15-2019, 10:02 AM)dave friend Wrote:
(08-15-2019, 06:47 AM)webdevron Wrote:
(10-16-2016, 08:31 AM)sv3tli0 Wrote: Autoloading removed the need of such method.
Now you have static service container which you can access to get DB or other service where you need it.
You can directly call objects which will be auto find.

Could you please share any documentations or example regarding this issue? What is the process to assess a LIBRARY within HELPER?

Thanks in advance.

If you examine a CIv4 helper source file you should find several examples. Here are a couple from url_helper.php

PHP Code:
$url = new \CodeIgniter\HTTP\URI($fullPath);
//or for a "service"
$config = \CodeIgniter\Config\Services::request()->config

In some cases, you might find it helpful to include a "use" directive in a helper. For instance, in form_helper.php you find

PHP Code:
use Config\Services

And then later in the file this simple piece of code uses "services"

PHP Code:
$request Services::request(); 


Could you please share any example of how to get CI 4 session value in a custom PHP file?

folder structure

- CI4
- htdocs
-- index.php <- index file of CI
-- folder test
---- test.php <- Here I need some CI session value

Thanks in advance


RE: get_instance function - InsiteFX - 12-23-2020

For session in file.

PHP Code:
<?= session('item'); ?>

It is also chainable.

PHP Code:
<?php

$session 
session();

$tmp session()->item;
$tmp session()->get('item');

?>

Very easy with CodeIgniter 4.


RE: get_instance function - DzS1 - 12-24-2020

(12-23-2020, 10:06 PM)InsiteFX Wrote: For session in file.

PHP Code:
<?= session('item'); ?>

It is also chainable.

PHP Code:
<?php

$session 
session();

$tmp session()->item;
$tmp session()->get('item');

?>

Very easy with CodeIgniter 4.


In this case is session() a function that does not exist. Don't I have to load the session driver first? With Codeigniter 3 it was done this way
Code:
$CI =& get_instance();
$CI->load->driver('session');

How should that be done with CodeIgniter 4?


RE: get_instance function - InsiteFX - 12-24-2020

session(); is a helper method.


RE: get_instance function - DzS1 - 12-26-2020

(12-24-2020, 01:16 PM)InsiteFX Wrote: session(); is a helper method.

Thx for your feedback but I'm getting this error

Fatal error: Uncaught Error: Call to undefined function session() in ....

How can I load CI session helper in a custom PHP file?

Code:
<?php

$session = session();
print_r($session);

?>