Home > アーカイブ > 2011-07

2011-07

5分でわかる最近のPHP – 2011夏

この記事の所要時間: 414

ここ最近のPHP界隈では、興味深いニュースが続いています。最近PHPを追っかけていない人へ少しづつご紹介。

PHP

近頃、PHP界隈でホットなニュースを5つ、つまみぐいして見てみましょう。

1. PHP5.4.0-alphaリリース!

PHPの次期バージョン、5.4.0-alphaがリリースされました。

まだ alpha1 ですが、すでに Traits や Array dereferencing support など様々な機能追加が行われています。

特に Traits は面白い機能で、いずれはこれを利用したフレームワークの登場が考えられます。ぜひ使ってみたい機能ですね。

今後、正式リリースに向けてさらなる新機能が追加されていくようなので、目が離せません。

2. Short syntax for arrays を PHP5.4 で採用!

PHPでおなじみの連想配列を、array()ではなく、JavaScriptのように [] で定義できるシンタックスが採用されました。

$array = [1, 2, 3];
$array = ['foo' => 1, 'bar' => 2];

これは、そもそも2008年に @rsky さんが提案されていたもので、議論に上がる->リジェクトされる or 放置されるを繰り返して、3年越しでようやく実現となりました。@rsky さんの行動がPHPを動かしたわけです。おめでとうございます!

もう array() と書くのは過去の遺産になっていくでしょうね。(次は配列がオブジェクトになって、あの関数群がメソッドにまとまってくれたら。)

3. Built-in web server を PHP5.4 で採用!

PHP5.4 から CLI 版に簡易 Web サーバーが組み込まれるようになりました。

この機能はmoriyoshitさんが作られたものです。すばらしい!

PHPは Apache に組み込んで(mod_php)で利用されることが多いので、そもそもこういった機能は不要では無いか、という議論もあったようなのですが、httpd.conf 等の設定を変更することなく、コマンドラインからすぐに動作確認ができるサーバを起動できるのは非常に便利です。

実は昔、CakePHPにこういった開発サーバを組み込もうと思って、さわりだけ作ったりしたのですが、それが PHP でサポートされるようになりました。

普段の開発もそうですが、新たなライブラリやフレームワークを試す時にも便利ですね。

4. CakePHP2.0 Betaリリース!

CakePHPの次期バージョン、2.0のBeta版がリリースされました。

こちらはPHP5.2.6以降が対象バージョンとなっています。5.3以降ではなく、あえて5.2を範囲に入れているあたりが、1系でPHP4 & PHP5両対応を行っていたcakeらしいです。(個人的には5.3以降を対象にして、namespaceに対応して欲しかった感はありますが。)

alpha版を少し触ってみましたが、フレームワークのクラス構造が一新しており、ソースも前より洗練されている印象です。1系で懸念点であったパフォーマンスについてもbeta版の時点で改善されているようです。

今後の正式リリースに向けて期待が膨らみますね。

5. Symfony 2.0.0 リリース!

Symfonyの次期バージョン、Symfony2がついに正式リリースされました。

個人的にはPHP5.3フレームワークでは本命だと思っており、これを機に5.3の本格利用がようやく進むのではないでしょうか。日本のSymfonyコミュニティも盛り上がってるので、今後Symfonyがぐいぐい来そうですね。

PHPは止まらない

PHPは、独自の歩みながらどんどん前に進んでいっています。昔の知識のままで語らず、進化を続ける今のPHPに触れてみて下さい。

Google+ 非公式 API で情報を取得するPHPライブラリを使ってみた

この記事の所要時間: 110

まだ登場していない Google+ の API ですが、非公式な API を利用して情報を取得するライブラリがあったので使ってみました。

Google+のストリーム で教えて頂いた php-googleplusapi というライブラリで github で公開されています。

はじめは README に従って、MySQL の設定などしたのですが、Google+ から情報を取得するだけなら、DB の設定は不要です。

付属のサンプルソースだと色々な処理が入っているので、直近10件の投稿を取得する単純なサンプルを書いてみました。

実行すると以下のように投稿を取得できます。

$ php gplus_fetch_posts.php

他にはプロフィール情報が取得できました。(そもそも、↑のサンプルソースはプロフィール情報に含まれている投稿を出力しています。)全部は見ていないので興味ある人は他に何が取れるか試してみて下さい。

通知系が取れると面白かったのですが、まだこのライブラリではできませんでした。

