2016-05-14 115 views
0

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

<<!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; 
} 

我有我的數據庫稱爲saied在我的phpmyadmin。

我試圖插入產品的標題到數據庫,然後也從類中的數據庫中獲取名稱。

  1. like:如何連接到類中的數據庫。如何在產品類中與數據庫權限進行通信,但是如果所有數據庫功能都將被分開,則會更好。
  2. 我需要物料屬性只有2個選項(塑料或木頭)?
  3. 獲取所有產品屬性的函數CD/DVD的大小屬性應該總是附加「MB」。

注:我做了所有的配置連接到數據庫

回答

0

即不使用CI PHP框架的確切方式。 首先您需要了解基礎知識。

  1. 控制器 - 這是一個處理uri的類。
  2. 模型 - 通信到數據庫中的類。
  3. Views - 顯示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(); 
     } 
} 
0
  1. 在您的getter(getProduactName的爲例)刪除此<<!DOCTYPE html>
  2. 使用回不回
  3. 代替setAttribute的等__construct
  4. 延伸笨模型

代碼最不會停等:

<?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); 
}