問題タブ [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 - PHPオートローダーとUnixの大文字と小文字を区別するファイルシステム
私はindex.phpを持っています
_controller / Autoloader.php
そして、Gold_MySQL.classを含むファイル_controller/MySQL.phpがあります。Windowsシステムでは、このコードは機能し、MySQL.phpを含みますが、このコードをホストすると機能しません((
編集
Unixが任意のファイルを参照できるようにするにはどうすればよいですか?Zendには小文字のファイルはありません。
caching - symfony: sfCoreAutoloader クラスパスを変更するには?
symfony に独自の sfConfigCache.class.php を使用させたいのですが、オートローダー配列のデフォルト パスを変更する方法がわかりません。または、symfony に私のクラスを使用するように指示する別の方法はありますか?
php - Zend Autoloader が実際のサイトで動作しない
問題があります!私はZend Quickstartアプリケーションを(始めたばかり笑)開発の地下室として使用しています。ローカル マシン (WinXP) に PHP/MySQL サーバーがあるため、そこではすべて正常に動作します。しかし、その後、自分のサイトをリモート サーバーにアップロードしようとしました。そして、これは私が得るものです:
13行目:
Default_Model_Post クラスは application/models/post.php にあります。私のホーム サーバーでは、zend アプリによって検出されます。
.htaccess を確認しました - SetEnv APPLICATION_ENV 生産ラインがあります ここに私の application.ini があります:
Bootstrap.php は次のとおりです。
私が想像できるすべてをチェックしました!私の開発マシンでは動作しますが、実際のサーバーでは動作しません。Google、Zend docs、およびstackoverflow全体を検索しましたが、常に私の問題があるとは限りません(または修正が役に立たない)。また、 Mysite_ 名前空間のクラスは実サーバーでも問題なく動作します。ライブ サーバー上のサイトは、私の開発サイトの完全なコピーです (圧縮 -> アップロード -> zend lib などで解凍) これを修正する方法または少なくともデバッグする方法を教えてください... 神がいると確信しています私が変更するのを忘れていたのろわれたサーバーオプション。みんな私は本当にあなたの助けを頼りにしています :( 私の夢のプロジェクトは台無しです. 下手な英語でごめんなさい.
php - PHP spl_autoload_register()が関数を見つけられません
このコード:
このエラーをスローします:
致命的なエラー:/var/www/xxx/library/autoloader.php:8スタックトレースでキャッチされない例外'LogicException'とメッセージ'Function' autoloader'not found(function' autoloader'not found or invalid function name)' /var/www/xxx/library/autoloader.php(8):spl_autoload_register('autoloader')#1 /var/www/xxx/library/debug.php(19):require_once('/ var / www/xxx。 ..')#2{main}が8行目の/var/www/xxxm/library/autoloader.phpにスローされます
なぜそれが機能しないのですか?
php - 自動ロードされるクラスの名前を動的に変更する方法はありますか?
たとえば、次のコードがあるとします。
そして、このようなオートローダー。
しかし、本当にロードしたいクラスは「foo/bar.php」フォルダーにあり、実際のクラス名は実際には foo_bar です。自動ロードされるクラスの名前を動的に変更する方法はありますか? 例えば、こんな感じでしょうか。
このようなことが可能かどうかはわかっていますが、それは正確なベストプラクティスではありませんが、そうであるかどうかを知りたいです.
php - オートローダーはフレームワークと通常のライブラリで異なりますか
PCR-0の提案によると、オートローダーに必要なのはautoload()関数だけです。Zendにはいくつかの自動読み込みクラスがあります
フレームワークであるため、これらすべてのクラスがあると思います。そのため、独自のクラスと、開発者が追加する可能性があり、独自のオートローダーを持たないライブラリのライブラリクラスをロードする必要があります。
私はライブラリを持っています(フレームワークではなく通常のライブラリ)。現在、オートローダーがないため、ZendのZend_Loader_Autoloader_Resource-> addResourceType()を使用します。そのためにオートローダーを作成した場合、どのオートローダーが使用されますか:Zendまたはライブラリ?Zendのような複雑なオートローダー、またはPCR-0の例のような単純なオートローダーを実装する必要がありますか。
これらの場合に何が起こりますか
- フレームワークとライブラリの両方に独自のオートローダーがあります
- フレームワークにはオートローダーがありますが、ライブラリにはありません
- フレームワークにはオートローダーがなく、ライブラリには
php - カスタム Magento モジュールで PEAR ライブラリを使用すると、「Failed opening required...」エラーが発生する
「OrderSave」イベントをリッスンし、サードパーティ アプリケーションへの API 呼び出しを実行する Magento モジュールを作成しました。ほとんどの機能は問題なく動作していますが、API からの XML 応答を処理する必要があり、PEAR XML_Unserializer クラスを使用しようとすると、次のエラーが発生しました。
致命的なエラー: require_once() [function.require]: 必要な 'XML/Parser.php' を開くことができませんでした (include_path='/Users/jeremymoore/Sites/Helm/html/app/code/local:/Users/jeremymoore/Sites/ Helm/html/app/code/community:/Users/jeremymoore/Sites/Helm/html/app/code/core:/Users/jeremymoore/Sites/Helm/html/lib:.:/Applications/MAMP/bin/php5 /lib/php:/usr/loca/zend//share/ZendFramework/library') の /Users/jeremymoore/Sites/Helm/html/lib/PEAR/XML/Unserializer.php 行 58
私のモジュールには、次のように見えるモデルに Observer.php ファイルがあります。
hookToOrderSaveEvent 関数は、シリアライザー クラスとアンシリアライザー クラスの新しいインスタンスを作成します。Unserializer コードを追加する前は、オブジェクトのシリアル化と API 呼び出しを行うすべての作業が完了していました。XML_Unserializer クラスが Parser.php を参照しようとすると、問題が発生するようです。
ここで使用している「require_once」メソッドが、これらのライブラリを含める適切な方法であるかどうかはわかりません。MAMP を実行しているローカル マシンで現在使用されている Magento 1.4.1.1 を使用しています。
私のモジュールで使用するためにこれらのライブラリをオートロードまたは含めるためのより良い方法に関する提案、または私が持っているものを修正する方法に関する単なるアイデアをいただければ幸いです。
ありがとう
javascript - JavaScriptオートローダー?
必要に応じてJavaScript/jQueryに依存ファイルを自動ロードできるソリューションはありますか?たとえば、次のシナリオについて考えてみます。
- 特定のスクリプトをロードする必要があるときにリッスンするオートローダースクリプトがあります。
- jQuery
dialog()
プラグインが呼び出されます。 - オートローダーは、このプラグインが呼び出されたときにリッスンするように指示され、jQueryUIをロードします。
- 今後さらにダイアログが呼び出された場合、必要なスクリプトはロードされません。
これは、単に帯域幅を制限しようとするだけの努力ではありませんか?すべてのコアファイルを1つのスーパーパッケージに含めて、それで済ませる必要がありますか?
お時間をいただきありがとうございます。
zend-framework - Zend Framework Autoloader - キャメル キャップを小文字の破線に変換する
Zend Framework のオートローダに問題があります (と思います)。これは必ずしもオートローダ側の動作が間違っているとは限りませんが、何かが欠けている可能性があります。
現在、次のように APPLICATION_PATH があります。
そのパスの下に次のようなレイアウトがいくつかあります。
コントローラーでレイアウトを切り替えようとすると、次のようになります。
スクリプトが見つからないというエラーが表示され、エラー メッセージは、キャメル ケースのディレクトリ名 (上記の両方の方法で) を小文字の破線のディレクトリ名に変更していることを示しています。
パスを見つけることができない明白な理由。ただし、スクリプトを変更しようとしない場合、デフォルトのレイアウト (layout.phtml) は正常に機能しています (ini 構成で設定)。
オートローダーがこの問題を引き起こしていると考えていますが、デフォルトが機能する理由はわかりませんが、切り替えによってオートローダーがディレクトリを変更します。