环境:
不过还是没有一个静态ide key
zend_extension = F:\phpStudy\php\php-7.0.12-nts\ext\php_xdebug-2.5.4-7.0-vc14-nts.dll
[xdebug]
xdebug.remote_enable = off
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "F:/phpStudy/php/tmp"
xdebug.show_local_vars=0
xdebug.idekey=PHPStorm
xdebug.remote_enable = On
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
app\ 是 TP5应用程序,也就是根的命名空间
public注意隐私性
-
- 虚拟域名
- Apache服务器重写
Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)')
Route::get('hello/:id','simple/Test/hello');
然后在方法中接受参数
?name=wangchunlong
$all = Request::instance()->param();
$all = Request::instance()->get();
$all = Request::instance()->route(); 路径中的参数
var_dump($all)
获取所有参数
input('param.')
批量验证batch()
英文:Representational State Transfer,又称具象(表述性)状态传输
一种风格,约束,设计理念
基于资源
https://www.zhihu.com/question/27785028 (回答的很详细)
REST模式与复杂的SOAP和XML-RPC相比更加简洁
SOAP(Simple Object Access Protocol,即简单对象访问协议)是交换数据的一种协议规范,使用在计算机网络Web服务(web service)中,交换带结构信息。SOAP为了简化网页服务器(Web Server)从XML数据库中提取数据时,节省去格式化页面时间,以及不同应用程序之间按照HTTP通信协议,遵从XML格式执行资料互换,使其抽象于语言实现、平台和硬件。
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。
使用 RPC 样式架构构建的基于 SOAP 的 Web 服务成为实现 SOA 最常用的方法。RPC 样式的 Web 服务客户端将一个装满数据的信封(包括方法和参数信息)通过 HTTP 发送到服务器。服务器打开信封并使用传入参数执行指定的方法。方法的结果打包到一个信封并作为响应发回客户端。客户端收到响应并打开信封。每个对象都有自己独特的方法以及仅公开一个 URI 的 RPC 样式 Web 服务,URI 表示单个端点。它忽略 HTTP 的大部分特性且仅支持 POST 方法。
在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。
$result = Db::query('select * from banner_item where banner_id=?',[$id]);
return $result;
$result = Db::table('banner_item')->where('banner_id','=',$id)->find(); 返回一维数组,一条数据里面所有的属性
$result = Db::table('banner_item')->where('banner_id','=',$id)->select(); 返回二维数组
闭包
$result = Db::table('banner_item')
->where(function($query) ues ($id){
$query->where('banner_id','=',$id)
})->select();
表与表不再是外键的关系,而是对象与对象之间的作用关系
模型:数据查询,业务逻辑……..(一个业务,根据功能划分,不只有一个对象,有可能多个对象)
模型(模型层)不只有一层,可以划分多层,还有model,service,
Db(数据访问层)的劣势就是不能很好的处理业务逻辑
Db是模型的基石
继承Model
数据库表名和模型名(文件名)一一对应
如果要自定义的话,需要添加 protected $table = '表名';
自动生成banner模型
php think make:model 应用名api/模块名
静态调用(推荐)调用简洁,模型本质
$banner = BannerModel::get($id);
实例对象调用
$banner = new BannerModel(); 具体数据记录
$banner = $banner->get($id);
如果直接Post传递,令牌A传递B用户Body信息,令牌A可以修改B的信息。
hasOne,belongsTo区分 一对一,使用表Model如果包含连接外键,使用belongsTo
https://github.com/Paladinhanxiao/Tp5WechatShop
本文转载自:https://blog.csdn.net/qq_33936481/article/details/75267295