Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:完成的非常认真, 基本概念清楚
interface 接口名{
const 常量名=常量值;//常量成员
function 方法名();//方法
}
class 类名 implements 接口名,{
function 方法名(){
//实现接口中的所有方法
}
}
interface
关键字声明public
,
隔开一个类实现接口就必须将实现接口中声明的所有方法
示例:
<?php
interface IPerson{
public function say();
public function money();
}
class Member implements IPerson{
public function say(){
echo '我是一名工人';
}
public function money(){
echo 5500;
}
}
abstract class 抽象类名{
权限修饰符 $属性名;//定义类属性
权限修饰符 function 方法名([参数]){}//定义类方法
abstract function 抽象方法名();//定义抽象方法
}
class 类名 extends 抽象类名{
function 抽象方法名(){}
}
abstract
关键字声明
<?php
abstract class One{
private $name;
function __contruct($name){
$this->name=$name;
}
public function getName(){
echo $this->name;
}
abstract function say();
}
class Two extends One{
function say(){
echo '我的名字叫:Lin';
}
}
$two=new Two();
$two->say();
class 类名{
权限修饰符 static $属性名;//定义静态属性
权限修饰符 static function 方法名(){//定义静态方法
self::$属性名;//在类中访问自身的静态属性
self::方法名();//在类中访问自身的静态方法
}
}
类名::$属性名;//访问类的静态属性
类名::方法名();//访问类的静态方法
static
关键字,就可以将成员定义为静态成员
<?php
class Demo{
private static $num=1;
public static function change(){
echo "您是第".self::$num."个访问本站的访客";
self::$num++;
}
}
Demo::change();
echo '<hr />';
Demo::change();
//创建命名空间
namespace 空间名称;
class 类名{}
function 函数名(){}
或
namespace 空间名称{
class 类名{}
function 函数名(){}
}
namespace{}//全局命名空间
//访问命名空间下的类或函数
\命名空间\类名;
\命名空间\函数名();
namespace
关键字定义
<?php
namespace One{
function A(){
echo 'This is One';
}
}
namespace Two{
function A(){
echo 'This is Two';
}
}
namespace{
\One\A();
}
MVC分为:Model(模型),负责操作数据表数据;Controller(控制),负责响应用户请求、准备数据;View(视图),负责渲染数据,通过HTML方式呈现给用户
Controller.php
<?php
namespace mvc;
require_once 'Model.php';
require_once 'View.php';
class Controller{
private $view;
private $model;
public function __construct($view,$model){
$this->view=$view;
$this->model=$model;
}
public function show(){
$data=$this->model->getData();
$this->view->showTable($data);
}
}
$model=new Model();
$view=new View();
$controller=new Controller($view,$model);
$controller->show();
Model.php
<?php
namespace mvc;
class Model{
public function getData(){
$data=[
['id'=>1,'name'=>'首页','url'=>'index.php'],
['id'=>2,'name'=>'最新课程','url'=>'list.php?cid=0'],
['id'=>3,'name'=>'JAVA','url'=>'list.php?cid=1'],
['id'=>4,'name'=>'PHP','url'=>'list.php?cid=2']
];
return $data;
}
}
VIew.php
<?php
namespace mvc;
class View{
function showTable($data){
echo '<table border="1">';
echo '<tr><td>ID</td><td>NAME</td><td>URL</td></tr>';
if(count($data)>0){
foreach($data as $item){
echo '<tr><td>'.$item['id'].'</td><td>'.$item['name'].'</td><td>'.$item['url'].'</td></tr>';
}
}else{
echo '<tr><td colspan="3">暂无数据</td></tr>';
}
echo '</table>';
}
}