まあ、こういった内容なら API を使わずともスクレイピングで取得できるのですが、いちおう Google+ から JSON でデータを取得しているので、API の雰囲気は味わうことができます:D 早く正式版の API が登場してほしいですね。

Google+には残念さが足りない。

この記事の所要時間: 046

まだまだこれから。

Google+ の招待状を600通送りました

この記事の所要時間: 156

このエントリで、Google+に招待しますよーと書いたところ、なんと 603 件のお申し込みがありました。

エントリに書いたものの、正直メールは来ない、来ても数件くらいだと思っていました。というのも、自分の周りの Web 大好きな人達はすでに Google+ のアカウントを持っている、もしくは、持っている人が近くにいるという状況だったというのが一つ、あとは「招待状希望の方はメール下さい」、という内容だったので見ず知らずの blog にメールを送る人は少ないかなと思っていました。

しかし予想を大きく上回り、あれよあれよという間に招待状希望のメールが届きました。やはりそれだけ興味がある人が多いサービスということなのでしょうね。

日々送った招待状をグラフにするとこんな感じ。

gplus_invite

ちょうど連休前にエントリをアップしたので、連休中は招待状を送るのに費やしました:D

100通を超えたあたりから、さすがに招待状送付機能を止められるかどうか不安でしたが、まあ止められたら止められたでしょうがないので(メールを頂いた方には申し訳ないですが)とにかく来た分は招待状を送り続けました。

招待状希望のメールにも人それぞれ個性があって面白かったです。

エントリの感想を書いてくれる方、丁寧に時候の挨拶から入る方、本文は簡潔ながらクスッとさせるユーモアな一文を入れる方など開くと嬉しくなるメールがありました。また、招待状を送付した後、メールやGoogle+、Twitterなどで多くの方がお礼を言って下さいました。お返事はできませんでしたが、とても嬉しかったです。

反対に困ったのが、件名も本文も書かずにメールだけ送ってくる方が何名かいて、どうにも判断が付かないので招待状は送りませんでした。また全く赤の他人の氏名を書かれる方もいて、それも何かの間違いかもしれませんので送りませんでした。

いずれにせよ、Google+ の招待状を通じてお知り合いになれたのも何かの縁ですので、今後も仲良くしてやって下さい:D

Google+

[追記]
たくさんお礼を言って頂きました。ありがとうございます!
https://plus.google.com/103287493604953085362/posts/GbnRsaDv5yX

FizzBuzzではじめるテスト – 第1回関西PHP勉強会

この記事の所要時間: 338

7/22に大阪市内で第1回関西PHP勉強会を開催しました。

kphpug

4月にPHPカンファレンス関西を開催して以来、3ヶ月ぶりにPHPの勉強会を開催しました。

参加頂いたみなさんありがとうございました。また発表を快く引き受けていただいた皆さん、本当にありがとうございました。

イベント名に「第1回」と付けたのは、今後も継続して開催していきたいという気持ちの表れです。PHPを軸に色々なテーマで開催していきたいと思うので今後もよろしくお願いします。

スイーツタイム

勉強会をやるときは、休憩時間にみんなで食べるおやつを用意するのですが、今回は @msng さんに色とりどりのマカロンを用意してもらいました。見た目も鮮やかですし、適度な甘さで好評でしたね。(たしかに美味しかったです!)

昨今「スイーツタイム」が話題になっていますが、会場で飲食が可能なら実施することに賛成です。

単純に勉強会で発表を聞くだけでも疲れますし、特に平日夜の勉強会だとお腹が空く時間帯でもあります。そんな時に甘いモノをみんなで食べると自然と笑顔になります。

運営側としてもおやつを配るという行為を介して、参加している方と軽く言葉を交わしたり交流ができます。参加している方同士も「おいしいですねー」と隣の方と一言二言だけでも話ができるきっかけになります。

この効果は意外に侮れません。何度かこのおやつタイムをやっていますが、おやつタイム後のセッションは明らかに空気が変わります。それまで見知らぬ者同士で張り詰めていたような空気が和らぎ、みんなで一緒に聞こう空気に変わります。(もちろん、その固い空気をほぐすのが司会者の役割でもあるのですが、未熟なだけにおやつの力は絶大です)

このおやつタイムは、まっちゃだいふくさんが勉強会でいつも美味しいスイーツを出されているという話を聞いてから始めました。まっちゃだいふくメソッドとも呼ばれるこの手法はかなり有効なので、まだご存知無い方は、まっちゃだいふんさんの発表を見てみてください。

