問題タブ [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 - Autoload Helper フォルダー Laravel 5
ヘルパー フォルダーで静的メソッドを呼び出したいと思います。
私は多くのチュートを試しましたが、常に1つのファイルだけです。
私の設定 /app/Helpers/Languages.php -> 私の静的クラス
composer.json
app.php
私が試したこと:
- 自動ロード クラスマップ、HelpersServiceProviders クラス、名前空間を追加します (コントローラーではなく、ブレード テンプレートでのみ機能します)。
- クラスマップ、名前空間の有無にかかわらず、autoload psr-4 を追加します。
すべてのメソッドについて、 use 'app/Helpers/Languages' を配置する必要がありますが、 'use' なしで Languages::myFunction() だけを呼び出したいと思います。出来ますか ?
私はすでにpsr-4の「app /」フォルダーを持っているので、ロードフォルダーと私のファイルになりますよね?
私が持っていないページをロードするときに役立つ場合:
FatalErrorException クラス 'App\Http\Controllers\Languages' が見つかりません
composer.json を更新したら、composer dump-autoload を忘れていませんでした
php - laravel 5 app.phpで使用してautoload psr-4で定義された名前空間が見つからないというエラーを与える
いくつかのエラーに頭を悩ませました。どこでミスをしたのかわかりません。私はそれを使用laravel 5
してインストールしました。使用したいl5-repository
ので、commnadを使用してhttps://github.com/prettus/l5-repositoryこのリポジトリをインストールしcomposer
ました:
インストールドキュメントに従ってすべての変更を行い、正常に動作しました。
composer を使用してリポジトリをインストールした後のディレクトリ構造は次のとおりです。
この後、ドキュメントに従って、次のエントリを次のように作成しました/var/www/curovis/config/app.php
:
Prettus\Repository\Providers\RepositoryServiceProvider::class,
およびその動作は正常です。ここcomposer.json
で、ルート ディレクトリ エントリを次のように変更します。
コマンドを使用しますcomposer update
。それもうまくいきます。今、私は別の名前で同じリポジトリを使用したいので、次のように変更composer.json
しました:
file.runコマンドを追加RepoTest\Repository\Providers\RepositoryServiceProvider::class,
します。次に、次のエラーが発生します。app.php
composer update
なぜlaravelがcomposer.json/var/www/curovis/vendor/laravel/framework/src
のように提供されるのではなく、このパスを探しているのか理解できません"RepoTest\\Repository\\": "vendor/repotest/l5-repository/src/RepoTest"
。私が欠けているもの、または作曲家のエラーです。手伝ってくれてありがとう。
php - PSR-2。ディレクトリを大文字にするのはいつですか?
PSR-2 標準に従って理解したように、クラスを含むディレクトリ名は大文字にする必要があります。しかし、ディレクトリにスタイルやスクリプトなどの他のファイルも含まれている場合はどうすればよいでしょうか?
プラグイン ディレクトリがあるとします。各プラグインには、テンプレートやその他のものを含めることができます。
この構造は正しいですか?
symfony - アップグレード後の psr4 の変更でクラスが見つからない symfony 2,4 -> 2,8
私は "symfony/symfony": "~2.4" と設定を使用しています
"symfony/symfony": "2.8.x-dev" で新しいプロジェクトを作成します。
最初にエラーが発生します
だから私は追加します
ClassNotFoundException がある
このフォルダ内のクラスにアクセスしようとすると
例 :
私を与える
それを修正する方法?
php - Composer PSR-4 クラスが見つかりません
composer.json ファイルで psr-4 を使用した方法は次のとおりです
今、私のinitファイルで、次のようにコントローラーを動的にロードしようとしています
私HomeController
の見た目はこんな感じ
URL ` http://localhost/mymvc/home/bla/bla ' にアクセスすると、エラーが発生します
php - Silex とオートローディング コントローラ クラス
まとめようとしている Silex スケルトンでクラスのオートロードを機能させるのに問題があります。これは別のプロジェクトで機能していますが、ここで何が間違っているのかわかりません。私のディレクトリは次のようになります。
ここに私のindex.phpがあります
app.php
HelloController.php
および composer.json
ブラウザで index.php/hello/world を開こうとすると、次のエラーが表示されます。
php - レガシー アプリケーションを PSR-4 互換にする
PHP の PSR-4 標準と互換性を持たせるためにレガシー PHP アプリケーションをリファクタリングすることに関して質問があります。まだ適切に名前空間が設定されていない app/classes/ フォルダーにいくつかのクラスがあり、composer の vendor/autoload.php を呼び出したときにそれらを直接オートロードしたいと考えています。に従って名前空間を追加し、 composer の vendor フォルダーの下にディレクトリ\<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>
を作成しようとしvendor/myapp/classes/src/
、dump-autoload コマンドを実行しましたが、役に立ちませんでした。クラスがロードされず、composer はそれを見つける場所を見つけられません。これを行う方法についての指針はありますか?
ありがとう、
1月
注意事項: -> コードは内部使用のみであるため、Packagist のように公的に検索可能なリポジトリにソース コードをアップロードしたくありません。
編集: ここに私の composer.json があります:
しかし、構造は次のようになります。
ここに私の問題/質問があります:
- submodule2.php と submodule3.php をロードする submodule.php をロードしようとすると、submodule3.php が見つからないことがわかります。submodule3.php の名前空間は Myapp\Classes\Module3 ですが、見つからないと表示されます。
- autoload.php を呼び出すたびに config.db.php を強制的にインクルードしたい
php - Composer は、すべてのモジュールに一致するように psr 4 ワイルドカード展開を自動ロードしますか?
私は自分のアプリにこの構造を持っています。
そして、これは私の composer.json です。
ご覧のとおり、これ"module/*/source/"
は .json に含まれています。これを行う理由は、長いリストになるので、すべてのモジュールを書き出すのを避けたいからです。また、新しいモジュールがある場合も柔軟ではなく、.json に変更を加える必要があります。
しかし、"module/*/source/"
機能していません。すべてのモジュールを取得するのに十分なほど「インテリジェント」になるように、この .json で正規表現などを実行できますか? そのような、
出来ますか?