我是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的数据库。
我试图将产品的标题插入数据库,然后从类中的数据库中获取名称。
- 比如:如何连接到类中的数据库。如何在产品类中与数据库进行通信,但最好将所有数据库功能分离
- 我需要材料属性只有两个选择(塑料或木材)
- 获取所有产品属性的函数CD/DVD的大小属性应始终附加"MB"
注意:我进行了所有配置以连接到数据库
您错过了神奇的__construct
功能
http://php.net/manual/en/language.oop5.decon.php
这不是使用CI php框架的确切方式。首先,你需要了解基本知识。
- 控制器-这是一个处理uri的类
- 模型-与数据库通信的类
- 视图-显示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();
}
}
- 删除此
<<!DOCTYPE html>
- 在getter(例如getProduactName)中使用return而不是echo
- 而不是setAttribute set __construct
- 扩展代码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);
}