php封装公共方法,TP框架下封装公共函数详解

本篇文章讲述了如何在TP框架下封装公共函数,大家对TP框架下封装公共函数不了解的话或者对TP框架下封装公共函数感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧

当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简;

TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调用就可以使用,方便快捷;

具体实现方便如下:

我们可以再三个地方设置公共的函数function.php

(注意:function.php默认是不存在的,需手动创建)根目录\Application\Common\Common\function.php(公共的函数,Home和Admin都可以调用)

根目录\Application\Home\Common\function.php(Home层公共的函数,只可以Home层调用)

根目录\Application\Admin\Common\function.php(Admin层公共的函数,只可以Admin层调用)

具体讲function存放在哪里自己可以自由的选择

另外当我们不想使用function命名的function.php函数时,也是可以的,但是就是需要自己手动设置下

方法如下:

在根目录/Application/Common/Conf/config.php中添加配置:"LOAD_EXT_FILE" =>'vaildata',//自动加载公共目录Common下的扩展函数库

此时就可以自动加载vaildate.php 文件了。

如果有多个需要自动加载的文件,在配置项的值中以","进行分隔即可,例如:"LOAD_EXT_FILE" =>'vaildata,upload,download',//自动加载公共目录Common下的扩展函数库

举例:封装CURL函数来获取接口数据

第一步:在根目录\Application\Home\Common\创建function.php函数;<?php //封装公共的CURL函数

function curl($url){ $curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $data = curl_exec($curl);

curl_close($curl); return $data;

}

?>

第二步:在需要调用的Controller层调用CURL函数;<?php

namespace Home\Controller;use Think\Controller;class WxJsAPIController extends Controller { public function index(){

//获取接口数据

$url = '此处填写接口地址'; $data_son = curl($url);//调取function.php封装的CURL函数

$data = json_decode($data_json,true)['access_token']; var_dump($data);//JSON数据转换成数组形式

//如果还需要调用CURL函数,同上直接curl("接口地址")即可;

}

}

?>

以上就是本篇文章的所有内容,大家要是还不太了解的话,可以自己多实现两边就很容易掌握了哦!

相关推荐:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多级指针和静动态内存的跨函数访问

参考&#xff1a;多级指针&#xff08;静动态内存的跨函数访问&#xff09; 作者&#xff1a;枕上 发布时间&#xff1a;2021-07-15 00:27:17 网址&#xff1a;https://blog.csdn.net/jinchi_boke/article/details/118724993?spm1001.2014.3001.5501 目录多指针初认识&#xf…

视频专辑:JAVA语言入门视频教程

为什么80%的码农都做不了架构师&#xff1f;>>> 专辑&#xff1a;JAVA语言入门视频教程 简介:该视频专辑是java的入门教程&#xff0c;适合初学者学习java&#xff0c;讲的也非常容易懂&#xff0c;希望能给想学习java的朋友一些帮助。 1 JAVASE 01 简介 2013-10…

HTML5之webSocket使用

webSocket是什么 webSocket是HTML5新出的一种协议&#xff0c;底层是基于TCP/IP协议的。跟http没有关系&#xff0c;只是复用了http握手通道&#xff0c;用来升级协议。 webSocket的作用 轮询&#xff1a;客户端以一定的时间间隔向服务端发出请求&#xff0c;以频繁请求的方式来…

mysql5.7.17的linux安装,linux下mysql5.7.17最新稳定版本安装教程

通过源码在linux上安装mysql最新稳定版本&#xff1a;mysql-5.7.17为了方便安装过程中不受boost依赖的影响&#xff0c;直接从官网下载mysql-boost-5.7.17.tar.gz版本。(官方解释&#xff0c;编译过程中需要boost,但实际没有用到。)安装目录&#xff1a;启动脚本&#xff1a;/e…

Linux 常用命令学习

参考&#xff1a;Linux 常用命令学习 网址&#xff1a;https://www.runoob.com/w3cnote/linux-common-command-2.html 目录1、ls命令2、cd 命令3、pwd 命令4、mkdir 命令5、rm 命令6、rmdir 命令7、mv 命令8、cp 命令9、cat 命令10、more 命令11、less 命令12、head 命令13、ta…

视频专辑:Servlet视频教程

为什么80%的码农都做不了架构师&#xff1f;>>> 专辑&#xff1a;Servlet视频教程 简介:郭宏志 Servlet视频教程 1 郭宏志 Servlet 01 WEB工程结构 2013-10-26 00:32 | 播放(9) | 评论(0) | 时长:28:39 2 郭宏志 Servlet 02 Servlet简介 2013-10-26 00:31 …

阅读【现代网络技术 SDN/NFV/QOE 物联网和云计算】 第一章

本人打算阅读这本书来了解物联网和云计算的基础架构和设计原理。特作笔记如下&#xff1a; 作者&#xff1a; William Stallings 本书解决的主要问题&#xff1a; 由单一厂商例如IBM向企业或者个人提供IT产品和服务&#xff0c;包括计算机软件&#xff0c;硬件&#xff0c;通信…

