PHPでclass_existsしてるだけなのに、autoloaderが動いてwarningが出る話

PHP ECCUBE

プラグインを大量に使って開発をしていたらなんだかサイトが重い・・・
どのプラグインが原因?と思ってログを見てみるとこんなログがずらーーーっと出てました

~~~
~~~

2.12系なのでSC_Helper_TaxRule_Ex.phpは存在しないのでWarningが出てますが、そもそもなんで呼ばれているの??
プラグインが原因なのは間違いないのでgrepしてみましょう

~~~

downloads/plugin/ManageCustomerStatus/plg_ManageCustomerStatus_SC_CartSession.php
88: $arrTaxRule = SC_Helper_TaxRule_Ex::getTaxRule(
93: $incTax = $price + SC_Helper_TaxRule_Ex::calcTax($price, $arrTaxRule[‘tax_rate’], $arrTaxRule[‘tax_rule’], $arrTaxRule[‘tax_adjust’]);

downloads/plugin/ManageCustomerStatus/plg_ManageCustomerStatus_SC_Helper_Purchase.php
73: $inctax = SC_Helper_TaxRule_Ex::sfCalcIncTax($arrItems[‘price’],$arrItems[‘productsClass’][‘product_id’],$arrItems[‘productsClass’][‘product_class_id’]);

downloads/plugin/ManageCustomerStatus/plg_ManageCustomerStatus_SC_Product213.php
296: $arrRet[‘price01_inctax’] = SC_Helper_TaxRule_Ex::sfCalcIncTax($arrRet[‘price01’], $arrRet[‘product_id’], $productClassId);
299: $arrRet[‘price02_inctax’] = SC_Helper_TaxRule_Ex::sfCalcIncTax($arrRet[‘price02’], $arrRet[‘product_id’], $productClassId);
395: ? number_format(SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProductsClass[‘price01’],$productId, $arrProductsClass[‘product_class_id’]))
400: ? number_format(SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProductsClass[‘price02’],$productId, $arrProductsClass[‘product_class_id’]))
406: ? number_format(SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProductsClass[‘plg_managecustomerstatus_price’.$status_id],$productId, $arrProductsClass[‘product_class_id’]))
407: : number_format(SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProductsClass[‘price02’],$productId, $arrProductsClass[‘product_class_id’]));
555: $arrProduct[‘price01_min_inctax’] = isset($arrProduct[‘price01_min’]) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct[‘price01_min’], $arrProduct[‘product_id’]) : null;
556: $arrProduct[‘price01_max_inctax’] = isset($arrProduct[‘price01_max’]) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct[‘price01_max’], $arrProduct[‘product_id’]) : null;
557: $arrProduct[‘price02_min_inctax’] = isset($arrProduct[‘price02_min’]) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct[‘price02_min’], $arrProduct[‘product_id’]) : null;
558: $arrProduct[‘price02_max_inctax’] = isset($arrProduct[‘price02_max’]) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct[‘price02_max’], $arrProduct[‘product_id’]) : null;
559: $arrProduct[‘plg_managecustomerstatus_price_min_inctax’] = isset($arrProduct[‘plg_managecustomerstatus_price_min’]) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct[‘plg_managecustomerstatus_price_min’], $arrProduct[‘product_id’]) : null;
560: $arrProduct[‘plg_managecustomerstatus_price_max_inctax’] = isset($arrProduct[‘plg_managecustomerstatus_price_max’]) ? SC_Helper_TaxRule_Ex::sfCalcIncTax($arrProduct[‘plg_managecustomerstatus_price_max’], $arrProduct[‘product_id’]) : null;

downloads/plugin/ManageCustomerStatus/ManageCustomerStatus.php
1526: if(class_exists(‘SC_Helper_TaxRule_Ex’)){
1528: $arrRet = SC_Helper_TaxRule_Ex::getTaxRule($arrValues[‘product_id’], $arrValues[‘product_class_id’]);
1685: if(class_exists(‘SC_Helper_TaxRule_Ex’)){
1687: SC_Helper_TaxRule_Ex::setTaxRuleForProduct($arrList[‘tax_rate’][$i], $arrPC[‘product_id’], $arrPC[‘product_class_id’]);

downloads/plugin/ProductOptions/plg_ProductOptions_SC_CartSession.php
105: if(class_exists(“SC_Helper_TaxRule_Ex”)){
106: $incTax = SC_Helper_TaxRule_Ex::sfCalcIncTax($price,

downloads/plugin/ProductOptions/plg_ProductOptions_Util.php
322: if(class_exists(“SC_Helper_TaxRule_Ex”)){
323: $values[$option_id][$item[‘optioncategory_id’]][‘price_inctax’] = SC_Helper_TaxRule_Ex::sfCalcIncTax($item[‘value’],$product_id,0);
332: if(class_exists(“SC_Helper_TaxRule_Ex”)){
333: $name .= ” (” . number_format(SC_Helper_TaxRule_Ex::sfCalcIncTax($item[‘value’],$product_id,0)) . “円 )”;
388: if(class_exists(“SC_Helper_TaxRule_Ex”)){
389: $arrCartItems[$i][‘price_inctax’] = SC_Helper_TaxRule_Ex::sfCalcIncTax($arrCartItems[$i][‘price’],$arrCartItems[$i][‘productsClass’][‘product_id’],$arrCartItems[$i][‘id’][0]);
402: if(class_exists(“SC_Helper_TaxRule_Ex”)){
404: $tax = SC_Helper_TaxRule_Ex::sfTax($price,
451: if(class_exists(“SC_Helper_TaxRule_Ex”)){
453: $arrOrderDetail[$key][‘product_price_inctax’] = SC_Helper_TaxRule_Ex::sfCalcIncTax($arrOrderDetail[$key][‘product_price’],$arrOrderDetail[$key][‘product_id’],$arrOrderDetail[$key][‘product_class_id’]);

downloads/plugin/ProductOptions/ProductOptions.php
875: if(class_exists(“SC_Helper_TaxRule_Ex”)){
877: $objPage->arrForm[‘price_inctax’][‘value’][$key] += SC_Helper_TaxRule_Ex::sfCalcIncTax($value,$product_id,$objPage->arrForm[‘product_class_id’][‘value’][$key]);
912: if(class_exists(“SC_Helper_TaxRule_Ex”)){
913: $objPage->arrShipping[$key][‘shipment_item’][$product_class_id][‘total_inctax’] += SC_Helper_TaxRule_Ex::sfCalcIncTax($item[‘optioncategory_value’],$shipping[‘shipment_item’][‘productsClass’][‘product_id’],$product_class_id)*$objPage->arrShipping[$key][‘shipment_item’][$product_class_id][‘quantity’];
~~~

どうやら、2.12系でも2.13系でも動くように
~~~
で挙動を変えている事が問題なようです
この判定自体が必要ないのでコメントアウトして無事Warinigが出なくなりましたが、つぶやいたらclass_existsの引数をかえればいいことを教えてもらえました

マニュアルを見てみたら確かに書いてありました

autoload
デフォルトで __autoload をコールするかしないか。

PHP: class_exists – Manual

引数デフォルトfalseのほうがよくないか??と思いつつ、知らなかったので1個勉強になりました
ところでこのプラグイン一番売れてるプラグインなんですけど・・・大丈夫なんですかね?

コメント

タイトルとURLをコピーしました