7
7

More than 5 years have passed since last update.

PHPのuse句でasは使わないほうが良いと思います

Last updated at Posted at 2016-06-21

こんなかんじのやつです

use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

Laravelのドキュメントから抜粋しましたが、Laravelが嫌いってわけじゃないです。

思った理由

  • 飛んでソース見に行っても、クラス名が違うから頭でコンテキストスイッチが発生する。
  • as使う理由って、命名に失敗していて、本当はクラス名を変えるべきでは?

反論を考えてみました

名前が被っているので仕方ないとかありそうです。

use Hoge\Manager;
// use Illuminate\Database\Capsule\Manager;
use Illuminate\Database\Capsule;
$capsuleManager = new Capsule\Manager();

こうすれば解決する気がします。

まとめ

asを使う、肯定的理由が思いつかないです。
PHPのFWでは、マジックメソッドとか、リフレクションとか、よく見かけます。分かりづらくなるので使用を控えたほうが良いのでは?と思いました。
(ここは仕方ないとかあると思うので、極力避けたいイメージです。)

また、僕がまだPHP経験が浅いからか分かりませんが、FWのソースを読んでいて、実行してみないとソースを追えないものがありました。分かりづらくなる機能は使わずに、シンプルに構築してほしいです。。。

7
7
0

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
7
7