問題タブ [spl-autoloader]
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 - SplClassLoader ディレクトリ構造
私は名前空間に慣れていないので、SplClassLoader のメソッドで自動読み込みを行っていると思います。多くのチュートリアルを検索しようとしましたが、あまり運がありません。おそらく、皆さんは私がこれを進めるのを手伝ってくれるでしょうか?
ディレクトリ構造
Test.php
index.php
私はWAMPで実行しているので、これはすべてlocalhost/website/の中にあります。
何かアドバイスがあれば、または誰かがこれを回避するためにいくつかの読書リソースを教えてくれるなら、それは素晴らしいことです.
ありがとうございました
php - PHP の spl_autoload_register は必要なクラスのみをロードしますか?
spl_autoload_register が必要なクラス (たとえば __autoload と include ファミリ) のみをロードすると主張する多数のスタックオーバーフロー ページを見つけましたが、これに関するドキュメントまたは証拠はありますか? 私はphp.netをチェックしましたが、ドキュメントには何も見つかりませんでした。また、Google検索を行ったところ、公式の回答が見つかりませんでした。
php - オンラインとローカルホストで spl_autoload_register の動作が異なる
私は次のディレクトリ構造を持っています。classes/
以下に示すようにすべてのクラスを内部に配置し、header.php
すべてのファイルを呼び出し、すべてのファイルが共有する他の重要な設定を持っています。
今、私がspl_autoload_register()
このように使うと:
ファイル内でこれをinc/header.php
ファイルから呼び出すと、ローカルホストで正常に動作しますが、すべてのスクリプトをそのままライブホストにアップロードすると、次のようなエラーが発生します.header.php
index
Line 9
それはspl_autoload_register()
どうやってこれが起こるのか、私にはわかりません。誰かが何か考えがあることを願っています。
ありがとう
php - PHP spl_autoload: 自動ロード機能のリクエスターを判別する方法
spl_autoload_register によって登録された関数が、それを呼び出しているソース ファイル/クラス/メソッドを知る方法はありますか? クラスが見つからないときに有用なエラーを出力できるようにしたいので、どのソースファイルを更新する必要があるかがわかります。例えば:
php - PHP: __autoload スタックを永続化できますか?
これは、PHP がステートレス言語であるという事実から、実行できないと思います。でもとりあえず聞いてみます…
自家製の MVC フレームワークを作成しました。クラスはすべて名前空間です。初期ロード時に、カスタムの Autoload クラスをインスタンス化します。このクラスのメソッドは、登録されたクラス ディレクトリ (アプリケーション構成に格納されている) をスキャンし、パスへの完全修飾クラス名の配列を作成します。配列は、このクラスの保護されたメンバーとして格納されます。このメンバー配列は、spl_autoload() 実装によって使用されます。Autoloader オブジェクトはキャッシュされ、http 要求ごとに再利用されます。
これで大丈夫です。しかし、http リクエストがドメインに着信するたびに、ブートストラップ ルーチンが autoload メソッドを __autoload スタックに登録しなければならないことにイライラします。ぜひ一度登録して放っておきたいです。
php - spl_autoload_reqister クラスがロードされない
次のようなフォルダー構造があります
私のIncludes.php
持っている
私のsomeClass.php
持っている
そしてtest.php
持っています
実行するtest.php
と、 someClass not found on .../Scheduled/test.php が表示されます
spl は someClass.php のような拡張クラスで動作しますか、それとも拡張するクラスを含める必要がありますか?
そして、なぜそれが見つからないのsomeClass.php
ですか?
ありがとう