読者です 読者をやめる 読者になる 読者になる

ajaxの時ってビューロジックをサーバ側に置く?クライアント側?

ざざっとメモ。
例えば Employee というモデルがあり、 salaly プロパティを持っているとする。
DBに保存されてるのかどっかのAPIから取得するのかなどは問わない。

<?php
// こんな感じで社員オブジェクトが取れるとする
$employee = Employee::find($employee_id);
// で給料はこれで取れるとする
echo $employee->salaly, PHP_EOL // 200000


で、まぁテンプレ側で給料を表示する場合は、カンマ区切りで表示したいとする。
テンプレート変数に上記の $employee がアサインされてるとすると、

<html>
<body>
<?php echo number_format($employee->salaly) ?>
</body>
</html>

こんな感じかな。
それでじゃあこの仕様には意味が無いけど、この給料を非同期でajaxを用いて表示したいとする。
ajaxAPIを作ってそれをテンプレートから呼ぶことになると思うけど、
そのajaxAPIの返却値である給料にはカンマを入れるべきだろうか?
めんどくさいのでRESTかつjsonで返すと仮定すると、

GET http://example.com/employee?employee_id=1

こんな風に呼び出たら、

{
    salaly: 200000
}

こう?それとも

{
    salaly: 200,000
}

こう?

前者ならjs側でnumber_format相当のものを実装しないといけないし、
後者ならビューに特化しすぎてるので、そのテンプレートだけに特化したものになりそう。
また前者の場合でかつajaxでないページもあった場合、
そちらはサーバ(php)側で処理するから
ビューロジックはサーバ側にもクライアント側にも置かなくてはいけないので
同じ言語で書いているならいいが、
そうでないならビューロジックの定義が重複してしまう。
といったところで悩んでいたりする今日この頃。