問題タブ [autoload]
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 - スクリプトをクラッシュせずに CLASS_EXISTS と __autoload を使用する方法はありますか?
例:
ClassName.php
別のファイルで...
このコードの出力は次のとおりです 。
これの代わりに: ClassName does not exist....
オートロード機能:
php - CodeigniterAUtoloadとFlourishAutoload機能間の競合
Codeigniter(http://codeigniter.com/)フレームワークとFlourishライブラリ(unframework)(http://flourishlib.com/)を使用してWebアプリケーションを開発しています。
繁栄するフォルダーをアプリケーションにドロップするだけで、指示に従って繁栄する初期化ファイルと構成ファイルを作成しました(これらは繁栄する自動ロードを作成します)。
これは私のフォルダ構造です:
--- auxcode \
-------- init.php
-------- config.php
-------- flourish \
--- system \
--- application \
--- public_html \
initファイルには、以下に示す構成ファイルと構成ファイルの内容のみが含まれます。
}
public_htmlでは、インデックスファイルの前に次のように追加されています。
<?php
include_once($_SERVER['DOCUMENT_ROOT'] . '/../inc/init.php');
現在、それぞれの自動ロード機能(それぞれに独自の機能があるため)が競合しています。このアプリケーションは、いずれかのフレームワークの自動ロード関数(およびその依存関係)をコメントアウトした場合にのみ機能します。
オートロード機能をマージして、CIにアクセスし、同じように繁栄できるようにするにはどうすればよいですか?
または、1つのアプリケーションで両方のシステムを使用するためのより良い方法がある場合はどうでしょうか。祈って、教えて。
ありがとう。
jquery - スクロールロジックの自動ロードを変更します(ユーザーが待機しないようにします)
現在、ユーザーがサイトの下部に到達したときに、データベースから新しい投稿を自動ロードするために次のロジックを使用しています。
けっこうだ。本来の機能を果たしますが、これを変更して、ユーザーがサイトの下部から100ピクセル離れたときに、新しい投稿の読み込みを開始するようにします。何か案は?コードを変更しようとしたとき、次のいずれかを実行しました。
** last_msg_function()呼び出しのほぼ無限のループに入りました。これは、if()ステートメントが、たとえば、下から100ピクセル離れた場所から、スクロール時に0ピクセルまでのすべてのピクセルに一致するためです。したがって、実際にゆっくりスクロールすると、下から正確に100ピクセルで停止することができますが、実際には機能しません。
**)私が定義する下からのピクセル、たとえば90ピクセルと正確に一致する必要があります。たとえば89または91ピクセルでスクロールを停止すると、何もロードされません。
したがって、サイトの下部から0-> 100ピクセル離れたときにロードが開始されるようにするには、何を変更すればよいですか。同時に、スクロール位置を数ピクセル変更するたびに新しいリクエストを送信しないでください。それがまだロードされている間に任意の方向?
ありがとう!
php - Codeigniter で PHP spl_autoload_register() を使用する
Codeigniter で spl_autoload_register() を使用するにはどうすればよいですか? 自動ロードも使用する別のフレームワークで Codeigniter を使用しているため、これを行う必要があります。
ここで何かを見た
しかし、CodeIgniter autoload をターゲットにする方法がわかりません。OOPとCodeigniterは初めてです。どうもありがとう!
上記のリンクにはこれがあります:
php - PHP グローバル、ネスト/継承されたオートロード
PHP 5.3.3-pl1-gentoo (cli) (ビルド: 2010 年 8 月 17 日 18:37:41)
こんにちは、私はプロジェクトのメイン ファイル (index.php) で単純なオートローダーを使用しています。
問題: それがないとrequire_once("./../shared/SqlTool.php");
、スクリプトは SqlHD.php を実行できません。これは、スクリプト自体が SqlTool.php を見つけることができず、何らかの理由でメイン ファイルで定義された autoload ルーチンを使用しないためです。
私はこれを試しました:
良い、
PHP 警告: require_once(./../shared/SqlTool.php}): ストリームを開くことができませんでした: No such file or directory in /home/beep/work/php/hauthd/index.php 行 20 PHP 致命的なエラー: require_once(): /home/beep/work/php で必要な './../shared/SqlTool.php}' (include_path='.:/usr/share/php5:/usr/share/php') を開くことができませんでした/hauthd/index.php 20 行目
したがって、拡張クラスからのリクエストには反応しません。
最後の 2 番目のアイデア: spl_autoload_register を各ファイルに配置します。ただし、「extends」ディレクティブ自体に配置することはできません!
PSは、Factoryパターンを使用してSqlTool.phpを書き換えて、プロジェクト固有のクラスのインスタンスを自動的に返す可能性がありますが、それは最善の方法ではないようです..?
javascript - Google AJAX API autoload をグローバル以外の場所に挿入できますか?
私が苦労しているこの問題があります。Google ビジュアライゼーション ジオマップのオートロードがドキュメントの一部に含まれている必要があることはわかっています。
問題は、アプリケーションの他のページをリロードするたびに、Google がすべてをリロードし、これを取り出したいということです。だから私は取ってみました:
グローバル テンプレートから取り出して、ページ呼び出しが発生したときに挿入します。そのため、必要なときにのみ Google API をロードして、ロード時間を絶対に低く抑えます。これが実行可能かどうか、および Google オートロードが常にグローバルに存在する必要があるかどうかを知りたいです。
私はPrototype Javascriptフレームワークを使用しています.autoloadを注入するコードは次のとおりです:
これにより、サイトの残りの部分から除外されますが、まったく機能しません。私はこれについて間違っていると考えていますか、それともどこにもではなく 1 つの場所にのみ API をロードする可能性がありますか?
ありがとうございました
php - PHPの__autoload()はどれほどユニークですか?
PHP __autoload()
(ドキュメント)は私にとって非常に興味深いものです。仕組みは次のとおりです。
new Toast_Mitten()
(脚注1)のようなクラスを使おうとします- クラスがメモリにロードされていません。PHPはその拳を引き戻して、エラーであなたを悩ませます。
- 一時停止します。「待って」とそれは言います。「
__autoload()
関数が定義されています。」それを実行します。 - その関数では、文字列
Toast_Mitten
を何らかの方法でマップclasses/toast_mitten.php
し、そのファイルを要求するように指示しました。します。 - これでクラスはメモリ内にあり、プログラムは実行を続けます。
メモリの利点:必要なクラスのみをロードします。簡潔さの利点:どこにでも非常に多くのファイルを含めるのをやめ、オートローダーを含めるだけで済みます。
物事は特に興味深いものになります
1)__autoload()
クラス名からファイルパスと名前を自動的に決定する方法があります。たとえば、すべてのクラスがにclasses/
あり、Toast_Mitten
になりますclasses/toast_mitten.php
。Animal_Mammal_Weasel
または、のようなクラスに名前を付けることもできますclasses/animal/mammal/animal_mammal_weasel.php
。
2)ファクトリメソッドを使用してクラスのインスタンスを取得します。
Mitten :: factoryメソッドは、「見てみましょう。サブクラスという名前がありToast_Mitten()
ますか?そうでない場合は、それを返します。そうでない場合は、自分のジェネリックインスタンス(標準のミトン)を返します。ああ、見て!トースト用の特別なクラスがあると__autoload()
教えてくれます。OK、これがインスタンスです!」
したがって、コード全体で一般的なミトンの使用を開始できます。トーストに特別な動作が必要になる日が来たら、そのクラスとバムを作成するだけです。-あなたのコードはそれを使用しています。
私の質問は2つあります:
- (事実)他の言語にも同様の構成がありますか?Rubyには自動ロードがあるようですが、特定のスクリプトで、Rubyを使用する予定のクラスを指定する必要があるようです。
- (意見)これは魔法すぎますか?あなたの好きな言語がこれをしないなら、あなたは「ちょっと気の利いた、私たちはそれを持っているべきです」または「私は言語Xがそれほどずさんではないことを嬉しく思います」と思いますか?
1 英語を母国語としない人に謝罪します。これは小さな冗談です。私の知る限り、「トーストミトン」のようなものはありません。もしあれば、それは熱いトーストを拾うためのミトンでしょう。おそらくあなたはあなたの国でトーストミトンを持っていますか?
ruby-on-rails - Rails 3プラグイン内から自動ロードされたクラスを再度開きますか?
通常のようにいくつかのクラスを定義するRails 3アプリがあります。プラグイン内でこれらのクラスの 1 つ (「rails generate plugin ...」によって生成) を再度開き、両方のファイル (アプリ自体のファイルとプラグインのファイル) を自動的に取得する方法を見つけようとしています。開発モードではリクエストごとにリロードします。
簡単な例は次のとおりです。
そのビューがレンダリングされると、Bike::Plugin が初期化されていないというエラーが表示されます。root/lib と root/vendor/plugins/plugin1/lib の両方を autoload_paths に追加しました (理想的には、プラグインはそれを init.rb または同様の場所に追加しますが、一度に 1 つずつ追加します)。
どうすればいいですか?autoload_at は、両方の場所から Person クラスを明示的に自動ロードするように指示できれば、役立つように見えますが、運がありませんでした (ただし、まったく新しいので、間違った引数を渡している可能性があります)。 )。最後に、lib だけでなく、標準的な場所 (特にモデル) で定義されたクラスでこれを行いたいと考えています。
python - Auto-load a module on python startup
I want IPython or the Python interpreter to auto-load a module when I start them.
Is it possible?
For example when I start IPython:
Something like SymPy's live shell found in the tutorial pages.
ruby-on-rails - Rails3が開発モードでlibにコードをリロードしない
状況:
/li>lib/foo/bar.rb
次のように定義された単純なメソッドを含むコードがあります。私のヘルパーには
/li>FooBarHelper
、次のものがあります。私の見解では、このヘルパー メソッドを次のように呼び出します。
/li>my
/li>config/environments/development.rb
で、ディレクトリを my に追加しましたconfig.autoload_paths
。
問題:
Foo::Bar.test
たとえば、の戻り値を に変更すると、新しい値ではなく"MODIFIED FOOBAR"
、元の戻り値"FooBar"
が引き続きビューに表示されます。
私は開発モードにいるので、コードはリクエストごとにコードをリロードするべきではありませんか?
誰かが私に欠けているものを教えてもらえますか?
ありがとう!