7

これらの名前空間を大量に適用する方法を見つけようとしています。これは書き出すのが不便だからです。簡単に使用できることはわかっていますjream\ as j が、バックスラッシュを回避できるかどうかを確認したいと思います。

require '../jream/Autoload.php';

use jream\Autoload as Autoload,
    jream\Database as Database,
    jream\Exception as Exception,
    jream\Form as Form,
    jream\Hash as Hash,
    jream\Output as Output,
    jream\Registry as Registry,
    jream\Session as Session;

new Autoload('../jream');

これらの行に沿って何かを言う方法はありません: jream\\* as *;?

どんなヒントでもいただければ幸いです:)

4

2 に答える 2

3

これらの線に沿って何かを言う方法はありません:jream \ * as *; ?

いいえ、しかしあなたはこれを行うことができます:

// use-jream.php
class Autoload extends jream\Autoload {}
class Database extends jream\Database {}
...

// index.php
require_once 'use-jream.php'

new Autoload('../jream');

しかし、私はそれをすることを本当にお勧めしません。

そしてもちろん、デフォルトの名前空間を変更したいだけの場合は、次のようになります。

namespace jream;

new Autoload('../jream');

import jream.*PHPには、通​​知しない限り、クラスが特定の名前空間に存在する可能性があるかどうかを判断する方法がまったくないため、これがPHPで意味することはすべてあります。

于 2012-05-15T03:59:07.050 に答える