まっちゃだいふくメソッド / まっちゃだいふく

FizzBuzzではじめるテスト

今回はテーマを「テスト」にしたのですが、まずはテストの導入として、FizzBuzzを題材にテストを行う内容で発表しました。

テストの基本の考え方から、Selenium IDEとSimpleTest+CakePHPで、FizzBuzzをテストする内容になっています。

サンプルソースと資料は以下になりますので、これからテストをやってみようかなーという方は参考して下さい。

サンプルソース

テストを動かす時の補足です。

P.13 / Selenium IDE デモ

サンプルソースの app/tests/selenium/account.html がデモ用ファイルなので、 Selenium IDE で開いて実行して下さい。

FizzBuzz の実行

基本は CakePHP の設置方法と同じです。一例としては、サンプルソースをダウンロード+展開して、app/webroot を document_root に設定して下さい。

P.27 / Selenium IDE で FizzBuzz をテスト

サンプルソースの app/tests/selenium/fizzbuzz.html がテストケースなので、 Selenium IDE で開いて実行して下さい。

P.29 / SimpleTest(CakePHP) で FizzBuzz をテスト

http://localhost/test.php にアクセスして、model/Fizzbuzz のテストケースを実行して下さい。テストケースは、app/tests/cases/models/fizzbuzz.test.php 、テスト対象の Fizzbuzz モデルは、app/models/fizzbuzz.php です。

参加された方からのフィードバック

Google+を2週間使って分かったこと、感じたこと15

この記事の所要時間: 1127

Googleが開始したSNS、Google+にすっかりはまっています。ここ2週間ほど使ってみて分かったTipsを書いてみます。

Google+(グーグルプラス)は、Googleが運営してるソーシャルサービスです。

Googleのソーシャルサービスといえば、これまで幾つかありましたが、どれもいまひとつ盛り上がり切らなかった感があり、2011/06/29 にクローズドテストが始まった直後は静観していました。

しかし、せっかく招待状を頂いたので、登録して使っていくうちにどっぷりハマっていくことになりました。

ここ 2 週間使ってみた中で、見えてきた点を書いてみます。

このエントリは、2011/07/14 時点の内容です。Google+は日々改良が重ねられていますので、もしかするとあなたが読んでいる今は内容が変わっているおそれがあります。ご注意を。

1. どうやってはじめれば良い?

現在はクローズドテスト中なので、Google+ユーザから招待を受ける必要があります。

TwitterやFacebook 等でGoogle+ユーザを見つけて招待してもらいましょう。招待を受ける際は、Googleアカウントで登録しているメールアドレスを相手に連絡する必要があります。

Google+には、Googleアカウントが必要ですので、まだGoogleアカウントを取得していない人は登録しておいて下さい。

この blog をご覧の方で、まだアカウントが無い方、ご招待しますので、エントリ下からご連絡下さいー。

2. サークル

Google+の中核となる機能がこのサークルです。サークルの概念についてはここでは触れませんが、使うにあたって基本的な考え方を2つご紹介します。

2-1. [購読] 投稿を読みたいユーザをサークルに入れる。

投稿を読みたいユーザをサークルに入れておくと、そのユーザの投稿がストリーム(Twitterでいうタイムライン)に流れてきます。Google+において別ユーザとの関係構築は、Facebookのような相互承認ではなく、Twitterのフォロー同じく一方向なので、気になるユーザは相手を気にせずどんどんサークルに入れていきましょう。

2-2. [投稿] 投稿を読んで欲しいユーザをサークルに入れる。

Google+では、投稿する際に投稿先を選択することができます。誰でも読める「Public」、自分のサークル、そして各ユーザといった風にわりと細かく投稿の閲覧制限をかけることができます。

サークルやユーザなど特定の範囲に絞った投稿は、その範囲外からは閲覧することができません。

よって、ともだちや同僚、家族などのサークルを作っておけば、そのサークルに限定した内容が投稿できます。

3. サークルはどう分ける?

サークルの分け方は人それぞれポリシーがあると思いますが、基本この手のサービスではある程度ユーザをフォローしないと面白さが分からないと思っているので、知らない人でもとりあえずサークルに入れて、投稿を見て、合わない人なら外すようにしています。

今のところ以下の5つのサークルに分けています。ユーザによっては複数のサークルに属している人もいます。

gplus_circle

3-1. Japanese

