在Laravel5中出现了一个新的东西,叫做contracts,那么它到底是什么?有什么用?怎么用?我们就来探讨下吧。 我们先来看看官方文档中对contracts的定义: Laravel's Contracts are a set of interfaces that define the core services provided by the framework
意思是说Laravel的Contracts是一个由 框架提供 的定义了 核心服务接口 的集合。 也就是说,每一个Contract都是一个接口,对应一个框架核心服务。 那它的意义何在?官网给出的解释也很简单:使用接口是为了 松耦合 和 简单 。 先不讲大道理,先来点干货,看看怎么使用contract 先浏览下contracts接口列表: 代码如下:
IlluminateContractsAuthGuard
IlluminateContractsAuthPasswordBroker
IlluminateContractsBusDispatcher
IlluminateContractsCacheRepository
IlluminateContractsCacheFactory
IlluminateContractsConfigRepository
IlluminateContractsContainerContainer
IlluminateContractsCookieFactory
IlluminateContractsCookieQueueingFactory
IlluminateContractsEncryptionEncrypter
IlluminateContractsRoutingRegistrar …… 太多了,懒得继续贴了,官网手册里有。我们就拿 IlluminateContractsRoutingRegistrar 这个contract来演示一下吧。
首先,打开 app/Providers/AppServiceProviderphp,注意register方法: 代码如下:
public function register()
{
$this->app->bind(
'IlluminateContractsAuthRegistrar',
'AppServicesRegistrar'
);
} $this->app 就是Application对象,也是容器对象,通过 $this->app->bind 方法我们绑定了一个实现IlluminateContractsAuthRegistrar接口的类AppServicesRegistrar。 注意,IlluminateContractsAuthRegistrar就是一个contract。AppServicesRegistrar 这个类文件在 app/Services/Registrarphp。 接着我们看 App>
适合缓存的内容
1 不变的图像,如logo,图标等
2 js、css静态文件
3 可下载的内容,媒体文件
适合协商缓存
1 HTML文件
2 经常替换的
3 经常修改的js、css文件,js、css文件的加载可以加入文件的签名来拒绝缓存,如‘indexcss签名’,‘index签名js’
不建议缓存的内容
1 用户隐私等敏感数据
2 经常改变的API数据接口
NGINX配置缓存策略
本地缓存配置
1 add_header指令:添加状态码为2XX和3XX的响应头信息,设置代码add_header name value [always];,可以设置Pragma、Expires、Cache-Control,可以继承
2 expires指令:通知浏览器过期时长,设置代码expires time;
3 Etag指令:指定签名,设置代码etag on|off,默认on
前端代码和资源压缩
优势
1 让资源文件更小,加快文件在网络中的传输,让网页更快的展现,降低带宽和流量的开销
压缩方式
1 js、css、、html代码的压缩
2 gzip压缩
gzip配置
gzip on|off; #是否开启gzipgzip_buffers 32 4K|16 8K; #缓冲(在内存中缓存几块?每块多大)gzip_comp_level [1-9] #推荐6,压缩级别(级别越高,压得越小,越浪费CPU计算资源)
gzip_disable #正则匹配UA,什么样的Uri不进行gzip
gzip_min_length 200 #开始压缩的最小长度
gzip_>
以上就是关于/api/contracts/overview/{contractId}要怎么请求接口全部的内容,包括:/api/contracts/overview/{contractId}要怎么请求接口、使用CURL伪造来源网址与IP、缓存策略的选择等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)