PHP добавляет элементы в каталог, используя функцию array_push в классе - PullRequest
0 голосов
/ 02 сентября 2018

как я могу добавить элементы из "a.php" в массив в "catalogus.php", используя array_push?

Это "a.php"

<?php

include("Catalogus.php");


$product1 = new Product(); 
$product1->setNaam("Muis");     



$catalogus = new Catalogus();

$value = $product1;
voegProductToe($value);

  ?>

это "catalogus.php"

 <?php

class Catalogus{
var $producten;


$producten = array();

function voegProductToe($value){
        array_push( $this->producten, "$value");

}

}


  ?>

Я получил ошибку при попытке запустить это

Ошибка синтаксического анализа: синтаксическая ошибка, непредвиденный '$ producten' (T_VARIABLE), ожидающий `function (T_FUNCTION) или const (T_CONST) в C: \ xampp \ htdocs \ Catalogus.php в строке 11

Ответы [ 2 ]

0 голосов
/ 02 сентября 2018

В вашем классе php много проблем. Для начала, переменная не нужна в PHP. Вы можете сделать ваш массив общедоступным или иметь публичную функцию, которая выдвигает массив. Также добро пожаловать в SO.

 class Catalogus{

      public $producten = [];
      /*OR*/
      public function addToCatalog($__item){
          $this->producten[] = $__item;
      }
 }

 $catalogus = new Catalogus();

 $catalogus->producten[] = $value;
 /*OR*/
 $catalogus->addToCatalog($value);
0 голосов
/ 02 сентября 2018

Строка $producten = array(); не принадлежит. Если вы пытаетесь определить свойство $ producten как пустой массив, используйте оператор присваивания в той же строке.

class Catalogus{
    var $producten = array();

Я бы настоятельно рекомендовал использовать ключевые слова видимости, такие как private, protected или public вместо var для определений свойств. http://php.net/manual/en/language.oop5.properties.php

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