Puis-je ajouter une clé de tableau PHP sans valeur assignée dans une variable de classe?
Question
Je suis actuellement à la recherche de Tutoriel d'IBM sur CakePHP
À un moment donné, je rencontre cet extrait de code:
<?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'
)
);
}
?>
Lorsque je l'exécute, le message d'erreur suivant s'affiche: "Erreur d'analyse: erreur de syntaxe, inattendue", dans /Applications/MAMP/htdocs/cakephp/app/models/product.php à la ligne 7 "
Je suis un n00b en PHP, ma question est la suivante: est-il permis de créer un tableau avec des clés sans valeurs assignées? Quelqu'un at-il joué avec ce tut et savoir ce qui se passe?
La solution
Attribuez la valeur null au lieu de tout omettre. Le manuel dit
isset () retournera FALSE si vous testez une variable définie sur NULL
<?php
class Dealer extends AppModel
{
var $name = 'Dealer';
var $hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null,
'order'=> null,
'foreignKey'=>'dealer_id')
);
}
?>
Cela fonctionne bien.
Autres conseils
C'est légal, bien que, à ma connaissance, vous devez explicitement dire que c'est "vide" en lui attribuant la valeur null,
$hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null, // is this allowed?
'order'=> null, // same thing here
'foreignKey'=>'dealer_id'));
L'exemple que vous avez donné semble très faux et ne devrait probablement pas fonctionner car il ne l'est pas.