PHP

合格率を 3倍にするための『PHP技術者認定上級試験問題集』が発売されます

[2013/10/28 追記]達人出版会より 本書の PDF 版 が発売されました。みなさん、「PHP技術者認定試験」をご存じでしょうか? PHP技術者認定試験 PHP の専門技術取得能力を正当に評価できる技術者認定試験を実施することにより、「認定者の雇用機会」や「認…

『PHPエンジニア養成読本』は買って損のない 1冊

技術評論社の細谷さんより献本いただきました。ありがとうございます。PHPエンジニア養成読本 〔現場で役立つイマドキ開発ノウハウ満載! 〕 (Software Design plus)作者: 新原雅司,原田康生,小山哲志,田中久輝,保科一成,大村創太郎,増永玲,PHPエンジニア養成…

Sculpin で始める PHP での静的サイト生成

PHP

[2013/10/15 追記]より詳細な解説記事 PHPで静的サイトを簡単に作成できるSculpin — A Day in Serenity (Reloaded) — PHP, FuelPHP, Linux or something を書きました。Ruby 製の Jekyll が有名ですが、PHP にも静的サイト生成ツールがありました。 https:…

XAMPP 1.8.3-0 for Linux の PHP を 5.5.2 にバージョンアップする

PHP 5.5.2 がリリースされましたので、Ubuntu 12.04 での XAMPP 1.8.3-0 for Linux の PHP を 5.5.2 にバージョンアップしました。まず、コンパイルに必要なパッケージを追加します。 $ sudo apt-get install libltdl-devPHP のソースを展開します。 $ tar x…

オーバーロードされたプロパティと emtpy() 〜 nagoya.php vol.2 での話

PHP

http://blog.ohgaki.net/php-5-4-accessor-php にある trait を使ったアクセサのサンプルコード(微妙にいじってますが、ロジックは全く同じです)。 r_property[$name]) { return $this->$name…

7/13(土) nagoya.php vol.2 〜名古屋でPHP Matsuri前夜祭〜

PHP

nagoya.php vol.2 が 2013/07/13(土) に名古屋で開催されます。 nagoya.php vol.2 〜名古屋でPHP Matsuri前夜祭〜 : ATND PHP を仕事で使っている人はもちろん、PHP を触ってみたいと思っている人、WordPress 等の PHP 製の CMS を使っている人など、PHP に…

XAMPP 1.8.1 for Linux の PHP を 5.5.0 にバージョンアップする

PHP 5.5.0 がリリースされましたので、Ubuntu 12.04 での XAMPP 1.8.1 for Linux の PHP を 5.5.0 にバージョンアップしました。まず、コンパイルに必要なパッケージを追加します。 $ sudo apt-get install libltdl-devPHP のソースを展開します。 $ tar xvf…

システムの時間を操作する faketime コマンド

faketime というコマンドがあったようです。 時間に影響を受けるユニットテストで使えないかな。 $ faketime '1999-01-01 12:34:56' php -r 'echo date(DATE_ATOM);' 1999-01-01T12:34:56+09:00

主要 PHP フレームワークの開発への日本からの参加状況

PHP

日本での 5大フレームワークについて、GitHub のリポジトリで日本人っぽい Contributors を探してみました。そのフレームワークの Top 100人の Contributors の中に日本人が何人くらいいるか?みたいな感じです。 フレームワーク URL 人数 CakePHP https://g…

XAMPP 1.7.7 for Linux の PHP を 5.3.24 にバージョンアップする

Ubuntu 12.04 で XAMPP 1.7.7 for Linux の PHP を 5.3.20 にバージョンアップしました。まず、コンパイルに必要なパッケージを追加します。 $ sudo apt-get install libltdl-dev libreadline6-devPHP のソースを展開します。 $ tar xvf php-5.3.24.tar.bz2 …

あの徳丸本にも間違いはある! 自分で確認することが大切です

徳丸本に間違いを見つけましたので、少々大げさに公表してみようと思います。 徳丸本の誤った記述 まずは、問題の記述をご覧ください。これを見ただけでどこが問題かわかった人は、かなりするどいです。普通は見逃します。これは、ご本人によるスライド 徳丸…

GitHub からソースを取得して PHP をコンパイルする

Ubuntu 12.04 で GitHub からソースを取得して PHP をコンパイルする方法。 $ git clone git://github.com/php/php-src.git $ cd php-src $ git checkout PHP-5.3.24 $ PHP_AUTOCONF=autoconf2.59 ./buildconf --force $ ./configure --enable-mbstring --di…

XAMPP 1.8.1 for Linux の PHP を 5.4.13 にバージョンアップする

Ubuntu 12.04 で XAMPP 1.8.1 for Linux の PHP を 5.4.13 にバージョンアップしました。まず、コンパイルに必要なパッケージを追加します。 $ sudo apt-get install libltdl-devPHP のソースを展開します。 $ tar xvf php-5.4.13.tar.bz2 $ cd php-5.4.13ph…

PHP の正規表現があまりに複雑なのでまとめてみた

PHP

できるだけ正確な記述を目指していますが、誤りがありましたら、お知らせ願います。(最終更新: 2013/3/29 11:22) 正規表現の種類 まず、PHP には以下の 3種類の正規表現があります。 Perl 互換の正規表現 (pcre) mbstring の正規表現 (mbregex) POSIX 拡張正…

PHP のプライベートメソッドとは何か?

PHP

