1

これは簡単な質問のようですが、答えが見つかりませんでした。コンポーネントパス「pathToComponent」がある場合、それが有効であることをどのように検証できますか? 現在、try/catch を使用していますが、もっとエレガントな方法はありますか?

boolean function isValidComponent( required string pathToComponent ){

    try{
        var metaData = getComponentMetaData( arguments.pathToComponent );
        return true;
    }
    catch( any e ){
        return false;
    }
}

ありがとう!

4

1 に答える 1

0

コンポーネント パスを使用してコンポーネントを作成できるかどうかをテストするには、次を使用します。

boolean function isValidComponent( required string pathToComponent ) {

    try {

        createObject("component", ARGUMENTS.pathToComponent);
        return true;
    }
    catch(any) {
    }

    return false;
}

コンポーネントに物理的にアクセスする場合は、次を使用します。

string function getComponentLocation( required string pathToComponent ) {

    var normalizedPath  = replaceNoCase(ARGUMENTS.pathToComponent, ".", "/", "ALL");
    var resolvedPath    = expandPath(normalizedPath);
    var fileLocation    = (resolvedPath & ".cfc");

    return fileLocation;
}
于 2015-10-31T11:28:07.143 に答える