uzulla builderscon tokyo 2017 2017/08/05
PHPカンファレンス関西2016の基調講演です。
追記 この記事のやり方でもいいっちゃいいのですが、PHP7以降では"set_error_handler"でエラーを例外に変換せず、"Error"例外を直接キャッチするほうがよりスマートだと思います。 PHP: PHP 7 でのエラー - Manual なので「例外でキャッチできないエラーがある」というのがほぼなくなった感じですね。 (ただし、"Error"は"Exception"と兄弟関係なので、全部キャッチするつもりのcatch(\Exception $e)ではキャッチできない事に注意。) 追記終わり。 PHPはエラーが扱いづらい いきなりですけど、PHPはエラーが扱いづらい言語だと思います。(おっと、最初の行からPHP Disだ、ブクマが稼げる) 「サーバーにPHPをアップロードして、ブラウザで試行錯誤する」というスタイルを実現するために、なにかあってもInternal Server
16. 豪華なメンバー陣 Nate Abele: Lithium Robert Lemke: FLOW3 Nils Adermann: phpBB Larry Masters: CakePHP, CakePHP 2 Brett Bieber: PEAR, PEAR2 Ryan Parman: Amazon Web Services Guilherme Blanco: Doctrine, Doctrine2, SDK et al. Evert Pot: SabreDAV Jordi Boggiano: Composer, Packagist Fabien Potencier: Symfony, Symfony2 Karma Dordrak: Zikula Andre Romcke: eZ Publish Paul Dragoonis: PPI, PPI2 Paul Scott: Chisim
ホーム 記事 PHPカンファレンス WordCamp Tokyo PHPカンファレンス 2014 & WordCamp Tokyo 2014 講演資料まとめ #phpcon2014 #wctokyo 2014.10.11 2014.10.23 PHPカンファレンス 2014 & WordCamp Tokyo 2014 講演資料まとめ #phpcon2014 #wctokyo PHPカンファレンス2014 & WordCamp Tokyo 2014 10月11日(土)に開催された「PHPカンファレンス2014」&「WordCamp Tokyo 2014」の講演資料まとめです。 ※捕捉次第追加します。追加情報などございましたらコメントまたは@unsoluble_sugarまでお知らせいただけるとありがたいです。 タイムテーブル PHPカンファレンス2014 WordCamp Tokyo 201
今回は、LXCで用意したコンテナにHHVMをインストールし、PHP(言語)とHack言語を体験するレシピです。 HHVMとは HHVM(HipHop Virtual Machine)とは、Facebook社によって開発されたOSSです。PHP(言語)のコードの実行を、現在標準的に使われているPHP(実行環境)よりも高速化することを目的としています。特徴は、PHPのコードを専用の中間表現のバイトコード(HHBC)に変換し、このバイトコードを専用の中間表現(HHIR)に変換して最適化を施した後、x86-64あるいはARM64のマシンコードにJust-In-Timeコンパイルする点です。 先日、このHHVMのバージョン3.0.0が公開され、合わせてHackという新しい言語も公開されました。HHVMはPHPに加え、このHackの実行環境にもなります。 Ubuntu用にHHVMのパッケージを提供する
PHP 5.5.0 リリースおめでとうございます。 タイミング的に PHP 5.5 の話だと読み間違えた方 (もしくは「こいつ間違って PHP 5.3 って書いてやがるプギャー」と思った方) におかれましては、このテキーラはサービスだから、まず飲んで落ち着いてほしい。 はい。ということで、驚くべきことに、いまから、真顔で、 PHP 5.3 の変更点の話をします。でも PHP 5.5 が出るにあたってコードを見直す方もいるでしょうし、なんというかついでに気に掛けていただければと。 何の話か PHP 5.3 の「下位互換性のない変更点」として、マニュアルに以下のように示されている件についての話です。 引数を解釈する内部API が、PHP 5.3.x に同梱されている全ての拡張機能に 適用されるようになりました。つまり、互換性のないパラメーターが渡された場合、 この引数を解釈するAPIは NUL
今更ながらプログラマーならVimが使えないとやっぱりダメだよなーと思ったので、Vimを使うようになってきました。 そこでせっかくなのでいろいろカスタマイズできるVimをPHP用にしてみました。 PHPの関数を補完してくれるようにする まずはPHPの関数を補完してくれるようにします。 php用の辞書の用意 まず、下記のコマンドを実行します。 php -r '$f=get_defined_functions();echo join("\n",$f["internal"]);'|sort > ~/.vim/dict/php.dict get_defined_functionsでPHPに定義されている関数を出力してくれるので、こいつをvimの辞書ファイルにぶち込みます。 補完してくれるようにする .vimrcに autocmd FileType php,ctp :set dictionary=~/
第3引数を指定していない場合の影響前述のように、htmlspecialchars関数の第3引数を指定していない場合、PHP5.3までは、文字エンコーディングがISO-8859-1が指定されたとみなされます。この場合、入力内容にかかわらず不正な文字エンコーディングと判定されることはありません。したがって、文字エンコーディングのチェックが働かない代わりに、エラーになることもありませんでした。 これに対して、PHP5.4の仕様により文字エンコーディングがUTF-8とみなされた場合に、Shift_JISやEUC-JPの2バイト文字が入力されると、高い確率で「UTF-8として不正」というエラーになり、htmlspecialchars関数の出力は空になります。つまり、プログラムが正常に動作しません。 htmlspecialchars関数の第3引数を指定しておらず、内部文字エンコーディングがShift_
あいかわらず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 の proc_open() を利用した openssl コマンドの実行 php ネタ openssl (1) で暗号化されたファイルを復号化する処理を php で実装する必要があった。 pear を探せばその手のモジュールは多分あるだろうと思ったが、 標準で含まれないモジュールに依存したくなかったので 外部コマンドの openssl を利用する方法を試してみた。 php では入力、もしくは出力のみの外部コマンド実行は popen() を利用できるが、 入出力双方向が必要なので proc_open() を利用する。 最初は proc_open() した openssl の入力側パイプに 暗号化されたデータを全て出力 (fwrite()) した後で 出力側パイプから復号化されたデータを読み出し (fread()) ていたのだが、 入力データがある程度のサイズを越えると openssl
ほほう… たった10行のコードでひたすらアイドル水着画像をあつめる http://d.hatena.ne.jp/utgym/20121212/1355277764 たった3行のコードでひたすらアイドル水着画像をあつめる(Rubyだよ) http://d.hatena.ne.jp/maeharin/20121214/p1 たった数行のコードでひたすらアイドル水着画像をあつめるのをGoutteで書いてみた http://d.hatena.ne.jp/iakio/20121214/1355497471 「たった一つのツイートでひたすらアイドル水着画像を集める」 http://yusukebe.com/archives/20121215/015851.html なんか最初の記事はPHPなのに、RubyとかPerlのほうが短くかけるし!とかいわれてるな…。 最近Hachioji.pmでもなんかPHP
はじめまして、@hnwと申します。一部の方々に非常に人気があったシリーズ「PHP Extensionを作ろう」久々の続編です。といっても、今回はExtensionのソースコードは一行も出てきません。Extensionを作る準備段階の話題です。 PHP Extension開発時にオススメのPHPビルドオプションがあるのをご存じでしょうか。これは「拡張モジュール開発用に PHP をビルドする方法」でも紹介されているのですが、「--enable-debug --enable-maintainer-zts」というものです。 本稿ではこのビルドオプションについて解説し、php-buildを利用して環境構築する方法についても紹介します。 PHPのメモリ管理の概要 まずPHPのメモリ管理について簡単に紹介します。 Apache prefork MPM+mod_phpの組み合わせを例に挙げますと、Apac
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く