您现在的位置是:网站首页>软件开发>开发终端>thinkphpthinkphp

Url访问的只能是控制器及方法

风口下的猪2019-06-09thinkphp

简介

tp5中index.php作为唯一访问入口,后面跟info(模块/控制器/方法),形成访问url。也就是说不能直接访问模型(model)、视图(view)、验证器(validate)、行为(behavior)这几个文件夹下的文件以及该文件定义的方法。

也就是说程序设计时,各类、方法、模板、数组等的调用,都需要通过控制器和其下的方法来调用实现。即控制器和其下方法是所有程序的入口,是所有类及代码组件的总调官

一.控制器调模型

(一)传统调用(本控制器名和要调用模型名称不相同时)

我身份不同,必须规范流程来。三部曲:引用、实例化、调用方法

1.引用

在模型中定义命名空间,然后在控制器中use 模型。

2.实例化

在控制器中实例化模型 :$user=new User();

3.调用方法

通过模型的实例化对象之接调用模型方法

$user->login();

当然,也可以通过类的静态方法调用

User::login();

(二)不用use调用(本控制器名和要调用的模型名称相同时)

$this->db=new \app\common\model\Category();
即直接从应用根目录直接调用模块下model下的名称相同的模型。

 

二.控制器调模板

我们是一家人,直接fetch。

控制器fetch模板时,默认是方法对应模板,即Admin::login()对应的是同模块下view/login.html。所以,要摆脱默认方法与模板对应,直接给fetch()传参,传入要跳转的同模块下view文件夹的模板文件的名称即可。例如

Admin::login('index')<==>view/index.html

 

三.控制器调验证器

哥们耿直,从来不用事先引用,只要有大哥(Validate)首肯说用就用

只需在需要实现验证功能的类(可控制器可模型)中,use think\Validate;

便可new Validate('User');  $validate->validate('User');  $this->validate('$data','User.edit');

$user->validate('User.edit')->save($data);

只要use think\Validate,使用验证相关方法传参我名时,默认找到我

很赞哦! (0)

上一篇:验证

下一篇:模板继承

  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index.php/index/catelist/catelist/cateid/10.html

    相关阅读 (同一栏目)

    << /

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R