PHP
Young丶
这个作者很懒,什么都没留下…
展开
-
composer自动载入的四种方式
composer 是PHP的包依赖管理工具,类似于node.js的npm 。并非官方,但已经十分流行。先来说说composer如何使用全局安装你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。你可以执行这些命令让 composer 在你的系统中进行全局调用:你可以通过 --install-dir(可选) 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):curl -sS http原创 2020-09-10 10:02:06 · 2072 阅读 · 0 评论 -
PHP丨底层分析
PHP编译特点编译型语言对于 C 语言,C++,编译成机器码(二进制)来运行。Java 语言,把 .java编译成 .class, 称为 bytecode(字节码),由 jvm 来运行。解释型语言解释器解释执行。典型的如:linux shell。解释器逐行来执行命令。PHP执行PHP 是先编译后执行。PHP 稍有特殊,虽然是一个脚本语言,但不是靠解释器解...原创 2019-12-30 11:31:01 · 765 阅读 · 0 评论 -
ThinkPHP 集成 PHPUnit 8 测试框架进行单元测试
ThinkPHP 5.1 集成 PHPUnit 8 测试框架本项目仅适用于运行 PHP7.2 以上的环境!对于低版本 PHP 请根据需要调整 PHPUnit 的版本!声明由于原项目 think-testing 长久不更新导致无法兼容最新版本的PHP和PHpstrom,无法像java一样进行单元调试。所以在此改造一番。PHPUnit基础请参考PHPUnit版本号参考PHP 版本P...原创 2019-12-03 11:45:12 · 3142 阅读 · 4 评论 -
phpstorm 点击方法跳转 后 返回 原来的位置
使用 Ctrl+Alt+←(左方向键)2.使用导航栏,Navigate -> Back,位置如下:原创 2019-10-31 11:22:57 · 4085 阅读 · 0 评论 -
图解phpstorm常用快捷键
查询快捷键CTRL+N 查找类Ctrl+Shift+J快捷键,所有多余的字符(空格,引号和加号)被去掉了CTRL+SHIFT+N 全局搜索文件 ,优先文件名匹配的文件CTRL+SHIFT+ALT+N 查找php类名/变量名 ,js方法名/变量名, css 选择器CIRL+B 找变量的来源,跳到变量申明处 (CTRL+ 鼠标单击 也可以)CTRL+ALT+B 找到继承该接口...原创 2019-10-31 11:05:34 · 350 阅读 · 0 评论 -
利用gitHook实现自动部署
gitHook当进行开发的环境在本地,而运行的环境要在服务端时,每一次提交代码都需要在服务端pull一次。而利用git的hooks功能,能够让我们省去这一步,下面我就以码云的webhooks为例,实现服务端的代码自动同步部署。了解 git 的 hooks关于 git 钩子Git 能在特定的重要动作发生时触发自定义脚本。 有两组这样的钩子:客户端的和服务器端的。 客户端钩子由诸如...原创 2019-04-26 16:29:13 · 3924 阅读 · 0 评论 -
FastCgi与PHP-fpm之间是个什么样的关系
刚开始对这个问题我也挺纠结的,看了《HTTP权威指南》后,感觉清晰了不少。首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现原创 2018-01-16 21:08:57 · 250 阅读 · 0 评论 -
PHP性能调优---php-fpm - 启动参数及重要配置详解
一,php-fpm的启动参数 #测试php-fpm配置 /usr/local/php/sbin/php-fpm -t /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t #启动php-fpm ...原创 2018-09-14 10:16:11 · 742 阅读 · 0 评论 -
什么是依赖注入
本文是依赖注入(Depeendency Injection)系列教程的第一篇文章,本系列教程主要讲解如何使用 PHP 实现一个轻量级服务容器,教程包括:第 1 篇:什么是依赖注入? @TODO 第 2 篇:是否需要使用依赖注入容器? @TODO 第 3 篇:Symfony 服务容器入门 @TODO 第 4 篇:Symfony 服务容器:使用建造者创建服务 @TODO 第 5 篇:Sym...翻译 2019-03-05 22:27:48 · 528 阅读 · 0 评论 -
What is OPcache
What is OPcacheOPcache是PHP中的Zend扩展,可以大大提升PHP的性能。OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。Judge whether it has been extended OPcache➜ ~ php -m | grep OPca...原创 2019-03-13 21:09:33 · 273 阅读 · 0 评论 -
PHPUnit简介及使用
一、PHPUnit是什么?1、它是一款轻量级的PHP测试框架,地址:http://www.phpunit.cn2、手册:http://www.phpunit.cn/二、为什么要用PHPUnit?1、可以通过命令操控测试脚本2、可以测试性能3、可以测试代码覆盖率4、可以自动化的更新测试用例的参数数据5、各种格式的日志phpunit安装1、下载phpunit:wget http...原创 2019-04-29 15:11:55 · 5421 阅读 · 0 评论 -
mac-PHP mysqli连接报错 No such file or directory解决方案
今天在玩WordPress。安装时连不上数据库但是数据库账号密码全是可以的,使用Navicat也能连上。最终查询到错误No such file or directory解决方案原因是mysqli找不到sock文件。那我们就修改配置文件1. 找到/private/etc/php.ini文件,并打开并查看文件.....pdo_mysql.default_socket=.....my...原创 2019-05-06 09:29:24 · 1128 阅读 · 0 评论 -
常见的设计模式
设计模式六大原则开放封闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象.依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。单一职责原则:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。接口隔离原则:客户端不应该依赖它不需要的接口;一个类对...原创 2019-05-23 12:55:15 · 219 阅读 · 0 评论 -
使用命名空间:别名/导入
(PHP 5 >= 5.3.0, PHP 7)允许通过别名引用或导入外部的完全限定名称,是命名空间的一个重要特征。这有点类似于在类 unix 文件系统中可以创建对其它的文件或目录的符号连接。所有支持命名空间的PHP版本支持三种别名或导入方式:为类名称使用别名、为接口使用别名或为命名空间名称使用别名。PHP 5.6开始允许导入函数或常量或者为它们设置别名。在PHP中,别名是通原创 2016-03-24 14:48:19 · 659 阅读 · 0 评论 -
在同一个文件中定义多个命名空间
(PHP 5 >= 5.3.0, PHP 7)也可以在同一个文件中定义多个命名空间。在同一个文件中定义多个命名空间有两种语法形式。Example #1 定义多个命名空间,简单组合语法<?phpnamespace MyProject;const CONNECT_OK = 1;class Connection { /* ... */ }function conne原创 2016-03-24 14:15:37 · 2836 阅读 · 0 评论 -
对象比较
PHP 5 中的对象比较要比 PHP 4 中复杂,所期望的结果更符合一个面向对象语言。当使用比较运算符(==)比较两个对象变量时,比较的原则是:如果两个对象的属性和属性值 都相等,而且两个对象是同一个类的实例,那么这两个对象变量相等。而如果使用全等运算符(===),这两个对象变量一定要指向某个类的同一个实例(即同一个对象)。Note:PHP 扩展中可以自行定原创 2016-03-24 11:08:50 · 375 阅读 · 0 评论 -
PHP中htmlentities跟htmlspecialchars的区别
http://php.net/manual/zh/function.htmlspecialchars.php 很多人都以为htmlentities跟htmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的。这两个函数在格式化带有英文字符的html代码的时候基本没啥问题,但是htmlentities对中文字符也原创 2016-03-23 12:47:26 · 430 阅读 · 0 评论 -
函数学习笔记
var_dump 打印变量的相关信息程式语句的替换 :替代{ end**替代}isset() 检测变量是否设置defined() 检测常量是否设置global的应用 http://hi.baidu.com/luanxian/bl原创 2016-03-23 12:49:08 · 352 阅读 · 0 评论 -
安装与配置
http://php.net/manual/zh/install.windows.php转载 2016-03-23 13:15:43 · 355 阅读 · 0 评论 -
PHP 标记解析
PHP 标记 当解析一个文件时,PHP 会寻找起始和结束标记,也就是和?>,这告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略。PHP 也允许使用短标记和?>,但不鼓励使用。只有通过激活php.ini中的short_open_tag配置指令或者在编原创 2016-03-23 13:36:08 · 667 阅读 · 0 评论 -
foreach
foreach ¶(PHP 4, PHP 5, PHP 7)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:foreach (array_expression as $value) statementforeach (array_express原创 2016-03-23 19:31:34 · 689 阅读 · 0 评论 -
list()
(PHP 4, PHP 5, PHP 7)list — 把数组中的值赋给一些变量说明 array list ( mixed $varname [, mixed $... ] )像 array() 一样,这不是真正的函数,而是语言结构。list() 用一步操作给一组变量进行赋值。参数 ¶varname一个变量。返回值原创 2016-03-23 19:57:32 · 397 阅读 · 0 评论 -
PHP Include 文件
include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。包含文件很有用,如果您需要在网站的多张页面上引用相同的 PHP、HTML 或文本的话。PHP include 和 require 语句通过 include 或 require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件(原创 2016-03-23 21:50:03 · 564 阅读 · 0 评论 -
可变函数
PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。Example原创 2016-03-23 22:21:12 · 446 阅读 · 0 评论 -
范围解析操作符 (::)
范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法。当在类定义之外引用到这些项目时,要使用类名。自 PHP 5.3.0 起,可以通过变量来引用类,该变量的值不能是关键字(如 self,parent 和 static)。把 Paamayim Nekudotayim 选作双冒原创 2016-03-24 10:02:06 · 988 阅读 · 0 评论 -
抽象类
PHP 5 支持抽象类和抽象方法。定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更为宽松)。例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该原创 2016-03-24 10:12:14 · 393 阅读 · 0 评论 -
对象接口
使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。接口中定义的所有方法都必须是公有,这是接口的特性。实现(implements)要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则原创 2016-03-24 10:25:27 · 461 阅读 · 0 评论 -
Traits
自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。Traits 是一种为类似 PHP 的单继承语言而准备的代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用方法集。Traits 和类组合的语义是定义了一种方式来减少复杂性,避免传统多继承和混入类(Mixin)相关的典型问题。Trait 和一个类相似,原创 2016-03-24 10:46:30 · 510 阅读 · 0 评论 -
PHP 简介
推荐一个好的php学习网站:http://php.net/manual/zh/PHP 是什么?PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。以上是一个简单的回答,不过这是什么意思呢?请看如下例子:Examp原创 2016-03-23 12:29:34 · 490 阅读 · 0 评论