美文网首页
廿三、TP5.1-2019

廿三、TP5.1-2019

作者: yuzhan550 | 来源:发表于2019-03-12 17:34 被阅读0次

    1. tp5的构造函数:

    initialize() and __initialize() 具有同样的功能

    2. initialize() and __construct()的区别:

    initialize()ThinkPHP独有的,__construct()PHP

    子类的_initialize方法自动调用父类的_initialize方法。而php的构造函数construct,如果要调用父类的方法,必须在子类构造函数显示调用parent::__construct();

    3. 创建PHP模块:

    a. 根目录下build.php自己写好

    b. 在/public/index.php 文件中添加两行:

    //创建模块
    $data = include '../build.php';
    Container::get('build')->run($data);
    

    c. 然后运行一下项目,模块就被创建好了
    参考:https://blog.csdn.net/qq_33984993/article/details/81229712?utm_source=blogxgwz5

    4. field('*') 和 field(true) 的区别

    来源:http://www.thinkphp.cn/info/48.html

    5. 查询方法

    a. 查询构造器

    use think\Db;
    Db::name('think_user')->field(true)->where('id',1)->findOrFail();
    

    解释:1. name & table : name 用来处理有表前缀的,table处理没表前缀的
               2. field(true) 把字段一个个列出来而不是*,为了提高性能
               3. findOrFail()如果没有查找到数据,则会抛出一个think\db\exception\DataNotFoundException异常

    b. 助手函数 (不需要use什么东西)

    db('user')->where('id',1)->find();
    

    db()方法的第一个参数的作用和name()方法一样

    c. 模型查询

    模型文件命名规范,比如:MemberModel.php,名字和表名一致,

    namespace app\admin\model;
    use think\Model;
    class MemberModel extends Model
    {
        protected $name = 'member';
    
        public function __initialize(){
            $MemberModel = new MemberModel();
        }
        /**
         * @return \think\model\relation\BelongsTo
         * @author syh
         * @Datetime: 2019年3月14日10:04:57
         * This function is not used 
         */
        public function level(){
            return $this->belongsTo('LevelModel','level_id');
        }
    
        public function userList(){
            return $this->name('member')
                ->field('m.id,m.member_name,m.member_phone,m.province,m.city,m.country,m.create_time,l.name')
                ->alias('m')
                ->join('level l','m.level_id = l.level_id')
                ->where('status',0)
                ->select()   //  到这里,查出来的是obj
                ->toArray();
        }
    }
    

    6. 路由:

    默认开启路由(不能关闭),如果一个URL没有定义路由,则采用默认的PATH_INFO 模式访问URL:
    http://serverName/index.php/module/controller/action/param/value
    Route类注册使用think\facade\Route类静态调用

    use think\facade\Route;
    

    7. 公共函数:

    写法
    自动加载,直接调用

    8.WHERE 多个查询条件

    不会覆盖

    9. 该框架获取最后一次SQL执行语句

    use think\Db;
    dump( Db::getLastSql() );
    die;
    

    10. 配置文件的位置:

    相关文章

      网友评论

          本文标题:廿三、TP5.1-2019

          本文链接:https://www.haomeiwen.com/subject/ltgnpqtx.html