タグ

phpに関するlapis25のブックマーク (273)

  • PHP のよいところとよくないところ - id:k-z-h

    php前提。PHP はクソ。滅びろ。ruby はしらんが pythonperljava のほうがよっぽど楽。javascript は多分同じかもっと地獄。よいところ導入が安い動作環境的な意味でも、コード的な意味でも。置けば動くし、書けば動く。当に何も知らん人間でもなんとか動く。エンジニアの頭数もそろえやすい。運用コストのスケーリングができるapache+mod_php だけでも普通に早い。apc 入れればそれだけで大抵のリクエストさばける。nginx+php-fpm+apc なんて環境にすればもっとさばける(と思う。まだ試してない。)最悪 HIPHOP-PHP でなんとかできることは Facebook が証明している。ドキュメントが読みやすいphp.net のドキュメントはテンプレートがしっかりしていて全部それにそっているので非常に読みやすい。邦訳も早い。よくないところ標準の

    lapis25
    lapis25 2011/11/07
  • PHP カンファレンス 2011 のお知らせ+α - mixi engineer blog

    初めまして。今年2月に入社した、yudoufu こと亀です。よろしくお願いします。 前職ではPHPやObjective-Cでの受託開発をやっていましたが、ミクシィでは運用部のアプリ運用グループというところで運用業務を担当しています。 PHPをモリモリ使っていた関係から、日PHPユーザ会というところでよく活動しています。 mixiはご存知の通りPerlの会社なので、入社する前は、PHPerはきっと 「正規表現書けないんでしょ?」とか 「今更PHPではなくPerlの会社に来たの?」とか言って DISられんのかなPerl Mongerこわい><ってプルプルしてましたが、いい人たちばかりで、みんなやさしかったので一安心です。偏見よくないですね。 PHP DISる人がいないのはヒゲもサスペンダーもないからなのかどうなのかはよくわかりません。 さて、僕のPerlの人に対するひどい偏見の話はこの辺り

    PHP カンファレンス 2011 のお知らせ+α - mixi engineer blog
    lapis25
    lapis25 2011/06/10
    "ヒゲもサスペンダーもないから"
  • PHPでも記号プログラミング! - Articles Advent Calendar 2010 Sym

    こんにちは。hnwと申します。仕事PHPのコードを書いたり読んだりしています。PHPは別に好きじゃないと言いつつ、PHPがDISられるとムキになっちゃうような、ちょっと面倒なタイプの人間です。 このイベントではPHPの話題を何回か書かせて頂きます。 では、題に入りましょう。PHPに慣れていない方も多いと思いますので、まずはPHPでHello, worldに挑戦してみます。 <?=('`'^'(').('_'^':').('@'^',').('@'^',').('@'^'/').(',').('~'^'^').('_'^'(').('@'^'/').('_'^'-').('@'^',').('_'^';').('!')?> PHP使いの人なら見慣れたPHPのコードです。では、早速実行してみましょう。 $ php -d short_open_tag=1 /tmp/hello.php Hel

    PHPでも記号プログラミング! - Articles Advent Calendar 2010 Sym
    lapis25
    lapis25 2010/12/03
  • Lithiumのフィルタシステム

    次世代CakePHPとも言うべきフレームワークLithiumのフィルタシステムを見てみました。 Lithiumは対象がPHP5.3以上ということで、5.3ならではの機能を活用したアーキテクチャになっています。中でも特徴的なのがフィルタシステムです。 全体のアーキテクチャとしては、CakePHPの流れを汲んで標準的なMVCフレームワークになっています。ただそれを実現する手段としてフィルタシステムを多用しています。これまでのフレームワークとは異なる点があり、いざフレームワークの動きを掴もうとすると戸惑います。 そこでLithiumのフィルタシステムをざっくりと見てみましょう。 サンプルソース サンプルとして、SampleControllerとそのビューテンプレートを用意します。 フィルタの動きを見るだけなので、indexアクションでは、ログに__METHOD__を記録するだけです。 [app/

  • PSR-0 を和訳してみた - hnwの日記

    先週の土日にPHPMatsuriに行ってきました。ナイスなイベントでしたね。その感想はまた改めて書きますが、Nate Abeleによるセッション「Practical PHP 5.3」で触れられていたPSR-0を適当に訳してみました。これはPHP5.3の名前空間とクラス名に関する標準化の試みで、少なくともZendFrameworkとsymfonyの中の人が関わっているようです。 うまく訳出できなくて苦し紛れのところもあるので、修正すべき箇所があれば教えてください。 元の文章は http://groups.google.com/group/php-standards/web/psr-0-final-proposal にあります。以下はその和訳です。 PSR-0 最終提案 以下で、オートローダーの相互利用性を確保するための必須要件について記述します。 必須要件: 名前空間とクラスの完全な名前とし

    PSR-0 を和訳してみた - hnwの日記
    lapis25
    lapis25 2010/10/07
    「名前空間とクラス名の標準化の試み」
  • Smartyのテンプレートで配列や連想配列を定義する方法 - Unknown::Programming

    Smartyのテンプレートでは配列や連想配列を定義できない。そんな風に考えていた時期が俺にもありました。 さてググってみるとプラグインを利用する方法を発見しました。 Smartyで配列を定義するプラグイン - Lism.in * blog - nekoya (id:studio-m) Smarty のテンプレートで配列を定義する - XCL Labo 前者は自作プラグインを作る方法、後者はsplitプラグインを利用する方法ですね。 しかしプラグインを利用する方法には以下の三つの問題点があります。 文字列の配列しか生成できない 多次元配列を生成できない メソッドに引数にそのまま渡せない あくまで文字列を分割して配列を生成してるだけなのでオブジェクトの配列や多次元配列を生成できません。 またメソッドに渡せないというのは以下のようなケース エラー。メソッドの引数にプラグインを使用できない {$f

    Smartyのテンプレートで配列や連想配列を定義する方法 - Unknown::Programming
  • PHPでPath_Classを使ってらくらくディレクトリorファイル操作 - Unknown::Programming

    先日の記事だけを見ると、Perlを使ったこと無い人からすれば何がどう便利なのか良く分からないと思うのでここらでPath_Classの解説。 まずPath_Classの大きな特徴として、引数で与えたパスが、実際にファイルとして存在してなくても良いというところがあげられるでしょう。 <?php require_once 'Path/Class.class.php'; // 存在しないパスを与えてもまったく問題なく動く $dir = cdir('/foo/bar/baz'); // 一個戻ったり $dir->parent(); # /foo/bar // 一個進んだり $dir->subdir('hoge'); # /foo/bar/baz/hoge // ディレクトリ生成しちゃったり $dir->mkpath(); # /foo/bar/baz/というディレクトリが作られる。 // ファイルの

    PHPでPath_Classを使ってらくらくディレクトリorファイル操作 - Unknown::Programming
    lapis25
    lapis25 2010/09/14
  • PHP版Path::Class - Unknown::Programming

    え?あぁ。Perlerなら皆さんご存知のPath::Classですが、それのPHP版です。欲しかったので作りました。 以下使い方例。 <?php require_once 'Path/Class.class.php'; $dir = cdir(array('foo', 'bar')); # Path_Class_Dirオブジェクト $file = cfile(array('bob','file.txt')); # Path_Class_Fileオブジェクト print "dir: $dir\n"; # foo/bar print "dir: $file\n"; # bob/file.txt $subdir = $dir->subdir('baz'); # foo/bar/baz $parent = $subdir->parent(); # foo/bar $parent2 = $paren

    PHP版Path::Class - Unknown::Programming
    lapis25
    lapis25 2010/09/14
  • PQ - naoyaのはてなダイアリー

    PHP でデータベースを利用するちょっとしたアプリケーションを作るにあたって、手軽に DB を操作できると良いなと思ってます。この辺も自分で作ってみようかなと思い立ち、まずはインタフェースを固めるべくそのプロトタイプを作ってみました。 $pq = new PQ(); $pq->dsn('mysqli://nobody:nobody@localhost/sample?charset=utf8'); echo $pq->query('users') ->where( array('age' => array('>' => 20)) ) ->where( array('mail' => array('-like' => '%@example.com')) ) ->fields("mail, name") ->order("updated desc") ->offset(0) ->limit(10

    PQ - naoyaのはてなダイアリー
    lapis25
    lapis25 2010/09/12
  • PerlとPHPにおける「リスト」概念の違い · DQNEO日記

    naoyaさんのPHP版 List_RubyLikeを見ていて面白いことに気づきました。 $list->push('foo'); $list->push('bar','buz'); 一瞬、「なんて美しい!」と思いました。 と同時に、「なんてPerl的な!」とも思いました。 「これじゃまるでPerlじゃないか」と。 私ならこういうインターフェイスにすると思います。 $list->push('foo'); $list->push(array('foo','bar')); 少し冗長ですが、こっちの方がPHPとしてしっくりきます(私にとっては)。 実際にはpush(array('foo','bar'))などとリテラルを渡すことはあまりなくて、push($hoge)とかpush($this->hoge())などと書くことになるでしょう。 この違いを突き詰めていくと、「PerlPHPにおけるリストの

    PerlとPHPにおける「リスト」概念の違い · DQNEO日記
    lapis25
    lapis25 2010/09/10
  • PHPのテスティングフレームワーク - p4lifeのメモ

    今回取り上げるテスティングフレームワークライブラリ,アプリケーションの品質を高めるために必要不可欠なテストですが,そのテストを実行するためのツールに関する情報を集めました. phpt PHPUnit SimpleTest lime DocTest PHPSpec phpthttp://qa.php.net/write-test.php PHP 独自のテスト機構 PHP 体,PEAR のテストで最も良く使われる.テストファイルの拡張子は .phpt TAP*1 対応:PEAR 1.5.0 から対応 pear run-tests コマンドに -t オプションを付けると run-tests.log に TAP フォーマットのログが出力される特徴: pear コマンドが使えればテストを実行できるため,大抵の環境で動かせる GET/POST/Cookie, php.ini 設定, 標準入力をパラメ

  • Status of the translated PHP Manual

    lapis25
    lapis25 2010/08/19
  • TAPの話 - Unknown::Programming

    http://d.hatena.ne.jp/tokuhirom/20080305/1204677112 404 Blog Not Found:「同じコード」の同じって何さ - TAPのススメ 弾さんの記事見て思い出した。 以前、id:tokuhiromさんに教えてもらったTAPの話ですが、折角なので導入しよーかと。 PHPHTML_FillInFormのテストをTAP形式に。ってかもともと出力はTAP形式になってたので、今回の変更点としては、 #!php <?php error_reporting( E_ALL ); require_once 'Test.class.php'; plan(1); require_ok('HTML/FillInForm.class.php'); こんな感じで一行目に#!にphpを指定しとけばOK。 これでPerlのproveコマンドが使えるお!素晴らしい!

    TAPの話 - Unknown::Programming
  • 第19章 ログ出力

  • Run PHP tests in your Perl test suite - Perlbuzz

    What's happening in the world of Perl programming, including Perl 5, Perl 6, the CPAN and Parrot? Sometimes you've got a big codebase that isn't just Perl. Maybe you've got PHP mixed in with it, and you want to test the PHP along with all the Perl code, too. Perl's prove program doesn't care if the testing results it parses are from Perl, PHP or even static files, so long as they're in the TAP for

  • PerlerのためのPHP1 - Perl日記

    たぶんPHPを使わなければならないようになると思うので、今のうちから勉強。 ああCatalystでもっと遊びたい。 とりあえずこれを買った。 初めてのPHP5 作者: David Sklar,桑村潤,廣川類出版社/メーカー: オライリージャパン発売日: 2005/10/27メディア: 単行購入: 6人 クリック: 54回この商品を含むブログ (41件) を見る 読んでるけど忘れないうちに以下メモ。 開始と終了 Perl #!/usr/local/bin/perl CODE __END__ ENDマーカはあってもなくても。 PHP <?php CODE ?> 「< ?php」と「?>」で囲んだところがPHPコードとして解釈される……、と思ったけど、ライブラリ的に書くときは「?>」をつけないらしい。 参考:「PHP基礎文法最速マスターの補足 - モノノフ日記」 Perlだとあの「1;」をつけ

    PerlerのためのPHP1 - Perl日記
  • Nix::WebLab: 日本語欠落は HTTP_Upload で起こっているのではない! basename関数で起こっているのだ!

    lapis25
    lapis25 2010/05/31
  • 伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる

    今のPHPを作ったのは、何十人もの開発者ですよ。私は1人目の開発者だったに過ぎません。 問題を解くのが好きなだけで、プログラミングは大嫌いです。 いかにプログラミングを避けるかを考えていたら、コードを再利用するためのツールとしてPHPができました。PHPは、歯ブラシみたいなものですね。毎日使うものですけど、だから何でしょう?誰が歯ブラシのなんて読みたがります? パーザを書くのは苦手です。当にダメなんです。今でもね。PHPには「protected属性」も「仮想メソッド」もありますよ。情報学科の教官が「重要だ」っていうやつは何でもね。僕自身は、こんなものどうでもいいと思ってますけど。プログラミングを好む人がいるのは知ってますが、全く理解できないですね。 僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃ

    伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる
    lapis25
    lapis25 2010/04/28
  • ウノウラボ Unoh Labs: PHP版 Parallel::Prefork で奥一穂さんと親に感謝しよう

    こんちにわ、去年末に入社した「ちわ」です、こんにちわ。 Perl には CPAN というものがあり、そこには様々なライブラリが登録されています。国内の方々も多くライブラリを登録されていますがその中で牧大輔さんの Queue::Q4M、奥一穂さんの Parallel::Prefork を PHP に移植したので今回は奥一穂さんの Parallel::Prefork のPHP版を紹介したいと思います。 弊社が提供しているサービスの「まちつく!mixi版」、「まちつく!モバゲー版」の地図を生成、Amazon S3 への転送をキューを使って処理していまして、そのキュー処理に Q4M を導入することになりました。キュー処理の主な流れは下記のようになります。 主な処理の流れ Web やバッチで生成キューをエンキュー 生成デーモンがデキューし地図を生成 正常に地図を生成できたら転送キューにエンキュ

    lapis25
    lapis25 2010/04/22
  • PHP6開発 UTF-16化を断念、5.3へロールバック | エンタープライズ | マイコミジャーナル

    PHP: Hypertext Preprocessor PHPの次期メジャーバージョンはPHP6になるとみられてきたが、問題を打破するために開発ブランチを5.3ベースへ巻き戻すという対処が実施された。Rasmus Lerdorf氏がphp.internals: PHP 6においてPHP6 Unicodeの実装が失敗したことを伝えている。PHP6ではエンジン内部の処理がUTF-16に統一される計画になっていたものの、関係者からはこの方針は間違っているのではないかという指摘もあった。今回実装が行き詰まったことで、PHPはUnicodeに対して新しいアプローチをとることになる。 このあたりの事情がFuture of PHP 6 - Johannes Schluterにまとまっている。紹介されている内容をまとめると次のとおり。 これまでの取り組み PHP6で取り組む基的な内容として、PHPエンジ