_onichannn

【Underscore.js】配列中に指定の値があるかを判定する。

inArrayのような感じ。

_.contains([1, 2, 3], 3);
// true

 

【Javascript】配列同士を繋ぐ。

メモ。

var alpha = ['a', 'b', 'c']
var numeric = [1, 2, 3];

// 配列 ['a', 'b', 'c', 1, 2, 3] を生成
// alpha と numeric は変化しない
var alphaNumeric = alpha.concat(numeric);

 

【Underscore.js】二つのコレクションで重複しない要素のみを抽出する。

メモ。

var test = [{a: 1},{b: 2}];
var test2 = [{a: 1}];

_.filter(test, function(obj){ return !_.findWhere(test2, obj); });

めっちゃ便利ぃぃ。

 

【PHP】空のjsonオブジェクトを生成する。

json_encode((object) null);

これで「{}」を出力することが出来る。

 

【Javascript】iPhoneのJavascriptで正しく日付文字列をパース出来ない問題。

PCでは出来てもiPhoneだと正しくパースしてくれないとかあるのね。

// PCだと問題ないけどiPhoneだとNaNになる。
var date = '2014-08-08T21:24:15+0900';
new Date(date);

なのでこうしてやる。

var date = '2014-08-08T21:24:15+0900';
var dateArr = date.split(/[- :T\+]/);
new Date(dateArr[0], dateArr[1]-1, dateArr[2], dateArr[3], dateArr[4], dateArr[5]);

これで完璧。

 

【Symfony2.3】アクセスしているホスト名によって開発と本番環境を分ける。

.htaccessで分岐させる。

デフォルトで入っているhtaccessファイルの42行目付近を下記のように変更。

開発環境のホストが.lcl、本番環境が.comの場合。

    # Rewrite all other queries to the front controller.
    RewriteCond %{HTTP_HOST} \.com$
    RewriteRule .? %{ENV:BASE}/app.php [L]
    
    RewriteCond %{HTTP_HOST} \.lcl$
    RewriteRule .? %{ENV:BASE}/app_dev.php [L]

こんな感じでOK。

 

【apache】mod_rewrite再入門。

ということで下記のページが非常に参考になる。

http://tm.root-n.com/server:apache:module:rewrite

クリックカウントも取れたりするんだね。

 

【Symfony2.3】現在の実行環境を取得する。

メモ。

$this->get('kernel')->getEnvironment();

これで環境を取得できるので、開発、テスト、及び本番環境で処理を分岐したい場合は下記のように記述すればOK。

if(in_array($this->get('kernel')->getEnvironment(), ['test', 'dev'])) {
    // テスト環境用の処理
}