我想知道Laravel是否有一些内置的状态机机制?如果没有,那么使用这个名为Finite(https://github.com/yohang/Finite)的优秀库的最佳方法是什么.
这就是我所拥有的(用例:工作板):
首先,我让我的模型"有状态":
use Finite\StatefulInterface;
class Offer extends Eloquent implements StatefulInterface {
Run Code Online (Sandbox Code Playgroud)
然后在我的商品控制器的商店行动中:
$stateMachine = new StateMachine();
$stateMachine->addState(new State('created', StateInterface::TYPE_INITIAL));
$stateMachine->addState('draft');
$stateMachine->addState(new State('published', StateInterface::TYPE_FINAL));
$stateMachine->addTransition('preview', 'created', 'draft');
$stateMachine->addTransition('publish', 'draft', 'published');
$stateMachine->setObject($offer);
$stateMachine->initialize();
Run Code Online (Sandbox Code Playgroud)
根据我的理解,当用户预览商品时(例如),我应该致电:
$stateMachine->apply('preview').
Run Code Online (Sandbox Code Playgroud)
我的问题是:
如何跟踪应用程序中的所有状态和转换?我是否在我的商品模型中存储状态?我是否要创建其他表格?
我有一个ckeditor实例,我使用以下命令添加了一个自定义对话框:
CKEDITOR.dialog.add('quicklinkDialog', function(editor) {
return {
title: 'Quick Links',
minWidth: 400,
minHeight: 200,
contents: [
{
id: 'tab1',
label: 'Add a quick link',
elements: [
{
type: 'html',
html: '<p>This is some text and then: <a href="">Click me!</a></p>'
}]
};
});
Run Code Online (Sandbox Code Playgroud)
我想在对话框内的链接上添加一个"click"事件监听器.单击该链接时,内容将插入到我的textrea中(对话框也将关闭).
谁知道我怎么做到这一点?提前致谢!