php

名前空間とクラス名

php

11月12日にパーフェクトPHPが発売しました。購入いただいた方、コメントいただいた方、ありがとうございます! - さて本題です。PHP 5.3から名前空間が使えるようになりました。僕はここ最近Symfony2で社内向けのアプリを開発したり、Symfony2のバンドルをい…

パーフェクトPHPがAmazonで予約受付開始しました

php

パーフェクトPHP (PERFECT SERIES 3)作者: 小川雄大,柄沢聡太郎,橋口誠出版社/メーカー: 技術評論社発売日: 2010/11/12メディア: 大型本購入: 32人 クリック: 1,065回この商品を含むブログ (59件) を見るPHPカンファレンスのLTでもお話させていただいた書籍…

SimpleXMLで名前空間に属する要素を出力

php

<services xmlns:nequal="http://nequal.jp/schema"> <nequal:service id="openpear"> <nequal:name>Openpear</nequal:name> <nequal:uri>http://openpear.org/</nequal:uri> </nequal:service> <nequal:service id="deadlinetimer"> <nequal:name>DEADLINETIMER ジェネレーター</nequal:name> <nequal:uri>…</nequal:uri></nequal:service></services>

DatePeriod::INCLUDE_END_DATE

php

DateTimeクラスを使ったモダンな日付処理 - アシアルブログ PHP :: Bug #52015 :: Ending date is ignored while iterating DatePeriod DatePeriodでのイテレーションがなんか気持ち悪い挙動になっていたのでバグレポートしておきました。なんて言っていいか…

PHP 5.3で追加された例外のうんたらかんたら

PHPマニュアル先生: 例外 をネストできるようになりました。 PHP: 新機能 - Manual 僕: php 5.3で例外のネストができるようになったってマニュアルに書いてあるけど、具体的になにができるようになったんですか!だれかおしえて! OGAWA Katsuhiro on Twitte…

http_build_queryのワナ

php

string http_build_query ( array $formdata [, string $numeric_prefix [, string $arg_separator ]] ) PHP: http_build_query - Manual PHPのhttp_build_query関数は配列を渡すとURLパラメータ形式の文字列にシリアライズしてくれる、とても便利な関数なの…

モダンPHP勉強会で名前空間について発表しました

発表資料: もっと知りたい名前空間 Ust: http://www.ustream.tv/recorded/3120591 今日はnequal(えぬいこーる)が初めて主催するイベント、モダンPHP勉強会が開催されました。僕は今回、id:sotarokに声をかけられて名前空間についての発表を行ってきました。…

「モダンPHP勉強会」を開催します!

様々な人に利用されバージョンがあがるごとに色々な機能が追加されるPHPですが,まだまだ昔ながらの「レガシーな書き方」が絶えないPHPで,もっと言語に搭載された機能をフルに使って幸せになる方法を探るための勉強会です(大げさ). 公式タグ: #modernphp…

Pecl::gnupgをDebianにインストール

php

