我在PhpStorm中收到了一个静态调用的常见警告。 我有:
class Test {
public static function thisIsATest(){
// do stuff
}
}
然后,我有:
$className = 'Test';
$className::thisIsATest();
有办法解决这个问题吗?至少,是否可以隐藏此警告?
答案 0 :(得分:1)
对于这个问题,有一些解决方案:
更改为PHP版本> = 5.3.0
在较旧的PHP版本中使用 <?php
/**
* @var $className Test
*/
$className::thisIsATest();
在项目设置下更改phpstrom中的代码检查行为(同时确保phpstrom为您当前的项目设置了正确的PhpVersion)
[解决方案]以正确的方式在phpstrom中使用注释声明变量!
像:
$className
现在phpstrom知道Test
是thisIsATest
的一个实例,它有一个名为// Checkout Field Remover
add_filter( 'woocommerce_checkout_fields' , 'custom_cats_remove_checkout_field' );
function custom_cats_remove_checkout_field( $fields ) {
// Initialising variables
$cat1_found = false;
$cat2_found = false;
// Iterating throuh each cart item
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
// Cart item_id
$cart_item_id = $cart_item['data']->id;
// For first categories group
if(has_term( array( 'metal', 'wood'), 'product_cat', $cart_item_id)){
$cat1_found = true;
}
// For the second category
if(has_term( 'bubblewrap', 'product_cat', $cart_item_id)){
$cat2_found = true;
}
}
//If check came back false it will remove the field in question
if ( $cat1_found ) {
// Removes Field domain name
unset( $fields['billing']['Field_1'] );
}
if ( $cat2_found ) {
//Removes Field office_emails
unset( $fields['billing']['Field_2'] );
}
//Return unset result
return $fields;
}
的方法,并且不会弹出错误提示。