console.log(typeof null);
ってやったら object って出た。
console.log(typeof null);
ってやったら object って出た。
ちょっとした一時的な使い捨てオブジェクトを作りたいとき、いちいちnewするのが面倒くさい。
<? $o = new stdClass(); $o->hoge = "Hello"; $o->piyo = "world"; $o->fuga = 2019; $list[] = $o;
みたいなコードだと何行もなってちょっとウザいのが、裏技を使うと1行になる
<? $list[] = (object)["hoge"=>"Hello", "piyo"=>"world", "fuga"=>2019];
まったく行儀が良いコードではないが、書き捨てコードになら実にちょうど良い
errnoみたいに、「最後のエラー」がずっと残るものだと思っていたけど
成功したときはきちんとゼロに戻されてた
<?php $b = json_decode("aa"); print(json_last_error()."\n"); // 4 $b = json_decode("{}"); print(json_last_error()."\n"); // 0
片付けとは捨てること
CentOS の OpenSSH で chroot を設定する
# chroot用設定
Subsystem sftp internal-sftp
Match User hoge
ChrootDirectory /data
ForceCommand internal-sftp
WinSCPとかでsftpアクセスすると、/data が / として見えるようになる。
ただし、/data はrootユーザしか書けないようにしてるので
/data の下に適当にhogeユーザ所有のディレクトリを掘っておく
ForceCommand を指定し忘れると、sshでログインできてしまう。
が、chroot環境(/data)には/bin/bashも/home/hogeもないので
無事エラーになって即座に切断される。