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在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
php 无限级 SelectTree 类
May 19 PHP
php 用checkbox一次性删除多条记录的方法
Feb 23 PHP
PHP字符串的编码问题的详细介绍
Apr 27 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
php打开文件fopen函数的使用说明
Jul 05 PHP
php二分查找二种实现示例
Mar 12 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
Nov 18 PHP
php实现的简单数据库操作Model类
Nov 16 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 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
如何分别全角和半角以避免乱码
2006/10/09 PHP
用PHP的ob_start();控制您的浏览器cache!
2007/02/14 PHP
PHP安全性漫谈
2012/06/28 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
php7 新增功能实例总结
2020/05/25 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
用python实现批量重命名文件的代码
2012/05/25 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
政风行风整改方案
2014/10/25 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript
BCL经典机 SONY ICF-5900W电路分析
2022/04/24 无线电
Python序列化模块JSON与Pickle
2022/06/05 Python
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL