extract関数って便利。

2008-12-20 (土)カテゴリPHP, 制作タグ,

意外と使いそうで、使わない関数なんだけども
配列使う上では便利な関数。自分メモの意味も込めて。

配列に付けたキーをそのまま変数として使うことが出来ます。

PHP
$apple = "青森りんご";

$arr = array(
	"apple"	=> "りんご",
	"orange"	=> "オレンジ",
	"melon"	=> "メロン",
);
extract($arr, EXTR_PREFIX_SAME, "pre");

echo $apple.$orange.$melon.$pre_apple;

上記を実行結果は。

青森りんごオレンジメロンりんご

もしも変数が被ったら上記の場合は、「pre_」が付いて変数となります。
「EXTR_PREFIX_SAME」部分は他にも色々あります。
個人的には「EXTR_PREFIX_ALL」がおすすめ。わりかしコードの統一ルール作りやすいですしね。

以下、PHPプロ引用

EXTR_OVERWRITE
同じ名前の変数があった場合、存在する変数が上書きされます。

EXTR_SKIP
同じ名前の変数があった場合、存在する変数は上書きされません。

EXTR_PREFIX_SAME
同じ名前の変数があった場合、prefix を前につけた新しい変数となります。

EXTR_PREFIX_ALL
全ての変数の前に prefix を付けます。PHP 4.0.5 以降、接頭辞を数値とすることも可能です。

EXTR_PREFIX_INVALID
無効または数値の変数名のみに接頭辞 prefix を付ける。このフラグは、PHP 4.0.5 で追加されました。

EXTR_IF_EXISTS
カレントのシンボルテーブルに既に存在する場合にのみ上書きします。
例えば $_REQUEST 以外にあなたが定義した変数のみを展開し 有効な変数としたいような場合に有用です。このフラグは PHP 4.2.0 で追加されました。

EXTR_PREFIX_IF_EXISTS
同じ変数だが接頭辞をつけていないバージョンの変数が カレントのシンボルテーブルに存在する場合にのみ変数を生成します。このフラグは PHP 4.2.0 で追加されました。

EXTR_REFS
変数を参照として展開します。 これはインポート済みの変数が、 var_array パラメータの値に常に参照付けられることを意味します。このフラグを単独で使用するか、 あるいはextract_type と和算することにより、 他のフラグとそれを組み合わせることができます。
このフラグは PHP 4.3.0 で追加されました。

といった具合です。
関数は便利ですが、上記のような作りはforeach使えば全然出来るわけです。
そちらでも書ける事が応用効くし、重要かな。。と思います。

プログラミングPHP 第2版

プログラミングPHP 第2版

Rasmus Lerdorf Kevin Tatroe Peter MacIntyre
オライリー・ジャパン

12月銀座

2008-12-15 (月)カテゴリ日常タグ, ,

休みの日に銀座へお買い物です。

歌舞伎座

歌舞伎座で待ち合わせ。
そこで友人と合流の後、向かったのが下のお店

月光荘

月光荘」です。大正六年(1917)からやっている画材屋さん。
素敵なスケッチブックとえんぴつを妻が購入しておりました。

イルミネーション

銀座の夜はクリスマスが近かったため、イルミネーションで飾られていて
賑やかな装いと銀座の人達の賑わいが相まって、東京を感じます。

この日はカメラの修理の依頼もあったので上のイルミネーションを撮った後、
ソニービルへ行き修理場へ。戻ってくるのは1週間後。

そろそろ年末のカウントダウンも始まっていますね。

ipod touch !

2008-12-12 (金)カテゴリ日常タグ, , , ,

ipod touch

先日アップルのipod touchを入手しました。
最初は玩具程度に使うことになるかなと思っていたのですが
ところがどっこい。

これが何と楽しいことでしょう。キャッチコピーどおり。最高に遊べますね。
アプリが1万個以上あり、いろんなゲームやソフトウェアが充実しています。

さらには朝の通勤前にニュースをダウンロードしておくことでまとめ読み。
RSSリーダの代わりにもなります。
アプリ作りたくなってきた!

冬のカーペット。

