[php]CakePHP 1.2の便利な新機能 5選

Written by uechoco 10月 31
この記事を読む時間:28くらい

CakePHP1.2で使える便利な5つの新機能 – yandodの日記
http://d.hatena.ne.jp/yandod/20071030/1193758565

 安藤さんがCakePHP1.2の便利な新機能をまとめています。私は1.1も1.2もどっちもまだ中途半端なのですが、新しい機能が増えてますます便利になっていくのは良いですね!早く正式リリースしてほしいですね。

[書籍]『PHPによるECサイトプログラミング』『CakePHPガイドブック』

Written by uechoco 10月 30
この記事を読む時間:156くらい

 昨日本屋に行ったら、新しいphpの本が出てました。『PHPによるECサイトプログラミング~ショッピングカートから―MySQLのデータベース設計とPHPセッション管理の作法』です。php+MySQLでECのショッピングカートのシステムを作ろう的な本です。

 本の帯に「ひろゆき氏のお勧め」的なことが書いてあったのでちょっと立ち読みしてみました。

 まず、この本はPHP4.3.11?の対応だそうです。あと2ヶ月でPHP4のサポートが切れるのに今頃?と思ったのですが、ビジネス的には現状php4で動いているサービスをとめるわけにはいかないし、そのサービスと同じサーバーで稼動させるのであれば当然php4で開発するべきだし、そもそもphp5に移行できていない人もたくさんいるわけで、この本の選択はある意味正しいのかもしれません。

 でまぁ、バァーーーーっと本をめくってみたのですが、なんか2ch系のAAなり顔文字なりがちらほらあったりしてphpの本にしては異質だなぁと思いました。

 パラ見なので詳しくはいえないのですが、ところどころの注訳がとてつもなく長いです。見開きページの1/4が注訳なのに、さらに次のページ突入しちゃってたりするページもあったり。まぁphpの本にしては異質だなぁと思いました。

 本の内容はよくわからないんですが(ぉぃ)、面白そうな本です。まったく参考にならない書籍紹介でしたね。

 ちなみに『CakePHPガイドブック』はもちろん買いましたが、きっと私より詳しい解説をしてくれる人がいると思うので省略。1つだけ書くとしたら、携帯用Webサイトを作るためのMobileComponentとMobileHelperをみて、携帯サイト用のカスタマイズが楽だなっと思いました。

?


[php]「PHPで配列の(プラス)演算子」の解説

Written by uechoco 10月 28
この記事を読む時間:230くらい

PHPで配列の(プラス)演算子:phpspot開発日誌
http://phpspot.org/blog/archives/2007/10/post_162.html

 何かと話題になったphpspotさんですが、今日の記事は配列でもプラス演算子でマージができると言う話でした。参照元のITProの記事にも書いてありますが、array_merge()関数による配列のマージと、+演算子による配列のマージは結果が異なることがあります。これを知らないと不可解なバグに悩まされるので注意が必要です。また、array_merge_recursive()関数でのマージ結果も違います。ここらへんはプログラマ泣かせな感じですが、しっかりと違いを把握しておきたいですね。

 ということで、検証用にページを作りました。

各種配列マージの結果の違いと考察 – うえちょこ@ぼろぐ 分室
http://labs.uechoco.com/blog/_phpcode/array_merge.php

 長ったらしい検証記事は読みたくないと言う方もいるかと思うので、ざっとまとめ。

  • +演算子
    • 同じ数字キー・文字列キーが存在した場合、上書きしない
    • 被加算配列に存在しない数字キー・文字列キーがあった場合は、キーの名前を維持したまま追加する
  • array_merge()関数
    • 同じ文字列キーが存在した場合、上書きする
    • 同じ数字キーが存在した場合、配列の末尾に追加する。この際、配列内のすべての数字キーは添字(キー名)が振りなおされる
  • array_merge_recursive()関数
    • 同じ文字列キーが存在した場合、配列としてグループ化する。
    • 同じ数字キーが存在した場合、配列の末尾に追加する。この際、配列内のすべての数字キーは添字(キー名)が振りなおされる
    • 2次元配列であった場合、その中の階層まで処理を行う(再帰処理)。
    • 結果の配列の中には、被加算配列と加算配列の両方で使われた値がすべて入っている。つまり値は上書きされないが、すべて結果の配列に取り込まれる。

 普通にプログラムを書いているときであれば、+演算子とarray_merge()を使い分けられれば問題ないと思います。この機会にぜひ復習してみてください。