さて、問題です。以下のコードの実行結果はどうなるでしょう? foo(); } } class B extends A { private function foo() { echo "B foo()\n"; } } $b = new B(); $b->bar(); 答え。以下のようになります。エラーにはなりません。 class B, A…

PHP でプライベートメソッドをオーバーライドした場合

PHP

さて、問題です。以下のコードの実行結果はどうなるでしょう? foo(); } } class B extends A { public function foo() { echo "B foo()\n"; } } $b = new B(); $b->bar(); 答え。以下のようになります。エラーにはなりません。 class B, A …

XAMPP for Linux 1.7.7 の PHP 5.3 に Memcached 拡張モジュールをインストールする

libmemcached のインストール http://libmemcached.org/libMemcached.html よりソースコードをダウンロードします。 $ wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz$ tar xvf libmemcached-1.0.16.tar.gz $ cd…

XAMPP 1.7.7 for Linux の PHP を 5.3.20 にバージョンアップする

Ubuntu 12.04 で XAMPP 1.7.7 for Linux の PHP を 5.3.20 にバージョンアップしました。まず、コンパイルに必要なパッケージを追加します。 $ sudo apt-get install libltdl-devPHP のソースを展開します。 $ tar xvf php-5.3.20.tar.bz2 $ cd php-5.3.20ph…

XAMPP 1.7.7 for Linux の PHP を 5.3.19 にバージョンアップする

Ubuntu 12.04 で XAMPP 1.7.7 for Linux の PHP を 5.3.19 にバージョンアップしました。まず、コンパイルに必要なパッケージを追加します。 $ sudo apt-get install libltdl-devPHP のソースを展開します。 $ tar xvf php-5.3.19.tar.bz2 $ cd php-5.3.19ph…

PHP ユーザは実際はどんなテンプレートエンジンを使っているのか? (途中経過)

PHP

PHP ユーザは実際はどんなテンプレートエンジンを使っているのか? の途中経過です。回答数は現在 102 です。アンケートに回答された PHP ユーザの方、ありがとうございます。なお、引き続きもう少しアンケートを続けますので、まだ回答されていない方は、以…

PHPFog の FuelPHP アプリを AppFog に移行してみる (2)

PHPFog の FuelPHP アプリを AppFog に移行してみる の続きです。AppFog ではデフォルトではメール送信ができませんので、その設定などします。 Mailgun のインストール https://console.appfog.com/ にログインし、「Add-ons」から「Mailgun」を「Install」…

PHPFog の FuelPHP アプリを AppFog に移行してみる

PHPFog が 12/21 で終了してしまうので、AppFog を使ってみます。 AppFog への登録 http://www.appfog.com/ にアクセスして「SIGN UP」よりサインアップします。 AppFog でのアプリの作成 https://console.appfog.com/ にログインして「New App」からアプリ…

PHP ユーザは実際はどんなテンプレートエンジンを使っているのか?アンケート調査実施中です

PHP

実際に PHP ユーザはどんなテンプレートエンジンを使っているのでしょうか?テンプレートエンジンと言えば Smarty という時代がかつて確かにありました。 しかし、Smarty は今でもまだ使われているのでしょうか?そのような問題意識の元、PHP ユーザのテンプ…

XAMPP 1.7.7 for Linux の PHP を 5.3.17 にバージョンアップする

Ubuntu 12.04 で XAMPP 1.7.7 for Linux の PHP を 5.3.17 にバージョンアップしました。まず、コンパイルに必要なパッケージを追加します。 $ sudo apt-get install libltdl-devPHP のソースを展開します。 $ tar xvf php-5.3.17.tar.bz2 $ cd php-5.3.17ph…

PHP での PCRE 正規表現の \w や \d について

PHP

さて問題です。次のコードの実行結果はどうなるでしょうか?

PHPUnit の @backupStaticAttributes はどう使うのか?

PHP

PHPUnit テストケースで書き換えた値を復帰する - Shin x blog を参考にちょっと検証してみました。まず、以下のようなテストクラスのアノテーションで「@backupStaticAttributes enabled」を指定した、テストを作成します。

CMS の WordPress、concrete5、Seezoo をベンチマークしてみた

PHP

PHP で作成された 3つのコンテンツマネジメントシステム、WordPress、concrete5、Seezoo を CloudCore VPS でベンチマークしてみました。 ベンチマーク方法 同一サーバに WordPress、concrete5、Seezoo をインストールし、localhost から ab でトップページ…

heroku で PHP を使う

Ruby で有名な heroku ですが、PHP も使えるということらしいので試してみました。まずは、heroku に登録して、Heroku Toolbelt というコマンドラインツールをインストールします。 https://toolbelt.herokuapp.com/ インストールが完了したら、 $ heroku lo…

PHP フレームワークの日本語情報の多さの比較

PHP

PHP のフレームワークの日本語情報の多さを比較してみようと思い、検索エンジンで検索することにしました。しかし、単純にフレームワーク名で検索しても、silex や lithium などは関係ないページがヒットしてしまいます。そこであまりいい方法とは思えません…

PHP カンファレンス 2011 まとめ

PHP

あんまりまとまってませんが、個人的なメモです。 公式など PHP Conference Japan 2011 phpcon2011a phpcon2011b phpcon2011c Twitter. It's what's happening. PHPカンファレンス2011を開催してきました。 - 絶品ゆどうふのタレ 直前レポート:PHPカンファ…