renanliberato / exposer-store
PHP 包,用于通过类似 Redux 的 API 管理应用状态
0.3.2
2020-08-17 23:53 UTC
Requires
- firebase/php-jwt: ^5.2
README
在类似 Redux 的 API 中管理后端应用状态
安装
composer require renanliberato/exposer-store
入门
此代码片段使用了几乎所有可用的 API,所以请查看它,并检查您是否可以在您的应用中重现它。
$initialState = [ 'name' => 'Renan' ]; $nameReducer = function($state, $action) { switch ($action['type']) { case 'RENAME': $state['name'] = $action['name']; return $state; default: return $state; } }; class LogMiddleware extends \RenanLiberato\ExposerStore\Middlewares\AbstractMiddleware { public function process($action) { var_dump($action); return $this->next($action); } } $store = new \RenanLiberato\ExposerStore\Store\Store( $initialState, [ 'name' => $nameReducer ], [ LogMiddleware::class ] ); // This will use a cookie to save and load your app state. $store->setPersistor(new \RenanLiberato\ExposerStore\Persistors\CookiePersistor('my_app_cookie', 'my_key')); echo json_encode($store->getState()); // {"name":"Renan"} $store->action(['type' => 'RENAME', 'name' => 'José']); echo json_encode($store->getState()); // {"name":"José"}