thinkphp5的控制器调用自身模块和调用其他模块的方法

以user为例,调用user.php的get_number()方法

一、不管是调用自身模块还是其他模块app\model\User.php写法不变

 1 <?php
 2
 3 namespace app\index\model;
 4 use think\Model;
 5
 6 class user extends Model
 7 {
 8     public function get_member(){
 9         return 3;
10     }
11 }

二、user控制器调用user模块(即控制器调用自身模块)

 1 <?php
 2 namespace app\index\controller;
 3 use think\Db;
 4 use think\Controller;
 5 use app\index\model\User as Users;
 6 class User extends Controller
 7 {
 8     public function wudi(){
 9         $user = new Users();
10         $user = $user -> get_member();
11         echo $user;
12     }
13 }

三、Index控制器调用user模块(即控制器调用其他模块)

<?php
namespace app\index\controller;
use think\Db;
use think\Controller;
use app\index\model\User;
class Index extends Controller
{
    public function wudi(){
        $user = new User();
        $user = $user -> get_member();
        echo $user;
    }
}

四、分析

控制器调用自身模块因为名字都是User,会出现报错。

为了防止这种情况,对User重命名就可以了

重命名语法是(User as 新名字)

原文地址:https://www.cnblogs.com/piaobodewu/p/9310980.html

时间: 2024-10-25 13:44:12

thinkphp5的控制器调用自身模块和调用其他模块的方法的相关文章

MSP430WARE++的使用3:modbus模块的调用方法

MSP430WARE++的使用3:modbus模块的调用方法 MSP430WARE是一套基于C++语言的开源的MSP430层次化软件架构,支持多种外设.本文将介绍modbus模块驱动程序的调用方法. 1.硬件原理图 使用modbus模块驱动程序需要与MSP430单片机的UART0端口相连接. 2.使用方法 a.加入驱动程序 选中modbus文件夹,右键点击"Exclude from Build"即可. modbus驱动程序由多个个文件组成,如下图所示.其中RSP1_config.hpp

Node.js(window)基础(2)——node环境下的模块,模块间调用

参考:http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434502419592fd80bbb0613a42118ccab9435af408fd000 1.node环境下的模块(module)概念:一个name.js文件就是一个模块,name是模块名称,模块中的函数方法称之为变量. 2.模块变量的调用:A.js中输出变量module.exports=函数名称; B.js引入模

Javascript模块化编程(一)模块的写法最佳实践六、输入全局变量 独立性是模块的重要特点,模块内部最好不与程序的其他部分直接交互。 为了在模块内部调用全局变量,必须显式地将其他变量输入模块。

Javascript模块化编程,已经成为一个迫切的需求.理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块但是,Javascript不是一种模块化编程语言,它不支持类class,更遑论模块module了 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂.网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者不得不使用软件工程的方法,管理网页的业务逻辑. Javascript模块化编程,已

对于社保截止日接口的学习记录---在yii1.1中控制器层对服务层的调用

在控制器层对服务层进行调用 服务层分两种,一种是公共service,这个的路径是protecprotected/module/service 一种是单独的service,这个的路径是protected/module/service 在控制器层,对公共service调用的话,只要实例化这个service就好了. 如下面的例子,我就在公共的controller里面增加了一个方法,然后对公共service进行调用和处理 publicfunctionactionTestsocial(){ $so = n

异常处理、模块包、时间模块、subprocess(调用shell命令)

异常处理 捕捉异常可以使用try/except语句.try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理.如果你不想在异常发生时结束你的程序,只需在try里捕获它. 更多的异常关键字:http://www.runoob.com/python/python-exceptions.html Exception:常规错误的基类IOError:输入/输出操作失败例子1:写入信息到tt.txt文件中,如果报错,就打印错误 try: with open('tt.tx

加载插件时,提示反射异常,调用的目标出现异常,该模块应包含一个程序集清单

加载插件时,提示反射异常,调用的目标出现异常,该模块应包含一个程序集清单.排查一晚上终于找到原因是因为引用第三方类库的版本不对,错误引用的版本需要另外的类库,但是开发的时候引用的类库版本是不需要的,导致向测试电脑拷贝程序时版本拷贝错误,引起跟开发机不一样的结果. 另外需注意: 千万不要向上面那么写,当第三方插件类库缺少东西时,会提示异常,不好排查,要把插件实例化的动作放在open方法里,这样会有更明确的提示 原文地址:https://www.cnblogs.com/xiaoxihebei/p/1

Python常用模块——包&amp;跨模块代码调用

Python常用模块--包&跨模块代码调用 一.包(Package) 当你的模块文件越来越多,就需要对模块文件进行划分,比如把负责跟数据库交互的都放一个文件夹,把与页面交互相关的放一个文件夹. my_proj/ ├── apeland_web #代码目录 │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── models.py │ ├── tests.py │ └── views.py ├── manage.py └── my_proj #配置

ThinkPHP(SAE)调用验证码不能正确调用验证码

现在,将官网的方法贴出: SAE下使用ThinkPHP验证码,非SaeVcode SaeVcode其实很弱弱,连验证码的尺寸都不能设置,对于开发和美工来说,是件很头痛的事情,经过我们技术员简单测试,发现ThinkPHP自带的验证码是可以在SAE下正常运行的. 1.将“ThinkPHP\Extend\Library\ORG\Util\String.class.php”拷贝至“ ThinkPHP\Extend\Engine\Sae\Lib\Extend\Library\ORG\Util\String

调用ajax 跨域调用接口

//ajax 跨域请求数据 function ajaxType (){ $.ajax({ url: "http://127.0.0.1:9090/spring_mvc/HttpClient/ajaxType.do?jsonpCallback=?", type: "GET", data: { pwd: encodeURI('周'), username: 'tl' }, dataType: "jsonp", success: function(dat

Thinkphp中项目下的分组间的相互调用中的配置调用不能跨组

起因: 今天在Home组下面的一个控制器中调用RequestApi组里的控制器下的方法,结果发现一直为Null调用不到,但是当单独打印RequestApi里的方法,是没问题的,郁闷死了.开始检测费了九牛二虎之力就是不行,最后看到RequestApi中调用了配置项,莫非是这个导致的,于是单独打印配置项,可以啊,将配置项在RequestApi中单独写死,运行Home下的方法居然可以了,尼玛,坑爹,配置项的问题. 解决方案: 坚决在应用下新建一个所以分组公用的配置项,将RequestApi中的配置项提