thinkphp 框架学习

基础概念


  • 入口文件

    一般是public文件里面的index.php,他主要负责tp 的请求,是一切数据输入和输出的入口。

  • 应用

    一般存在application ,里面包含了,完整请求,数据处理和输出。这里表示是一个网站。

  • 模块

    一般存在application 里面,比如index文件和admin文件,这里对应的是前台模块和后台模块。

  • 控制器

    在application/index/controller 里面,这里是写业务逻辑的。!注意新建的控制器名称必须首字母大写下面写一个范例。比如新建Index.php控制器里面编写代码

<?php
    //声明命名空间
    namespace  app\index\controller;
    //声明控制器,控制器的名字必须和文件的名字一致
    class Index{
        //下面编写的是控制器方法
        public function index(){
            return 123;
        }
    }
?>


  • 操作或者叫做方法

是用来编写具体业务的。上面的例子 public 里面的就是方法。

  • 模型

    在application/index/model,这个是负责数据相关操作的,当然也有引入到控制器里面去操作的。

  • 视图

    在application/index/view ,用来控制页面样式。

  • 命名空间

    可以理解外php为了让代码阅读性更好,加入的就代表地址。是一个绝对路径就可以了。


  • 方法的调用


    跨控制器调用

    有三个方法

    • 用命名空间调用,这里是直接实例化控制器User。
    <?php
    namespace app\index\controller;
    
    class Index
    {
        public function index()
        {
        //这里是直接实例化,命名空间方法。
            $User= new User;
             return $User->index();
        }
    }
    • 用use导入 ,如果有重名用as 起别名。
    <?php
    namespace app\index\controller;
    use app\index\controller\User as Li;
    class Index
    {
        public function index()
        {
            //这里是实例化控制器
            $User=new Li;
             return $User->index();
        }
    }
    • 用系统助手函数controller(),来操作。
    <?php
    namespace app\index\controller;
    class Index
    {
        public function index()
        {
            $User= controller('User');
             return $User->index();
        }
    }
    
    方法调用

    有三种情况,分别为,调用当前控制器方法,调用其他控制器方法和,调用其他模块下面的控制器方法。

    • 调用当前控制器的方法
    <?php
    namespace app\index\controller;
    class Index
    {
        public function index()
        {
    
            echo  $this->eding().'<hr>';
    
            echo self::eding().'<hr>';
    
            echo Index::eding().'<hr>';
    
            echo action('eding').'<hr>';
        }
    
        public function eding(){
            return "我是前台 index模块下面的eding方法";
        }
    }
    • 调用其他控制器的方法
    <?php
    namespace app\index\controller;
    class Index
    {
        public function index()
        {
            //这里用命名空间来操作
            $user= new User;
            echo $user -> index();
            echo '<hr>';
            //这里用系统函数来操作
            echo action('User/index');
        }
    }
    
    • 调用其他模块的方法
    <?php
    namespace app\index\controller;
    class Index
    {
        public function index()
        {
            //这里用命名空间来操作
            $user= new \app\admin\controller\Index;
            echo $user -> index();
            echo '<hr>';
            //这里用系统函数来操作
            echo action('admin/index/index');
        }
    }
    

    猜你喜欢

    转载自blog.csdn.net/weixin_42249565/article/details/80418061