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');
        }
    }
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

两个人的幸福online

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值