PHP
define()で定義する(グローバルな)定数が、定義されているか否かをチェックするdefined()関数 http://php.net/manual/ja/function.defined.php ですが、この関数、実はクラス定数に対しても使えます。 (Version 5.4.17にて確認)
PHPerのみなさん、DateTimeクラス使ってますか? 意外とまだPHP4由来の関数(date()、strtotime()など)使っているケースもよくみかけるのですが DateTimeクラス使えばいろいろスマートにプログラム書けるし、例外処理もできるんで これからはこっちを使うよ…
NetBeans + xdebug + Chromeのxdebug拡張という環境がなかなか良い感じです。 この環境さえ構築できれば、もうvar_dump()要らず\(^o^)/で、この環境を作る上でひとつハマったことがあったのでメモ。最初、xdebugでリモートデバッグできるようにini_set()で…
自分メモ。 ArrayAccessを実装したクラスのインスタンスに
ハマったので備忘録。 PHPの標準SOAPライブラリを使う場合、 接続先や利用できるメソッドなどを記述してあるWSDLファイルをキャッシュする機能がある。 http://jp.php.net/manual/ja/soap.configuration.php この「soap.wsdl_cache_enabled」ディレクティブ…
PDOではなく、各DB固有の関数だと、「SELECT結果の件数」を返す関数として、 MySQLなら、mysql_num_rows() MySQL拡張(MySQLi)なら、mysqli_stmt::num_rows()メソッドまたはmysqli_stmt_num_rows()関数 PostgreSQLなら、pg_num_rows()関数 があるんですが、PD…
地味だけどハマったのでメモ。 symfonyで、というより正確にはPropelで、 updated_atカラムを含むモデルを扱う場合。 この名称のカラムを作っておけば、他に特になにも設定しなくても、レコードを更新かけた時に、更新日時を自動的に保存してくれるので、便…
こないだ、最新版をダウンロードしようとして、公式サイトTOPに行って、気づいた。 http://www.smarty.net/ Smarty3 なんて動いてるんだ。 もうメジャーバージョンアップしないのかと思ってた。 どうやらPHP5専用になるらしい。 ちょっとだけ期待。
連投でSmartyネタ。 今関わってる案件で、クライアント要望でSmarty必須な案件があるんだけど、 Smartyはまぁいいとして、MVCの残り、MとCをどうするか思案中。 Mは条件揃えばなんだけど、Doctrine試してみたい。 Doctrine使ったことないんだけど、サンプル…
嵌りました。。。orz かなり特殊な状況ではあるのですが、同じ落とし穴に他の人が嵌らないよう、メモ。 使用しているバージョンは PHP:5.2.6 PEAR、MDB2:現時点で最新 PostgreSQL:7.4系 で、問題は、PEARマニュアル http://pear.php.net/manual/ja/packag…
しつこいですが。。。 どうやら、この件、完全にFixってわけでもない。。。 というか、異論というか、こういう場合どうよ!?みたいな意見もでているみたいで。。。 \n とか \t ってPHPのダブルクウォート文字列内で特別な意味もつじゃん、その時どうすんの…
">The result is that we have decided to go with backslash as new separator for namespaces. え〜〜!?まじっすか。。。orz またしても、(Perl|Ruby|Python|JavaScript)な人たちにdisられそうだなぁ。。。 そら、確かに空いてる記号があんまないのはわ…
via:PHPの種 ブログ » PHP の switch 文は判定が緩やか PHP の switch 文は怖くて使えない - れぶろぐ (2008-10-02)これもキモいところですねぇ。。。知ってたけど。 だから僕はswitchで判定する変数に何が入るかわからんような場合は、switchを使わないか、
PHPの組み込み関数の変な挙動 - XOOPS専門-株式会社RYUSあ〜・・・言われてみれば、変と言えば変か。。。 ようは、PHPって添字配列と連想配列(ハッシュ)を区別しないからこういうことおきるんよね。 array_popとかarray_shiftは本来添字配列を対象にしたも…
http://qwik.jp/mumu/recipe.html より。このやり方、お、いいじゃん・・・って思ったんだけど。。。 prepare("SELECT name, colour FROM fruit"); $sth->execute(); $results = $sth->fetchAll(PDO::FETCH_ASSOC); for ($results as &$rec) { $rec['fullnam…
すいません、結構放置してましたね、この日記。。。 いや、書くネタは貯めてあるんですが、なかなか時間がね(汗 まあ、気長に付き合っていただければと。。。 さて、今、仕事ではSmartyをテンプレートエンジンに使ってる業務が多いんですが、 前々からSmart…
今時はフレームワークが活況なので、こういう心配もないのかもしれませんが それでもまだまだ昔ながらのベタPHP(グローバルスコープにロジックべた書き)ってことも多いと思うんですよね。 特に昔の資産をひきずったものだと。 で、そういうソースコードを…
まあ今時は、「漢ならPDO」なのかもしれんのですが、業務では諸々の事情で使えなかったりするわけで、MDB2を使ってたりするんですが。 で、PEARマニュアルとAPIリファレンス見てて、こういうことできるのかと思ったんだが。 http://pear.php.net/manual/ja/p…
いまさらだけど、PHPって「not」は予約語じゃないんだね。 http://www.php.net/manual/ja/reserved.php 当然、
今、表題の件で困っております。。。 google先生もあまりいいお答えもっていないようで。。。 症状や環境はこんな感じです。 symfonyは1.0.17 libxml2は2.6.26 →いくつかの箇所で報告されている数値参照文字に化ける問題は発生しない。 サイトの出力文字コー…
CSVの処理でPHPマニュアル読んでたら見慣れないこんな関数が。。。 str_getcsv(No version information available, might be only in CVS)str_getcsv - CSV 文字列をパースして配列に格納する fgetcsv()の入力が文字列になった版、みたいなもんか。微妙。 手…
http://events.php.gr.jp/event.php/event_show/50 てことで、先日予告した詳細報告をば。 PHP勉強会初参加だったのですが、ゆる〜い感じがなかなかよかったですw もっとカリカリしてるのかと勝手なイメージがありましたf(^^;;; 発表内容について、個人メモ…
初参加でちょっと不安もありましたが、良い感じにgdgdで(笑)、変にかっちりしてなくて個人的には好きな雰囲気でした。 symfonyでモバイルサイト開発の話はかなり参考になりました! あ〜やっぱそうするしかないよねぇ、ってとことかもあったし。 なるほど!…
第35回PHP勉強会 - events.php.gr.jpPHP勉強会は前から興味あって行きたかったんだけど もともと出不精なもんであんまそういうの参加してなかったんですが。 で、今回も発表内容見て、う〜ん、どうしようかな、と悩んでいたら symfonyでモバイル開発なんてど…
例えば、「ABCDEFG」という文字列の中の「D」1文字を取り出したい時。 わざわざsubstr()関数をつかわなくても って書き方ができるんですが。(可読性はちょと微妙だけど) ここでふと、「てか、この方法って定数でもできるのか?」と思い立ち、やってみた。 …
なぜなら。。。validation_error_prefixの文字列自体はHTML的には常に出力されてて、divタグのstyle属性でdisplay:none;してるから。 (エラーが実際に発生すると、showになる) でも、多くの携帯CSSは、display:none;をサポートしてないので、validation_er…
しばらく、symfonyの新しいバージョン、1.1をいろいろ弄くってたんですが。 いろいろ検討した結果、1.0にダウングレードすることに。 ダウングレードした一番の理由は、新しいForm周りの実装が扱いにくかったこと。symfony1.1では、CRUD生成する時に、あわせ…
とても激しいツッコミに惚れました<ぉぃ http://d.hatena.ne.jp/gallu/20080702/p2 きっとこんな(元ネタの記事 http://journal.mycom.co.jp/articles/2008/06/25/flexigrid/002.html の方)プログラムが平然と掲載されるようだから、 非PHPな方々から、PHP…
自分メモ。 symfony1.1では、generate-crudする前に、Formクラスがないと怒られるので、 $symfony propel:build-forms を実行しておく。 lib/forms/ にFormクラスのファイルができる。 新しいForm機構では、validator系でymlファイルが使えなくなっている*1…
1) symfonyって、オートグローバル変数($_GET、$_POST、$_SERVERなど)は使わずに、sfRequestクラスが提供するメソッドを使いなさい、って方針だけど、REMOTE_ADDR にはどうやってアクセスすればいいんだろう? これだけわからなくて、$_SERVERを使ってしま…