2008-12-07 (日)カテゴリ日常タグ, ,

ホットカーペットは非常に暖かい。
猫にも優しいようです。ぬくぬく。

ぬくぬくするものを作る本。

一新。

2008-12-02 (火)カテゴリ日常タグ, , ,

新メモ帳

毎年の終わりに歳をとる自分ですが、今回は心一新とともにメモ帳も一新です。
次なる自分の歳へのアイデアノートとして活用します。

小物に愛着が持てるのは素敵な事だと思っています。

カバーも紫の刺繍のオシャレさんです。

どうぞ、これからの良きパートナーになっておくれ!

——-
pen info
MDノートの解説が丁寧にしてあったサイト

ミドリ
販売元文具総合メーカー

jQuery ifによる要素の判定

2008-11-27 (木)カテゴリJavascript, jQueryタグ, ,

jQueryでのif

いやはや、jqueryやっていて今更気づきました。
気づかず別の手法でやっていた自分も恐ろしいですが、考えてみれば当然なのです。

Java Script
$("#test")

上記では”test”のid属性を持っているタグを取得するjQueryの作法です。
通常Javascriptで変数などを扱って値の有無で処理を変える場合

Java Script
var test;
if(test){
 //処理内容
}

とすると思います。上記のように変数の有無で処理内容を実行するかどうかを決めるのです。
じゃあjQueryでも。。

Java Script
if($("#test")){
 //処理内容
}

これじゃ駄目なのです!
jQueryだと$(“”)にてjQuery独特のオブジェクトを取得するので、true,falseは返ってきません。
なのでif文で囲っても無駄。じゃあどうすれば良いの?

Java Script
if($("#test").length){
 //処理内容
}

上記が正解です。そのオブジェクトがいくつあるのかがlengthで返ってくるので、id=”test”がない場合は0が、複数ある場合は1,2,3,…と返ってくるわけです。

考えたら当たり前なのですが、意外と陥りがちな所かと。
自分は1年近くjQueryやってて気づきませんでしたorz
これからはlength使うべし。自分メモ。

この本、なかなか見直し勉強には良かったです。

ゲーム

2008-11-20 (木)カテゴリ日常タグ, ,

ちょっと前だと、年齢的にゲームはしちゃ駄目でしょとか言われてしまったのが
最近はDSや携帯ゲームのおかげで容認してくれる人も増えましたね。

個人的にはPS3派なのですが
なかなかPS3でやりたいゲームが出てこない。。。

そんな中、レジスタンス2というゲームを買ったのですが、前回あったストーリーモードを2人でプレイするモードが無くなっている…

フーとレジスタンス

基本オンラインで60人で対戦出来る?などの機能が充実しているようで
オンライン派ではない自分としては、正直困ったものです。

これからはオンライン未対応のゲームは減っていくのだろうなとふと思うのでした。

肝心の内容はおもしろいです。キャンペーンモードをとりあえずクリアしましたが
ストーリーはこの手の作品は、どうでもいい(失礼)なのは変わっていないです。
前作になかったスケールでの巨大な敵などを倒していくのは結構爽快でした。

是非、興味あればお求めください。オンライン好きにはかなり良いですね。

RESISTANCE 2(レジスタンス 2)
ソニー・コンピュータエンタテインメント

寒くなりましたね。

2008-11-13 (木)カテゴリ日常タグ, ,

猫だまり

秋もいつの間にか冬に変わろうとしていますね。
最近一気に寒くなりました。鍋もおいしい季節。

我が家の猫も2匹で丸くなっています。
そろそろ暖房器具出さないと。

猫たちの冬
ヴォルフガンク・ホールバイン ハイケ・ホールバイン
たかお まゆみ ポプラ社

web directions east 2008

2008-11-11 (火)カテゴリ制作, 日常タグ

http://east08.webdirections.org/

に参加しました。

現状技術の復習と、今後の展開などを再考出来ると良いかなと思って参加。
内容として、Javascriptの話が多い気がしてます。やはり今の旬か。

個人的には、Javascriptを良く扱っているのでうれしい限り。
さらには、webの最新動向や今後が、うっすらと分かりました。

