私はYii2をもっと深く学んでいるので、ウィジェットがコントローラのアクションに似たものを持つことが可能かどうか疑問に思っていましたか?例ではYii2。ウィジェットとアクション
:
class WTest extends Widget {
public ...;
public function init() {
...
}
public function run() {
Pjax::begin();
echo "<a href='".Yii::$app->urlManager->createAbsoluteUrl("test/add")."'>Add test</a>";
Pjax::end();
}
public function addThing() {
echo "hola"
}
}
は次にコントローラでの操作を行います。
class TestController extends Controller
{
public function actionAdd() {
$wObj = new WTest;
return $wObj->addThing();
}
}
をこの方法で問題がI以来、私は形でウィジェットを呼び出すときに設定されたすべてのパラメータを失うということです「新しいWTest」と呼ばれ、新しいインスタンスです。私も静的メソッドを使用してみましたが、同様の問題、任意のアイデアですか?ビューで
UPDATE は、私はこのようなウィジェットを呼び出しています:
WTest::widget([
'test' => 'hi'
]);
1つのインスタンスのみを持つようにしたい場合は、あなたはそれのために 'singleton'パターンを使用する必要があります。 – ThanhPV
私に例を挙げてもらえますか?私はこのケースでシングルトンをどのように適用するか分かりません – Eduardo