php-extended/php-api-fr-gouv-finances-mioga-object

该软件包已被废弃,不再维护。未建议替代软件包。

实现 php-extended/php-api-fr-gouv-finances-mioga-interface 库的库


README

连接到 mioga.finances.gouv.fr 实例的 php API 包装器

coverage build status

安装

此库的安装通过 composer 完成,所有类的自动加载通过它们的自动加载器完成。

  • 他们的网站下载 composer.phar
  • 然后运行以下命令将此库作为依赖项安装
  • php composer.phar php-extended/php-api-fr-gouv-finances-mioga-object ^7

支持的功能

功能状态主要方法
Global.Login实现MiogaEndpoint->login()
Magellan.Folder.Create实现MiogaFolder->createChildFolder()
Magellan.Folder.Browse实现MiogaFolder->hasFile()
Magellan.Folder.Rename实现MiogaFolder->rename()
Magellan.Folder.Delete实现MiogaFolder->delete()
Magellan.Folder.Copy实现MiogaFolder->copyTo()
Magellan.Folder.Move实现MiogaFolder->moveTo()
Magellan.Folder.ZDDownload实现MiogaFolder->zipDownload()
Magellan.Folder.ZSDownload实现MiogaFolder->zipDownloadToStream()
Magellan.File.Upload实现MiogaFolder->uploadFile()
Magellan.File.ZUpload实现MiogaFolder->uploadZipFileAndDecompress()
Magellan.File.Rename实现MiogaFile->rename()
Magellan.File.Delete实现MiogaFile->delete()
Magellan.File.Copy实现MiogaFile->copyTo()
Magellan.File.Move实现MiogaFile->moveTo()
Magellan.File.Lock实现MiogaFile->lock()
Magellan.File.Unlock实现MiogaFile->unlock()
Magellan.File.DDownload实现MiogaFile->download()
Magellan.File.SDownload实现MiogaFile->downloadToStream()
Magellan.MassDownload实现MiogaEndpoint->downloadSynchronize()
Magellan.MassUpload实现MiogaEndpoint->uploadSynchronize()
Bottin.User.Add实现MiogaBottinEndpoint->addUser()
Bottin.User.Delete实现MiogaBottinEndpoint->removeUser()
Bottin.User.List实现MiogaBottinEndpoint->getUserData()
Bottin.User.Enable实现MiogaBottinEndpoint->enableUser()
Bottin.User.Disable实现MiogaBottinEndpoint->disableUser()
Bottin.Status.List实现MiogaBottinEndpoint->getUserStatuses()

基本用法

全局上,如果发生错误,所有方法都会抛出 \PhpExtended\MiogaFinancesGouvFrApi\MiogaException 异常。这可能是连接问题、参数问题、服务器问题或其他任何问题。

Global.Login

此功能执行特定账户的登录和持久会话管理。


use PhpExtended\Endpoint\HttpEndpoint;
use PhpExtended\Endpoint\HttpJsonEndpoint;
use PhpExtended\MiogaFinancesGouvFrApi\MiogaEndpoint;

/* @var $client \Psr\Http\Client\ClientInterface */

$endpoint = new MiogaEndpoint(new HttpJsonEndpoint(new HttpEndpoint($client)));

创建代理对象是登录所需做的唯一事情。登录不是在对象的实例化时完成的,而是在实例中对有用信息进行第一次请求之前。

Magellan.Folder.Create

此功能在特定目录下创建目录。


$folder->createFolder('<subfolder name>');

此方法创建一个文件夹或尝试抛出异常。

Magellan.Folder.Browse

此功能在特定目录下列出文件和目录。


$folder = $mioga->getFolder($path);

此方法返回一个 MiogaFolder 对象或尝试抛出异常。

Magellan.Folder.Rename

此功能执行特定目录的重命名。


$folder->rename('<new name>');

此方法重命名文件夹或尝试抛出异常。警告,一旦此文件夹被重命名,节点无效,其所有层次结构应被视为无效节点。您必须丢弃当前节点的引用,并从父文件夹获取一个新的节点。

Magellan.Folder.Delete

此功能执行删除特定目录及其所有子层次结构。


$folder->delete();

此操作将删除文件夹或尝试抛出异常。警告:一旦删除此文件夹,节点将无效。应从父文件夹重新加载层次结构。

Magellan.Folder.Copy

此功能将特定目录及其所有子层次结构复制到另一个目录。


$folder->copyFolderToFolder($otherFolder);

尝试复制整个层次结构或抛出异常。

Magellan.Folder.Move

此功能将指定目录及其所有子层次结构移动到另一个目录。


$folder->moveFolderToFolder($otherFolder);

尝试移动(剪切粘贴)整个层次结构或抛出异常。警告:一旦移动此文件夹,节点将无效。应从父文件夹重新加载层次结构。您必须丢弃当前节点的引用并从父文件夹获取一个新的引用。

Magellan.Folder.ZDDownload

此功能直接下载目标文件夹。文件夹及其所有文件层次结构将被压缩成zip文件。


$data = $folder->zipDownload();

此对象上的zipDownload方法返回表示下载文件夹的zip文件的原始数据。警告:此方法将整个文件下载到内存中,可能会超出大文件的内存限制。因此,建议使用流式下载方法。

