LoginSignup
2

More than 3 years have passed since last update.

PHPって奥が深い

Posted at

久方ぶりにPHPerに戻って来た。
Hiro_Matasunoです。
最近はいろんなことに出逢いましたのでコードを含め書いていこうかなと思います。

色んな方法で書けるな

そう言えば最近ワンライナーですがいろんなこと書けるみたいですね。
現職場でいろんな書き方に出会いましたし。

(aa == bb || bb == cc)? DD:EE

上記ですが昨日知りました。

よくあるワンライナーってよくあるパターンは

isset(abc)? abc:"";
is_null(a)? null:ab;

だったりしますよね。
自分はよく使ってましたね。
バックエンドだとこれのほうが楽なんですよ

if(isset(aaa)){
   aaa = bbb;
}else{
   aaa = null;
}

if(is_null(a)){
   a = null;
}else{
   a = b;
}

て書くのがめんどくさくて昔よくこの手のワンライナー使ってましたが。
結構らくさせてもらいました。
ワンライナーの二段重ねもよく書いてました。
データベース格納用変数だったので気を使って作ってましたね

()?ってif文の代わりをしているみたいですね。
昨日見て覚えました。
使い勝手いいですしね。

PHPを久方ぶりに書いて思ったことは

最近ですが気がついたことは12/8のPHPその2アドベンドカレンダーにも書きましたが。
守るべきところは絶対守ってくれています。
これが一番助かるのです。
いつでも戻ってこれる。

進化が激しい言語またはスクリプトはすぐ追いつけなくなります。
特にその典型的例がJavascript。
マジ今でもムカついてます。
クラスの書き方にしてもアロー関数の書き方にしてもぐちゃぐちゃです。
それに比べてPHPはしっかりその点守られてると思っています。
あとはデータベースへの対応。
これが一番最高ですね。
初めてOracleに接続するPHPを書いたんですがそれほど困りませんでいた。
それはすでにMySQLをガリガリ使っていたからなんですがデータベースに恐怖を持たずコーディングができています。
オレオレフレームワークと話を聞いてましたがそれ以上のフレームワークをjQueryで書いたことがあるので正直気がつくのが遅かった。
このオレオレフレームワークどっから見ても難しくないというかなんか昔泣く泣く手放したフレームワークにそっくりだったのでびっくりしました。
これがあり得るのもこの業界のいいところです。
こいつにJSON加えてやりたいなぁ。
そうすればもう少し楽できると思います。

未だに$_POST・$_GETが生きてるのが少し怖い

これは思いましたけど。
やっぱインジェクションされやすくて怖いっすよ。
これ解決する方法は見つかっていてみんなでフレームワーク改造計画を行うときにでも語りたいんですが。
JSONパッシングやればいいのになと思っています。
じつはjQueryフレームワークのバックエンドは実はPHPでJSONパッシングパッシングできるように作ってました。
その経験活かしたいなどこかで。
正直JSONオブジェクトは怖くないし簡単に作れます。

$array["aaa"] = bbb;
$array["ccc"] = ccc;
json_encode($array);

でJSONオブジェクトできちゃいます。
オブジェクトを配列にしたい場合は

$array2 = json_decode($array);

これだけで配列化もできちゃいます。

本当はこれで書きたいんですよねコードが。
そうしないとインジェクション対策ができなくなってくるんですよね。
そろそろお時間も良さそうなので今日はここまでにします。
久方ぶりにコード書いてるので間違いあったら指摘ください。

明日は daikinさんです。
初学者らしいので期待してますね。

では。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2