Привет, ребята, я имел этот CodeIgniter код модель:как исправить эту ошибку php «предупреждение»?
<?php
class Product extends CI_Model{
var $title;
var $price;
var $name=" ";
public function __construct($title1,$price1,$name1)
{
parent::__construct();
$this->load->database();
$this->title=$title1;
$this->price=$price1;
$this->name=$name1;
}
function set_Name ($newname)
{
$this->name=$newname;
}
function get_Nmae()
{
return $this->name;
}
function set_title($newtitle){
$this->title=$newtitle;
}
function set_price($newprice) {
$this->price=$newprice;
}
function get_productAttribute(){
$x1=$this->name;
$x2=$this->title;
$x3=$this->price;
$productattribute = array("$x1","$x2","$x3");
return $productattribute ;
}
public function get_data(){
$query=$this->db->query('SELECT*FROM Saied');
return $query->row_array();
}
public function insert_indb($var){
if (is_a($var, 'Furniture'))
{
$data= array(
'id1' => '',
'name1'=> $this->title,
'title1' => $this->title,
'price1' => $this->price,
'size1' => $this->size,
'material1'=>$this->material
);
$this->db->insert('Furn',$data);
return $data;
}
elseif (is_a($var, 'CDDVD'))
{
$data1= array(
'id' => '',
'title'=>$this->title,
'price'=>$this->price,
'name'=>$this->name,
'sizemb'=>$this->sizeinmb."MB",
'manufacture'=>$this->manufacturer
);
return $data1;
}
else
{
echo "no spicifed objech";
}
}
}
class Furniture extends Product
{
var $size;
var $material;
public function __construct($title1,$price1,$name1,$sizeset,$materialset)
{
$this->size=$sizeset;
$this->material=$materialset;
parent::__construct($title1,$price1,$name1);
$this->name1=" ";
}
public function setAtribute_Furniture ($size1,$material1)
{
$this->size=$size1;
$this->material=$material1;
}
}
class CDDVD extends Product
{
var $sizeinmb;
var $manufacturer;
public function __construct($title1,$price1,$name1,$sizeinmbset,$manufacturerset)
{
$this->sizeinmb=$sizeinmbset;
$this->manufacturer=$manufacturerset;
parent::__construct($title1,$price1,$name1);
}
public function setAttribute_CDVD ($sizeinmb1,$manufacturer1)
{
$this->sizeinmb=$sizeinmb1."MB";
$this->manufacturer=$manufacturer1;
}
}
$chair = new Furniture("ilove","200 euro"," ","200x200 ","wood");
print_r($chair->insert_indb($chair));
?>
и контроллер для загрузки этой модели является:
public function __construct()
{
parent::__construct();
$this->load->model('product');
}
}
вещь каждая вещь работает, как именно я хочу, где я вставить intodatabase и распечатать значение из массива или массива 1 для каждого класса, но codigniter дает мне текущую ошибку/предупреждение: произошла ошибка PHP:
Severity: Warning
Message: Missing argument 1 for Product::__construct(), called in /Applications/MAMP/htdocs/SandWeb/system/core/Loader.php on line 353 and defined
Filename: models/Product.php
Line Number: 7
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 7
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Missing argument 2 for Product::__construct(), called in /Applications/MAMP/htdocs/SandWeb/system/core/Loader.php on line 353 and defined
Filename: models/Product.php
Line Number: 7
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 7
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Missing argument 3 for Product::__construct(), called in /Applications/MAMP/htdocs/SandWeb/system/core/Loader.php on line 353 and defined
Filename: models/Product.php
Line Number: 7
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 7
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: title1
Filename: models/Product.php
Line Number: 11
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 11
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: price1
Filename: models/Product.php
Line Number: 12
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 12
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: name1
Filename: models/Product.php
Line Number: 13
Backtrace:
File: /Applications/MAMP/htdocs/SandWeb/application/models/Product.php
Line: 13
Function: _error_handler
File: /Applications/MAMP/htdocs/SandWeb/application/controllers/Pages.php
Line: 80
Function: model
File: /Applications/MAMP/htdocs/SandWeb/index.php
Line: 315
Function: require_once
поэтому мой вопрос в том, как я могу игнорировать это предупреждение или, может быть, я загружаю модель неправильно. ?
Можете ли вы разместить код, в котором вы создаете продукт, пожалуйста? Вместо того, чтобы var $ name вы можете изменить это на public $ name и public $ title и public $ price, посмотрите, удаляет ли это некоторые предупреждения. – Brett
Вы правильно загружаете модель, но в вашем конструкторе вам нужны 3 значения, которые вы никогда не отправляйте или выходите из него или инициализируйте, как 'public function __construct ($ title1 = NULL, $ price1 = NULL, $ name1 = NULL)' (таким образом, вы не можете использовать общее значение переменных) – elddenmedio
в конце продукта я определяю один продукт как: $ chair = new Мебель («ilove», «200 евро», «», «200x200», «дерево»); print_r ($ chair-> insert_indb ($ chair)); –