カテゴリ: CakePHP

ページ: << 1 2 3 4 5 6 7 8 >>

佐川急便のページがCakePHPな件

パーマリンク 2009/04/27 13:25:15 著者: kumaold メール
カテゴリ: ニュース批評, PHP, CakePHP

仕事上で送料を調べようと佐川急便のサイトを調べていたら・・・

気づいてしまいましたよ。


トップページ左列の「料金検索」とその下の「営業店検索」の都道府県別ページの中身で、普通はこんな感じ↓のアイコン(favicon.ico)が、


どう見てもCakePHPデフォルトのfavicon.icoです。
本当にありがとうございました。

普通は正式公開時に消すだろ、常識的に考えて。

確かに忘れやすい一点であるのは認めるにしても、誰も気づかなかったのかなぁ。
本当に分かる人にだけ分かる話ってのもあるし。


意外にCakePHPも普及してんだな、と思った瞬間でした。

CakePHPによる実践Webアプリケーション開発CakePHPによる実践Webアプリケーション開発
安藤 祐介
毎日コミュニケーションズ 2009-04-08
おすすめ平均

CakePHPでパラメータにスラッシュが使えない

パーマリンク 2009/03/04 23:45:27 著者: kumaold メール
カテゴリ: 仕事, プログラミング, PHP, CakePHP

アクセス解析の製作中、CakePHPでURLにスラッシュ(/)を含むパラメータの取り扱いに苦労したので書いておきます。


アクセス解析に限らず、URLを扱うような場面ではURLのパラメータにスラッシュを使いたいということがあると思います。

もちろん、urlencode()で%2Fにしてから渡すのは当たり前ですが、それでもCakePHPのコントローラの引数で普通に受け取ることができません。


以下のようなmod_rewriteの問題もありますが、とりあえずそれは抜きにして。

mod_rewriteの「%2F」問題の解決法(ElectronicBrain is eating BreakFast)


どうやら内部処理で初めにurldecode()をしているのか、%2Fもデコードされて通常のスラッシュ(/)と同等となり、区切りがずれてしまうのが原因のようです。

URLのパラメータとしてスラッシュを渡すと処理ができない(cakephp.jp)


通常のGET(?url=....&....)で渡せば解決するのは分かりきったことですが、他に3つほどパラメータを渡す関係でURLが長くなるのも嫌です。

方法としては、$this->params['url']['url']を毎度正規表現で分割する手もありですが、面倒なので極力やりたくありません。

・・・・・・・

そこで仕方なく、スラッシュを置換する方法をとることにしました。

 置換前:www.example.com/hoge/path/
  ↓
 置換後:www.example.com__hoge__path__


別にアンダーバーでなくてもよかったんですが、一番見た目がすっきりするので。

これなら、ファイル名にまず2連アンダーバー(__)が使われることもなく、_で始まるか終わるファイル/ディレクトリ名もまずないので大丈夫かと。


これをビューにエンコード用関数、コンポーネントにデコード用関数を実装することで解決できました。


NO IMAGEスラッシュ自伝 (仮) (単行本)
シンコーミュージック 2009-03-31

type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

タグをヘルパー出力したときの改行

パーマリンク 2009/01/29 23:03:38 著者: kumaold メール
カテゴリ: プログラミング, PHP, CakePHP

CakePHPに限ったことではなくPHPの問題でもあるんですが、1行をまるごと<?php ?>で囲んで出力すると、その行の最後の改行が反映されません。

たとえば、こんな感じに1行につながってしまうんでHTMLソースが悲惨な状態に。


View上での元のソース

<td>
    <?php e($form->text('Model.field1')); ?>
    <?php e($form->text('Model.field2')); ?>
</td>


出力されたHTMLのソース

<td>
    <input name="data[Model][field1]" type="text" value="" id="ModelField1" />    <input name="data[Model][field2]" type="text" value="" id="ModelField2" /></td>


しかし、FormHelperとかHtmlHelperを使わずに書くのはスマートではないし、毎度."\n"するのも手間がかかるんでどうしようかと考えていました。


どうもこれはPHPの仕様で、公式マニュアルのFAQにも書いてあります。


そこで、?>の直後に半角スペースをひとつ置いてみることにしました。

こうするとこで、Viewソースの見た目は変わらずに出力HTMLを整形できます。

<td>
    <input name="data[Model][field1]" type="text" size="50" value="" id="ModelField1" /> 
    <input name="data[Model][field2]" type="text" size="50" value="" id="ModelField2" />
</td> 


その行の出力がないところは無駄な改行が出てしまうデメリットはあるとしても、横に伸びるよりはマシなので使っていこうと思います。

type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

<< 1 2 3 4 5 6 7 8 >>

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年3月
 << <   > >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

検索

XMLフィード

16ブログ     powered by b2evolution free blog software