Можно ли добавить ключ массива PHP без назначенного значения в переменной класса? - PullRequest
2 голосов
/ 03 октября 2008

В настоящее время я пробираюсь через Учебное пособие 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, поэтому мой вопрос: разрешено ли создавать массив с ключами без присвоенных значений? Кто-нибудь играл с этим тутом и знает, что случилось?

Ответы [ 2 ]

6 голосов
/ 03 октября 2008

Назначьте значение 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')
);
}
?>

Это отлично работает.

3 голосов
/ 03 октября 2008

Это законно, хотя, насколько мне известно, вы должны явно сказать, что он «пустой», присваивая ему значение null,

$hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null, // is this allowed?
'order'=> null, // same thing here
'foreignKey'=>'dealer_id'));

Пример, который вы привели, звучит очень неправильно, и, вероятно, не должен работать, поскольку это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...