[css][Firefox]<input>タグの特定のtypeにCSSを適用する「input[type=text]」

Written by uechoco 10月 26
この記事を読む時間:154くらい

少し前から『PHPフレームワーク完全マスター―PHP5.2.3PHP4.4.7対応』をちょっとずつ読み進めています。1日10分くらいずつなのでぜんぜん進みませんが、気にしません。

本にサンプルソースコードが載っていて、それを打ち込んで実行して勉強していたのですが、サンプルのcssファイルのソースコードに見たことない構文がありました。

  1. div.login input[type=text],
  2. div.login input[type=password] {
  3. display: inline;
  4. width: auto;
  5. }

まぁ、見ればどんな効果か想像できる構文ですが、どうやら<input>タグの特定のtypeに対してのみcssを適用する方法だったみたいです。ただ、『エレメントで<input type=”text”>のみスタイルを変える』で見たところ、IEは対応しておらず、NNの6.0から対応しているものらしいです。IEはclassやidを指定してあげるか直接styleを指定してあげないといけないようですね。まぁWebサイトでinputにcssをつけたい場合は、IEにあわせてclassやidをつけて対応しろってことですね。

cssのトリビアくらいに覚えておけばいいかも。


[News]Ocamlの.NET版ともいえるF#がVisual Studioに統合されるかも

Written by uechoco 10月 26
この記事を読む時間:236くらい

眠る開発屋blog ? 関数型言語F#
http://www.developer0000.jp/2007/10/26/ooaif/

Open Tech Press | Microsoft、関数型言語F#をVisual Studioに統合へ――開発者からはおおむね好意的な反応
http://opentechpress.jp/developer//07/10/24/0310251.shtml

いげ太のブログ: F# を始めよう
http://igeta.cocolog-nifty.com/blog/2007/08/f_73b5.html

 最近、Ocamlのプログラムに苦しめられながらも楽しんでいます。関数型言語って考え方が特殊だけど、時には非常に感動するようなスマートなプログラムが書けるし、時にはなんでこんな面倒なの書かなきゃいけないんだみたいなプログラムも書けるし。それはきっとOCaml暦1ヶ月の未熟さ故にムラがあるのだと思いますが、そこはまぁいいでしょう。

 さてさて、MicrosoftもF#という関数型言語を試験的に開発しているとはOCamlを始める際に知ったのですが、どうやらVisual Studioに統合されるようです。Microsoft社の開発者が個人ブログにて明らかにしたようです。F#は.NETのCLR(Common Language Runtime)上で稼動し、.NET Frameworkにも統合できるそうです。関数型言語としての特性と.NETの資産をうまくマッチさせて効率的なプログラムが組めるというわけですね。

 で、F#がどんな関数型言語かを冒頭のいげ太さんのブログで見たのですが、どうやらF#はOCamlがベースだそうです。ブログ中のサンプルコードを流し読みしましたが、最近覚えた文法ばかりでなんだかうれしくなりました。

 1年半前からフィールドをWeb(php)に移行して以来、Visual Studioをまったく触っていなかったのですが、PowerShell, Silverlight, DLR, IronRuby, IronRuby, F#・・・と私をひきつける要素が増えてきて、ちょっと困りました。.NETは一切やったことないので、そのうち一通り触っていきたいですね。いろいろな言語・環境を触れることで、今まで覚えた言語(phpとかphpとかphpとか)の使い方も進化していくと思うので。