单一入口:index.php?p=admin&c=goods&a=insert
注意:
获取p、c、a参数 确定平台、控制器、方法 将控制权交给具体的控制器(实例化对象并调用方法)
命名规范:
文件名:
类文件:是类名.class.php 如GoodsController.class.php
普通文件:文件名.php
注意:
区分什么时候用单引号 什么时候用双引号
使用双引号的一般是变量 或者变量+字符串等 如:“{$className}”
使用单引号的一般是常量 字符串等(不可变的)如:‘我是中国人’;
类名使用大驼峰命名规则 首字母大写 每个单词首字母大写
方法名加上static的作用 及区别
如:
public static function run()
public function run()
静态方法不需要所在类被实例化就可以直接使用。
静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。
静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会
创建多个内存。
const和static的区别
const是常量 值不能修改了
static是静态成员 可以在不实例化得情况下 在类外直接访问 CONST不行
数据库操作中:
Field是字段的名称
Type是数据类型
NUll是是否可以设为空
key等于PRI 是主键的意思
如一个表中存在的字段和值有:
admin_id 、admin_name、password、email、add_time
Array
(
[0] => Array
(
[Field] => admin_id
[Type] => smallint(5) unsigned
[Null] => NO
[Key] => PRI
[Default] =>
[Extra] => auto_increment
)
[1] => Array
(
[Field] => admin_name
[Type] => varchar(30)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
[2] => Array
(
[Field] => password
[Type] => char(32)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
[3] => Array
(
[Field] => email
[Type] => varchar(50)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
[4] => Array
(
[Field] => add_time
[Type] => int(10) unsigned
[Null] => NO
[Key] =>
[Default] => 0
[Extra] =>
)
)
当有数据的时候{1,李晓明,123456,123456,144},{2,王子轩,123456,663456,123}
k指的是key键 如admin_id
v指的是value值 如上面 1,2
this-> 和 self::的区别
如果方法是static定义的 可以不new一个新对象 直接通过 self::调用方法 如self::load;
当没有static定义的时候 需要new一个新对象 才能调用方法