まだよくわかっていないけど、ドキュメントも英語だったので余計に。(英語苦手です)
wsdlファイルをパラメタに渡して、対象のメソッドをパラメタ渡して実行したら、
とりあえず通信はできたという状況。
使ったのはZend_Soap_Clientだけだから、Server側を作ってみないと、
全体像は見えてこないのかもしれない。
それに加えて、Soapがあまりわかってないから余計に理解が遅い。
XML_RPCとの通信手段としての長所、短所とか後で検索してみようと思う。
まだよくわかっていないけど、ドキュメントも英語だったので余計に。(英語苦手です)
wsdlファイルをパラメタに渡して、対象のメソッドをパラメタ渡して実行したら、
とりあえず通信はできたという状況。
使ったのはZend_Soap_Clientだけだから、Server側を作ってみないと、
全体像は見えてこないのかもしれない。
それに加えて、Soapがあまりわかってないから余計に理解が遅い。
XML_RPCとの通信手段としての長所、短所とか後で検索してみようと思う。
Web上のリサイズをかけれて、画質もきれいらしいので、メモ
http://www.ideaxidea.com/archives/2009/01/resize_image.html
このPHPライブラリは、使えそうなのでメモ
http://phpspot.org/blog/archives/2008/02/phpclassimageph.html
このリサイズプログラムも使えそうなのでメモ
http://www.ideaxidea.com/archives/2008/03/urlphpsmart_image_resizer.html
protectedで定義した変数は、そのクラスを継承したクラスからは参照できますが、継承していないクラスからは参照できません。これはメソッドも同様です。
私は、クラスAにprotected変数がある場合、クラスAを継承したクラスB、クラスBを継承したクラスCからも参照できるものだと思っていました。しかし実際は、孫クラスにあたるクラスCからは参照できませんでした。よくドキュメントに書いてある、サブクラスというのは、子クラスのみをさしていたのですね。
javaのときはどうだったか覚えてないですが、phpではこうでしたってことでメモ。
array_pushのマニュアルに書いてありましたが、知りませんでした。
【注意: もし配列にひとつの要素を加えるために array_push() を使用するなら、
関数を呼ぶオーバーヘッドがないので、$array[] = を使用するほうがいいです。 】
忘れないようにメモ。
Zendのソースを見ているときに見つけたこれらの関数。
今まで正規表現でチェックしてたところに使えるので、メモ。
正規表現でやればいいと思ったりもするけど、慣れない人には
正規表現ってすごく分かりづらい。
だから、こういう関数を使うのはいいと思っています。
ctype_ alnum 英数字
ctype_ alpha 英字
ctype_ digit 数字
ctype_ lower 小文字
ctype_ upper 大文字
偶然見つけたメソッド __autoload。
最近までphp4ばかり使ってたので、マジックメソッドには疎いのです。
たまたま見つけたサイトで、マジックメソッドについて読んでみて、
早速__autoloadから試してみました。結果は便利です。
私は、phpでプログラムを新規で作る場合は、Zend Frameworkを利用していますが、
だいたいこんなディレクトリ構造です
web/index.php
lib/models/xxxxModel.php
lib/validates/xxxxValidate.php
lib/dbs/xxxxxDb.php
lib/controller/xxxxxController.php
小規模なものしか作っていないので、この階層分けでなんとかなってます。
そこでindex.phpに以下のように __autoloadを追加したら、
各ファイルで、Zend_Loader::loadClassや、require_onceを
記述する必要がなくなってとても楽です。
function __autoload($className)
{
if (preg_match("/^Zend_/", $className)){
Zend_Loader::loadClass($className);
return;
}
if (preg_match("/Model$/", $className)){
require_once('models/' . $className . '.php');
return;
}
if (preg_match("/Db$/", $className)){
require_once('dbs/' . $className . '.php');
return;
}
if (preg_match("/Validate$/", $className)){
require_once('validates/' . $className . '.php');
return;
}
}
久々で忘れていたので、ここにメモっておきます。
文字コードを検出するメソッド。
mb_detect_encoding