python items函数用法,Python中dictionary items()系列函数的用法实例

本文实例讲述了Python中dictionary items()系列函数的用法&#xff0c;对Python程序设计有很好的参考借鉴价值。具体分析如下&#xff1a;先来看一个示例&#xff1a;import html # available only in Python 3.xdef make_elements(name, value, **attrs):keyvals [ %s"%…

SVN安装部署

svn安装版本用的是1.8 SVN属于功能性软件&#xff0c;yum安装即是最佳实践。 安装svn yum install subversion 检查svn是否安装完毕 [rootmysql ~]# rpm -qa subversion subversion-1.6.11-15.el6_7.x86_64 卸载原来svn yum remove subverson 设置svn1.8安装源 vim /etc/yum.re…

你可能不知道的跨域解决方案

出于浏览器的同源策略&#xff0c;我们经常会遇到浏览器跨域的问题。 简单的说跨域基本解决方案是&#xff1a; GET请求用JSONP其他请求用同源iframe做代理JSONP的介绍很多&#xff0c;这里就不多说了。 而同源iframe做代理主要是主窗口与iframe的通讯问题&#xff0c;因为这里…

基于wemos D1的无线遥控灯(433m无线模块)

参考&#xff1a;基于wemos D1的无线遥控灯(433m无线模块) 作者&#xff1a;一只小阿大:) 发布时间&#xff1a; 2021-04-16 09:25:53 网址&#xff1a;https://blog.csdn.net/qq_44610809/article/details/115747714 项目软硬件平台及开发环境 1.硬件平台 开发板&#xff1a…

Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)

一&#xff0c;Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说&#xff0c;软件的漏洞都和版本有关&#xff0c;这个很像汽车的缺陷&#xff0c;同一批次的要有问题就都有问题&#xff0c;别的批次可能就都是好的。因此&#xff0c;我们应尽量隐藏或消除Web服…

php debug用什么意思,phpdebug_backtrace()函数是干什么的?

定义和用法PHP debug_backtrace() 函数生成一个 backtrace(回溯信息)。该函数返回一个关联数组。下面是可能返回的元素&#xff1a;名称类型描述function字符串当前的函数名。line整数当前的行号。file字符串当前的文件名。class字符串当前的类名object对象当前对象。type字符串…

探索云计算、大数据的特色化应用之路

云计算与大数据是当前最热门的两个话题&#xff0c;除了技术上的相关性以外&#xff0c;两者现在都面临同一个问题&#xff0c;就是如何更快更好地落地&#xff0c;也就是将云计算、大数据所代表的新技术、新业务模式与行业用户的实际需求紧密结合起来&#xff0c;驱动企业业务…

树莓派摄像头使用Motion监测人物动作

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

ARM(IMX6U)ARM Cortex-A7中断系统(GPIO按键中断驱动蜂鸣器)

参考&#xff1a;Linux之ARM Cortex-A7 中断系统详解 作者&#xff1a;一只青木呀 发布时间&#xff1a; 2020-09-16 16:07:22 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/108290225 目录1、中断是什么2、回顾STM32中断系统2.1、中断向量表(对应的…

linux php cli 太多,【linux】php cli 处理能力到底有多强?

场景描述&#xff1a;client(单片机) — send MQ —> MQ Server — Received —> php脚本(业务 DB)文字说明&#xff1a; 就是简单的一种MQ应用场景问题描述:(一说到这就想骂人)暂且80个client(听说后期5000的量), 4个PHP脚本处理进程才应付得过来。正常情况下&#xff…

测试——设计思维之获取反馈

获取用户反馈 为什么要测试&#xff1f; 尽早的从用户&#xff0c;干系人&#xff0c;专家那边获得反馈&#xff0c;能够迭代改善通过测试能够知道我们的主意设想的强项和弱势早失败如何测试&#xff1f; 让原型自己说话不要为自己的想法狡辩&#xff0c;原型是给用户&#xff…

Idea 设置Eclipse快捷键(常用)

使用Idea不习惯&#xff0c;特此将其配置成Eclipse风格的。 1、选择Eclipse风格&#xff0c;选择copy一份&#xff0c;可以自己重命名。 2、设置生成快捷键的快捷键&#xff08;例如&#xff1a;Eclipse中的Alt/&#xff09; 3、设置main函数快捷键&#xff08;补充&#xff1a…

php oracle视图,Oracle v$database视图分析

GUARD_STATUS&#xff1a;防止数据库修改的状态(可能为all或者none或者standby) SUPPLEMENTAL_LOG_DATA_MIN&#xff1a; SUPPLEMENTAL_LOG_DATA_PK&#xff1a;SQL> desc v$database名称 是否为空? 类型----------------- -------- ------------DBID NUMBERNAME VARCHAR2(…