問題タブ [psr-4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
model-view-controller - コントローラー付きのスリムなフレームワーク PSR 4
Slim Framework に基づいてアプリケーションを作成しています。私はPSR 4パターンに従っています。このアプリケーションは、基本的に RESTful サービスを扱っています。将来の柔軟性を高めるために、従来のスリムコーディングとは異なるアプローチを採用しました。私のディレクトリ構造は以下のようになります。
"Routing" ディレクトリに、メニュー リンクを含むいくつかの yaml ファイルを保存します。これらはルーター コンポーネントで解析され、コントローラーとそのメソッドへの適切な呼び出し可能なパスが生成されます。
しかし、私が直面している問題は、どちらが良い方法であるかを判断することです? .yml ファイルから各ルーター項目を割り当てて、それらを次のように使用するにはどうすればよいですか?
さらに参照すると、yaml ファイルの 1 つが次のようになります。
効率的で良い方法は何ですか?提案してください。
php - PHP Composer Autoloader のシンプルな構造
Composer が動作していて、そのオートローダーを使用してクラスをロードしたいのですが、動作しません。これが私のディレクトリ構造です。始めはとてもシンプルにしています。
私が持っているwebgl.phpの中に:
index.php には次のものがあります。
そして、私の composer.json は、オートロード用にこれを定義しています:
2 番目の require のコメントを外すと、スクリプトは機能します。そうしないと、「致命的なエラー: クラス 'controllers\webgl' が 5 行目の /vagrant/index.php に見つかりません」というメッセージが表示されます。
フォルダー構造、クラスの名前空間、クラス名はすべてpsr-4に準拠していると思いました。しかし、私は何かを誤解しているに違いありません。同様の質問をたくさん読んだことがありますが、私のためにそれを並べ替えることができた人はいません。
クラスがロードされない理由と、それを修正するために何をすべきか誰か教えてもらえますか?
php - クラス名とは異なるファイル名を持つクラスを自動ロードするにはどうすればよいですか?
これらを見てきましたが、
引数としてオートローダーに渡されたものとは異なる名前のクラスをロードします
私は変更できますが、私の MV* 構造には次のものがあります。
実際のクラスでは、
私は名前と一致させようとしていました。クラス名の接尾辞 (Controller、Model) を付けないと、再宣言しているため、クラスをロードできません。
クラスの名前をそのままにしておくと、autoload は次の名前のクラス ファイルを探すため、失敗します。
ファイル名が実際の場合、
私の唯一の方法は(順不同):
- create_aliasを使用する
- ファイルの名前を変更します (customer.model.php から customermodel.php に)
- クラスの名前を変更する
- 正規表現を使用する
- インクルード ファイル ( 、 など) でブートストラップを
include
使用require_once
する
?
サンプルコード、
ファイルの名前を変更する必要があるようですが、
http://www.php-fig.org/psr/psr-4/
「終了クラス名は、.php で終わるファイル名に対応します。ファイル名は、終了クラス名の大文字と小文字を一致させる必要があります。」
php - PSR-4で「use」を使用してPHPインクルードクラス
私はPSR-4を使用しています.composer.jsonでpsr-4セクションを定義しました
「use」キーワードを使用してクラスをインポートしようとしたとき
このエラーが発生します: UploadFilesController.php 行 13 の FatalErrorException: クラス 'Controllers\Controller' が見つかりません
ファイルへの静的ルートを設定した場合
動作しますが、その後、Illuminate などの PHP クラスを含む他のファイルで同じ問題が見つかりました。
どうしたの?
php - 別の Laravel アプリケーションを Lumen に自動ロードする
Lumen を使用して、既存の Laravel アプリケーションの API を作成しています。API のコントローラーが Laravel アプリのモデルにアクセスできるようにするために、Laravel アプリを git サブモジュールとして追加し、composer.json ファイルを介して "Main" 名前空間に自動ロードするように設定しました。
これは問題なく動作しますが、これがメモリ使用量にどのような影響を与えるかを尋ねたかった. Laravel アプリ全体がメモリに読み込まれている (したがってパフォーマンスが低下している) のでしょうか、それとも Main\Model クラスが参照されているときに「どこを見るべきか」と Lumen アプリに指示されているだけなのでしょうか?
ありがとう
php - Zend 1 が psr-4 名前空間で動作しない
私はzendフレームワーク1に取り組んでいますが、_の代わりに\を使用したいです
お気に入り
これは正常に機能していますが、これを変更したとき
次に、エラーが発生します
コンポーザーで名前空間を作成しました
では、コードでこれらの名前空間をどのように使用できますか
これは Zend Framework1 で可能ですか?