問題タブ [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.

0 投票する
1 に答える
96 参照

php - PSR-4 で Composer Autoloader を使用する

例を見ていますが、コードを動作させることができません。

ディレクトリ構造

じぶんのcomposer.json

名前空間はCompany\FileExport.

ベンダーのクラスは正常に動作しますが、私のものではありません。私も走っcomposer updateてきました。

0 投票する
1 に答える
2247 参照

namespaces - Codeception (Yii2) で名前空間が機能しない

Yii2 で Codeception を使用して受け入れテストを行っていますが、名前空間がこれらのテストで機能していないため、モデルにアクセスする方法がありません。

私はこれをtests/_bootstrap.phpに持っています

これは私のコンソール/構成/メインにあります

そして、これは志望者テストの1つです:

テストを実行すると、次のエラーが発生します。

PHP 致命的なエラー: 21 行目の /var/www/project/tests/acceptance/ListUserCest.php にクラス 'backend\models\User' が見つかりません エラー: クラス 'backend\models\User' が見つかりません

助けてください、知っていることはすべて試しました

編集

これで (vitalik_74 が推奨する行を追加した後)、たとえば \Yii メソッドをテストに使用できますが、Web アプリケーションの構成はなく、コンソールの構成のみを使用できます。つまり、まだ \backend\models\User を使用できず、Yii::$app->user ステータス (たとえば、ユーザーがログに記録されているかどうかを確認するため) にもアクセスできません。

User モデルは、tableName、rules、attributeLabels、および getProfile() などのいくつかのリレーショナル メソッドを備えた単なる一般的な ActiveRecord モデルです。それはテストからうまくいきます

0 投票する
1 に答える
169 参照

php - PSR-4は小型パッケージ専用ですか?

PSR-4を読んだ後、ディレクトリがほとんどない小さなパッケージにぴったり合うと思います。
パッケージが大きい場合、サブパッケージからロードする自動ロード機能が非常に多くなります。(最初にベースディレクトリを関数に伝える必要があるため)
CMS またはフレームワークを検討する

  • 管理者
  • 拡張子
  • ライブラリ
    • フレームワーク
      • 概要
      • データベース
      • 日付時刻
      • 機能
      • インターフェース
    • コメント
    • 役職
    • ユーザー

この CMS パッケージには PSR-0 の方が PSR-4 より優れていますか?
ディレクトリ構造は適切ですか?
インターフェイスと抽象クラスには独自のディレクトリが必要ですか?

0 投票する
1 に答える
736 参照

php - PHP でパスを定義する最良の方法

これは私のコードです

クラス Path プロパティで関数や連結文字列を使用することさえできないため (PHP ではこれが許可されていません)、最初にパスを定義してから、プロパティの配列値の定義を使用します。

これを行うのは正しいですか?より良い解決策はありますか?
PSクラスPathを使用して、各名前空間へのベースパスを指定します(PSR4オートローダーで使用したい)そして、名前空間を登録するためにオートローダーを呼び出すだけではありません。クライアントがパスを変更したい場合、ビジネスロジックを見る必要はありません

0 投票する
1 に答える
1586 参照

php - 作曲家が作曲していない - ファイルが見つからないと言っている

私は優れたphpwkhtmltopdfライブラリを使用しており、最新バージョンに更新したいと考えています。そのためには composer を使用する必要があります。

ファイル構造:

Composer.json ファイル:

私はこのようなライブラリを使用しようとしています:

問題は、エラーが発生することです:

致命的なエラー: クラス 'mikehaertl\wkhtmlto\Pdf' が /home/bookmark/public_html/ajax/action.php 行 132 に見つかりません

Composer を使用するのはこれが初めてですが、何が間違っているのか分かりますか?

0 投票する
1 に答える
78 参照

psr-4 - 動作例に対する psr-4 の変更が機能しない

すべてのソースがこのように含まれていることを達成する必要があります

$instance = new \d1\d2\d3\app\MyClass();

d1\d2\d3\ はルート ディレクトリを指します。

https://getcomposer.org/doc/04-schema.md#psr-4http://www.php-fig.org/psr/psr-4/の基本を読みました 。https://laracasts.com/lessons/psr-4-autoloadingの例も機能します。

私の問題は次のとおりです。以下のコードを自分のニーズに合わせて少し変更するとすぐに、クラスが見つかりません。(はい、composer.json の変更後にコマンドを発行しcomposer updateます。はい、自己更新を使用してコンポーザーを更新しました)。

したがって、これは機能します:

composer.json

"autoload": { "psr-4": {
"Laracasts\\": "app/Laracasts" } }

index.php

require_once 'vendor/autoload.php'; // According to https://laracasts.com/lessons/psr-4-autoloading $test = new \Laracasts\Repositories\BlogRepository(); $test->hello();

しかし、これはしません:

composer.json

"autoload": { "psr-4": {
"d1\\": "app/Laracasts" } }

index.php

require_once 'vendor/autoload.php'; // According to https://laracasts.com/lessons/psr-4-autoloading $test = new \d1\Repositories\BlogRepository(); $test->hello();

私は何を間違っていますか?

IIS 8 で php 5.3.28 を使用しています。

0 投票する
1 に答える
23691 参照

composer-php - PSR-4 オートローダ 致命的なエラー: クラスが見つかりません

私は次のようなプロジェクト構造を持っています:

私の User.php ファイルは次のようになります。

そして、私の composer.json オートローダーはこれです:

最後に私のbootstrap.phpはこれです:

ただし、を作成しようとするとnew User()、エラーが発生しますFatal error: Class 'User' not found in /var/www/public/api/v1/index.php on line 8

composer autoload_psr4.php ファイルを見ると、問題ないようです。

// autoload_psr4.php @Composer で生成

上記のどこが間違っているのか、誰でも指摘できますか?

0 投票する
1 に答える
1281 参照

php - PSR 4 オートロードでクラスが見つからない

PSR-4 オートローダーが機能しない理由がわかりません。

私の composer.json ファイルは単純です

src/Filters にある私の PHP ファイル

ルートにある私のメインファイルには、次のものがあります

しかし、コードを実行しようとすると、

致命的なエラー: クラス 'Filters\BlogFilter' が /var/www/html/dev/foo.php の 7 行目に見つかりません

動作しない理由がわからないので、実行してみcomposer updateましcomposer installcomposer dumpautoloadが、まだエラーが表示されます。

私の完全な作業構造は次のとおりです