うーむ $ sudo pecl install gnupg ... checking for gnupg support... yes, shared checking for gnupg files in default path... not found configure: error: Please reinstall the gpgme distribution ERROR: `/tmp/pear/temp/gnupg/configure' failedgn…

PHPのeval関数のウルテク

php

hello eval("") #=> Syntax error... 通常evalの中ではで囲まれた状態になっています。evalに渡す文字列の中に

PHP5.3.0がリリースしてしまいました

php

The PHP development team is proud to announce the immediate release of PHP 5.3.0. This release is a major improvement in the 5.X series, which includes a large number of new features and bug fixes. PHP: PHP 5.3.0 Release Announcement 名前…

preg_matchのTIPS

php

ちょっと横長になるのが欠点ですが,ちょっとシンプルな感じです.キャプチャ対象が複数ある場合は以下のように書いたりします. (.*?)</a>_s', $html, $matches) ? array('link' => $matches[1], 'title' => $matches[2]) : false; preg_matchでのキャプチャを…

第40回PHP勉強会に参加しました

第40回PHP勉強会@関東 - events.php.gr.jp 今回はスペインからDelphi for PHPの開発者のJose Leonさんにいらしていただいたわけですが。。。すいません寝坊しました。丁度Joseさんのセッションが終わるころに到着し、楽しみにしていたもののほとんどを聞き逃…

Countableインターフェース

php

This Interface allows to hook into the global count() function. PHP: Manual Quick Reference Countableインターフェースに関する記事がなかったので一応書いてみる。これは何かというと、PHPのcount()関数で数えられるオブジェクトを作るためのインター…

switch文の仕様

php

1 2 さて、上記のようなプログラムを書いた場合、普通に考えれば1が出力されると思います。ところが結果は、 PHP Parse error: syntax error, unexpected T_INLINE_HTML, expecting T_ENDSWITCH or T_CASE or T_DEFAULT このようにエラーになります。…

リバースプロキシを使用している場合の$_SERVER

php

実際にクライアントのIPアドレスとかHOSTをとりたい場合、$_SERVER['REMOTE_ADDR']とかじゃローカルのIPがとれちゃうので、別のキーをみなければならないので、とりあえず使ったやつだけまとめ。 HTTP_HOST => HTTP_X_FORWARDED_HOST REMOTE_ADDR => HTTP_X_…

array_shiftではまった

php

array_shift() は、array の最初の値を取り出して返します。配列 array は、要素一つ分だけ短くなり、全ての要素は前にずれます。 数値添字の配列のキーはゼロから順に新たに振りなおされますが、 リテラルのキーはそのままになります。 PHP: array_shift - …

PHPのエクステンションがC++でほげほげ

php

Boost.PHP is a set of macros and C++ classes that wrap around common Zend Engine structs that allow you to create a PHP extension in C++, in a very efficient way. php.internals: Introducing Boost.PHP - PHP Extensions in C++, in a minute 日…

めっちゃ楽しかった

php

PHPカンファレンス終了。Rubyの高橋さんの自作PHP Tシャツには驚いた。何はともあれ、みなさまお疲れ様です。素晴らしく楽しかった。

今日はPHPカンファレンス

日本 PHP ユーザ会 (Japan PHP Users Group) :: メイン :: PHPカンファレンス2008 - メインページ 今日はPHPカンファレンス。先月のRuby会議はいけなかったので、PHPカンファレンスで鬱憤晴らすかー。

PHP 6.0.0 とセーフモード

php

セーフモードは、PHP 6.0.0 で削除されます。 PHP: Safe Mode - Manual だと。借りてるレンタルサーバがセーフモードだけど、PHP 6.0.0 になれば開放されるのか。。。

Cakephpでforward

CakePHPでforwardってどうやるんだとずっと思ってたけど、てきとうにやったらそれっぽい挙動をしたのでとりあえず書いておく。 list(); $this->render('list'); } function list() { ... } } とりあえずこれでそれっぽく動いた。renderじゃlistアクション自…

CakePHPのここが好きじゃない

最近趣味でCakePHP使ってMMORPGのステータス計算機作ってて思ったんだけど、CakePHPのモデルってTableオブジェクトはあるけどRecordって配列だから扱いにくいなあって思う。モデル周りがもうちょい強力で使いやすくなってくれれば、他はまあそんなに不満とか…

CakePHPをXREAに設置してみる

今回はXREAのs341サーバを無料状態のままで借りてます。とりあえず設置は終わってないのですが、山は越えたのでメモ。ちなみにPHP 5.2.5 + Cakephp 1.2βです。まずは配置。 /virtual/ID + myapp.cakephp/ + app/ + cake/ + public_html + webrootXREAのドキ…

symfony 1.1.0RC1をPEARでインストール

symfony 1.x legacy website symfony 1.1がまだBeta版のころ一度インストールしたことがあり、そのときは $ pear config-set preferred_state beta $ pear channel-discover pear.symfony-project.com $ pear install symfony/symfonyなんてやって勝手にBeta…

explodeとsplitの違い

php

PHPで文字列を分割する場合に使用する関数でexplodeとsplitというものがあります。以下が使用例です。

Javascriptをヘッダ内で読み込む

例えばViewで link('jquery') ?> ってやると、書いた場所にscriptタグが出てしまいます。これをヘッダの中で読み込みたい場合は、ここに2つの変更を加えます。 link('jquery', false) ?> まずは上記のように、linkメソッドに第2引数にfalseを渡します。これ…

symfonyのWebDebugツールバーの色

symfonyのWebDebugツールバーの色って、magic_quotes_gpcがOnになってるとオレンジになるんだね。そんだけ。

特定のヘルパをデフォルトでロードする

symfonyで、例えば自作ヘルパをアプリケーション全体で使う場合とかいちいちuse_helperするのが面倒ですよね。そんな時に最初から読み込んでおくようにするには、アプリケーションディレクトリのconfig/settings.ymlのstandard_helpersの記述をすればそのヘ…

Piece_ORMのstableリリース

Piece_ORM 1.0.0 (stable) リリースノート ついにPiece_ORMがstableになりました。これでPieceのプロダクトも一通りstableになりましたね。以前PieceをインストールしていたOSを削除してしまったので、今使ってるUbuntuに片っ端からインストールしてみました…