■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

PHP5.3環境でのヘルパー拡張&ヘルパーフックについて

goichi > PHP5.3環境でのヘルパー拡張&ヘルパーフックについて @ 2012/7/10 23:40
いつもお世話になっております。m(__)m
プラグインから利用するヘルパー(bcBaser)の拡張とヘルパーフックについてお伺います。

PHP5.2環境(後記します)にインストールされたbaserCMS(2.0.2)では、
ヘルパー拡張もフックも上手く利用できて、動作も問題ないのですが、
PHP5.3環境にインストールされたbaserCMS(2.0.2)において、
以下の様なエラーが出てしまいます。。。

Fatal error: Class 'SocialbuttonBaserHelper' not found in (パス)/baser/views/helpers/bc_baser.php on line 1367


プラグイン名は「Socialbutton」とし(問題のソースコードは後述のURLにアップしてあります)、
「socialbutton_baser.php」内に「SocialbuttonBaserHelper」を作成してあります。

問題のエラー箇所は、プラグイン名から「SocialbuttonBaserHelper」インスタンスを作成する部分ですが、
そこで、上記の通り、クラスが見つからないと言ってきます。
(フックについも、同様にインスタンス生成時にエラーが出ます。)

「=&」を「=」に変更してみたりしましたが、上手く行かず、
他の公式プラグインでは問題なくフックもヘルパー拡張も行なえているので、
だいぶん考えましたが、考えているうちに、もっと分からなくなるという思考停止状態になりました(汗)。
すみません。

動作を確認できた環境は以下の2つです。
---------------------------------------
■PHP 5.2.17
■MySQL 5.0.51
■サーバー heteml(簡単インストール)
---------------------------------------
■PHP 5.2.17
■MySQL 5.1.33
■サーバー ローカル(Windows7)
---------------------------------------


動作が上手く行かなかった環境は以下の環境です。
---------------------------------------
■PHP 5.3.1
■MySQL 5.1.41
■サーバー ローカル(Windows7)
---------------------------------------

問題のソースコード(というかプラグインそのもの)
http://mani-lab.com/download/socialbutton-0.9.0.zip


問題が起こる環境では、インストールの段階(DB作成までは終わることを確認しています)で
前述のエラーが発生します。

ちなみに
socialbutton_baser.php
socialbutton_hook.php.
問題を起こす上記のファイル名を変更してインストール、または、
インストール後にエラーが出た状態でも変更すると、一応エラーは消えます。
(もちろんヘルパー拡張とフックは機能しなくなりますが・・・。)

ちゃんとインストールできると、テンプレートや固定ページの作成時に
<?php
echo $bcBaser->getSocialbuttons();
?>

と記述しておくだけで、各種ソーシャルボタンを表示するプラグインで、
ヘルパー拡張が出来ないと、ただのゴミなのです・・・。

ヒントだけでも結構です。
「ここ確認した?」とか、「単純なミスじゃね?」とか、
何か思いつかれる事がありましたら、ご教示いただけると幸いです。m(__)m
よろしくお願いします。


■ BaserCMSのバージョン:2.0.2
■ レンタルサーバー名:上述の通り
■ スマートURLの利用:上述の全ての環境でOFF
■ 設置フォルダ: 上述の全ての環境でサブフォルダ
■ 利用しているデータベース: MySQL
■ PHPスキル(自己評価): C
goichi > Re:PHP5.3環境でのヘルパー拡張&ヘルパーフックについて @ 2012/7/11 10:56
すみません、ちょっと追記です。。。

会社のMacにMAMP環境を作ってPHP5.3.1環境でインストールしたところ、正常に動作してしまいました・・・。
MacにbaserCMS2.0.2をインストールする際、(このフォーラムでも情報が出ていますが)、
/cake/lib/configre.php
/cake/lib/inflector.php
の「=&」を「=」に置き換える作業をしました。
プラグインが動作しなかったWindows環境では、その作業をしていないので、
その辺りに何かヒントがあるかもしれません。。。(家に帰ったら確認してみます。)
何にせよ公式プラグインは動いていますし(汗)。
私の問題だとは思うのですが・・・・。


■PHP 5.3.1
■MySQL 5.1.44
■サーバー ローカル(MacOS 10.7.4)
■ BaserCMSのバージョン:2.0.2
■ スマートURLの利用:OFF
■ 設置フォルダ: サブフォルダ
■ PHPスキル(自己評価): C
goichi > 【解決しました!】PHP5.3環境でのヘルパー拡張&ヘルパーフックについて @ 2012/7/12 13:20
お騒がせしております。
自己レスです。すみません。

解決しました。利用しているエディタ設定の問題だったかもしれません。
問題が起こっているフックヘルパー、拡張ヘルパーを別のエディタで開いて保存したら、
中身は全く同じですが、動作不良を起こしていた環境でも動きました。m(__)m
(嬉しいやら、情けないやら・・・・)

その他の細かいバグ部分も修正し、公開しましたので、
「人柱になってもいいよ!」という方がいらっしゃいましたら、
試してみて頂けると嬉しいです。

■公開ページ
ソーシャルボタンプラグイン

本当にお騒がせしました。
ryuring > Re: 【解決しました!】PHP5.3環境でのヘルパー拡張&ヘルパーフックについて @ 2012/7/17 0:33
こんばんは。

有用なプラグインありがとうございます!
早速試してみましたが、PHP 5.3.6 環境では不具合は見られませんでした。
利用したバージョンは、最新版の 0.9.2 です。
最新版だからかな・・・?

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
16 人のユーザが現在オンラインです。 (15 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 16