いくつか気になった点調べてみました。

—-
WPF(Windows Presentation Foundation)
.net frameworks 3.0の機能のことですね。聞いた覚えはあったけども、今回の話の中で出てきた、RIAの中に入れていいのか不明だけどもリッチコンテンツが展開できる

 

bravia アプリキャスト
javascript,pngなどで構成されているようです。対応するテレビでガジェット的にテレビの横に表示出来るようですね。
テレビとの連動などは出来ないようですが、将来的には出来るようになる?
twitterなどで会話しながらテレビ見るとか出来るアプリとかおもしろそう。

 

googleのデザインガイドライン
googleにもサイトを作る際には、ガイドラインがありました(当たり前ですが)
IxD的なデザイン論ですが、納得するものもあってさすがと言わざるを得ません。

 

エンタープライズ情報アーキテクチャ(EIA)
企業向けのIAといったところでしょうか?4つのブランド展開パターン(マスターブランド、ハイブリッドブランド、保証付ブランド、個別ブランド)が存在し、企業の戦略などに合わせて型を決めるというものでした。
ウェブを作る時はサイト外も視野として入れる考え方は非常に新鮮でした。

 

—-
このイベントでは、HTML,CSSの第一人者エリック・メイヤー氏とも話すことが出来ました。
実際、僕が話した内容がショボ過ぎて氏には面倒だったかも…でもwebの未来を彼に聞いて「皆が使えるwebを目指している、君たちの力を貸して欲しい」と言われたのは、久々燃えました。
こんな自分でもwebに役立つ存在であればうれしいですね。

さーもっともっと作らないと!!

jQuery – 制作現場で使えるプラグインあれこれ

2008-11-08 (土)カテゴリJavascript, jQueryタグ, ,

jQuery
半年前位から、JavascriptのライブラリにjQueryのライブラリを使っているのですが
拡張用のプラグインが非常に豊富でうれしい限りです。

制作現場でもよく使っているプラグインをまとめてみました。

IE PNG Fix
IE6などは、まだまだ制作現場ではユーザシェアから言っても対応必須です。
PNG使えれば自由なデザインの幅も広がります。そんな可能性を広げてくれるプラグインです。

Java Script
$(function(){
  $("img[@src$=png]).pngfix();
});

とても簡単にPNGの導入が出来る優れものなのです。

Rounded Corners
角丸を現状のHTMLでコーディングするのはとても大変です。
CSS3では仕様の中に角丸があるのですが、FFとsafariのみしか対応していないから現状だと一番スマートなやり方かな?

Java Script
$(function(){
  $('.rounded').corners();
});

※corners(“30px 10px”)等と書くと角丸具合も自由に変えられます。

Star Rating
アマゾンなどにある星マークの評価をする機能を実装できます。
若干DB等に調整を入れる必要はありますが、コミュニティサイトなどを作る際に簡単に導入出来るのが魅力的です。

Java Script
$(function(){
  $("#star").rating('star.php', {maxvalue:5, curvalue:2});
});

jQuery lightbox
有名なLightBoxのjQuery版です。通常だとprototype.jsやscriptaculous.jsを読み込んだりしなければいけないのでどうしても肥大化してしまうのですが、プラグインなので、他に必要なのはjQueryのみ。

Java Script
$(function() {
  $('#gallery a').lightBox({fixedNavigation:true});
});

jQuery Image Protecter
最近は減ってきましたが、一部企業案件などで話がよく出るのですが「画像をダウンロード出来ないようにしてほしい!」、実際はキャプチャ取ってしまえば取れるのですが右クリックで保存出来ないような処置を加える事が出来ます。
このプラグインはmootoolにあったImage Protecter dwProtecterを参考にjQueryに僕が作り変えたものなのです。

Java Script
$(function(){
  $(".protect").ImageProtector({image:"images/blank.gif"});
});

まだまだ、他にも便利なプラグインがあります!
本家には色々なプラグインがカテゴライズされているので、是非とも欲しいプラグイン探してみてください。
ぱっと使って試せるのがプラグインの魅力なので、仕事などで使う際の参考にどうぞ!!

jQuery 本家