日本語で投稿しているユーザのうち、投稿を追いかけて読みたいユーザを入れています。

3-2. English

日本語以外で投稿しているユーザを入れています。英語が主ですが、ネタ画像投稿は中国語の人もチラホラいます。

3-3. Friends

友人を入れています。Facebook上でもFriendsの人が多いですね。

3-4. Clip

サークルにユーザは入れず、投稿をクリップしておくために使用しています。(後述)

3-5. Following

Suggentions で出てきたユーザをガバっと入れています。よく知らないユーザはとりあえずこのサークルに入れて、ストリームを見ながら他のサークルに振り分けていっています。

4. 投稿を残しておきたい。

ストリームで流れてくる投稿のうち、面白い画像やリンク、長文など、とりあえずクリップしておいて、あとででじっくり読みたい場面があります。

今のところクリップする機能は無いのですが、0人サークルに共有することで似たことができます。

まず 0 人サークルを作ります。

gplus_circle_clip

クリップしたい投稿を「Share」リンクで共有します。

gplus_share

共有する対象に先程作成したクリップ用のサークルを選択します。

gplus_share_clip

これでクリップ用サークルを開くと投稿が残ります。

5. 投稿の URL (permlink)が知りたい。

投稿の URL (permlink) は、投稿ユーザ名右横にある投稿日時にリンクが貼られています。

gplus_permlink

実際の URL は以下のような形式になっています。

https://plus.google.com/103287493604953085362/posts/5QKCKrcw4Yb

6. 自分のアカウントは人に伝える時は、どのURLを教えれば良いの?

他の人に自分のアカウントを伝える時は、プロフィールの URL を教えると良いでしょう。プロフィールはストリームページの左メニューにある自分の名前をクリックすると開くことができます。

gplus_profile

私の URL は、以下です。(よろしくお願いします!)

https://plus.google.com/103287493604953085362/posts

この URL はただの数値の羅列で長いので、独自ワードを設定して、短縮してくれるサービスも登場しています。こういったサービスを活用するのも一つですね。ただこういったサービスは、Google が運営しているわけではないので、サービスが停止する可能性もありますのでご注意を。

Google Plus Nick

Google+ サービスが開始されてからすぐに登場したので、使っている人は多い印象です。

こちらで登録しようと思ったのですが、独自ワードに数値が使ないため、私のID(shin1x1)は登録できませんでした。

Google Plus Nick

Iplus.im

後発のサービスです。こちらは、数字入りのワードでも登録できたので、shin1x1 で無事に取れました。

http://iplus.im/shin1x1

Iplus.im

7. サークルには何人まで入れられる?

サークルに人を入れる UI が使いやすく、数百人単位でどんどん入れられるので上限は気になるところです。

ストリームで流れている情報と、自分で試した限りでは、サークルに入れられる上限は、5,000 人のようです。

この 5,000 人というのは 1 サークルの数ではなく、自分がサークルに入れられるユーザ数です。

gplus_5000

5,000 人になっていると、新たにユーザをサークルに入れようとするとエラーになります。

g _5000_error

5,000 人も入れること無いよーと思うかもしれませんが、無作為にどんどんサークルに入れてカオスなストリームを眺めるのも Google+ の一つの楽しみ方なので、どんどんサークルに入れていくと意外と上限まで行きますよ:D

ちなみに自分が他人のサークルに入る(フォローされる)数については上限はありません。

8. 知らない人にサークルに入れられた。。。

上でも書きましたが、無作為にサークルに入れていって、色々な投稿をストリームで楽しむというのが Google+ の一つの楽しみ方なので、知らない人にサークルに入れられても、一切気にしないで下さい。

blog を書いている人で RSS リーダーに誰が blog のフィードを登録しているかを気にしている人はいないと思います。それと同じですね。

特に今は Google+ 感を味わうべく、とにかく多くのユーザをサークルに入れる人が多いので、こういったことが多いです。

おそらくサークルに入れた人も、特にあなたを意識せずに入れただけだと思うので、ああー増えたね、くらいで良いと思います。

9. サークルに入れてもらったから、自分も入れないとダメ?

8. でも書きましたが、サークルに入れる行為には購読程度の意味合いしかないので、自分のサークルに入れる必要はありません。

自分の興味ある人だけをサークルに入れていけば ok です。

ただ、相手はこちらのサークルに入っているかどうかは判別できる(どのサークルに入っているかは分からない)ので、入れておいた方が無難な場面では「おつきあい」などのサークルを作って、そこに入れておきましょう。

