thinkPHP自定义类实现方法详解


Posted in PHP onNovember 30, 2016

本文实例讲述了thinkPHP自定义类实现方法。分享给大家供大家参考,具体如下:

1.通过Model调用

<?php
/**
 * 积分模型 api接口
 */
class ApiModel{
  private $url = 'http://js.yunlutong.com/Customer/Interface';
  public function test() {
    $post_data['action']    = 'sadf';
    $post_data['callback']   = '?';
    $res = request_post($this->url, $post_data);
    $firstChar = substr($res,0,1);
    if ($firstChar =='?') {
      $res = substr($res,2);
      $res = substr($res,0,strlen($res)-1);
    } elseif($firstChar == '(') {
      $res = substr($res,1);
      $res = substr($res,0,strlen($res)-1);
    }
    dump(json_decode($res,true));
  }
}

没有继承Model,否则会因为表不存在而报错。

调用,

$Api = D('Api');
$Api->test();

调用确实方便,但是总感觉有点不合理。这个D毕竟是操作数据库的。

2.通过引入类实现,把类放到ORG下

thinkPHP自定义类实现方法详解

<?php
class Integral{
  private $url = 'http://js.yunlutong.com/Customer/Interface';
  public function test() {
    $post_data['action']    = 'sadf';
    $post_data['callback']   = '?';
    $res = request_post($this->url, $post_data);
    $firstChar = substr($res,0,1);
    if ($firstChar =='?') {
      $res = substr($res,2);
      $res = substr($res,0,strlen($res)-1);
    } elseif($firstChar == '(') {
      $res = substr($res,1);
      $res = substr($res,0,strlen($res)-1);
    }
    dump($res);
    dump(json_decode($res,true));
  }
}
?>

调用

import("@.ORG.Api.Integral");
$integralApi = new Integral();
$integralApi->test();

配置一下,自动加载

'APP_AUTOLOAD_PATH'   => '@.ORG,@.ORG.Api',

这样调用就方便了不管Api文件夹下有多少类,都会自动加载,不需要单个引用import("@.ORG.Api.Integral")了。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 程序员也要学会使用“异常”
Jun 16 PHP
php pack与unpack 摸板字符字符含义
Oct 29 PHP
php异常处理方法实例汇总
Jun 24 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
Feb 23 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
Apr 11 PHP
100行PHP代码实现socks5代理服务器
Apr 28 PHP
Yii2创建多界面主题(Theme)的方法
Oct 08 PHP
php unicode编码和字符串互转的方法
Aug 12 PHP
laravel5.1 ajax post 传值_token示例
Oct 24 PHP
php如何实现数据库的备份和恢复
Nov 30 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 #PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
Nov 30 #PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 #PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 #PHP
PHP获取指定日期是星期几的实现方法
Nov 30 #PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 #PHP
详解PHP处理密码的几种方式
Nov 30 #PHP
You might like
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
JavaScript Prototype对象
2009/01/07 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
javascript arguments使用示例
2014/12/16 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
JS错误处理与调试操作实例分析
2020/04/13 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
Python实现多并发访问网站功能示例
2017/06/19 Python
使用python接入微信聊天机器人
2020/03/31 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
pytorch中index_select()的用法详解
2021/01/06 Python
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
UNIX文件名称有什么规定
2013/03/25 面试题
国庆节标语大全
2014/10/08 职场文书
小班教师个人总结
2015/02/05 职场文书
慰问信格式
2015/02/14 职场文书
物流业务员岗位职责
2015/04/03 职场文书
酒店温馨提示语
2015/07/14 职场文书
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers