PHP で callable なプロパティを呼び出す方法

PHP の小ネタです。 PHP において「 callable なオブジェクトが別のオブジェクトのプロパティとして格納されているときに、それをどのように呼び出せばよいのか」という問題についてです。

具体的に、インスタンスが callable なクラス Registry が定義されている場合を考えてみます。

How to set field default values programatically in Drupal 7

I'd like to share a way to set default values of fields to new nodes (more generally "entities") programatically in Drupal 7.

At the time when Drupal 7 was released, it seems that the APIs of Drupal were not in high demand. So Drupal 7 doesn't provide a full set of APIs to make use of field default values. It uses field default values in a limited case, only when a node creation/edit form is rendered. So there's no sample code in the core which shows how to set default values of fields to nodes programatically.

PHP で入れ子の配列の中身を再帰的に変更する方法

PHP で入れ子の配列の中身を再帰的に変更する方法について説明してみます。

PHP でコードを書いているとときどきこれをやりたくなることがあるのですが、サッと実装できずに時間がかかることがあるのでまとめておきたいと思います。

課題

入れ子の配列 $form があり、その中にキーが #submit で、値が配列になっている要素が含まれている。 もし #submit の中に foo_form_submit という文字列の要素が含まれていれば、 bar_form_submit という要素を #submit に付け加えたい。

自動テストのスタブ・スパイ・モックの違い

ソフトウェアの自動テストで使う代品オブジェクト――いわゆる「 テストダブル 」の分類についてまとめてみたいと思います。 タイトルには「スタブ」「スパイ」「モック」だけをあげていますが、他に「フェイクオブジェクト」と「ダミーオブジェクト」にも言及しています。

ウェブシステムの自動テストの経済性小話

ウェブシステムの自動テストのコスト感覚について書いてみます。 内容は抽象的な概念論で、かつ、ソフトウェアの世界では遠い昔から言われてきたことの繰り返しにすぎません。

次の図は、ウェブシステム開発における自動テストの価値とコストの関係を表しています。 想定としては、テストコンポーネントが含まれたフルスタックのフレームワークを使った開発をイメージしています。

自動テストの価値とコスト

横軸は「追加開発の量」で縦軸は「金額」です。

ページ