PHP类继承了Codeigniter


PHP class inheriting Codeigniter

我是PHP新手,正在使用Codeigniter。我有一个PHP文件,我做了以下OOP:

<<!DOCTYPE html>
<?php
 class Producat 
 {
     var $price;
     var $title;
     var $name;
   public function setProducatName ($nam)
   {
    $this->name=$nam;
   } 
   public function getProduactName()
  {
    echo $this->name;
  }
  public function setAttribute ($price1,$title1) 
  {
    $this->price=$price1;
    $this->title=$title1;
  }
class  Fruniture extends Producat 
 {
    var $size;
    var $material;
 } 
  class  Cddvd extends Producat 
 {
    var $size;
    var $manufacuter;
 }

我的phpmyadmin中有一个名为saied的数据库。

我试图将产品的标题插入数据库,然后从类中的数据库中获取名称。

  1. 比如:如何连接到类中的数据库。如何在产品类中与数据库进行通信,但最好将所有数据库功能分离
  2. 我需要材料属性只有两个选择(塑料或木材)
  3. 获取所有产品属性的函数CD/DVD的大小属性应始终附加"MB"

注意:我进行了所有配置以连接到数据库

您错过了神奇的__construct功能

http://php.net/manual/en/language.oop5.decon.php

这不是使用CI php框架的确切方式。首先,你需要了解基本知识。

  1. 控制器-这是一个处理uri的类
  2. 模型-与数据库通信的类
  3. 视图-显示HTML

示例控制器:

<?php
class Product extends CI_Controller {
    public function index()
    {
        echo 'Hello World!';
        $this->load->view("products");
    }
}
?>

示例型号:

   class Product extends CI_Model {
        var $title   = '';
        var $content = '';
        var $date    = '';
        function __construct()
        {
            // Call the Model constructor
            parent::__construct();
        }
        function get_all()
        {
            $query = $this->db->get('entries');
            return $query->result();
        }
}
  1. 删除此<<!DOCTYPE html>
  2. 在getter(例如getProduactName)中使用return而不是echo
  3. 而不是setAttribute set __construct
  4. 扩展代码Igniter模型

代码最像:

<?php
 class Producat extends CI_Model
 {
     var $price;
     var $title;
     var $name;
function __construct($price1,$title1) {
parent::__construct();
 $this->price=$price1;
    $this->title=$title1;
}
   public function setProducatName ($nam)
   {
    $this->name=$nam;
   } 
   public function getProduactName()
  {
    return $this->name;
  }
  public function setAttribute ($price1,$title1) 
  {
    $this->price=$price1;
    $this->title=$title1;
  }
function insert_indb(){
$data[] = ["title"=>$this->title];
$data[] = ["name"=>$this->name];
$data[] = ["price"=>$this->price];
$this->db->insert('students', $data);
}