2016-09-16 5 views
1

私はしばらくの間、作曲家を使うことを学んできました。そして、初めて私のコードをプロダクションサーバーに移しました。他の初回ユーザーが経験した問題の多く、つまり自動ロードが行われました。私の場合、ファイル名が犯人であることが判明しました。予想される特定のファイル名をクラス名に従うように構成します。コンポーザーはカスタムクラスのオートロードにどのようなルールを使用しますか?

私は、抽象クラスがそれらの中にあったことに気付きました。他のクラスは、Nameに対してClassNameのような複合名を持つクラスでした。しかし、私が混乱させるのは、何かを変更せずに作業していたことがありますが、作曲家はファイル名を変更する必要があったということです。

具体的には、私は自分自身のMVCを使用していて、モデルクラス内の他の人たちと共に基本クラスコントローラを変更しなければなりませんでした。

私は私がこれまでテストしたすべてが今OKのようです$loader = require "vendor/autoload.php";

`$loader->add("", ["my folders"])` 

を行っています。しかし、私は、サイト上のユーザーが行う可能性のあることをすべて予測できないため、後で何かが間違ってしまう恐れがあります。私は助けが必要です。ありがとう。

答えて

1

基本的には、PSR-4規格に準拠する必要があります。つまり、編集はcomposer.jsonです。 $loader->add("", ["my folders"])を追加する必要はありません。

composer.json

"autoload": { 
    "*": "/dirs" 
} 

しかし、それは次のように、具体的には良いでしょう:

"autoload": { 
    "App\": "app" 
} 

(これは、 "名前空間" のようなものだ: "ディレクトリが中に発見される")

App\Controller\PageControllerクラスをapp/Controller/PageController.phpファイルに持つ。


また=同様の質問を見つけることができます>hereまたはhere

+0

に答えて何が、私はそれらのためにPSR-4を使うのですか、名前空間されていないクラスになりますか?ちょっと興味があるんだけど。 –

+0

すべてのクラスに名前空間を割り当てる必要があります。これがPSR-0とPSR-4の目的です。 –

関連する問題