Codeigniter 4:未定义类型 'App\Controllers\Encryption' 与 Encryption::createKey()

Codeigniter 4: Undefined type 'App\Controllers\Encryption' with Encryption::createKey()

我是 Codeigniter 4 框架的新手,我正在尝试使用 Encryption Service.

我想使用以下代码生成加密密钥以存储在 app/Config/Encryption.php 文件中:

$key = Encryption::createKey();

我正在尝试创建一个密钥,因为文档说:

The key should be as random as possible, and it must not be a regular text string, nor the output of a hashing function, etc. To create a proper key, you can use the Encryption library’s createKey() method.

但是当我尝试上面 link 中给出的代码时,VSCode 给我一个错误提示: 未定义类型'App\Controllers\Encryption'.

Codeigniter 给我错误:Class 'App\Controllers\Encryption' not found.

如何使用加密库并解决上述错误并使用 Encryption::createKey() 生成密钥?

你要注意命名空间。使用完整的命名空间:

$key = \CodeIgniter\Encryption\Encryption::createKey();

或使用 use 关键字首先“包含” class:

use CodeIgniter\Encryption\Encryption; // usually to be put at the top after the namespace `declaration`

...

$key = Encryption::createKey();