- 博客(13)
- 资源 (27)
- 收藏
- 关注
转载 php的闭包(Closure)匿名函数详解
php的闭包(Closure)也就是匿名函数,是PHP5.3引入的。闭包的语法很简单,需要注意的关键字就只有use,use是连接闭包和外界变量。$a = function() use($b) {}简单例子如下:function callback($fun) {$fun();}$msg = "Hello, ev
2017-12-29 17:33:32 1940
转载 现代 PHP 新特性 —— 闭包和匿名函数
1、概述闭包和匿名函数在PHP 5.3.0中引入,这两个特性非常有用,每个PHP开发者都应该掌握。闭包是指在创建时封装周围状态的函数,即使闭包所在的环境的不存在了,闭包中封装的状态依然存在。匿名函数其实就是没有名称的函数,匿名函数可以赋值给变量,还能像其他任何PHP函数对象那样传递。不过匿名函数仍然是函数,因此可以调用,还可以传入参数,适合作为函数或方法的回调。
2017-12-29 17:30:10 1650
转载 php 内置的 web 服务器
从 PHP 5.4.0 起,PHP内置了Web服务器,这对于认为需要Apache或Nginx才能预览PHP应用的开发者来说又是一个隐藏功能。这个内置的Web服务器不应该用于生产环境,但对于本地开发来说是个极好的工具。Laravel Valet 起初就是使用这个内置的服务器,但是在1.1.0版本后将其替换为Caddy(查看相关新闻)。1、启动这个内置的Web服务器很容易启动,
2017-12-29 17:21:49 12415 4
转载 学习php反射(3)——一个依赖注入的例子
先看代码:if (PHP_SAPI != 'cli') { exit('Please run it in terminal!');}if ($argc 3) { exit('At least 2 arguments needed!');}$controller = ucfirst($argv[1]) . 'Controller';$action = 'acti
2017-12-29 16:53:26 1498
转载 学习php反射(2)——不用new方法实例化类
上一篇简单介绍了 php 反射的几个常见类的使用方法,但是用反射能做些什么,你可能还是想象不到,下面我稍微应用反射类来做点东西,大家知道实例化一个类需要用new 关键字,不用 new 可以吗?答案是可以的,用反射就能实现:首先创建一个文件 student.php:class Student{ public $id; public $name; p
2017-12-29 16:52:08 6561
转载 学习PHP反射(1)—— 入门
今天开始学习php 的反射,许多人可能还没有听说过反射这个概念,简单点说反射的就是让你拥有剖析类、函数的能力。有的同学可能会问我剖析类有什么用,我为什么要学反射,我只能说不学反射并不会对你实现业务有任何影响,但是如果你想写出结构优雅的程序,想写出维护性和扩展性都很高的程序,学习反射是必不可少的。PHP 内置了一组反射类来实现类的反射,常用的有:ReflectionCla
2017-12-29 16:50:40 1549
转载 call_user_func 反射 new区别
使用call_user_func函数,通过传入字符串函数,可以调用自定义函数,并且支持引用。 1.mixed call_user_func ( callable callback[,mixedparameter [, mixed $… ]] )调用第一个参数提供的自定义函数,后面的参数为自定义函数的参数,返回自定义函数的结果function say($word) { ech
2017-12-29 16:48:45 1616
原创 composer 自动载入的简单理解
psr4 :结合命名空间自动加载(前提是要加载的类指定了命名空间,即有namespace,否则找不到)"APP\\":"application/"表示APP命名空间对应application目录(只针对类文件,类文件必须包含有命名空间,后缀必须是.php)classmap:自动加载指定文件(前提是后缀是.php或.inc) 或 自动加载指定文件夹里面所有.ph
2017-12-17 22:58:31 1580
转载 composer 自动载入的四种方式
Composer 是PHP的一个包依赖管理工具,类似Ruby中的RubyGems或者Node中的NPM,它并非官方,但现在已经非常流行。此文并不介绍如何使用Composer,而是关注于它的autoload的内容吧。对于第三方包的自动加载,Composer提供了四种方式的支持,分别是 PSR-0和PSR-4的自动加载,生成class-map,和直接包含files的方式。首先引
2017-12-16 15:25:26 5121
原创 php 命名空间 和 自动加载机制 的简单理解
namespace 只是创建并命名一个空间use 只是导入一个命名空间namespace 、use 和加载文件没有关联,和require、require_once、include、include_once没有关联namespace 是为了 use ,use 是为了 自动加载机制;而namespace命名必须符合PSR4规范,即命名空间和文件路径要相对应
2017-12-12 19:20:38 3050
原创 php几点PSR基本代码规范
小驼峰法:第一个单词首字母小写,除第一个单词之外,其他单词首字母大写。(小写开头的驼峰命名规范)大驼峰法:相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。(大写开头的驼峰命名规范)类的命名必须遵循大写开头的驼峰命名规范;类中的常量所有字母都必须大写,单词间用下划线分隔;方法命名必须遵循小写开头的驼峰命名规范;变量(属性)可以采用小驼峰法或大驼
2017-12-11 22:32:00 1516
转载 PHP 命名空间与自动加载机制介绍
include 和 require 是PHP中引入文件的两个基本方法。在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 require 堆积。这样的代码既不优雅,执行效率也很低,而且维护起来也相当困难。为了解决这个问题,部分框架会给出一个引入文件的配置清单,在对象初始化的时候把需要的文件引入。但这只是让代码变得更简洁了
2017-12-11 17:02:27 2135
转载 PHP自动加载功能原理解析
这篇文章是对PHP自动加载功能的一个总结,内容涉及PHP的自动加载功能、PHP的命名空间、PHP的PSR0与PSR4标准等内容。一、PHP自动加载功能PHP自动加载功能的由来在PHP开发过程中,如果希望从外部引入一个 class,通常会使用 include 和 require 方法,去把定义这个 class 的文件包含进来。这个在小规模开发的时候,没什么大问题。但在大型
2017-12-07 01:29:06 1689
七周七语言:理解多种编程范型.[美]Bruce A.Tate(超清中文版带详细书签pdf)
2018-12-10
高性能MySQL_第3版_超清中文带目录版[PDF]
2018-08-01
[UNIX环境高级编程_第3版].W.Richard.Stevens.超清中文带目录完整版[PDF]
2018-08-01
[UNIX环境高级编程_第二版].(UNIX环境高级编程).W.Richard.Stevens.超清扫描版.中文版带目录.[PDF]
2018-07-30
EA详细使用教程
2015-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人