dgwp笔记

// 对于mysql来说, 如果字段没有设置其 default值, 则会自动 设置 default值为null。同理没有设置not null, 则会自动允许null =yes

// create table tbl_name like old_table_name: 参照一个表 创建一个新表:tbl_name不忘了写, old_table可以跨数据库

// 所谓的模型 就是指数据库中 的表. 模型名称就是数据表的名称, 模型类 就是 指对应的数据表的操作类.
其实D方法, 也可以实例化 "标准的/普通的"表类, 因为它会首先检查是否有自定义的 模型类,(在这个自定义模型类中, 可能有连接信息), 如果没有就调用基类的 Think\Model类来实例化. 因此, 如果: 即使你在 config.php中没有配置数据库连接信息, 也能用 D方法 驱动模型类初始化实例, 但是如果用M方法就不行! 因为他只看 config.php中的配置信息

只是如果没有自定义的模型类, 使用 M方法更快, 性能更省,就没有必要使用 D方法了.

默认的是, M方法和D方法的第一个参数: 数据表名称 (模型名称)的首字母大小写 跟 模型类名称的大小写一致, 就是说即使表名称是user, 也要用 M('User'), 而不是M('user').但是 在windows下即使用小写的user好像也是可以的. 但是在linux下一定要注意一致.因此,为了保持兼容和避免出错, 还是 保持一致最好.

注意, M和D方法的 第二个参数(即模型的前缀并不是 必须的), 如果没有前缀, 第二个参数就用 空字符串.

// 关于变量的名称: 注意通常 全局函数中 的 变量的名称是可以随意取的, 没有谁来约束你! 但是在 具有继承关系的 类中, 比如 class UserModel extends Model , 模型类的 成员名称 就不是 可以任意写的了, 必须是父类的成员名称, 比如 连接成员就必须写成 $connection, 如果写成: $conn就会出错,报"无法加载数据库驱动"错误.

// code标签和pre标签, 第一: 前者的语义更强, 明确告诉浏览器这是一段程序代码, 允许浏览器可以做出自己(特有)的css样式处理, 第二, 通常在显示时code标签是在一行之内显示, 忽略空格和 换行.而pre标签, 会保留 代码中的 空格和换行. 忠实地显示代码格式。但是不要在pre标签中使用 p, div等硬换行的标签.
code标签类似于markdown中的单反引号, 而pre类似于三个反引号.

//在数据库中, 通常order排序操作是 要配合 limit操作来进行的, 才有意义. 如果只有order没有limit方法, 那么在进行 语法分析 / 查询优化 的时候, 会忽略这个order操作的.

//tp数据库的驱动层次是3层: ThinkPHP/Library/Think/Db.class.php + Think/Db/Driver.class.php + Think/Db/Driver/Mysql.class.php

//在数据库的配置中, 通常要配置 7项 内容: db_type | host port| name| user, pwd | prefix // (一定要配置数据库名称, 否则会报错: no database selected , 因为模型类的操作 只是针对数据表,没有数据库)
而db_port的值, 可以是数字 3306, 也可以是字符串 '3306'

// 数据库的模型类构造函数的原型, 是一个构造函数 __construct, 不是 同名方法:

public function __construct($name='',$tablePrefix='',$connection='')  //构造函数的三个参数都有默认值,是可选的

'db_config1' => 'mysql://root:@localhost:3306/test', // 在config.php中配置这个连接 dsn名称
$User = M('User', 'dgwp_', 'db_config1'); 

//所谓的 内联组件: xxx-inline, 是指对于一些默认以竖直方向排列的, 变成以水平方向排列.
比如: list列表组件, 默认呢是竖直排列的, 如果以横向水平排列,就是 list-inline, 就可以做菜单导航显示
比如: dl自定义列表其: dt(title)和dd(data)默认是竖直排列的, dl-horizontal 就变成dt和dd 水平在同一行显示了.

//html的很多元素, 其实默认来说都有一定的 margin和padding, 目的是为了: 即使你没有设置任何的css, 都要保证能有一定的可视性和可阅读性. 比如:ul ol dl的数据其实有一个默认的 样式: padding-left: xx个像素.

//关于数据库的模型的操作函数,比如 select, find, 连贯方法where/limit/data等 都是针对模型类Model而言的. 所以这些方法都是在 基类 \Think\Model.class.php 类中的. 而不是在 \Think\Db.class.php文件中的

// bootstrap的carousel 轮播、幻灯片、旋转木马
包括三个部分: 轮播内容的容器; 指示器indicators; 按钮跳转.

  1. 通常的指示器(做按钮用的)是用 a(链接)来改装的
  2. data- 属性通常用来指示js脚本应用的, 比如 data-target, data-slide-to , 而类主要是用来规定显示外观的.
  3. carousel默认不是自动开始的, 要用 data-ride="carousel"属性 来启动或用 脚本$('#mycarousel').carousel(); 来启动
  4. 轮播的indicators是用来 指示显示内容 的 索引的 数字或条目, 从0 开始计算起, 他的属性是 data-target, data-slide-to(表示该索引滑动到第几个) ; 而单击调整 当前位置的 是 a标签改造的, 他的属性是

href="#mycarousel" data-slide="prev"/"next" 注意和 data-slide-to相区别

文件名最好不要用纯数字, 或用数字开头. 免得引起一些莫名其妙的问题!

猜你喜欢

转载自www.cnblogs.com/bkylee/p/10024674.html