laragear / clipboard
在您的应用内部剪切、复制和粘贴值。
Requires
- php: 8.*
- illuminate/events: 9.*|10.*
- illuminate/support: 9.*|10.*
Requires (Dev)
- orchestra/testbench: ^7.22|8.*
This package is auto-updated.
Last update: 2024-08-30 01:44:09 UTC
README
在您的应用程序中复制、剪切和粘贴。没错。
use Laragear\Clipboard\Facades\Clipboard; public function foo() { Clipboard::copy('test'); } public function bar() { Clipboard::paste(); // 'test' }
成为赞助商
您的支持使我能够保持此包免费、更新和可维护。或者,您也可以 传播这个信息!
要求
- PHP 8 或更高版本
- Laravel 9, 10 或更高版本
安装
您可以通过composer安装此包
composer require laragear/clipboard
使用方法
Clipboard 在您的应用中工作方式类似于您正常的剪贴板。
使用Clipboard在应用程序内部移动值可以避免不必要地注册到服务容器中,或者使用函数或缓存移动值。
复制和粘贴
复制一个值将复制对象的引用,或者如果是基本类型如字符串、整数或数组等,则复制其值。它像任何其他函数一样工作。
use Laragear\Clipboard\Facades\Clipboard; use App\Models\Article; $article = Article::find(5); // Copy a value Clipboard::copy($article); // Edit the reference after has been copied. $article->title = 'The new title!';
粘贴将粘贴您想要的次数。如果剪贴板为空,它接受一个默认值。
// Paste a value Clipboard::paste()->title; // 'The new title'
克隆
有时您可能实际上想要克隆对象而不是复制其引用。在这种情况下,请使用 clone()
方法。
use Laragear\Clipboard\Facades\Clipboard; use App\Models\Article; $article = Article::make(['title' => 'Original title']); // Clone an object Clipboard::clone($article);
由于它是克隆,原始变量将与之后粘贴的变量不同。
$article->title = 'Different title'; echo Clipboard::paste()->title; // "Original title"
剪切和拖拽
剪切的工作方式类似于复制,但当前上下文中的值将被分配为 null
。
use Laragear\Clipboard\Facades\Clipboard; $article = 'This is a big wall of text.'; // Cut a value Clipboard::cut($article); echo $article; // ''
同时,pull()
将从剪贴板检索值并将其从中删除。如果剪贴板为空,它接受一个默认值。
use Laragear\Clipboard\Facades\Clipboard; $text = Clipboard::pull(); echo $text; // 'This is a big wall of text.'
清除
您可以使用 clear()
在任何时候清除剪贴板。
use Laragear\Clipboard\Facades\Clipboard; Clipboard::copy('I am going to dissapear.'); Clipboard::clear(); echo Clipboard::paste(); // ''
方法传递
为了您的方便,您不需要检索剪贴板对象来执行某些操作。剪贴板将传递所有方法调用到复制的或克隆的对象。
use Laragear\Clipboard\Facades\Clipboard; use App\Models\Article; $article = Article::make(['title' => 'Original title']); // Copy a value Clipboard::copy($article); // Some lines after... Clipboard::save();
这是怎么工作的?
它只是注册了一个单例,它在请求的生命周期中或整个命令期间保持一个值。就是这样。
Laravel Octane 兼容性
- 没有使用过时的应用程序实例的单例。
- 没有使用过时的配置实例的单例。
- 没有使用过时的请求实例的单例。
- 没有在请求期间写入静态属性。
使用此包与Laravel Octane应该没有问题。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件 darkghosthunter@gmail.com 联系,而不是使用问题跟踪器。
许可证
此特定包版本根据发布时的MIT 许可证条款许可。
Laravel 是 Taylor Otwell 的商标。版权所有 © 2011-2023 Laravel LLC。