PhpStormに完全に乗り換えた

PhpStormを購入した、からはや1ヶ月が経過してどうだったかという話。

結論から書くと「自分は」完全に乗り換えるに至った。
「自分は」と書いたのは人によってはNetBeansで十分な条件を満たしてる可能性が大いにあるから。

まずPhpStormがNetBeansより優れている点

  • 参照元検索がNetBeansより精度が高い
    そもそも乗り換えた理由がこれ。
    SymphonyでNetBeansだと出てこなかった参照元がPhpStormだと出た。
  • IDEからVagrantが叩ける
    これは地味に便利
    2016-07-24 (4).png
  • IDEからSSHが繋がる
    Windows環境で使うには非常に便利
    キャプチャ.PNG
  • gistに直接コードを投げれる
  • メモリ使用量がNetBeansより少ない
    NetBeans使ってた時はメモリ1GBとか普通に使ってたけど、PhpStormは多くて500MBぐらいで済んでる。
  • ダークテーマがある
    NetBeansはエディタのテーマ編集できたけど、IDE全体のテーマを編集することが(多分)できない。
    PhpStormはIDE全体を(3種類だけど)変更出来る。
  • エディタのテーマにVisual Studio 2012/2013がある
    NetBeansでも頑張ればできるけど、用意されてるので楽
    http://www.phpstorm-themes.com/themes-list?title=Visual+Studio&field_tags_tid=All&field_tags_tid=All

逆にNetBeansが優れている点

  • 無料
    初年度1万円弱、2年目7000円強、3年目5000円半ばの金額を払えない、もしくは30日間のトライアルの結果払う価値を感じなかった場合はNetBeansでよい。
  • 日本語対応
    中学1年レベルの簡単な英語すら読む気のない人は自動的にこっち。
  • 複数のプロジェクトを同時に開ける
    このせいでメモリ使ってる説はあるけど個人的には便利でPhpStormで開けないのが悔やまれる。

こんなところです。
参照元検索の精度+ダークテーマで俺的にはもう乗り換えるしかなかったんですけど、まさかSSHまで叩けるとは思ってなくて複数プロジェクト開けないのは残念だけどNetBeansから完全に移行しました。

PhpStormを購入した

netbeans-logo.png3rPeiTKt_400x400
NetBeansからの乗り換えです。
今日仕事中にNetBeansだと参照元一覧に出てこないfunctionがあったんだけど、別の人が使ってるPhpStormだと出てきたので勢い余ってトライアル期間すらすっ飛ばしてライセンス購入した。
近いうちにPhpStormに乗り換えてどうだったか?の記事を上げると思います。

動的に生成したファイルをAWS SDK 2 for PHPでEC2からS3に転送する

AWS SDK 3ならStreamが使えるので、比較的簡単に転送できると思うんだけど、環境が稼働済みのPHP 5.3だったので下手にバージョンアップすることが許さない。

さらに、フレームワークはZend frameworkとEthnaっていう初めて聞いたフレームワークを、外注先の会社独自frameworkがwrapしてるっぽくて、この先一体どうなっちゃうの!?状態。

結果から書くとまる1日半かかって対応したので、恐らく参考にならないけどその対応方法。
(ちなみにその外注先の会社、どうやら知り合いの会社っぽくて業界狭すぎと思った。)

続きを読む

CodeIgniterで日本語名のファイルをメールに添付する際の注意

CodeIgniterに限らずかもしれませんが試してませんのでCodeIgniterって事で。

  • 発生した問題
    CodeIgniterから日本語名(マルチバイト全般?)のファイルをメールに添付して送信すると日本語部分が消える。
    データ自体に異常は発生しませんでした。例)送信時;日本語filename.txt → 受信したファイル:filename.txt
  • 解決方法
    ファイル名をISO-2022-JPにエンコードする。
    例)$this->email->attach(mb_convert_encoding(“日本語filename.xls”, ‘ISO-2022-JP’, ‘UTF-8’));

    system/libraries/Email.phpの_build_message()メソッドで

    for ($i=0; $i < count($this->_attach_name); $i++)
    {
    $filename = $this->_attach_name[$i];
    $basename = basename($filename);
    $ctype = $this->_attach_type[$i];

    というところがあるので、
    $basename = basename($filename);

    $basename = mb_substr(mb_strrchr($filename, "/"), 1);
    に置き換える。

array_multisortでSORT_DESCを指定でWARNING

PHPで多次元配列をソートするときってarray_multisortを使用すると思うんですけど、以下の記述でWarningが出たのでメモ。

foreach($data as $key => $value):
	$sort_key[$key] = $value["rate_max"];
endforeach;
array_multisort($sort_key, SORT_DESC, SORT_NUMERIC, $data);

Warning: array_multisort(): Argument #1 is expected to be an array or a sort flag

調べたところ、 $sort_key が配列として宣言されていなかったのが理由らしいので、 foreach の前で $sort_key = array(); と宣言することで解決

[Dev]CodeIgniter2.0+Smarty3.1の設定メモ

会社で1回やったのにもかかわらず同じ箇所でハマったのでメモっておく。

CodeIgniter 2.0.3を使用
http://sourceforge.jp/projects/codeigniter/releases/

Smarty 3.1.11を使用
http://www.smarty.net/download

CodeIgniter+Smartyライブラリ
http://www.coolphptools.com/codeigniter-smarty

参考にしたサイト
http://blog.kaikai999.lolipop.jp/?eid=1
http://ameblo.jp/nagoya-web/entry-10920476439.html

続きを読む