問題タブ [psr-0]

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 投票する
3 に答える
189 参照

php - php psr自動ロードのあいまいさ

私はphp sdkの書き換えプロジェクトに取り組んでおり、クライアントはPSR標準を完成させたいと考えています。こちらの規格ページを見ています

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md

私が理解できないことの1つは、クラスで名前空間を使用する場合、includeまたはrequireまたはuseを使用する必要があるかどうかです。私は、自動ロードの理由全体が目的に勝っていることを意味しますか?

たとえば、このようにクラスがあるとします。

そして、このクラスを拡張して使用する別のクラスがあり、

上記のリンクにある自動ロード機能があることを考えると、上記のコードは psr-0 標準に準拠しています。

0 投票する
2 に答える
374 参照

php - 異なる (短い) ディレクトリ構造を持つ Composer オートロード

PHP クラスを Composer でロードしたい。名前空間に従って、ディレクトリ構造に従うと機能します。

たとえば、私のクラス\MyCompany\MyProject\Class1は にあるときにロードされsrc/MyCompany/MyProject/Class1.phpます。私はこの作曲家設定を使用します:

ただし、src にあるのは MyCompany ディレクトリだけなので、すべてのファイルを MyCompany ディレクトリに配置したくありません。Java がこのように動作することは知っていますが、それでもなおです。Composer を設定して、クラスが直接 src にあるときにクラスをロードする方法はありますか? たとえば、ファイルからsrc/Class1.php

編集: PSR-4 はこの問題に直接対処しますが、classmap は引き続き機能します (本番セットアップには推奨されます)。

0 投票する
2 に答える
2636 参照

namespaces - composer で名前空間を psr-0 ライブラリとしてロードする

私は、あらゆる Web アプリケーション プロジェクトに Silex (および Composer) を使用しています。

4 つのエンティティとフォームを自動ロードしたい:

  1. FSB\MyProject\Entity\Booking --> /src/FSB/MyProject/Entity/Booking.php
  2. FSB\MyProject\Form\BookingType --> /src/FSB/MyProject/Form/BookingType.php
  3. FSB\MyProject\Entity\Contact --> /src/FSB/MyProject/Entity/Contact.php
  4. FSB\MyProject\Form\ContactType --> /src/FSB/MyProject/Form/ContactType.php

composer.json は psr-0 配列で定義されています。

次に、index.php ファイルで次のように呼び出します。

私の開発環境、MAMP、php 5.4ではすべて正常に動作します

しかし、PHP 5.4を搭載したUbuntuの本番サーバーであるApache2でも壊れます

「PHP 致命的なエラー: クラス 'FSB\MyProject\Entity\Contact' が /[...]/index.php に見つかりません」

次のようなエンティティをロードする多くの方法を試しました。

あるいは:

--> 私の開発環境ではいくつかの方法が機能しています。私の本番環境にはありません...

私は何か見落としてますか ?

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

php - composer autoloader psr-0 名前空間

カスタム Composer パッケージを作成しましたが、正しい autoload オプションを設定するのに問題があります。

私のクラスはすべてMyNamespace/Common名前空間の下にあります。したがって、たとえば、ArrayHelperクラスを含めるために使用しますMynamespace/Common/Helper/ArrayHelper

これは私の関連部分ですcomposer.json

私はこれを読みました: composer.json / autoload

何か助けはありますか?

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

laravel - Laravel 4名前空間のコントローラーからBaseControllerが見つかりません

(1) 主要なアプリケーション グループのコンポーネント (コントローラー/ビュー/など) が結合され、(2) Laravel のサポート コードが Web サーバーのドキュメント ルートの外にあるように、Laravel 4 サイトを構築しようとしています。デフォルトの laravel ホームページは正常に読み込まれますが、名前空間付きのコントローラーを正しくルーティングすることができません。関連するファイル構造は次のとおりです。

デフォルトのlaravelランディングページは正常にロードされています。しかし、独自の名前空間を持つコントローラーをセットアップしようとすると、エラーが発生し続けます。

これはHomeController.phpです:

ここに routes.phpがあります:

このセットアップでは、エラーが発生します: "Symfony \ Component \ Debug \ Exception \ FatalErrorException Class 'PageTypes\BaseController' not found" OK、laravel は少なくとも HomeController.php を見つけています。

他の多くの SO 応答から、BaseController を \BaseController に変更してみるように言われました。その 1 つの変更を行い、他のすべてを同じままにすると、「ReflectionException: クラス PageTypes\Home\controllers\HomeController が存在しません」というエラーが発生しました。なに?... >.<

名前空間、psr-0、およびlaravelのルーティングの交差点で何かを理解していません。助けていただければ幸いです。

フォローアップの質問: (1) これをデバッグするためにどのような手順を実行できましたか? NGINX のログは、スローされた例外エラーで見られるもの以外は何も教えてくれません。(2) 同様にレイアウトされた github の laravel シードに出くわした人はいますか? 何か参考になれば幸いです。

ここに私の構成設定があります:

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

php - PSR-0 オートロード エラー

プロジェクトに composer を使用したい。

私のプロジェクト構造:

名前空間

Composer.json

どこでエラー?ありがとう...