Help us understand the problem. What is going on with this article?

どこでもクラスが参照できるふしぎなクラスローダー

More than 3 years have passed since last update.

みなさん、オートローディングしてますか! 名前空間使ってますでしょうか!

便利でいろいろな箇所で使いたいのに長いクラス名をいちいち書いたりするのはめんどくさい… そんなことありますよね?!

fuga.php
<?php
namespace Hoge\Fuga;

use Deep\Nested\Library\Module\Awesome\Miracle as AwesomeClass;

$obj = new AwesomeClass;
$obj->foo();

解決策

BaguettePHP/AliasLoaderってライブラリ書きました。

インストールはちょうかんたん。

$ composer require zonuexe/aliasloader

実装も超かんたんだょ!

bootstrap.php
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';

\Teto\AliasLoader::add('Deep\Nested\Library\Module\Awesome\Miracle', 'AwesomeClass');
fuga.php
<?php
namespace Hoge\Fuga;

$obj = new AwesomeClass;
$obj->foo();

いぇい!

実用例

こんなふうに、よく利用するクラスを登録しておくとべんり。

alias.php
<?php

\Teto\AliasLoader::add('Respect\Validation', 'v');
\Teto\AliasLoader::add('Teto\Functools', 'f');

で、composer.jsonに書いとく。

{
    "autoload": {
        "files": ["src/alias.php"]
    }
}

べんり。

感想

オートローディングたのしい><

そして、PhpStormは意外に賢くない…

tadsan
僕に警備する自宅をください。Emacs初心者。Rubyist。 全ての投稿された記事は別段の表記がない限りはCC 3.0 BY-SA https://creativecommons.org/licenses/by-sa/3.0/deed.ja で二次利用できます。 記事中に含まれる全てのコードスニペットの著作権は抛棄するので、煮るなり焼くなりお好きにどうぞ。
https://tadsan.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした