モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

cakephp

CakePHP2.7以降はPHP5.2では動かない

今さらながらPHP5.2の環境で動くシステムを作らなければならなくて、でもまあCakePHP2系はPHP5.2対応だから大丈夫だよね、と思って作ってたのです。 が… 本番環境で動かしてみたら下記のようなエラーが出てはまりました。 PHP Parse error: syntax error, un…

CakePHPのUploadPackにPDFの画像化とサムネイル生成対応

これはCakePHP Advent Calendar 2014の15日目の記事です。大変遅くなってしまってすみません… CakePHPにはたくさんの便利なプラグインがあります。その中に、UploadPackという簡単にファイルのアップロードを行えるプラグインがあります。 特に、画像のアッ…

HTML5のrequired属性とエラーになった時のイベント

CakePHP2.3以降のformヘルパーでは、モデルのバリデーションで必須項目にしてあると、HTML5の「required」属性が自動的に付加されるようになっています。この属性が設定されていると、submitしようとしたタイミングで自動的にチェックがかかり、必須項目なの…

CakePHPのSearchプラグインでハマったところ

最近CakePHPを使って開発をしてるのですが、なにかやろうとするたびにとにかく色んな所でハマっています。 今回はSearchプラグインという、CakePHP使う上では結構必須と言われてるようなプラグインの使い方でハマってしまったのでそのまとめです。 Searchプ…

DebugKitの表示が崩れた理由とUTF-8のBOM

CakePHPで書いてるWebアプリでDebugKitを使っているのですが、いつの頃からかDebugKitの表示がちょっとかわってしまい、Tool Barを閉じたり開いたりすることができなくなってしまいました。それほど問題ではなかったので放置してたのですが、ちゃんと調査し…

WindowsでxamppのPHPにImageMagickをインストール

CakePHPでPDFファイルを画像に変換するために、ImageMagickをインストールする必要がありました。で、いろんなエントリーでWindowsのxampp環境にImageMagickをインストールするのは結構大変、と書いてあったのですが、確かにわかりにくかったのでメモ。 こち…

PHPでImageMagickを使う時のトラブルと解決方法

PHP + ImageMagickってだけで、バッドノウハウの香りがぷんぷん漂ってくるような取り合わせだが、やっぱ謎な知識が必要だったのでメモ。 Windows上のxamppの環境で、PHPでImageMagickを使ってPDFを画像に変換するという必要がありました。 CakePHPでUploadPa…

CakePHPでbakeしたものをtwig表記に変換する(あるいはtwigでハッシュと配列が混在した値の表現方法)

CakePHPでbakeすると、hashの中にkey-valueになっていない、値がそのまま入ってるようなarray()が書かれています。 例えばこんなやつです。 array('action' => 'delete', $user['User']['id']) PHPの変態arrayでは、このようにハッシュと配列が混在したarray…

CakePHPのTwigViewでコンテンツ表示場所の指定方法

TwigView使ってテンプレート書く時、コンテンツを出力する場所は、元のCakePHPのデフォルトテンプレートだと fetch('content'); ?> とfetchメソッドを呼ぶようになっています。 他にもfetch('script')などが呼ばれています。 でもこれをTwigViewから {{ fetc…

CakePHPでTwigView使う時flashが表示されない問題

CakePHPでTwigViewを使っている時に、setFlashで設定したメッセージの表示だけがされない、という問題がおきました。 もちろん、TwigViewを使わずに通常の.ctpのテンプレートを使っている場合には問題なく表示されます。 これ、以前書いたこのエントリーの話…

CakePHP2のテストでfixture利用するときの注意点

CakePHP-2.xでテスト書くとき、モデルに適当なデータをロードさせるためにfixtureの$recordsを使うことが多いと思います。でも、テストデータを全部手でハッシュに埋め込むのは大変だから、現在既にDBに突っ込んであるデータがあるなら、そこから一部を自動…

よく使う設定やプラグイン入りのCakePHPを生成するスクリプト

CakePHPでよく使うプラグイン(DebugKit + TwigView + TwitterBootstrap + Search)を最初から入れてあるものを、git使って最新のもので構築できるようなシェルスクリプトを作りました。https://gist.github.com/stealthinu/5610193#file-makecake-sh このス…

Emacsのphp-modeで設定しても2タブになってしまう

Emacs上でphpのコードを書くときに、PEARのコーディングスタイルに合わせるため、4タブにしようとしていたのですが、うまくいかずどうしても2タブになってしまっていました。 普通、モードごとのタブ幅を摂提する場合 (add-hook 'php-mode-hook (lambda () (…

CakePHPでTwigView使う時FormやHtmlヘルパーが使えない

CakePHPからtwigを使うためにTwigViewというプラグインがあります。predominant/TwigView · GitHub https://github.com/predominant/TwigView とりあえずTwigViewインストール方法まとめTwigView自体はgitでsubmoduleとして組み込むのが良いと思います。 > g…

Windows版のEmacsで「.tpl」のファイルだけ文字コードが化ける

CakePHPからtwigを使えるようにしたところ、テンプレートファイルの拡張子名が「.tpl」になったのですが、なぜかこれだと文字化けが発生するようになりました。 いろいろ調べてみたところ Windows版のEmacs(少なくとも23と24) ファイルの拡張子名が「.tpl」 …