【CakePHP】LocalStrageの使い方を考える

こんちには、フリーのITエンジニアでWeb(PHP:Laravel)のバッグエンドをメインにフルリモートでお仕事させて頂きながら、個人開発でiOSアプリを作っているMoritaです。

CakePHPで開発をしていて、遅まきながらLocalStorageを知りました。
どういうものなのか、どういった部分で困ったのかを紹介したいと思います。

LocalStrageとは?

ブラウザにデータを保有するものになります。
Cookieと何が違うの?と疑問に思う方もいると思います。

Cookieとは概ね以下の違いがあります。

1.保存容量が大きい。
ブラウザによって変わるが、約倍ほどの容量が使える。

2.サーバにデータ送信をしない。
CookieはSessionとしてサーバで扱うことができますが、LocalStrageは送信されません。サーバ側でデータを受け取りたい場合は後述します。

3.有効期限が半永久。
LocalStrageは消さない限り半永久的にのこります。Cookieは設定値によって変更できます。

サーバにデータを送るには?

先にも書きましたがLocalStrageはサーバ側にデータを送れません。
でもサーバ側でデータを使用したいことがあると思います。
その場合は以下の方法で送信することになります。

1.ajaxを使用する。

2.GETのパラメータクエリを使用する。

ネットで検索すると1.の方法がメジャーかと思います。
データ量や内容によっては2.の方法を使用した方が簡単だと思います。
状況に応じて選定をしましょう。

その他

LocalStrageと同じようなもので、SessionStrageというものがあります。
LocalStrageとの違いは、ウィンドウ単位での管理になるようです。
ちなみちLocalStrageとSessionStrageをあわせてWebStrageと言われています。

まとめ

LocalStrageは保存容量が多く半永久的に保存されますが、サーバにデータ送信されません。送信するためにはajaxやGETのクエリパラメータを使用することになります。

コメント

タイトルとURLをコピーしました