说明手册

https://www.kancloud.cn/manual/thinkphp/1706

下载地址

https://gitee.com/liu21st/thinkphp32

thinkPHP 3.2.3 是从showdoc开源项目里面看到的,最新版的TP比较复杂,先看看这个老版本的。

https://www.showdoc.com.cn/help?page_id=4087044677189279

前台访问地址:

http://localhost:8033/server/index.php/Home/Index/index

数据库配置:

Application\Common\Conf\config.php

<?php
return array(
'DB_TYPE'=> 'mysql',
'DB_HOST'=> 'localhost',
'DB_NAME'=>'think_list',
'DB_USER'=>'root',
'DB_PWD'=>'123456',
'DB_PORT'=>'3306',
'DB_PREFIX'=>'think_',
);

第一个 Controller

Application\Home\Controller\IndexController.class.php

<?php
namespace Home\Controller; use Think\Controller; class IndexController extends Controller
{
public function index()
{
$List = D("List");
echo json_encode($List->select());
}
}

BaseController.class.php

<?php

namespace Home\Controller;
use Think\Controller; class BaseController extends Controller
{
/**
* 返回json结果
*/
protected function sendResult($array){
if (isset($array['error_code'])) {
$result['error_code'] = $array['error_code'] ;
$result['error_message'] = $array['error_message'] ;
}
else{
$result['error_code'] = 0 ;
$result['data'] = $array ;
} if ($this->is_local_debug > 0 ) {
header('Access-Control-Allow-Origin: *');//允许跨域请求
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Connection, User-Agent, Cookie');
header('Access-Control-Allow-Credentials: true');//允许跨域请求
} echo json_encode($result); //如果开启API调试模式,则记录请求参数和返回结果
if (C('API_LOG')) {
$info = '';
$info .= "\n\n【★★★★★★★★★★★】";
$info .= "\n请求接口:".MODULE_NAME ."/".CONTROLLER_NAME."/".ACTION_NAME."";
$info .= "\n请求".'$_REQUEST'.":\n";
$info .= json_encode($_REQUEST);
$info .= "\n返回结果:\n";
$info .= json_encode($result)."\n";
$info .= "【★★★★★★★★★★★】\n";
\Think\log::record($info , 'INFO');
} }
}

ListController.class.php


<?php
namespace Home\Controller;
class ListController extends BaseController
{
public function list()
{
$List = D("List"); // 实例化User对象
$this->sendResult($List->select());
} public function insert() {
$insert = array(
"text" => '123' ,
"status" => '111'
);
$List = D("List")->add($insert);
$result = array(
"tip" => 'ok'
);
$this->sendResult($result);
} public function update() {
D("List")->where("id='1'")->save(array('text'=>'text111'));
$this->sendResult(array('tip'=>"ok"));
}
}

php token 的获取

$headers = getallheaders();
dump($headers["Token"]);

ThinkPHP 3.2.3的更多相关文章

  1. 制作类似ThinkPHP框架中的PATHINFO模式功能

    一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...

  2. 在 SAE 上部署 ThinkPHP 5.0 RC4

    缘起 SAE 和其他的平台有些不同,不能在服务器上运行 Composer 来安装各种包,必须把源码都提交上去.一般的做法,可能是直接把源码的所有文件复制到目录中,添加到版本库.不过,这样就失去了与上游 ...

  3. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

  4. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  5. thinkphp数据的查询和截取

    public function NewsList(){ $this->assign('title','news'); $p = I('page',1); $listRows = 6; $News ...

  6. [转]thinkphp 模板显示display和assign的用法

    thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...

  7. [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别

    1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...

  8. Kindeditor在ThinkPHP框架下的使用

    1.简单调用Kindeditor的图片上传功能: a.Html部署图片预览,记录图片上传成功之后的路径,以及上传图片点击按钮 <tr> <td>活动图片:</td> ...

  9. 在thinkphp中,写的博文标签多对多关系的标签频率统计算法

    常常看到别人的博客里面,或者网站里面有这样随机颜色,但字体大小与标签出现频率有关的标签云,于是自己就想写一个.至于颜色的随机显示,那就很简单了,这里就不列代码. 因为正在学thinkphp,所以数据查 ...

  10. thinkphp怎么修改配置进入默认首页

    thinkphp文件夹下config 里面有个convention.php文件 里面有三个配置 'DEFAULT_MODULE' => 'Home', // 默认模块 'DEFAULT_CONT ...

随机推荐

  1. 设计模式-2 简单工厂模式Factory Method

    设计模式-2 简单工厂模式 1 意图: 定义一个用户创建对象的接口,让子类决定实例化那个类.Factory Method使一个类的实例化延迟到其子类 使用场景:将一个类的实例化延迟到其子类结构: 优缺 ...

  2. 【STL源码剖析】vector类模拟实现 了解底层-走进底层-掌握底层【超详细的注释和解释】

    今天博主继续带来STL源码剖析专栏的第二篇博客了! 今天带来vector的模拟实现! 其实在很多人学习C++过程中,都是只学习一些STL的使用方式,并不了解底层的实现.博主本人认为,这样的学习这样的技 ...

  3. RocketMQ—RocketMQ发送同步、异步、单向、延迟、批量、顺序、批量消息、带标签消息

    RocketMQ-RocketMQ发送同步.异步.单向.延迟.批量.顺序.批量消息.带标签消息 发送同步消息 生产者发送消息,mq进行确认,然后返回给生产者状态.这就是同步消息. 前文demo程序就是 ...

  4. 小知识:Flex ASM特性对集群资源显示的影响

    有客户咨询,认为19c RAC集群资源状态和11g RAC大不一样,比如在他们的19c集群,也是只部署2节点,却显示3个资源状态,其中第三个还是offline状态,担心是否有影响. 实际上这和Flex ...

  5. Windows—通过Navicat导入MySQL示例数据库employees

    Navicat是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL.Oracle.PostgreSQL.SQLite.SQL Server.MariaDB .MongoDB 等不同类型的数据 ...

  6. pandas 用户数据分析

    import pandas as pd import numpy as np from matplotlib import pyplot as plt """ 第一部分: ...

  7. Codeforces Round #821 (Div. 2) A-E

    比赛链接 A 题解 知识点:贪心. 下标模 \(k\) 相同分为一组,共有 \(k\) 组,组间不能互换,组内任意互换. 题目要求连续 \(k\) 个数字,一定能包括所有的 \(k\) 组,现在只要在 ...

  8. 【Unity3D】Shader常量、变量、结构体、函数

    1 源码路径 ​ Unity Shader 常量.变量.结构体.函数一般可以在 Unity Editor 安装目录下面的[Editor\Data\CGIncludes\UnityShader]目录下查 ...

  9. 我在winform项目里使用“Windows I/O完成端口”的经验分享

    少年!看你骨骼惊奇,是万中无一的练武奇才,我这儿有本武林秘籍,见与你有缘就送你了! 如来神掌 Windows I/O完成端口是一个我至今都说不好的话题,请宽容的接受我这不是科班出身的自学成才的野生程序 ...

  10. win32 - Rendering a Stream示例

    仅供参考 文档: Rendering a Stream 代码示例: #include <cstdio> #include <Windows.h> // Windows mult ...