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生成静态页面详解
Nov 19 PHP
PHP 学习路线与时间表
Feb 21 PHP
php动态实现表格跨行跨列实现代码
Nov 06 PHP
php遍历所有文件及文件夹的方法深入解析
Jun 08 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
php 在字符串指定位置插入新字符的简单实现
Jun 28 PHP
php判断是否为ajax请求的方法
Nov 29 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
Jul 04 PHP
PHP字符串和十六进制如何实现互相转换
Jul 16 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
PHP中include与require使用方法区别详解
2013/10/19 PHP
jQuery中first()方法用法实例
2015/01/06 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
Python input函数使用实例解析
2019/11/22 Python
Python数据结构dict常用操作代码实例
2020/03/12 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
真正了解CSS3背景下的@font face规则
2017/05/04 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
美国百货齐全的精品网站,提供美式风格的产品:Overstock.com
2016/07/22 全球购物
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
经典c++面试题五
2014/12/17 面试题
两年的个人工作自我评价
2014/01/10 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
二年级作文之动物作文
2019/11/13 职场文书
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
MySQL数据库完全卸载的方法
2022/03/03 MySQL
浅谈Vue的computed计算属性
2022/03/21 Vue.js
SQL Server Agent 服务无法启动
2022/04/20 SQL Server