2010-01-01から1年間の記事一覧
たとえば、メッセージ機能で1つのテーブルに from_user_id と to_user_id があって、Userと2つ以上の関連付けを持つ場合の方法。
今回予告 時は20XX年。日本に新たな宇宙開発機構が誕生した。 その名は New Investigation Network of Japan Aerospace EXploration Agency ── NINJAXA ! 宇宙飛行シノビを養成して日本が有人宇宙開発を牛耳ろうと、 流派を超えて結成された組織だ!各流派か…
ユーザ入力などから危険なHTMLタグおよび属性などを削除する正規表現。 preg_replaceで使用します。 不完全な箇所もあるかもしれないので、ご参考までに。
前記事で、謎記号が出力されている問題。フォントサイズを拡大してみて、解明しました。 上下矢印です。 (参考画像のフォントサイズ:24px/通常12px) どうやら、「現在この項目の昇順/降順でソートしていますマーク」らしいです。 ソート項目を変えると、矢印…
CakePHPでの開発に非常に便利なDebugKit。 しかし、IE*1でのみ、謎のエラーが発生する場合があります。 CakePHP1.2の頃は、そもそもIEでは動作しなかったのですが、 その対応用のパッチを当てると、1.3用で発生しているエラーも多少緩和されるようです。 (追…
CakePHPを1.3にバージョンアップしたら、 pagenateのソートリンクに謎の文字が表示されるようになったのですが・・・・これは何?? 謎文字の特徴 当該箇所のソースには何もない。コピー&ペーストしても、何もない 多言語化(i18n)対応箇所 出ない場所もある…
CakePHP1.3では、validateにallowEmpty => true を明示しない項目は、 フォーム自動生成時に、ラベルの後に赤文字で * が表示されるようになります。 例 名前 * 表示させたくない場合は、allowEmpty => trueを明示するしかないようです*1。 *1:ver.1.3.6
CakePHPでは、アクション単位でキャッシュ有無の指定を行うことが出来ます。その場合、 var $cacheAction = array( 'view/23/' => 21600, 'view/48/' => 36000, 'view/52' => 48000 );などのように記載するよう、解説されていますが、 これはver1.2までの仕…
CakePHPのバージョンを1.2.5から1.3.6に上げたところ、一部のページで、指定と異なる内容が表示されたりするようになりました。原因は、キャッシュの不具合。 ファイル名の正規化などを行うInflector::slugの不具合のため、異なるページのキャッシュが同一名…
CakePHPのverを1.2から1.3にあげると、既存のソースで Configure::read('vendorPaths') の設定を用いていたため、エラーが出る場合の解消法。 $vendorPaths = array_values(App::path('vendors'));を代わりに使えばよさそう。
XOOPS Cubeで運営していたサイト。 スマートフォン系*1のデフォルトブラウザで見ると、酷い文字化けでまったく読めない状態でした・・・。 * 11/16 情報追記、AppleWebKitの挙動です 原因は、EUC-JPとSafariの相性だった模様。 以下のサイトの情報を元に、解…
オンラインでキャンペーン的なことをやっていると、 ゲーム中に出てきたNPCなどの設定をwikiで記録しておくと、何かと便利です。 仲間内でよく使ってるのが、無料の@wiki。 「ここでダイスも振れればいいのに」という要望があったので、検討してみました。 …
要ログインページのURLをメールで送信して開いてもらった場合、 ログイン後の遷移先が、指定のURLではなくRouting.basePathになる場合があります。 Yahooメールで確認しましたが、他のブラウザメールでも発生するかもしれません。 メールアドレス登録確認な…
CakePHPはロールバックも簡単でした。何らかの条件分岐でsave()処理を巻き戻したい場合の記載方法。http://book.cakephp.org/ja/view/1633/Transactions
ホームなど、ポータル系の画面で 新着情報エリア 自分の情報エリア RSS情報エリア ・・・などのように更新タイミングが分かれている場合は、Elementキャッシュがよいようです。Elementキャッシュ導入で、参考にしたのは以下。 http://text.tklabo.net/blog/8…
特定のURL(ビューキャッシュが作成されると、その後、同じURL(model/action/parms)にアクセスしても、コントローラ・モデル・ビューなどの処理を一切通過しなくなります。 その処理は、Dispacherの中にありました。
前述の通り、表示が劇的に速くなるビューキャッシュですが、若干問題点があります。 特に、閲覧者権限によって、1つの画面に表示/非表示させる部分が複数存在する場合。 前述の通り、cake:nocache でキャッシュせず毎回判断する方法もありますが、数が多いと…
ビューキャッシュ導入(途中経過)時の追加・変更点と、効果について。導入方法は概ね各種サイトの情報通りですが、設定ファイルでキャッシュの有効期限を設定できるようにしました。
まず、ビューキャッシュを導入しました。導入方法は基本的に、ネット上あちこちにある紹介の通りなのですが、一箇所トラブルがありました。 DebugKitプラグインが動作していると、ビューキャッシュされません。 core.phpでdebug設定を0にすれば解決ですが、…
CakePHPベースの自作アプリケーションのα版を公開環境においてみて一番問題だったのは、負荷でした・・・ アクセス〜表示に数秒かかるとは。 アプリ内部の追加や修正が一通り見込みついたところで、負荷対策開始。 手始めとして、実際に負荷を測定して「見え…
あの田中天さんが、iPadにルルブいれて、使用感をレポートしてました。2010-07-05 iPadヤバい。マジヤバい。
CakePHPに、CAPTCHA機能PHPライブラリ「Securimage」を導入してみました。
CakePHPにCAPTCHAを導入する方法のメモ
CakePHPで、こんなニッチなものを作ってました(笑) 新作スクリプト、デモ公開開始 きゃら・し!
さくらインターネットレンタルサーバにCakePHPをセットアップする方法はネットに各種情報がありますが、それらですぐには解決方法が見つからなかった点が2点ありました。 mediaプラグインでアップした画像が表示されない データ保存前に Sanitize::cleanを行…
SourceForgeのWebホスティングサービスにCakePHPをセットアップする場合、app/webroot あるいは Webroot/ 以下の .htaccessに RewriteBaseの設定追加が必要です。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /[設置dir名] RewriteCond %{REQUEST_FILENAME} !-d RewriteC</ifmodule>…
昔から、『唐辛子系辛いモノ』に強い人間が、桃ラーの評判見て、食って、”作って”見たw 『唐辛子系”辛い”』、は以下基本ですw
DBのprefix設定に対応してみました。 2010/04/19 1つのDBに複数をインストールする場合のために、外部キ−名にもprefixを適用追加が必要でした
インストーラのindex()アクションで、事前にインストール&運用に必要なディレクトリやファイルの権限チェックと表示を追加しました。
インストールプラグインでは、インストール完了後に 「Click here to delete installation files」 という処理を行なう事が出来るのですが、これが正しく動かない場合があります。これは権限設定の問題で、正しく動く条件は app/plugins/install 以下が全て …