その人に見られたくない投稿は、「おつきあい」サークルを投稿対象から外して、別のサークルへ投稿します。

10. 特定のユーザに向けて投稿したい。

DM のようにあるユーザだけに投稿を送りたい場合です。

投稿対象ボックスにフォーカスを合わせて「+」の後に、投稿先のユーザ名を何文字か入力すると、リストが表示され、送信先のユーザを選択することができます。あとは対象のユーザを選択すれば、そのユーザにだけに投稿が送信されます。このあたりは Facebook の「@」と似た動きですね。

gplus_dm

投稿対象は複数指定できるので、数人にまとめて送信することもできます。

11. 同じ投稿、画像が何度も流れてくる。

共有機能により、同じ投稿が何度も流れてくる現象は発生しがちです。

いずれは Google+ でフィルタリングの機能などができるかもしれませんが、今のところできる対応としては、何度も共有するユーザをサークルから外す、その投稿を Mute するくらいでしょうか。Mute すれば同じ投稿が再共有されても、ストリームには登場しないような動きをするのですが、必ずしもそうでない場面もあったりでまだはっきりしません。

個人的には、何度も同じ画像を見ると「もーいいよ。」と思う気持ちもありつつ、同じ画像でストリームが埋まると笑えてくる場面もあったりで、まあそういうものという認識で見ています。

12. モバイルから使える?

いまモバイルで Google+ をやるなら、Android の公式アプリが良さそうです。

iPhone はアプリはまだ無いですが、Safari から基本的な操作は可能です。ただ、写真を上げる方法がなく、Webアプリの動きもそれほど良いとは言えないのが現状です。こちらはアプリの登場が待たれますね。

困る点としては、アプリにしろブラウザにしろ、投稿を共有する機能がありません。出先でストリームをチェックして、気になる投稿はクリップサークルに共有しておいて、あとで PC でじっくり読むというシーンがあるので、この機能は是非欲しいところです。

13. Public では無い投稿を共有していいか?

Public では無い投稿を共有しようとすると、念のために共有して良いかを確認されます。

gplus_share_confirm

これは場面場面で分かれてくると思いますが、自分は Public な投稿は自由に共有、Limited な投稿はクリップ用サークルにのみ共有というルールでやっています。

14. +1 した投稿を一覧で見たい。

Google+外で +1 した一覧はプロフィールで見ることができるのですが、Google+内の投稿については、+1 してもそこには表示されません。今のところ方法は無いようなので今後に期待しましょう。

15. Google+ やっといた方が良い?

面白そうだな?という方は一度触ってみると良いですよ。

使ってみて楽しいのは、様々な投稿がどんどん流れてくる感覚ですね。投稿が多い時間はストリームの名のとおり次々と流れていきます。これはなかなか爽快です。

これは過去にどこかで感じた感覚なのですが、まさに Twitter 初期が感じた感覚ですね。Twitter も今ではフォローする人も固定化してきて、前ほど自分の観測外な tweet をキャッチアップできなくなりました。きっとタイムラインには流れているのだとは思うのですが、List を活用しているのもあるし、見ても自然に無意識でスルーしてしまい、驚きが無くなってきていました。それがこの Google+ でより加速して蘇った感じです。

Google+ が加速している理由には、新サービスならではの新鮮味もそうですが、Twitter や Facebook でソーシャルサービスに慣れたユーザが増えたということもあると思います。みんながある程度、下地ができている状態で登場したので、抵抗なくサービスを受け入れることができ、次々とコンテンツが投稿されています。また +1 やコメントもこれまでのサービスにあった機能なので、活発に動いていますね。

また、投稿自体がリッチというのもあります。長文あり、画像あり、gif アニメあり、動画ありと見た目にも 140 文字テキストに比べると目をひきます。やはり後発だけに上手く他のサービスから拝借しているという感じはします。

他にも UI が使いやすい、気持ち良いというのもあります。サークルにユーザを追加する UI 含め、これも意外と重要です。

これが無いと生活ができない、といったサービスでは無いですが、ブームとも言える雰囲気を含め、まさに今が「旬」なサービスなので、しばらく楽しんでいきたいと思います。

Google+ 招待希望の方へ

メールによる招待状送付は終了しました。下記、招待リンクから Google+ に登録して下さい。
Google+に登録する。

Home > アーカイブ > 2011-07

検索
フィード
メタ情報

Return to page top