タグ

phpに関するKoshianXのブックマーク (28)

  • 「PHP 7」登場。10年ぶりのメジャーバージョンアップで実行速度はPHP 5の2倍以上に、PHPの生みの親が語る。PHPカンファレンス2015(前編)

    PHP 7」登場。10年ぶりのメジャーバージョンアップで実行速度はPHP 5の2倍以上に、PHPの生みの親が語る。PHPカンファレンス2015(前編) WordpressやFacebookなど、Webのさまざまなサービスで使われているPHP言語。約10年ぶりのメジャーバージョンアップとなる「PHP 7」がもうすぐ登場予定です。 PHP 7では互換性を維持しつつ、従来のPHP 5と比べて2倍以上の性能向上やメモリ使用量を低減するなど、大きな改善が実現されます。 そのPHPの生みの親であるRasmus Lerdorf氏が来日し、10月3日に都内で行われた「PHPカンファレンス2015」の基調講演「SPEEDING UP THE WEB WITH PHP 7」においてPHP7の新機能や性能について詳しく解説しました。 その内容をダイジェストで紹介しましょう。 SPEEDING UP THE W

    「PHP 7」登場。10年ぶりのメジャーバージョンアップで実行速度はPHP 5の2倍以上に、PHPの生みの親が語る。PHPカンファレンス2015(前編)
    KoshianX
    KoshianX 2015/11/04
    6は飛ばしたのか。後編見ると高速化しまくりなのな。
  • PHP7で変わること ——言語仕様とエンジンの改善ポイント

    導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来についてshinjiigarashi

    PHP7で変わること ——言語仕様とエンジンの改善ポイント
    KoshianX
    KoshianX 2015/05/30
    すごいな、そんな速くなったのか。比較の時のキャストがゆるふわしてる問題はそのままなのかなー?
  • PHPとしても実行できるRubyの書きかた - Qiita

    p <<PHP_VERSION <?php PHP_VERSION ;print "\033[1F\033[1M"; //.tap{ define_method :range, -> s,e { s.upto e } } //.tap{ define_method :array_map, -> f,seq { seq.map{ |x| f.(x) } } } //.tap{ define_method :function, -> x,&b { -> x { $x=x;b.call } } } array_map(function($x){ print $x % 15 == 0 ? 'FizzBuzz' : ($x % 3 == 0 ? 'Fizz' : ($x % 5 == 0 ? 'Buzz' : $x)); print "\n"; }, range(1,100)); ruby php.

    PHPとしても実行できるRubyの書きかた - Qiita
    KoshianX
    KoshianX 2015/02/18
    なるほど変態チック。
  • Javaで書かれたPHP処理系のJPHPが高速だった - hnwの日記

    JPHPというJavaで書かれたPHP処理系があります。これは2013年10月にはじまった新しいプロジェクトで、大半をメイン開発者一人で開発しているようですが、既に一定以上の完成度です。また、内部的にはPHPファイルを解釈して直接Javaバイトコードにコンパイルしており、かなり高速なPHP処理系になっています。 他のPHP処理系と異なり、既存のPHPコードをWebサーバ上で動かすことを重視していないようにも見えますが、興味深いプロジェクトですので紹介します。 JPHPを動かしてみる さっそくJPHPを試してみましょう。現時点ではGitHubからソースコードを持ってきてビルドする必要があります。JDK7以上が必要ですので注意してください。JPHPのドキュメント「Getting Started」の通り、次のようにしてJPHPがビルドできます。 $ git clone https://githu

    Javaで書かれたPHP処理系のJPHPが高速だった - hnwの日記
  • <?phpタグが無くなる日 〜PHPの開発プロセス〜

    PHPスクリプトを記述する際に使われる<?phpタグの利用をオプションで有効無効を切り替えるようにするという仕様がPHPの開発コミュニティでの議論に挙がっています。 この仕様変更が実装された場合、PHPスクリプトには必ず<?phpのタグがあるという前提条件が変わる事になります。 まずこの議論がどのような形で行われているのでしょうか?ご存知でない方もいるかと思いますが、PHPの文法や機能へどのような変更を加えたいか、という議論はRFC (Request For Comment)という形でパブリックに行われています。Wikiページに仕様や背景、実際のパッチなどを添付し、開発者やユーザーからの投票を行った結果を元に実際にPHP体への変更を行うかどうかが決定されています。 過去に実装された機能の際の例などと一緒に見てみましょう。 Array Short Syntax # 従来の記述の場合 $a

    <?phpタグが無くなる日 〜PHPの開発プロセス〜
    KoshianX
    KoshianX 2014/02/12
    んー、終了タグがある昔ながらの記法だとアレなことになるんかな……
  • PDO_pgsqlでハマった件 (PHP Advent Calendar 2010 17日目) - Blog::koyhoge::Tech

    12/17 が終了して数時間が経ちましたが、16日目「匿名関数と無名関数 (PHP Advent Calendar 2010 16日目) | dogmap.jp」の wokamoto さんからバトンを渡されたPHP Advent Calendarの 17日目です。 さて PHP 5.2.X も終了が宣言された昨今、みなさんの PHP-5.3 への移行は順調に進んでいますでしょうか? 私も自分の環境やメンテナンス対象のコードを徐々に 5.3 対応に修正しているところです。今回はその中で DB アクセスライブラリを Creole から PDO に変更した際にハマった事を書こうと思います。 最近はフレームワークを使ったプログラミングが一般的なので、DBアクセスもフレームワークの Model クラスや、フレームワークがサポートしている Doctrine などの O/R マッパーを使うのが普通でしょ

    PDO_pgsqlでハマった件 (PHP Advent Calendar 2010 17日目) - Blog::koyhoge::Tech
  • 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年に渡って作業して

    KoshianX
    KoshianX 2010/02/03
    もう利用中だったのか
  • Facebook rewrites PHP runtime

    A week ago, I let ya'll know that the core PHP team had been brought to Facebook's main campus. That team were forced to sign NDA's, and taken to a very quiet, secluded meeting room where some cool new Facebook-backed open source project was described. Well, I was able to put all the pieces together on this one, finally, and I now understand exactly what is up: Facebook has rewritten the PHP runti

    KoshianX
    KoshianX 2010/02/01
    確かに遅いよなあPHP。mod_phpのベンチとかでだまされてる人たまに見るけど、php-cli使ってperlやrubyと比べてみりゃ一発でその異様な遅さがわかる
  • blog.katsuma.tv

    <p>最近、仕事Railsを使い始めたので、今までよく使っていたCakePHPとどこが一緒でどこが違うのかをざっくりまとめてみました。まだRailsは勉強中なので、理解が不十分だったり間違っている箇所もあるかと思いますが、それらの点についてはコメントなどでご教授いただければ幸いです。</p> <h3>Controller</h3> <p>CakePHPの場合、任意のアクションにおいて、/users/show/katsuma のように、URLで「/」で区切られているものは、アクション以降の文字列も勝手に引数に分けてくれます。なので、アクション側の定義で</p> <p><pre>function show($id, $name)</pre></p> <p>のように引数を分けて定義しておいてあげれば、勝手に値が割り当てられることになります。</p> <p>Railsの場合はconfig/rou

  • htmlspecialcharsに関する残念なお知らせ - 岩本隆史の日記帳(アーカイブ)

    htmlspecialcharsのパッチ私案」に書いた件、バグレポートを出してみましたが、「すでに同じバグレポートがあるだろ」という理由により、あえなく却下されました。 せめて先方が「同じ」とみなしているレポート番号ぐらいは示してほしくて、そのようにコメントしましたが、お相手のjaniという人は気難し屋のようで*1、教えてもらえる気がしません。 私なりに探した結果、下記のレポートがくさいように感じました。 PHP :: Bug #43896 :: htmlspecialchars() returns empty string on invalid unicode sequence 「不正なUTF-8シーケンスの場合に空文字列を返すのはおかしい」というレポートで、私のそれとは正反対どころか、Shift_JISにもEUC-JPにも触れられていない別個のものです。もちろん、私はレポート送信前に

    htmlspecialcharsに関する残念なお知らせ - 岩本隆史の日記帳(アーカイブ)
    KoshianX
    KoshianX 2009/10/07
    PHPに限らず西洋人は文字コード問題なんて理解してくれないから。レポートからリンクしてる日本語のブログ、誰か翻訳してくれないかなあ
  • 本当は残酷な PHP で引数をそのまま返す関数を作っておくと便利の話 - 写経日記

    PHP で引数をそのまま返す関数を作っておくと便利 で、new がないほうがより簡単になると思う。 <?php function instantiate($class_name) { if (class_exists($class_name)) { return new $class_name; } else { throw new Exception("Invalid class name \"$class_name\""); } } class Hoge { public function fuga() { return true; } } var_dump(instantiate('Hoge')->fuga());

    本当は残酷な PHP で引数をそのまま返す関数を作っておくと便利の話 - 写経日記
    KoshianX
    KoshianX 2009/10/06
  • PHPの比較の素晴らしさ加減は正常

    if ("0x0A" == "10") { print '(´ε` )チュッ'; } チュッ。されちゃいます。 文字列であっても整数と解釈できる文字列の場合は勝手に型変換しやがる今世紀最大の愚行を犯してしまうってのは有名な話だよね。 文字列であっても整数と解釈できる文字列の場合は自動的に整数に型変換してくれる超便利機能があるってのは有名な話だよね。 だけどなんでコレが一致するかわけがわからんかった。 0x0Aは10進数で10になるので一致する。と、言いたいところなんですがそう単純な話じゃないんだ。 以下の例を目ん玉見開いて見て欲しい。 var_dump(0x0A); var_dump("0x0A"); var_dump((int)"0x0A"); var_dump((float)"0x0A"); var_dump(intval("0x0A")); 実行結果 int(10) string(4

    PHPの比較の素晴らしさ加減は正常
    KoshianX
    KoshianX 2009/09/26
  • PHPの閉じタグは心の臓に悪いから使わないで - Unknown::Programming

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

    PHPの閉じタグは心の臓に悪いから使わないで - Unknown::Programming
    KoshianX
    KoshianX 2009/08/12
    省略可能だったんだ
  • PHP6移行で増える脆弱なWebアプリ

    (Last Updated On: 2009年9月19日)PHP6のリリースはまだまだ先の話なのですが、PHP6への移行で脆弱なWebアプリが大量に発生する可能性があります。 理由は2つ – mb_check_encodingで全ての入力文字エンコーディングが正しいかチェックしていない – PHP6のhtmlentities/htmlspecialcharにはマルチバイト文字チェックコードが削除される PHPのコードを書いている人も自覚していないと思いますが、この影響はかなりあると考えられます。 近日中にgihyo.jpのセキュリティブログに詳しい情報を記述します。 追記:PHP5.3のコードを見てみたら、バックポートすべきではないのにバックポートされてました。つまり、PHP6がリリースされたらと言う問題ではなく、今ある問題になっています。一応、改修を提案するつもりですがどうなるか判りませ

    PHP6移行で増える脆弱なWebアプリ
  • PHPで変数の値を入れ替えるTips - y-kawazの日記

    2つの変数の値を入れ替える(SWAPする)一番単純なやり方は以下のように一時変数を使うことです。 <?php //$aと$bの値を入れ替える $tmp = $a; $a = $b; $b = $tmp; ?> ですが普段余り使うことのない list 関数を使うと以下のように書くことが出来ます。 <?php //$aと$bの値を入れ替える list($a, $b) = array($b, $a); //3つの変数を1つずつローテートするのも以下のように出来ます list($a, $b, $c) = array($c, $a, $b); ?> まぁ、これだけのネタです(^^;

    PHPで変数の値を入れ替えるTips - y-kawazの日記
    KoshianX
    KoshianX 2009/07/15
    おお、これはかっこいい。他の言語でも似たようなことできないかな
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    KoshianX
    KoshianX 2009/07/08
  • PhpUnit - 最強のユニットテスト自動化ツール - Do You PHP?

    zip形式 tgz形式 gihyo.jpにPHPUnit3で始めるユニットテストというタイトルで記事を書きました。PHP5をお使いの方は、そちらを参照してください。 ここにある情報はかなり古くなっており、正しくなくなっている可能性があります。掲載しているサンプルコードiなどは、最新のPHPでは動作しない、もしくは、別途設定・調整が必要になるかも知れません。情報を鵜呑みにせず、あなたの手を動かして、あなたの目で確認してください。 PhpUnitは一時期PEARに登録されていましたが、現在は別プロジェクトとして活動しています。新しいURLはhttp://phpunit.de/です。 テスト。。。ああ、なんてイヤな響きでしょう。。。(^-^; 「テストすること」はプログラムの品質を保証するということで非常に重要な作業だ、ということは百も承知と思いますが、コーディングと比べてやはり「イヤ」なもの

  • PHP コード最適化 Best Practices 63+ - カタコト日記

    みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software Architect PHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09

    PHP コード最適化 Best Practices 63+ - カタコト日記
    KoshianX
    KoshianX 2008/05/23
    参考にしよう
  • https://anond.hatelabo.jp/20080209184830

    KoshianX
    KoshianX 2008/02/10
    これは違う。嫌われてるのは「触りたくないもの」なのに「近寄って来る」から。そしてPHPの良さはそんなところにはないし、PHPは「新しいもの」でもない。現実を見るべき
  • コメント: PHPは駄目な言語なのか? - スラッシュドット・ジャパン

    趣味でやっている人のことは、まあ、いいとして(踏み台にされる可能性はあるけど)、仕事PHPを使うときの注意を書いておこう。 コーディング規約を守る。組織にコーディング規約がないなら、Zend Framework PHP標準コーディング規約 [zend.com]を使う。オレ流コーディングスタイルは禁止。 内部コードにはEUC-JPかUTF-8を使う。入出力もできるだけShift JISを避ける。Shift JISを使う場合には2byte目に0x5Cを含む文字の動作を忘れずに確認する。 開発環境の警告レベルをE_STRICTにする。番環境ではdisplay_errorsをオフにする。 register_globals、magic_quotesはオフにする。 type hintingを積極的に使う。 スコープの長い配列をクラスでラップする。 プレゼンテーションとロジックを分割すること。プレゼ