私は現在、プロジェクトの1つをCakePHP 2.0にアップグレードしています。残念ながら、コードの「最初の行」は問題を引き起こし、その問題の解決策を見つけることはできません。CakePHP 2.0にベンダーファイルを読み込む
CakePHP 1.3では、AppController
クラスが定義される直前にApp::import("Vendor", "facebook");
というステートメントがありました。参照されるファイルは/app/vendors/facebook/facebook.php
の下にあります(それ自体がbase_facebook.php
ファイルを含んでいます)。
私は、ファイルの命名とクラスのロードに応じてCakePHPの2.0で、今のファイルを含めるにはさまざまな方法を試してみましたが、ここで説明:File naming and class loading changes in CakePHP 2.0
を私はapp/Vendor/Facebook/Facebook.php
、またはapp/Vendor/Facebook/facebook.php
へのパスと名前を変更し、次の方法を試してみました:
App::uses("Facebook", "Vendor/Facebook");
App::uses("Facebook", "Facebook");
App::uses("Facebook", "Vendor/Facebook/Facebook.php");
App::uses("Facebook", "Vendor");
誰もベンダーファイルを参照する方法はまだありますか?そのため、上記の方法は、それがこれをデバッグするような迷惑なんだ...
こんにちはサンノゼ、迅速な返信用 THXの古いバージョンで。 require_onceはうまく動作します - 私はそれを考えていませんでした。それでも、古いApp :: import( "Vendor"、...)構文は私のためには機能しません。 –
Btw、あなたがクラスへの相対パスを提供する必要があるので、それが動作しないことを示す古いApp :: import()の使用法。 import()はパフォーマンスの理由からディレクトリを再帰的に探しません。 私はそれについての報告を聞いたことがありますが、チケットトラッカーにはチケットが開かれていません。しかし、その機能の単体テストはすべて期待通りに行っています。私は実際にそれが期待どおりに動作することを実際に検証するための実例を書こうとします。ありがとう! –
したがって、App :: import( "Vendor"、 "Facebook/Facebook")はあなたの場合にはこのトリックを行うべきです。 – mark