Thinkphp はパブリック クラスを紹介し、インスタンス化や他のメソッドの呼び出しを行わずにパブリック クラスを使用する方法を説明します
<?phpnamespace Index\Controller;use Think\Controller;use Com\Wechat;class WuyeController extends CheckController { protected function _initialize(){ $token = 'weixin'; //微信后台填写的TOKEN $wechat = new Wechat($token); } public function index(){ $weObj->text("hello, I'm wechat")->reply(); //在这里不能调用上面实例化的类 //如何操作才可以使用 } public function test(){ $weObj->text("hello, I'm wechat")->reply(); //在这里不能调用上面实例化的类 //如何操作才可以使用 }}
これはクラスです パブリック変数を作成します... 。
作成方法、試してみましたが、継承できないようです
class WuyeController extends CheckController { protected $wechat; protected function _initialize(){ $token = 'weixin'; //微信后台填写的TOKEN $this->wechat = new Wechat($token); } public function index(){ $this->weObj->text("hello, I'm wechat")->reply(); } public function test(){ $this->weObj->text("hello, I'm wechat")->reply(); }}
ご返信ありがとうございますが、まだ機能しません。オブジェクト
つまり、インスタンス化が成功しなかったことを意味します
私が使用するクラス ライブラリはこれです
https://github.com/dodgepudding/wechat-php-sdk
クラス ライブラリ ファイルはどこにありますか?ファイルを作成して、インポートまたはベンダーを再試行してください。
クラスライブラリは正しく、_initialize では参照できますが、他のメソッドでは参照できません
初期化メソッドの protected を public に変更し、3 階に書かれているとおりにします。 Wechat-php-sdk-master プロジェクト内に CheckController クラス定義が見つかりませんでした
、また _initialize メソッドの定義も見つかりませんでした クラスがインスタンス化されるときに _initialize が実行されることを確認できますか?
トークンは通常、ID 認証として動的に発行されます。それを書き留めることはできますか?
_initialize でこのクラスを直接使用できます
token はこのクラスの単なるパラメータであり、追加せずに使用できますが、なぜ tp では使用できないのですか?
wechat と weobj を見ました。 ..
りー