2010年6月26日に行われたイベント、オープンソースカンファレンス2010 Hokkaido内のセミナーで使われた発表スライド「PHPで大規模ブラウザゲームを開発してわかったこと」Read less
![PHPで大規模ブラウザゲームを開発してわかったこと](https://cdn-ak-scissors.b.st-hatena.com/image/square/d40dd1a6ed8c19a3bc0199d0a12a8c357a7f38d5/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fphp-100628201128-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
PHPによるデザインパターン入門 秀和システムから発売となった「PHPによるデザインパターン入門」(ISBN4-7980-1516-4・ 2006/11/23発売)を執筆しました(共著です)。 「PHPを使ってGoFパターンを見ていこう」的な書籍になっています。GoFパターンについては、それぞれパターンの説明とサンプルコードという構成です。サンプルコードは、CentOS4.4/Windows XP(SP2)+PHP5.1.x/5.2.0で動作確認しています。 目次は以下の通りです。 1章 デザインパターンの世界へようこそ デザインパターンって何? デザインパターンとは? オブジェクト指向 GoFパターン デザインパターンのメリット・デメリット デザインパターンを使うメリット デザインパターンを使うデメリット PHPとオブジェクト指向 PHPとは? PHP5でのオブジェクト指向開発 2章
Flash の SWFファイルを書き換える php extension を提供します。 SWFファイル内の画像やテキスト等の抽出/入れ替え機能があります。 詳しくは↓こちらで。 http://pwiki.awm.jp/~yoya/?swfed インストール swfed-?.??.tar.gz をもってきて伸張 http://osdn.jp/projects/swfed/files/ src 以下で phpize & configure & make modules 以下に生成される so ファイルを php の extension ディレクトリに copy ph... インストール方法を見る 使い方 * ダンプ出力 $swfdata = file_get_contents($argv[1]); $swf = new SWFEditor(); $swf->input($swfdata); $
はじめまして。2009年に新卒で入社しました天野祐介です。amachang を期待された方はゴメンナサイ! 先日 SpiderMonkey を利用して PHP から JavaScript を実行する方法を調べる機会がありましたので、ご紹介します。 SpiderMonkey とは SpiderMonkey は C で実装された Mozilla の JavaScript エンジンです。 これを PHP から実行する拡張を利用すると、 PHP コード内で JavaScript が実行できます。 SpiderMonkey extension のインストール こちらhttp://devzone.zend.com/article/4704に記載されている方法で CentOS にインストールしてみました。 PHP 5.3.0 以上が必要です。 $ wget http://ftp.mozilla.org
ブラウザ上でC#やPHP5を動かせて遊んで学べる「CodeRun」が凄いです。 最初アプリケーションかなと思ったのですが、全てブラウザ上で動作するので、学習用やちょっとした動作確認に使えます。 ブラウザ上でコーディング 次のように、IDEアプリケーションのようなUIで、C#やPHP5.1を、ブラウザの上で動かすことが出来ます。 プロジェクト作成 New → Project を選ぶと、C#やJavaScript、PHPの色々なプロジェクトが作れることがわかります。 PHPのHellow World のソースが入ったコードがエディタに表示されました。このソースをいじって直接動かせます。 コードを動作テスト 次のようなコードを書いて「Run」ボタンを押してみます。 以下、出力例です。ちゃんと動きました。 c2d6c077f524683db2f00c0e975766810 1 2 3 4 5 6
「PHPerの問題点はPHPしか知らずに的外れなことを言うことだ」と、Javaしか知らなくて的外れなことを言っている連中にすら言われちゃってるPHPerのみなさん、こんにちは。 PHPは「使える道具」であることは事実です。しかし同時に言語仕様がウンコなのも事実。 ここでは、個人的にウンコだと思っているPHPの仕様を挙げてみたよ! htmlspecialchars() の名前が長すぎる これはほんとウンコ。おまえWebアプリのための言語やろが!なんでこの関数の名前がこんなに長いねん!こんだけ長かったらめんどくさがって echo $var としてまうやろが!WordPressのthemeでHTMLエスケープ忘れが多いのはおまえの名前が長すぎるせいだ! そんなわけで、全PHPerはこんな関数を定義するといいと思うよ。 ## echo $var; よりも短く h($var); と書ける! func
スクリプト言語の範疇に入らないかもしれない言語を使っているPHPerのみなさん、こんにちは。 PHPの歴史は、Disられ罵られバカにされ続けた歴史です。 本日は、その歴史を紐解いてみたいと思います(一部、PHP擁護派のエントリも含んでいます)。 なおここで紹介していない記事で、ほかに紹介してほしいものがあれば、教えてください。 あと引用は一部のみなので、元記事の全文を読むことを強くお勧めします。 2006年 PHPプログラマ in YAPC::Asia 2006 Tokyo - 0330 (twk @ ふらっと) では、PHPの世界に帰ります。Perlの人はRubyをうらやみHaskellにおどろきPHPを軽蔑すると言う文化になっているようです。 このころには、すでにPHPは軽蔑される存在だったようです。 昔、2ちゃんとかでよくあった、Perl = C++ , PHP = VBってな感じ?
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
先日書いた「PHPの奇妙なround関数」は、重箱の隅をつつくような内容の割には注目を頂いたようで何よりです。ブックマーク数が増えていくのを見るのはとても楽しい経験でした。気をよくして他の持ちネタも披露してみます。今回はPHPの配列のキーに関して簡単に紹介した上で、関連してバグなのか仕様なのかわからない挙動を指摘します。 まず、PHPの配列について簡単に紹介します。PHPには配列と連想配列の区別がありません。これは他の言語ではあまり見られない特徴だと思います。PHPのarrayはいわゆる配列と連想配列の両方の性質を持っていますが、他の言語で言うと連想配列で実現されていると言えます。この記事ではPHPの流儀で「配列」と呼びますが、他の言語のユーザーにとっては連想配列と読み替えた方が自然かもしれません。連想配列なのに代入された順番を覚えていたりするので、結局違和感があるかもしれませんが…。 P
たった1ファイルでサーバ上のコンテンツ管理が出来る最低限の「OneFileCMS」がいい感じです。 onefilecms.php という単体のファイルにも関わらず、次のようなスタイリッシュなデザインで、(1) ディレクトリの走査、(2) ファイルの閲覧、(3) ファイル作成/アップロード (4) フォルダ作成 (5) ファイル編集 などの基本的な機能が備わっています。 ログイン画面 ディレクトリの中身(ディレクトリ・ファイル)をカッコよく表示 ファイル名を入力してファイル作成 フォルダの作成 フォルダの削除、リネーム可能 ファイル内容編集 簡単なファイル書き換えや管理がブラウザベースで出来ればいいだけの場合、ファイル1個で簡単設置が出来るので便利そうです Download - OneFileCMS
JavaScriptでLightBox風のインストーラ用ウィザード作成ライブラリ「ModalBox... 次の記事 ≫:JavaScriptなバーコード時計 CodePlex - PHPExcel Project providing classes for the PHP programming language, to allow to write to Excel 2007 files. PHPでExcel2007のファイルを扱えるクラスライブラリ「PHPExcel」。 PHPExcel_Writer_Excel2007や、PHPExcel_Reader_Excel2007 等のクラスも提供されていて、読みと書きが行える模様です。 コードはPHP5で書かれているため、PHP4では動作しません。 次のサンプルコードで示すように使うことが出来ます。 クラスライブラリの形なので非常にスッキリ
PHPには5.0.0以降SPL (Standard PHP Libray)という枠組みが導入されています。これにより、Iteratorインターフェースを実装したクラスのインスタンスであれば、foreach文で配列と同じように取り扱えます。自分でクラスを作るときもIteratorを実装すれば使うのが楽ですし、コードも読みやすくなると思います。 また、PHPに標準で組み込まれているクラスにはIteratorを実装しているものが多数あります。たとえば僕の手元のPHP5.2.9には24個のイテレータがあり、そのうちいくつかは十分に実用的なクラスです。ただ、日本語の資料が少ないせいか、かなり知名度は低いように思います。本記事では4つの便利な組み込みイテレータを紹介します。 SPLのクラスにはデザインパターンの考えが多く含まれています。特に、イテレータを元にイテレータを作るような使い方は、保守性の高い
9lessons: jQuery and Ajax best 9lessons. jQueryやPHPを使った便利な仕組みのチュートリアル集。 9lessonsというサイトがあって色々便利な仕組みのチュートリアルが公開されています。 Twitter Like More Button with jQuery and Ajax. 「もっと読む」をajaxで実現するサンプル Exactly Twitter like Follow and Remove buttons with jQuery and Ajax Twitter風のフォロー、削除ボタンを実現するサンプル Delete a Record with animation fade-out effect using jQuery and Ajax. 行を削除してフェードアウトアニメーションをさせるサンプル jQuery Username Av
WEBデザイナーな方向けのPHP入門によさそうな、CSS内でPHPで使うサンプル 2009年04月15日- PHP Tutorials Examples Embedding PHP In CSS WEBデザイナーな方向けのPHP入門によさそうな、CSS内でPHPで使うサンプル。 CSSファイルをPHPとして実行して共通の値を変数にして使うというチュートリアルが公開されています。 PHPは知ってるという方には当たり前すぎるかもしれないですが、WEBデザイナーの方が最初に入門するにはよいかも。 ステップ1 AddType application/x-httpd-php .css .htaccess等に、AddTypeを追記して、.cssファイルがphpとしてサーバ側で処理されるように指定 ステップ2 <link rel="stylesheet" href="style.php" media="
# およそ1時間に1回程度喋ります。内容は各サービスごとにバラバラです。いくつかのモデルはReplyを送ると反応します。 形態素解析エンジンはMecabを使用。開発言語はPHP。データベースはMySQL。 - カミナギ(神無) / Kaminagi 01 http://h.hatena.ne.jp/kaminagi/ http://twitter.com/kaminagi/ http://wassr.jp/user/kaminagi カオス担当。 - ハヅキ(葉月)/ Hadzuki 02 http://h.hatena.ne.jp/ha_dzu_ki/ http://twitter.com/hadzuki/ http://wassr.jp/user/hadzuki 実務担当。 - Undecimber 13 http://h.hatena.ne.jp/undecimber/ メンヘル担当
あいかわらずphpでやんなくていいじゃんな話、なのかな。そうでもないかも。 php.net の proc_open の例にあるように、 proc_open() で子プロセスを起動してstream_get_contents() すると、場合によっては固まったまま動かなくなったりします。「デッドロックを避けるため…」という件がコメントに入ってますが、こういう話が得意でない人にとってはそんなとこ以上にハマりどころがありました。 stdoutとstderrに交互に出力 たとえば次のようなシェルスクリプト test.sh を考えます。 #!/bin/sh for i in `seq 1 10000`; do echo "stdout: $i" >&1 echo "stderr: $i" >&2 done 単に標準出力と標準エラーに交互に数字を吐き出すだけです。 これをphpから実行するときに、php
PHPで開発をすることが多くなりPerlの良さを再確認している今日この頃ですが皆さんいかがお過ごしでしょうか。 さて、今日は今もっともナウいPHPのWebアプリケーションフレームワークであるCakePHPのお話を一つ。 CakePHPには組み込みコンポーネントとしてリクエストハンドラ(RequestHandler)が備わっています。 リクエストハンドリング :: 組み込みのコンポーネント :: マニュアル :: 1.2 Collection :: The Cookbook: このRequestHandlerのメソッドであるgetClientIPが小学生には危険そうだというお話。(あ、このエントリのタイトル逆w) まずはgetClientIPの実装コードを。(1.2を例にとっているが1.1もほぼ一緒である) https://trac.cakephp.org/browser/trunk/c
レスポンスヘッダに"Content-Encoding: deflate"とある場合、HTTP_Requestはデコードしない模様。 Request #11246 Problem with deflate encoding HTTP_Requestは、リクエストヘッダのContent-Encodingを探し、その値がgzipだった場合に自動的にデコードしてくれます。ところが、"Content-Encoding: deflate"の場合にはデコードしてくれません。ソースを読む限り、gzip圧縮の判定を「Content-Encodingの値がgzipである場合」としており、それ以外についてはどこにも記述されていません。deflateは無視しているようです。 gzipのデコードは_decodeGzipメソッドで行われます。PHPにはgzinflate関数が用意されており、_decodeGzipメソ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く