当前位置: 首页 > news >正文

潍坊大宇网络网站建设网视易网站建设

潍坊大宇网络网站建设,网视易网站建设,小程序制作开发定制,emloh转wordpress概述 之前在分析thinkphp源码的时候,对依赖注入等等php高级的特性一直想做一个梳理和总结,一直没有时间,好不容易抽一点时间对技术的盲点做一个扫盲和总结。 特性 1.命名空间 命名空间是在PHP5.3中引入,是一个很重要的工具&am…

概述

之前在分析thinkphp源码的时候,对依赖注入等等php高级的特性一直想做一个梳理和总结,一直没有时间,好不容易抽一点时间对技术的盲点做一个扫盲和总结。

特性

1.命名空间

命名空间是在PHP5.3中引入,是一个很重要的工具,作用是按照一种虚拟的层次结构组织PHP代码,这种层次结构类似文件目录结构。

从技术层面上看,命名空间只是PHP语言中的一种记号,PHP解释器会将其作为前缀添加到类、接口、函数和常量的名称面前。

# 声明命名空间和使用
use Symfony\Component\HttpFoundation\Response;$response = new Response('Oops', 400);
$response->send();#设置命名空间别名use Symfony\Component\HttpFoundation\Response as Res;$response = new Res('Oops', 400);
$response->send();

2.性状Trait

性状Trait是为了弥补PHP中单继承的缺陷,能把模块化的实现方式注入多个无关的类中,而且性状还能促进代码的重用。

trait 和 class 的处理方式一样 ,可以使用 public protected 关键字去定义,在解决实际问题中一个文件定义一个Trait文件,可以同时引入多个Trait,Trait方法名不能重名。

# trait的定义
trait Trait_CustomRole
{function CustomAuthByWhere(){//具体逻辑}
}# trait的使用
class Audit_year_companys extends MY_Controller
{use Trait_TalentRole,Trait_AuditRole,Trait_CustomRole;
}

3.生成器 yield

生成器的优雅体现在,每次产出一个值之后,生成器的内部状态回一直在停顿和恢复之间切换,直到抵达函数定义体的末尾或遇到的return。

function myGenerator() {yield 'value1';yield 'value2';yield 'value3';
}foreach (myGenerator() as $value) {echo $value . PHP_EOL;
}

生成器没为PHP添加新功能,不用生成器也能做生成器的事儿。不过,生成器大大简化了某些任务,而且使用的内存更少。

function getRows($file) {$handle = fopen($file, 'rb');if (!$handle) {throw new Exception();}while (!feof($handle)) {yield fgetcsv($handle);}fclose($handle);
}foreach (getRows('data.csv') as $row) {print_r($row);
}

4.闭包

闭包和匿名函数在PHP5.3.0中引入,闭包是指在创建时封装周围状态的函数,即便闭包所在的环境不存在了,闭包中的状态依然存在。

理论上讲,闭包和匿名函数是不同的概念。不过PHP将其视作相同的概念。

$closure = function ($name) {return sprintf('Hello %s', $name);
};echo $closure("stark");
// Outputs --> "Hello stark"

php很多数组函数也有闭包的特性,这里有个地方需要注意,闭包中附加状态使用参数使用use添加其他参数传递。

$numbersPlusOne = array_map(function ($number) {return $number + 1;
}, [1,2,3]);
print_r($numbersPlusOne);
// Outputs --> [2,3,4]public function test(){$name = 'stark';$numbersPlusOne = array_map(function ($number) use ($name) {return $name.'-'.$number;}, [1,2,3]);var_dump($numbersPlusOne);
}

5.Zend OPcache

从PHP5.5.0开始,PHP内置了字节码缓存功能,名为Zend OPcache。

PHP是解释型语言,PHP解释器执行PHP脚本时会解析PHP脚本代码,把PHP代码编译成一系列Zend操作码,然后执行字节。每次请求PHP文件都是这样,会消耗很多资源,如果每次http请求php都必须不断解析、变异和执行PHP脚本,消耗的资源更多。

Zend OPcache储存预先编译好的字节码,php解释器会从内存中读取预先编译好的字节码,然后立即执行。这样能节省时间,极大的提升应用的性能。

http://www.yayakq.cn/news/577034/

相关文章:

  • 网站建设资料总结牛二网站建设
  • 网站正在建设中请稍后邯郸网站建设信息
  • 上海网站建设 普送建设网站 软件推荐
  • 哪个网站可以做免费请帖网络推广工作好干吗
  • 网站制作+app+公众号网站设计实验报告内容与步骤
  • 保定网站seo服务广州番禺核酸检测点
  • 设计素材网站的问卷调查高唐做网站建设的公司
  • 网站界面用什么软件做大数据营销策略
  • 大连做网站建设成品模板网站
  • 无障碍 网站 怎么做wordpress 微信登录插件下载失败
  • 大安区网站建设wordpress 头像不见
  • 网站asp源码中国纪检监察报app下载
  • 网站怎么做外链2024北京又开始核酸了吗今天
  • 51ppt模板免费下载网站网站 预算
  • 学院网站建设项目文字头像在线制作免费生成图片
  • 网站300兆是多少电子商务网站前台建设常用的技术
  • 2021最近最火的关键词深圳seo网站
  • 景宁县建设局网站怎么在网站上加qq
  • 做招商类型的网站农村一层自建房
  • 景区网站建设 现状网站建设的布局种类
  • 安徽智能网站建设最新军事消息
  • 免费建设工程信息网站做网站用的字体是什么
  • mcms怎么做网站丰台网站建设联系方式
  • 网站板块怎么做百度搜索 网站介绍
  • 网站加网页建设工程招投标网站
  • thinkphp5来做网站吗佛山建站 网站 商城
  • 网站认证怎么做乐陵森洁新能源有限公司电话
  • 400电话 网站建设内蒙古建设部网站官网
  • 工信部如何查网站备案三个字吉利好听的公司名称
  • wordpress 跳转到首页ppt一键优化