タグ

phpに関するtsukimiyaのブックマーク (25)

  • PHP勉強会10年の歴史をふりかえる - hnwの日記

    PHP勉強会@東京が今月で10周年の節目ということで、大変めでたいですね。僕にとっては初めて参加・発表した社外勉強会だったこともあり、不思議な感慨があったりします。 そこで、ふと思いついてPHP勉強会の10年を表形式でまとめてみました。古参の人が懐古する以外の用途はほぼ無いと思いますが、現在の参加者の方や他の勉強会の運営をしている方の参考になる部分が1%くらいはあるかもしれません。 (企業名などは全て当時の名前です) 2005年 開催日 募集ページ 募集人数 会場提供 幹事 2005-06-18 (土) 第1回PHP勉強会 in Tokyo 24 株式会社HDE ELF 2005-07-23 (土) 第2回PHP勉強会 in Tokyo ? 株式会社HDE ELF 2005-08-28 (日) 第3回PHP勉強会 in Tokyo ? 株式会社ぷらっとホーム ELF 2005-09-18

    PHP勉強会10年の歴史をふりかえる - hnwの日記
    tsukimiya
    tsukimiya 2015/06/24
    今日の老人の集いはここですか?
  • PHP extensionとZend extensionの違い - hnwの日記

    PHPのextensionにはPHP extensionとZend extensionという2種類があります。これらの違いが何なのか、PHPの実装レベルから調べてみました。 PHPのextensionについて PHPのextensionには2種類が存在します。これらは次のようにphp.iniでロード指定する構文が異なります。 extension=extension.so zend_extension=/path/to/extension.so 稿では「extension=」でロードされるものをPHP extension、「zend_extension=」でロードされるものをZend extensionと呼びます。これらはPHPのソースコード中ではそれぞれmoduleとextensionと呼ばれているので注意してください。 代表的なZend extensionとしてはXdebugとZend

    PHP extensionとZend extensionの違い - hnwの日記
    tsukimiya
    tsukimiya 2013/07/24
    extesionとzend extension自体の違いじゃないけど、zend extensionはdl()で呼べなかった気がする。何か理由あるから分けてると思っていたんだけど、実はないの…?
  • PHP 5.4から配列定義は超簡単に、そして落とし穴も – yohgaki's blog

    (Last Updated On: 2018年8月13日)PHP 5.4 Advent Calender 2011用のエントリです。(まだ空きがあるので是非どうぞ) このエントリを書いているのは11/23です。初めの方から重いネタだと後の方が苦労する(?)ので軽い話です。 PHP 5.3までの動作 現時点ではPHP Manualの配列のページには記載されていませんが、配列の定義が簡略化されます。まず現状の配列の定義方法は <?php $a = array('foo'=>123, 'bar'=>456, 789); var_dump($a); こんな感じですね。これを実行すると $ ../php-src-5.4/php arr.php array(3) { ["foo"]=> int(123) ["bar"]=> int(456) [0]=> int(789) } このような出力になります。

    PHP 5.4から配列定義は超簡単に、そして落とし穴も – yohgaki's blog
    tsukimiya
    tsukimiya 2011/12/02
    この手の罠に一通りはまってこそ真のPHPerへの道が開かれるんだろうが! というのはおいて置いて、いつでも<?=ってのはshort_open_tag = offでもってことですかねー
  • PHP5.4とScalaのトレイト比較 - なんたらノート第三期ベータ

    PHP5.4にはトレイトという文法が導入されて、多重継承の便利さが享受できるようになるそうです。 いろいろ試してみることにしました。 トレイトといえば代表選手はScalaですね。Scalaでいうトレイトは、インターフェースの定義とメソッドの実装を同時にやってくれる便利な概念でした。単一継承のOOP言語では「〜は〜の一種」という制約が強すぎて、「ペンギンは鳥の飛行メソッドによって飛行できてしまう」という問題があります。でもちゃんと「ペンギンは飛べないが泳げる鳥」を綺麗に解決する必要はあって、その解答として、トレイトのあるScalaではこんな解が導けます。 abstract class Animal abstract class Bird extends Animal { def hasBeak = true // 鳥にはかならずクチバシがある def hasWings = true // 翼

    PHP5.4とScalaのトレイト比較 - なんたらノート第三期ベータ
    tsukimiya
    tsukimiya 2011/07/05
    まあalphaなんて絶対色々変わっちゃうしむしろ5.4.0がリリースされたときにはうっかりtrait無くなってたりするのかも?!(注: namespaceの前例) とか思うのでつられません。
  • PHPの新しいround関数にバグをみつけた - hnwの日記

    PHP 5.3.0以降、PHPのround関数の挙動はChristian Seilerさんが提案したRFCに従って一新されています。この新しいround関数の仕様上の問題もしくはバグを見つけました。 以前の記事「PHP5.3.0alpha3のround関数の実装がPHP5.2.6と変わった」でこの新しい実装は「今までよりは良い実装」ではないかと書きましたが、撤回すべきかもしれません。ベースのアイデアとしては以前の記事にも書いた通り悪くないと思うのですが、考え漏れがあるような気がしています。 たとえば次のサンプルコードを見て下さい。 <?php ini_set("precision",19); var_dump(1000000000000000.125); var_dump(round(1000000000000000.125)); サンプルコード中の1000000000000000.125

    PHPの新しいround関数にバグをみつけた - hnwの日記
    tsukimiya
    tsukimiya 2011/04/07
    derickさん…
  • PHP Excel拡張モジュールをざっくり試してみた - Do You PHP はてブロ

    PHPExcel』と来れば通常はPHPExcelなんですが、如何せん、『でかい・遅い・メモリう』と三拍子そろってしまってます。で、PHPのコア開発者のIlia氏が、LibXLを使った拡張モジュールを書いてしまったようです。 Since I broke my right hand 3 weeks ago while biking, I found myself with a lot of spare time :/. It is amazing just how limited your ability to do things becomes when you can only use one hand. So, to stave off the boredom, I've been slowly toiling away on a PHP Excel extension that

    PHP Excel拡張モジュールをざっくり試してみた - Do You PHP はてブロ
    tsukimiya
    tsukimiya 2010/08/03
    使うかも?
  • PHPをC++に変換して高速化する「HipHop for PHP」をFacebookが公開 : candycane development blog

    アメリカ時間の昼ごろにTwitter上が一つのニュースで埋め尽くされました。 PHPC++に変換して高速化する技術をFacebookが公開したというものです。世界中のPHPハッカーが注目する興味深いリリースという事でちょっと長いですが、リリースノートの和訳を行いました。 原文 http://developers.facebook.com/news.php?blog=1&story=358 Facebookにおいて重要なことのひとつが動作の速さです。過去6年間にわたって、PHPが提供する高速な開発ペースによって多くを成し遂げてきました。プログラミング言語としてみると、PHPはシンプルです。簡単に習得し、簡単に書き、簡単に読み、簡単にデバッグする事ができます。我々は他の言語よりも早くエンジニアを獲得し、それによってより早いイノベーションをすることができます。 今日、私は2年に渡って作業して

    tsukimiya
    tsukimiya 2010/02/03
    大抵この手の物は「いやー、でもどうせ使い物にならないでしょwww」だったんだけど、FaceBookで実際に使われてるって言うんだからそりゃ期待もするさ / yandoさん翻訳おつかれー
  • 僕が Ethna を使い続ける8つの理由 - 肉とビールとパンケーキ by @sotarok

    An Error Occurred: Not Found 僕がsymfonyを使い続ける10の理由 - ゆっくり*ゆっくり Zendでも、Symfonyでもなく、CakePHPを選んだ10の理由 - 個人事業主のつぶやき 僕が Zend Framework 使い続ける 8 の理由 - Memo 先に言っておくと、好きなものを使えばいいと思うけど、FUDっぽいことは建設的ではないし、しないほうがいいと思うんですよ。ってことで,Ethna への愛を語りましょう. 1. ActionForm Ethna でなんといっても使い易いのはフォーム. まあこのあたりはフレームワークの思想みたいなものに含まれる点もあると思うけど,モデルから独立したフォームだから,自由自在にフォームを組み立てることができる.モデルに必要なデータは関連付けを行えばいい,という思想だから,フォームの値を組み立ててDBに入れる(

    僕が Ethna を使い続ける8つの理由 - 肉とビールとパンケーキ by @sotarok
    tsukimiya
    tsukimiya 2010/01/28
    名前はかわいいっていうか毒気ぬかれそうというか。同名の飲み物でないかなー、と思われたらすっ飛ばされた感じで残念。
  • display_errorsが謎の副作用を持っている箇所について - moriyoshiの日記

    昨日 id:narusase さんよりお便りをいただきました。 はじめまして narusaseです。 ↓このあたりに軽くまとめてありますが・・・ http://d.hatena.ne.jp/narusase/20091203 http://d.hatena.ne.jp/narusase/20091204 htmlspecialcharsのdisplay_errorsの解釈が逆転している問題があるようです。 ↓UTF-8で下記のようなコードを書き実行すると <?php $str = 'メガネ'; $hoge = htmlspecialchars($str, ENT_QUOTES, 'SJIS'); printf("%s\n",var_export($hoge, true)); ?> htmlspecialcharsの箇所でエラーが起こります。 これ自体は問題ないのですがphp.iniの設定が

    display_errorsが謎の副作用を持っている箇所について - moriyoshiの日記
    tsukimiya
    tsukimiya 2009/12/11
    PDT使ってるんだけど、会社でバグ見つけるとついついCtrl+Alt+A押してしまう病気
  • PHPの閉じタグは心の臓に悪いから使わないで - Unknown::Programming

    閉じタグってのは「?>」のことね。未だに閉じタグ使ってるコードを見ると一瞬ドキッとするんだよね。(自分の昔のコードも含むw) いや、ちゃんとわかってて確実に使いこなしてるならいいんだけどたまに -- ここがファイルの先頭 -- <?php class Foo { // いろいろ } ?> -- ここがファイルの後尾 -- みたいな感じで閉じタグの後に改行コードが一つ入ってたりするのを見ると「あわわわ」ってなっちゃう。 実際には改行一つだけなら問題は出ない、PHPは閉じタグの直後の改行を消してくれるからね。 問題は改行が二つ以上あった場合だ。これは悲惨なことになる。PHPは閉じタグ以降のデータ(というか範囲外のデータ)は全部HTMLとして出力される仕様なので、改行コードが表示されちゃう事態に。 表示されちゃうっていうのは語弊があるか、元々PHPHTMLに埋め込むための言語なのでの範囲外の文

    PHPの閉じタグは心の臓に悪いから使わないで - Unknown::Programming
    tsukimiya
    tsukimiya 2009/07/17
    他にも、画像を出力するPHP作ってるとはまったりとか。
  • https://next.rikunabi.com/tech/contents/ts_report/img/200711/001209/f12.jpg

    tsukimiya
    tsukimiya 2009/07/15
    神は死んだ(´;ω;`)
  • mixi OpenIDのサンプルコードをPHP OpenID Libraryを使って動かしてみた(訂正) - 大阪で働くソーシャルゲームエンジニア ダイアリー

    ※mixiコミュで誤りをご指摘頂いていたみたいなので、内容を修正致しました。 ミクシィは8月20日、オープンな分散認証技術「OpenID」とソーシャルネットワーキングサービス(SNS)「mixi」を融合した認証サービス「mixi OpenID」を同日15時に提供開始することを発表した。 mixiがとうとうOpenIDに対応しましたので、 PHP OpenID Libraryを利用してmixi OpenIDでログインするサンプルプログラムを動かしてみました。 以下の手順をご覧ください。 STEP 1.インストール ダウンロードして解凍するだけです。 特に難しい設定は必要ありません。 cd /var/www wget http://openidenabled.com/files/php-openid/packages/php-openid-2.1.1.tar.bz2 tar jxvf php-

    mixi OpenIDのサンプルコードをPHP OpenID Libraryを使って動かしてみた(訂正) - 大阪で働くソーシャルゲームエンジニア ダイアリー
    tsukimiya
    tsukimiya 2009/06/19
    良エントリ
  • 見直されるべきPHP5の組み込みイテレータ - hnwの日記

    PHPには5.0.0以降SPL (Standard PHP Libray)という枠組みが導入されています。これにより、Iteratorインターフェースを実装したクラスのインスタンスであれば、foreach文で配列と同じように取り扱えます。自分でクラスを作るときもIteratorを実装すれば使うのが楽ですし、コードも読みやすくなると思います。 また、PHPに標準で組み込まれているクラスにはIteratorを実装しているものが多数あります。たとえば僕の手元のPHP5.2.9には24個のイテレータがあり、そのうちいくつかは十分に実用的なクラスです。ただ、日語の資料が少ないせいか、かなり知名度は低いように思います。記事では4つの便利な組み込みイテレータを紹介します。 SPLのクラスにはデザインパターンの考えが多く含まれています。特に、イテレータを元にイテレータを作るような使い方は、保守性の高い

    見直されるべきPHP5の組み込みイテレータ - hnwの日記
    tsukimiya
    tsukimiya 2009/05/25
    で、おやぢギャグはまだ? / 確かにhnwさんが書いているとタイトルから「(中の人は)PHPのイテレータの実装を見直したほうがいい」って話しか!と思っても仕方がない気がする。偏見ですが。
  • PHPのsort関数は相当おかしい - hnwの日記

    追記(2009/02/28 15:35):ソートする配列の要素が数値または数値形式の文字列のみの場合は、<、==、>が推移律を満たすので、この記事のような矛盾は起こりません。念のため。 オヤジギャグがこらえられなくなったら立派なオヤジだと思います。それはさておき、今日はPHPのsort関数が不思議な挙動をする例を紹介します。 sort関数の紹介 sort ― 配列をソートする 説明 bool sort ( array &$array [, int $sort_flags= SORT_REGULAR ] ) この関数は配列をソートします。この関数が正常に終了すると、 各要素は低位から高位へ並べ替えられます。 PHP: sort - Manual マニュアルをみる限り普通のソート関数です。省略可能な2番目の引数の意味は次の通りです。 sort_flags オプションの 2 番目のパラメータ s

    PHPのsort関数は相当おかしい - hnwの日記
    tsukimiya
    tsukimiya 2009/02/27
    どう見てもオヤジです / おまいらダジャレ大好きですね!!!><
  • strtotime関数との付き合い方 - hnwの日記

    PHPで日付・時刻の処理を書く際、「strtotime()関数を使うと可読性が高くなって良い」と僕は思っていたのですが、全面的に信用するのは危険だと感じてきました。 strtotimeというのは、文字列をunix timeに変換する関数です。「2008-12-24 23:59:59」のような文字列はもちろん、様々なフォーマットの文字列を解釈してくれます。中でも特徴的なのは下記のような文字列を理解することでしょう。 now +1 day +1 week +1 week 2 days 4 hours 2 seconds next Thursday last Monday これを解釈してくれること自体はいいんですが、与えられた文字列をどう解釈するかについてはどこにもドキュメントがありません。下記のような文字列も解釈してくれるんですけど、どう解釈するのが正解なのかは僕にもわかりません(実際に試すと

    strtotime関数との付き合い方 - hnwの日記
    tsukimiya
    tsukimiya 2008/12/26
    バグがある=PHPなんて使えねー!やっぱPHP避ける!(盲目的に)じゃなくて、付き合い方を考える。良エントリ。/ っていうか、これはバグというより「仕様がドキュメントとしてまとまってない」のが問題だよね。やっぱ。
  • openpearでPHP_Objectというライブラリを公開しました - テクメモ

    PHP_Object - openpear 実用性はほとんどないライブラリですが。 以下説明。 openpearに書いてあるものほとんどそのままです。 PHP_Object PHPを純粋なオブジェクト指向プログラミング言語っぽく書けるようにする。 主にメソッドチェーンするためのライブラリ。 サンプル <?php require_once 'PHP/Object.php'; function p($data) { return PHP_Object::factory($data); } $array = p(array('foo', 'bar')); // Arrayオブジェクトを作成 $array->push('baz'); // array_pushのエイリアス $array->var_dump; // 引数がない場合、括弧は省略できる /* 出力結果 &array(3) { [0]=>

    openpearでPHP_Objectというライブラリを公開しました - テクメモ
    tsukimiya
    tsukimiya 2008/12/12
    面白いもの作る人いるなぁ
  • PHP5.3.0α3の名前空間 - Do You PHP はてブロ

    お約束通り(?)、α3の名前空間を試してみました。コードのネタはWEB+DB PRESS Vol.47の連載に書いたモノです。せっかく必死こいて書いたのに。。。 WEB+DB PRESS Vol.47 作者: 高橋徹,遠藤康裕,はまちや2,正野勇嗣,前坂徹,やまだあきら,笠谷真也,大沢和宏,縣俊貴,ミック,田中洋一郎,有賀一輝,石黒尚久,石室元典,長野雅広,池邉智洋,和田正則,下岡秀幸,伊藤直也,nanto_vi,武者晶紀,大塚知洋,山陽平,高林哲,小飼弾,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2008/10/23メディア: 大型購入: 10人 クリック: 90回この商品を含むブログ (32件) を見る 名前空間の宣言の例 まあ、予想通りですね。。。バックスラッシュになってますよ。ええ、バックスラッシュになってますよ。 <?php namespace w

    PHP5.3.0α3の名前空間 - Do You PHP はてブロ
    tsukimiya
    tsukimiya 2008/12/10
    みんなもうちょっと前向きになろうぜ!!!\(^o^)/
  • PHP5.3.0alpha3のround関数の実装がPHP5.2.6と変わった - hnwの日記

    (2016/07/02 20:00追記)稿をさらに掘り下げた記事「PHPのround関数を読み解く (1)丸め桁数が大きすぎ・小さすぎる場合」「PHPの新しいround関数を読み解く (2)pre-roundingの意味」を書きました。合わせてご確認ください。 12月4日付でPHP5.2.7とPHP5.3.0alpha3が同時リリースされましたが、これに関連して毎度おなじみPHPのround関数の話題です。相変わらず記事は長いので簡単なまとめから。 PHP5.3.0alpha3ではこれまでのPHPのいずれとも違うround関数が実装されました。少々疑問は残るものの、比較的マシな実装だと僕は考えています。今回は0.50000000001のような不思議な数は含まれていませんし、問題が起こる例が以前より減ったように思います。 第3引数で丸め方式を選択できるようになりました。四捨五入(デフォルト

    PHP5.3.0alpha3のround関数の実装がPHP5.2.6と変わった - hnwの日記
    tsukimiya
    tsukimiya 2008/12/08
    round魔王が現れた。良いまとめ。
  • フレームワークで使われているPHP関数を数えてみた

    CakePHPを使ってからempty()を使うようになった、なんて話が以前社内でもあったので、各フレームワークで使われているPHP関数を調べてみました*1。 調べたのはCakePHP/symfony/ZendFrameworkで、それぞれ最新版を使用しています。 あと関数全てを載せると長いので上位20件のみ記載しています。 CakePHP-1.2RC1 array()が圧倒的ですね。2位以下もin_array()から5位のis_array()まではarrayに関係する関数となってます。 さらにarray()自体の数がスゴイです。ソースコードは3つの中で一番少ないのですが(symfonyの約2/3、ZFの約1/3)ですが、array()はsymfonyの約5倍、ZFの約2倍となっています。 いかにCakeがarrayを多用しているかが、良く分かります。 ソース行数:126,469行 1664

    tsukimiya
    tsukimiya 2008/06/13
    お前は今までに書いたarrayの数を覚えているのか?/ ということで、rskyさんのShort syntax for array literals patch入るのを切望してるわけです。
  • そろそろPHP勉強会に対する思いについて一言言っとくか。 - 絶品ゆどうふのタレ

    例えば、「PHP勉強会(B面)」とかはどうだろう? - ぐらめぬ・ぜぷつぇんのはてダを読んで、以前から気になっている点に関して、ちょっと言及しておこうかと思いました。 別に僕はPHP勉強会を運営してる人なのかって言うとそうでもないんですが、わりと中の人に近いと思うし、何より僕自身がとても思い入れがあるのでちょっと言っとくべきな気がしたんです。 ちなみに上記の記事をDISるつもりとかは全然なくて、論点はだいぶずれてます。てか、上の記事の話はむしろやった方がいいと思っています。ただの話の取っ掛かりですすいません。 以前から気になっている点というのは PHP勉強会は上級者が対象 みたいな風に受け取られていることです。 これはあからさまな間違いです。 というより、事実扱う内容はレベルの高いものも多いですが、こう受け取ることで参加をしり込みしてしまう人がいる、ということが非常に気にかかります。 勉強

    そろそろPHP勉強会に対する思いについて一言言っとくか。 - 絶品ゆどうふのタレ
    tsukimiya
    tsukimiya 2008/06/06
    『一歩を踏み出す才能』は誰にでもあるはずなんだぜ (`・ω・´)