質問 > その他 > プラグインの4.2対応でシステムエラー |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
m_yana |
投稿日時: 2022/11/21 15:32
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2022/11/21 居住地: 投稿: 15 |
プラグインの4.2対応でシステムエラー ▼テンプレート
[EC-CUBE] 4.2 新規インストール [レンタルサーバ] ローカルのコンピュータ [OS] Windows 10 [PHP] 8.0.23 [データベース] MariaDB 10.4.25 [WEBサーバ] Apache/2.4.54 [ブラウザ] Google Chrome [現象] プラグイン開発をしております。 既存プラグインを4.2に対応させたいのですが、下記エラーが出てしまいます。 php.CRITICAL [8241736d] [25eee4a] [1] [Symfony\Component\ErrorHandler\ErrorHandler:handleException:584] - Uncaught Error: Call to undefined method Doctrine\DBAL\Statement::fetchAll() {"exception":"[object] (Error(code: 0): Call to undefined method Doctrine\\DBAL\\Statement::fetchAll() at …)"} app.ERROR [8241736d] [25eee4a] [1] [Eccube\Log\Logger:log:68] - システムエラーが発生しました。 ["Attempted to call an undefined method named \"fetchAll\" of class \"Doctrine\\DBAL\\Statement\"… 対応方法がございましたら、ご教授いただきたく存じます。 よろしくお願いいたします。 |
mcontact |
投稿日時: 2022/11/21 15:58
対応状況: −−−
|
神 ![]() ![]() 登録日: 2022/1/22 居住地: 投稿: 1045 |
Re: プラグインの4.2対応でシステムエラー fetchAllという未定義のメソッドを呼び出そうとしています。
とエラーを出しています。 プログラムのどの部分でエラーが発生しているかを確認してみてください。 |
m_yana |
投稿日時: 2022/11/21 16:38
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2022/11/21 居住地: 投稿: 15 |
Re: プラグインの4.2対応でシステムエラー 早速のご返答ありがとうございます。
説明不足で申し訳ございません。 Doctrine\DBAL\StatementのfetchAllメソッドが未定義というエラーで、本体の関数だったため、質問させていただきました。 4.1系までは、問題なく動いております。 移行すべき関数など、ご教授いただけますと助かります。 よろしくお願いいたします。 |
mcontact |
投稿日時: 2022/11/21 19:47
対応状況: −−−
|
神 ![]() ![]() 登録日: 2022/1/22 居住地: 投稿: 1045 |
Re: プラグインの4.2対応でシステムエラー > 4.1系までは、問題なく動いております。
4.1系で動作していたプラグインなら下記サイトのSymfony5.4対応を行えば動くと思います。 https://doc4.ec-cube.net/update-41-42 |
red |
投稿日時: 2022/11/22 10:02
対応状況: −−−
|
神 ![]() ![]() 登録日: 2010/2/15 居住地: 東京都 投稿: 1563 |
Re: プラグインの4.2対応でシステムエラー mcontact さん、dbalの問題なので動かないですよ
https://github.com/EC-CUBE/data-migration-plugin/pull/99/files
|
m_yana |
投稿日時: 2022/11/22 10:47
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2022/11/21 居住地: 投稿: 15 |
Re: プラグインの4.2対応でシステムエラー red様に教えていただいたサイトを参考に修正したところ、該当のエラーは解消されました。
修正方法を見つけられずにいたので、大変助かりました。 mcontact様、red様、本当にありがとうございました。 今後ともよろしくお願いいたします。 |
mcontact |
投稿日時: 2022/11/23 12:47
対応状況: 解決済
|
神 ![]() ![]() 登録日: 2022/1/22 居住地: 投稿: 1045 |
Re: プラグインの4.2対応でシステムエラー red さんご指摘ありがとうございます。
今回ec-cube4.2系でRepository関連に改修が必要なので、Repository側にfetchAllメソッドを定義してController側の改修を行わないで4.1系と互換性をもつというのも手ではありますが... 構築する上での考え方の違いですが... |
red |
投稿日時: 2022/11/23 13:48
対応状況: −−−
|
神 ![]() ![]() 登録日: 2010/2/15 居住地: 東京都 投稿: 1563 |
Re: プラグインの4.2対応でシステムエラー mcontact さん
個人的には4.1と4.2の互換を保ちたいですが、プラグインコードを分けて登録するしかなく、プラグイン側で互換を持ってもあまり意味がないのですよね。。
|
mcontact |
投稿日時: 2022/11/23 20:06
対応状況: 解決済
|
神 ![]() ![]() 登録日: 2022/1/22 居住地: 投稿: 1045 |
Re: プラグインの4.2対応でシステムエラー red さん
> プラグインコードを分けて登録するしかなく、プラグイン側で互換を持ってもあまり意味がないのですよね。。 意味がないかは、作り手によると思います。 個人で開発していれば、プラグインの申請登録が分かれるので、共通化する必要はないという意見もあると思いますし、 組織やチームで開発していれば、コードの確認や認識の共通化でRepository側にfetchAllメソッドを定義してec-cube4.1側とController側は共通コードに出来る事も多々あると思います。 なので、プラグインを開発する各々の「構築する上での考え方の違い」であり、創意工夫が出来る事と思います。 |
nanasess |
投稿日時: 2022/12/5 0:30
対応状況: −−−
|
神 ![]() ![]() 登録日: 2006/9/9 居住地: 投稿: 2291 |
Re: プラグインの4.2対応でシステムエラー 4.1向けと4.2向けでプラグインコードを分ける必要がありますので、 namespace も別物になってしまいます。
4.1向けと4.2向けのプラグインで、コードを共通化するには、共通部分のコードを別物の composer パッケージにするとかしないといけない気がします。 (はずしていたらすみません) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |