あるときからvim-quickrunを実行するとこけるように…
<環境>
Windows XP
Vim 7.3 (Kaoriya版)
NeoBundleでvim-quickrunは入れた
なにやらpython部分でこけてるらしいので
.vim\bundle\vim-quickrun\autoload\quickrun\runner
内の
python.vim
を全部コメントアウトしてみました(強引すぎ..)
動作するようになりました。
取り急ぎ、これで応急処置。
あるときからvim-quickrunを実行するとこけるように…
<環境>
Windows XP
Vim 7.3 (Kaoriya版)
NeoBundleでvim-quickrunは入れた
なにやらpython部分でこけてるらしいので
.vim\bundle\vim-quickrun\autoload\quickrun\runner
内の
python.vim
を全部コメントアウトしてみました(強引すぎ..)
動作するようになりました。
取り急ぎ、これで応急処置。
cygwinでtelnetコマンド打つと、入ってない…
ためしたversionは、1.7.17です
最初からは入ってないようでインストール
apt-cyg install telnet
だと反応がない..
apt-cyg install inetutils
に入ってました
ちなみにWindows7でも
コントロール パネル\プログラム\プログラムと機能
Windowsの機能の有効化または無効化
で、TELNETクライアントにチェックを入れてインストールすれば
コマンドプロンプトでも使えます
PHPでのオーバーライドでの親子メソッド呼び出しで
混乱したので整理。
まず、普通のoverride
class A {
public function who() {
echo 'Aです';
}
public function test() {
$this->who();
}
}
class B extends A {
public function who() {
echo 'Bです';
}
public function test() {
$this->who();
}
}
$cls = new B();
$cls->test();
// [実行結果]
// Bです
まだ、Aのメソッドは一つも呼び出されていません。
test()を親クラスのtest()に変えてみると
class A {
public function who() {
echo 'Aです';
}
public function test() {
$this->who();
}
}
class B extends A {
public function who() {
echo 'Bです';
}
public function test() {
parent::test();
}
}
$cls = new B();
$cls->who();
// [実行結果]
// Bです
これもBのwho()が呼び出されます
クラスBから、Aのwho()が呼びたいなら
class A {
public function who() {
echo 'Aです';
}
public function test() {
$this->who();
}
}
class B extends A {
public function who() {
parent::who();
//echo 'Bです';
}
public function test() {
parent::test();
}
}
$cls = new B();
$cls->who();
// [実行結果]
// Aです
これで、親クラスのwhoメソッドが呼ばれます
そして、staticの場合
class A {
public static function who() {
echo 'Aです';
}
public static function test() {
self::who();
}
}
class B extends A {
public static function who() {
echo 'Bです';
}
public static function test() {
parent::test();
}
}
// [実行結果]
// Aです
BからAのtestを呼ぶ、self::who()はAのwho()となります
overrideしたBのwho()としたいなら
遅延静的束縛 (Late Static Bindings)ってのですね
(PHP5.3以降じゃないと効かないです)
class A {
public static function who() {
echo 'Aです';
}
public static function test() {
static::who();
}
}
class B extends A {
public static function who() {
echo 'Bです';
}
public static function test() {
parent::test();
}
}
// [実行結果]
// Bです
self::でなくてstatic::にしてやると
overrideが効きます
遅延静的束縛を忘れかけてました..
centosでxhprofをインストールしてみます
<環境>
Centos 6.3
Apache 2.2
PHP 5.3
pecl install xhprof
だとエラーがでたので
pecl install xhprof-0.9.3
で、すんなりはいりました
php.iniに
extension=xhprof.so
を追記
Apache読み込み直し
/etc/init.d/httpd reload
phpinfoを確認、xhprofが増えていれば成功