CodeIgniter 4 - 如何在视图中显示 Flashdata?

Fél*_*roy 3 php codeigniter codeigniter-4

我正在将我的项目从 CodeIgniter 3 升级到 CodeIgniter 4,我试图在视图中显示 flashdata 消息,但不幸的是,我尝试的每种方法都会出现不同的错误。

在 CodeIgniter 3 中,我曾经这样调用:

<?php if ($this->session->flashdata('message')) : ?>
    <div class="alert alert-success alert-dismissible fade show" role="alert">
        <?php echo $this->session->flashdata('message'); ?>
        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    </div>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

我在 CodeIgniter 4 中尝试相同的操作,但收到此错误:

ErrorException
Undefined property: CodeIgniter\View\View::$session
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何实现这一目标?提前致谢。

por*_*ero 5

您可以直接使用 session() 函数:

<?php if (session()->getFlashdata('message') !== NULL) : ?>
    <div class="alert alert-success alert-dismissible fade show" role="alert">
        <?php echo session()->getFlashdata('message'); ?>
        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    </div>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)