Могу ли я добавить ключ массива PHP без назначенного значения в переменной класса?
Вопрос
В настоящее время я пробираюсь через Учебное пособие IBM по CakePHP
В какой-то момент я наткнулся на этот фрагмент кода:
<?php
class Dealer extends AppModel {
var $name = 'Dealer';
var $hasMany = array (
'Product' => array(
'className' => 'Product',
'conditions'=>, // is this allowed?
'order'=>, // same thing here
'foreignKey'=>'dealer_id'
)
);
}
?>
Когда я запускаю его, я получаю следующее сообщение об ошибке: " Ошибка разбора: синтаксическая ошибка, неожиданная ',' в /Applications/MAMP/htdocs/cakephp/app/models/product.php в строке 7 " р>
Я n00b в PHP, поэтому мой вопрос: разрешено ли создавать массив с ключами без присвоенных значений? Кто-нибудь играл с этим тут и знает, что случилось?
Решение
Назначьте значение null вместо того, чтобы что-то пропустить. В руководстве говорится
isset () вернет FALSE, если тестирует переменную, для которой установлено значение NULL
<?php
class Dealer extends AppModel
{
var $name = 'Dealer';
var $hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null,
'order'=> null,
'foreignKey'=>'dealer_id')
);
}
?>
Это отлично работает.
Другие советы
Это законно, хотя, насколько мне известно, вы должны явно сказать, что он «пустой», присвоив ему значение null,
$hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null, // is this allowed?
'order'=> null, // same thing here
'foreignKey'=>'dealer_id'));
Пример, который вы привели, звучит очень неправильно, и, вероятно, не должен работать, поскольку это не так.