問題タブ [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.
php - PSR-4 で Composer Autoloader を使用する
例を見ていますが、コードを動作させることができません。
ディレクトリ構造
じぶんのcomposer.json
名前空間はCompany\FileExport
.
ベンダーのクラスは正常に動作しますが、私のものではありません。私も走っcomposer update
てきました。
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 モデルです。それはテストからうまくいきます
php - PSR-4は小型パッケージ専用ですか?
PSR-4を読んだ後、ディレクトリがほとんどない小さなパッケージにぴったり合うと思います。
パッケージが大きい場合、サブパッケージからロードする自動ロード機能が非常に多くなります。(最初にベースディレクトリを関数に伝える必要があるため)
CMS またはフレームワークを検討する
- 管理者
- 拡張子
- ライブラリ
- フレームワーク
- 概要
- データベース
- 日付時刻
- 機能
- インターフェース
- コメント
- 役職
- ユーザー
この CMS パッケージには PSR-0 の方が PSR-4 より優れていますか?
ディレクトリ構造は適切ですか?
インターフェイスと抽象クラスには独自のディレクトリが必要ですか?
php - PHP でパスを定義する最良の方法
これは私のコードです
クラス Path プロパティで関数や連結文字列を使用することさえできないため (PHP ではこれが許可されていません)、最初にパスを定義してから、プロパティの配列値の定義を使用します。
これを行うのは正しいですか?より良い解決策はありますか?
PSクラスPathを使用して、各名前空間へのベースパスを指定します(PSR4オートローダーで使用したい)そして、名前空間を登録するためにオートローダーを呼び出すだけではありません。クライアントがパスを変更したい場合、ビジネスロジックを見る必要はありません
php - 作曲家が作曲していない - ファイルが見つからないと言っている
私は優れたphpwkhtmltopdf
ライブラリを使用しており、最新バージョンに更新したいと考えています。そのためには composer を使用する必要があります。
ファイル構造:
Composer.json ファイル:
私はこのようなライブラリを使用しようとしています:
問題は、エラーが発生することです:
致命的なエラー: クラス 'mikehaertl\wkhtmlto\Pdf' が /home/bookmark/public_html/ajax/action.php 行 132 に見つかりません
Composer を使用するのはこれが初めてですが、何が間違っているのか分かりますか?
psr-4 - 動作例に対する psr-4 の変更が機能しない
すべてのソースがこのように含まれていることを達成する必要があります
$instance = new \d1\d2\d3\app\MyClass();
d1\d2\d3\ はルート ディレクトリを指します。
https://getcomposer.org/doc/04-schema.md#psr-4 と http://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 を使用しています。
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 で生成
上記のどこが間違っているのか、誰でも指摘できますか?
php - PSR 4 オートロードでクラスが見つからない
PSR-4 オートローダーが機能しない理由がわかりません。
私の composer.json ファイルは単純です
src/Filters にある私の PHP ファイル
ルートにある私のメインファイルには、次のものがあります
しかし、コードを実行しようとすると、
致命的なエラー: クラス 'Filters\BlogFilter' が /var/www/html/dev/foo.php の 7 行目に見つかりません
動作しない理由がわからないので、実行してみcomposer update
ましcomposer install
たcomposer dumpautoload
が、まだエラーが表示されます。
私の完全な作業構造は次のとおりです