1

システム string_helper.php を拡張するカスタム ヘルパーを作成しました。

/application/helpersディレクトリに配置し、MY_string_helper.php必要に応じて呼び出し、機能の単体テストを行いました。

今、モデルから関数の 1 つを呼び出そうとすると、機能しません。

代わりに、デフォルトの文字列ヘルパーの関数が機能します。何らかの理由で拡張機能が読み込まれていないようです。

どうもありがとう、そして楽しい休日を。


編集:さらに面白い。ファイルをディレクトリに保存しcategories_helper.phpsystem/helpersモデル内にロードしようとすると、次の応答が返されました: *要求されたファイルをロードできません: helpers/categories_helper.php*

4

6 に答える 6

3

私も同じ問題を抱えていました。私はcodeigniterプロジェクトのWindowsOS開発から来て、Ubuntuに移行しましたが、どういうわけかそれでもヘルパーが読み込まれませんでした。

命名規則を小文字に変更すると問題が解決することがわかりました。特に大文字の場合は、挿入するプレフィックスが指定されているドキュメントに記載されている内容に従わないでください。小文字を使用してください。

于 2012-08-16T23:03:31.923 に答える
1

ヘルパーの Codeigniterユーザー ガイドでは、ヘルパーはコントローラーとビューでのみ使用できると説明しています。ヘルパー関数がモデルで機能することは明示的に言及されていません。

CodeIgniter はデフォルトではヘルパー ファイルをロードしないため、ヘルパーを使用する最初のステップはそれをロードすることです。読み込まれると、コントローラービューでグローバルに使用できるように なります。

于 2010-12-27T03:04:07.737 に答える
0

私は似たような状況に直面しました。私の開発環境は WINDOWS で、DOCに記載されているように問題なく動作しました。MY_string_helper.php

UNIX の本番環境では、次のエラーが発生しました。

要求されたファイルを読み込めません: helpers/my_form_helper.php

ファイル名を小文字に変更すると、このエラーは解決されましたが、ヘルパーは実際にはロードされませんでした。

多くの時間を無駄にした後、ヒットアンドトレイルによって機能しました[文書化されていません]

autoload.php で、デフォルト ヘルパーの前に拡張ヘルパーの記述を含めるだけです。

$autoload['helper'] = array('my_string', 'string');

また、プレフィックスは大文字にする必要があり、小文字のプレフィックスでは機能しませんでした:

$config['subclass_prefix'] = 'MY_';
于 2013-07-14T09:05:20.183 に答える
0

うーん、ヘルパーでうまくいくかどうかわかりませんが、この方法でヘルパーをロードしようとしましたか?

$CI = & get_instance();

$CI->load->helper('string');

于 2010-12-30T11:26:28.617 に答える
0

application/config/config.php にあるように、ヘルパー関数名をプレフィックスで変更するだけです

ヘルパーの名前を変更した後、小文字のみが含まれていることを確認してください

次に、名前を変更した関数名で autoload ファイルを変更します。

ホスティングサーバーのようなOSがLinuxであり、Windowsで開発しているため、この問題が発生するための主な問題

于 2019-09-05T08:10:32.787 に答える