Magellan.Folder.ZSDownload

此功能以流式方式下载目标文件夹。文件夹及其所有文件层次结构将被压缩成zip文件。


$stream = fopen($localpath);
$folder->zipDownloadToStream($stream);

此对象上的zipDownloadToStream方法不返回任何内容,但通过将zip文件下载到指定的输出流来执行流式下载。此方法会阻塞。

Magellan.File.Upload

此功能将来自真实文件系统给定路径的文件上传。


$folder->uploadFile($filePath);

此方法将在$filePath位置上传文件,或尝试抛出异常。如果给定的路径上不存在文件,它也会抛出异常。

Magellan.File.ZUpload

此功能从真实文件系统的给定路径上传zip文件,并将其解压到文件系统中。


$folder->uploadZipFileAndUncompress($filePath);

此方法将在$filePath位置上传文件,或尝试抛出异常。如果给定的路径上不存在文件,或文件无法解压,它也会抛出异常。

Magellan.File.Rename

此功能执行特定文件的重命名。


$file->rename('<new name>');

尝试重命名文件或抛出异常。警告:一旦文件被重命名,节点将无效。应从父文件夹重新加载层次结构。您必须丢弃当前节点的引用并从父文件夹获取一个新的引用。

Magellan.File.Delete

此功能执行特定文件的删除。


$file->delete();

尝试删除文件或抛出异常。警告:一旦文件被删除,节点将无效。应从父文件夹重新加载层次结构。

Magellan.File.Copy

此功能将特定文件复制到另一个目录。


$file->copyFileToFolder($otherFolder);

尝试复制文件或抛出异常。

Magellan.File.Move

此功能将指定文件移动到另一个目录。


$file->moveFileToFolder($otherFolder);

尝试移动(剪切粘贴)文件或抛出异常。警告:一旦文件被移动,节点将无效。应从父文件夹重新加载层次结构。您必须丢弃当前节点的引用并从父文件夹获取一个新的引用。

Magellan.File.Lock

此功能执行特定文件的锁定。


$file->lock();

尝试锁定文件或抛出异常。

Magellan.File.Unlock

此功能执行特定文件的解锁。


$file->unlock();

尝试解锁文件或抛出异常。

Magellan.File.DDownload

此功能直接下载目标文件。


$data = $file->download();

MiogaFile对象上的download方法返回文件的原始数据。警告:此方法将整个文件下载到内存中,可能会超出大文件的内存限制。因此,建议使用流式下载方法。

Magellan.File.SDownload

此功能以流式方式下载目标文件。


$stream = fopen($localpath);
$file->downloadToStream($stream);

此对象上的 downloadToStream 方法不返回任何内容,而是通过将文件下载到指定的输出流来执行流式下载。此方法为阻塞式。

Magellan.MassDownload

此功能在本地文件夹和 mioga 实例中的文件夹之间执行文件夹层次结构同步,通过递归下载远程服务器上的所有文件并将它们保存到本地文件夹层次结构中。


$endpoint->downloadSynchronize($miogaFolder, $localFolder);

此方法尝试下载所有文件并将它们写入文件系统,或者在尝试过程中抛出异常。

Magellan.MassUpload

此功能在本地文件夹和 mioga 实例中的文件夹之间执行文件夹层次结构同步,通过递归将本地文件夹层次结构中的所有文件上传到远程服务器。


$endpoint->uploadSynchronize($localFolder, $miogaFolder);

此方法尝试上传所有文件并将它们写入文件系统,或者在尝试过程中抛出异常。

Bottin.User.Add

此功能执行特定用户的添加。


$bottinApi->addUser($user_email);

如果无法通过电子邮件在 ldap 中找到用户,则此方法抛出 MiogaException,如果进程成功则返回 true,如果失败则返回 false。

Bottin.User.Delete

此功能执行特定用户的删除。


$bottinApi->deleteUser($miogaUser);

此方法删除指定的用户或在尝试过程中抛出异常。

Bottin.User.List

此功能执行所有可用用户的列表。


$userList = $bottinApi->getUserData();

// to be able to get specific users, do:
foreach($userList as $user)
{
	/* @var $user \PhpExtended\MiogaFinancesGouvFrApi\Bottin\MiogaUser */
	// do something
}

此方法返回所有用户或在尝试过程中抛出异常。

Bottin.User.Enable

此功能重新激活已禁用的用户。


$bottinApi->enableUser($miogaUser);

如果成功,则此方法返回 true,如果失败则返回 false,并在服务器失败的情况下抛出异常。

Bottin.User.Disable

此功能禁用活动用户。


$bottinApi->disableUser($miogaUser);

如果成功,则此方法返回 true,如果失败则返回 false,并在服务器失败的情况下抛出异常。

Bottin.Status.List

此功能执行所有可用状态的列表。


$statusList = $bottinApi->getUserStatuses();

// to be able to compare with existing statuses, do:
foreach($statusList as $status)
{
	/* @var $status \PhpExtended\MiogaFinancesGouvFrApi\Bottin\MiogaStatus */
	if($status->getIdent() === '<value to compare>')
	{
		// do something
	}
}

此方法返回所有用户状态或在尝试过程中抛出异常。

许可证

MIT(见许可证文件)。