tp关于m的调用问题
来源:互联网 发布:傲剑绿色版升级数据 编辑:程序博客网 时间:2024/05/22 05:22
THinkphp3.2的改动很大,特别是应用了命名空间的概念,这个命名空间很类似于.NET和Java的命名空间,通过引用就可以调用,由于前期一直是搞.NET,对命名空间自认为是比较了解的,在没有完全理解ThinkPHP3.2手册的下进行了开发,导致在实例化Model下出现了语法错误,找了很久发现了其中的问题。
首先我在Home中的Model中新建了一个UserModel
- <?php
- namespace Home\Model;
- use Think\Model;
- class UserModel extends Model{
- /**
- * 数据库连接
- * @var unknown_type
- */
- protected $connection = 'DB_Localhost';
- /**
- * 表名
- * @var unknown_type
- */
- protected $tableName = 'User';
- /**
- * @param unknown $data
- * @return Ambigous <\Think\mixed, boolean, string, unknown>|number
- */
- public function createUser($data){
- echo '<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>成功调用<b>UserModel</b>!';
- }
然后就是在控制器中调用,由上代码可以,UserModule的命名空间是Home\Model,自然在控制器中调用就引用即可
- <?php
- namespace Home\Controller;
- use Home\Model;
- use Think\Controller;
- class IndexController extends Controller {
- public function index(){
- $userModel=new UserModel();
- $userModel->createUser($data);
- // $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>!</p><br/>[ 您现在访问的是Home模块的Index控制器 ]</div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
- // $this->show('hello word');
- }
- }
引用命名空间Home\Model,然后直接调用new就好了,直接请求
理想很美好,现实很骨感,急忙忙的请求,等待我们的是错误页面。提示的错误居然是找不到UserModel,这纠结啊!明明是引用了,怎么就是找不到恩,很是纠结啊!将UserModel粘贴了很多次,也将Home/Model命名空间粘贴复制了很多次,可是就是找不到啊!崩溃的节奏啊。
没办法了就去Thinkphp3.2的使用手册去查看。给出的例子是
- $User = new \Home\Model\UserModel();
- $Info = new \Admin\Model\InfoModel();
- // 带参数实例化
- $New = new \Home\Model\NewModel('blog','think_',$connection);
貌似还是没有任何收获,只能按照他的方法试下,发现果然可以,那就纠结了,为啥他的可以我的就不行呢!不得其解啊!不过他的写法让我灵机一动,将引用的命名空间改为了use Home\Model\UserModel;
试探的刷新了下页面,出现了令人兴奋的页面
虽然成功了,但是还不知道为什么要这么引用,请大神们批评指教。
阅读全文
0 0
- tp关于m的调用问题
- 关于Tp中图片路径的问题
- 关于m//g的问题
- 关于TP中的ajaxReturn添加jsonp参数的问题
- 关于nginx环境不能解析TP路由的问题
- 关于Qt调用多个.m文件形成的函数问题。
- [Perl]关于m//g的问题
- [Perl]关于m//g的问题
- 一道关于打印M形状的问题
- 关于图的m着色问题
- 关于AIX主机上^M的问题
- TP调试遇到的问题
- TP框架中D方法与M方法的区别
- TP框架D函数和M函数的区别
- TP框架中D方法与M方法的区别
- TP 中D()和M()方法的区别
- TP框架中D方法与M方法的区别
- TP框架中D方法与M方法的区别
- 被包含的页面,要与当前页<%@ page/>内容要一致,不允许contentType="text/html; charset=UTF-8",有空格
- java位移运算符
- Linux-shutdown命令
- STL set容器 入门
- datatables+java实现服务器端分页,排序,查询,列的显示影藏
- tp关于m的调用问题
- C语言实现词法分析器
- Maximum Subarray
- ios11 Handheld.PlayFullScreenMovie播视频不能跳过
- LINUX基础命令
- Android 自带阻尼效果的ScrollView,仿ios效果
- boundingbox回归
- pyQt5-自定义控件
- zookeeper学习记录-04 Zookeeper安装(linux系统,伪集群)