我是一个真正的初学者,我试图安装PhpSpreadsheet在ThirdParty文件夹中的Codeigniter 4。我在网上找到的指令提到了"composer“,但是我不知道如何运行这个命令(我在Windows 10、XAMPP、Codeigniter 4.1.1和PHP7.3中)。我仍然想手动安装所有的东西。
所以我就这样说:
在PhpSpreadsheet.
公共$psr4 =[
APP_NAMESPACE => APPPATH, // For custom app namespace
'Config' => APPPATH . 'Config',
'PhpOffice\PhpSpreadsheet' => APPPATH . 'ThirdParty/PhpOffice/PhpSpreadsheet', ];
然后,我创建了如下所示的Example.php控制器:
<? php
namespace App\Controllers;
use \PhpOffice\PhpSpreadsheet\Spreadsheet;
use \PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class Example extends BaseController
{
public function index ()
{
$ spreadsheet = new Spreadsheet ();
}
}那么,仅这一行代码就会产生以下错误:
错误
找不到接口'Psr \ SimpleCache \ CacheInterface‘
第13行APPPATH \ ThirdParty \ PhpOffice \ PhpSpreadsheet \ Collection \ Memory.php
我不知道怎么修理。预先感谢所有愿意回答的人
发布于 2021-02-23 14:44:25
Php和任何其他库都有一些依赖项(主库中需要的库).So,我们通常使用包管理器,比如Composer (在PHP中)来处理类似的东西。在本例中,Phpoffice告诉您Psr\SimpleCache\CacheInterface是运行某些脚本所需的包。
在所有平台上安装/使用Composer软件包非常容易。安装后,您只需在代码中包含“供应商/Autooload.php”文件,并使用每个已安装的包。
还可以使用$config‘’composer_autoload‘= APPATH。,用于设置您的编写器供应商目录,以便由代码点火器本身自动加载。
要添加phpoffice/phpspreadsheet,只需在下面运行命令,所有依赖项都将自动为您安装。
composer require phpoffice/phpspreadsheet(供应商是composer包将安装到它上的目录。)
发布于 2021-02-23 17:36:15
好的,我从Codeigniter 4应用程序根目录启动了phpSpreadsheet下载和composer,然后创建了以下控制器:
<?php
namespace App\Controllers;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class Example extends BaseController
{
public function index()
{
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');
}
} 现在看来一切都正常了!不需要编辑其他文件。再次感谢那些回答我的人,这些信息是有用的。
https://stackoverflow.com/questions/66334823
复制相似问题