getPlugins()->apply("php"); $project->setConfig(function ($c) { $c->setEntry("com/example/script/primary.php"); $c->setPackageName("com.example.script.php"); $c->setLogo("logo.png"); }); $project->getTasks()->add("taskName1", function ($task) use ($console) { $task->getActions()->add("actionName", function ($action) use ($console, $task) { $action->onPerform(function () use ($console, $action, $task,) { $console->log("taskName." . $action->getName() . " onPerform"); $task->getOutputs()->addProperty("hello", "hi", false); }); }); }); $project->getTasks()->add("taskName2", function ($task) use ($console, $project) { $task->dependsOn("taskName1"); $task->getActions()->add("actionName", function ($action) use ($console, $project) { $action->onPerform(function () use ($console, $action, $project) { $console->log("taskName." . $action->getName() . " onPerform"); // 获取 taskName1 的输出属性 hello, 这里是 hi $console->log($project->getTasks()->getByName("taskName1")->getOutputs()->getProperty("hello")); // 移除 taskName1 的输出属性 hello $console->log($project->getTasks()->getByName("taskName1")->getOutputs()->removeProperty("hello")); }); }); }); $project->getTasks()->add("taskName3", function ($task) use ($console, $project) { $task->dependsOn("taskName2"); $task->getActions()->add("actionName", function ($action) use ($console, $project) { $action->onPerform(function () use ($console, $action, $project) { $console->log("taskName." . $action->getName() . " onPerform"); // 获取 taskName1 的输出属性 hello, 这里是 nil $console->log($project->getTasks()->getByName("taskName1")->getOutputs()->getProperty("hello")); }); }); });