PHP-学习知识整理

composer update topthink/framework

ThinkPHP6-开发学习整理 TP6 框架源码下载

打开Composer官网:https://www.phpcomposer.com/
https://packagist.org/

输入搜索关键字: topthink, 在下面会列出与ThinkPHP框架相关的组件包

PHP-学习知识整理_第1张图片

 composer create-project topthink/think

PHP-学习知识整理_第2张图片

 // 打开终端,执行指令:

composer create-project topthink/think tp6 6.0.*-dev

/**

  * 指令中各个参数的解释:

  * `create-project`: 是composer中的项目创建命令

  * `topthink/think`: ThinkPHP的组件包

  * `tp6`: 是当前的项目目录(如果没有创建, 该命令会自动创建的)

  * `6.0.*-dev`: 要下载的版本标签

  */

PHP-学习知识整理_第3张图片
PHP-学习知识整理_第4张图片

项目目录

PHP-学习知识整理_第5张图片

框架测试



这里使用框架内置的 think 命令测试

该命令会启动一个本地的临时Web服务器,
功能与  php -S localhost:8000 是一样的
创建本地服务器, 启动框架
php think run

在这里插入图片描述
PHP-学习知识整理_第6张图片




依赖管理工具 拍黄片的好基友——composer

  • 下载最新实时性
  • 完整性

####下载地址####


在这里插入图片描述

在这里插入图片描述
PHP-学习知识整理_第7张图片PHP-学习知识整理_第8张图片

  • 盘符 cd到下载目录 (eg:网站根目录) (出现>号)
  • 再 用composer 下载

composer create-project topthink/think=5.0.* tp5 --prefer-dist

PHP-学习知识整理_第9张图片




php命令简介:

php是流行的web语言

php语言还可嵌入到html中运行



php命令功能:

用于调用php解释器,管理相应的脚本

php命令的语法格式:

php [参数]

-----常用参数说明------

-q:安静模式,HTTP头输出(只有CGI)

-g:在脚本中使变量为全局变量

-f:解析和执行文件

-a:运行PHP交互方式

-b:为外部FASTCGI服务器模式(CGI)绑定路径

-r:运行PHP代码,而无需使用脚本标记“..?>”

-e:为调试器/分析器生成扩展信息

-n:没有php.ini文件将被使用

-z:加载Zend扩展文件

-H:从外部工具隐藏脚本名称(文件)和参数

--rf:返回有关函数名信息

-l:只进行语法检查

--rc:返回有关类名的信息

--re:返回有关扩展名的信息

--ri:名字显示

--ini:返回配置文件名

-C:不chdir到脚本的目录

-c:在指定目录路径中查找php.ini文件,或使用指定的文件

-i:PHP信息和配置

-T:测量脚本重复次数的执行时间

-m:在模块中显示编译

-s:输出HTML语法高亮显示源代码

-F:对每个输入行解析和执行文件

-E:处理所有的输入行后运行PHP代码

-B:处理输入行之前运行PHP代码

-w:输出源,注释和空白

-R:对每一个输入行运行PHP代码

-v:返回版本信息

clearstatcache() 函数清除文件状态缓存

basename() 函数返回路径中的文件名部分

is_file() 函数检查指定的文件是否是常规的文件

set_time_limit(7200)来控制运行时间 【建议使用】
当你的页面有大量数据时, 默认是30s,
所以需要你将执行时间加长点
设定一个程式所允许执行的秒数,如果到达限制的时间,程式将会传回错误

exit() 函数输出一条消息,并退出当前脚本。 该函数是 die() 函数的别名

date_default_timezone_set(‘PRC’);

date_default_timezone_set(‘Asia/Chongqing’);

date_default_timezone_set() 函数设置脚本中所有日期/时间函数使用的默认时区

echo() 函数输出一个或多个字符串

查看php运行目录命令:
which php
/usr/bin/php

查看php-fpm进程数:
ps aux | grep -c php-fpm

查看运行内存
/usr/bin/php -i|grep mem

重启php-fpm
/etc/init.d/php-fpm restart

isset() — 检测变量是否设置


PHP 命名空间(namespace)

语法要求 :
命名空间必须是程序脚本的第一条语句

重名问题:
class名 函数名 const常量名(define 无效) ------>redeclare 报错
便可 利用命名空间 进行分割区分
调用空间元素时候 :\xx\xxx();

  • 多级命名空间
    子集命名空间 - 子空间
    空间(文件)元素较多
    (TP自动加载 命名空间虚拟目录名称转化路径)
    利于 -快速 判断文件 定位

  • 三种方式引用
    PHP-学习知识整理_第10张图片PHP-学习知识整理_第11张图片

  • 访问静态成员
    在这里插入图片描述在这里插入图片描述

  • 引入机制

  1. 空间引入

use 空间;
限定子空间访问元素;
在这里插入图片描述PHP-学习知识整理_第12张图片在这里插入图片描述
2. 空间类元素引入

PHP-学习知识整理_第13张图片

  • 公共空间 没有namespace关键字的
    元素应用 要注意 :
    有命名空间 include 引入公共空间——对当前空间没有影响
    优先级 查找当前空间+引用

反之亦然

尽量用完全限定空间进行引用;
在这里插入图片描述

  • TP框架 虚拟命名空间实例
    相互对应: 实际文件夹 —— 虚拟命名空间
    实现自动加载
    use 引用空间类元素

  • eg 加载模版
    PHP-学习知识整理_第14张图片PHP-学习知识整理_第15张图片PHP-学习知识整理_第16张图片


new 实例化类

extends 继承 一个类使用另一个类方法

declare(encoding=‘UTF-8’);
定义多个命名空间和不包含在命名空间中的代码

error_reporting() 函数规定你给应该报告何种 PHP 错误 E_ALL | E_STRICT

static 声明的成员变量属于静态成员变量
Function类型函数实际上是对象

每个函数实际上都是 Function 类型的实例

:: 类中 静态方法和静态属性的引用方法

不需要实例化对象,直接通过类名对类中的方法进行引用

 class Test{
 

public static $test = 1;

public static function test(){

							}
							

}

Test:: t e s t 来 取 得 test 来取得 testtest属性的值

Test::test(); 直接调用静态方法test

 try {

   //尝试执行的代码块

}

catch (异常类型1 异常的变量名1) { 

   //捕获错误的代码块1

}

...

catch (异常类型2 异常的变量名2) {

   //捕获错误的代码块2

}

finally {

   //最终执行的代码块

}

=> 是数组成员访问符号

-> 是对象成员访问符号

比如:

$array = array("site map"=>"map.php"); //定义了一个数组
包含一个数组成员:键名为site map,值为map.php

t h i s − > this-> this>name = $value

$this 在php里是个特定的变量,它代表了类本身,
->是访问其类成员的操作符,
t h i s − > this-> this>name = $value,
这句代码意思是:将当前类的name变量的值设置为 $value.

printStackTrace对调试程序有帮助 重构获取异常栈信息
count() 函数返回数组中元素的数目

microtime() 函数返回当前Unix 时间戳的微秒数

memory_get_usage()能返回当前分配给PHP脚本的内存量,单位是字节(byte)【PHP内置函数】
使用它来调试PHP代码性能

DIRECTORY_SEPARATOR【内置常量】
使用“\”作为文件分隔符 linux上系统不认识这个标识,于是就要引入这个php内置常量了

defined() 检测某个常量的名称是否存在.

如果已定义返回 true 未定义返回 false


短路求值 计算逻辑或表达式 计算左侧如果是true,那么就不再计算右侧,直接返回true,
所以A or B;可以达到if(!A) B;的效果
如果左侧是false,那么同样会发生短路,不计算右侧直接返回false A and B;类似if(A) B;

短路求值在语意上比较接近英文,又回避了“if必加花括号”带来的视觉污染(?),
所以还算比较通行的做法(虽然严格意义上来说不算是好习惯)

defined or define
如果左定义 跳过右
否则不跳

$SERVER[‘SCRIPT_FILENAME’]本文件的绝对路径
指向当前执行脚本的绝对路径

strtoupper() 函数把字符串转换为大写

is_array() 函数用于检测变量是否是一个数组

getenv 取得系统的环境变量

putenv()
返回值:无
函数种类:PHP 系统功能
内容说明:本函数用来配置系统环境变量。

__FILE__指向当前执行脚本的绝对路径

PHP-学习知识整理_第17张图片

PHP常量PHP_SAPI与函数php_sapi_name()
PHP运行环境检测
用来判断是使用命令行还是浏览器执行的,如果 PHP_SAPI==’cli’ 表示是在命令行下执行

三元运算符 语法:条件 ? 结果1 : 结果2
PHP-学习知识整理_第18张图片

strpos() 函数查找字符串在另一字符串中第一次出现的位置。

注释:strpos() 函数对大小写敏感。

注释:该函数是二进制安全的
PHP-学习知识整理_第19张图片
获取当前操作系统类型 PHP_OS
PHP-学习知识整理_第20张图片
is_file() 函数检查指定的文件是否是常规的文件。

如果文件是常规的文件,该函数返回 TRUE。

parse_ini_file() 函数解析一个配置文件(ini 文件),并以数组的形式返回其中的设置

PHP-学习知识整理_第21张图片

foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement

PHP-学习知识整理_第22张图片


关键字

  • 对象克隆/复制
    PHP-学习知识整理_第23张图片
    PHP-学习知识整理_第24张图片

version_compare 用户对比两个【PHP规范化】版本数字字符串

PHP_VERSION:当前PHP的版本号

$_SERVER[‘SCRIPT_NAME’] 自动获取当前文件在网站中的路径

–127.0.0.1/2019/index.php

echo $_SERVER[‘SCRIPT_NAME’] ;
/2019/index.php




dirname 返回路径中的目录部分

 <?php
 echo dirname("c:/testweb/home.php") . "
"
; echo dirname("/testweb/home.php"); ?>

上面的代码将输出:

 c:/testweb
 /testweb 




/2019

str_replace 以其他字符替换字符串中的一些字符




===是包括变量值与类型完全相等

==只是比较两个数的值是否相等




trim()函数移除字符串两侧的空白字符或其他预定义字符




魔术常量 DIR

指向当前执行的PHP脚本所在的目录
当前执行的PHP文件为 /www/website/index.php
则__FILE__等于’/www/website/index.php’
而__DIR__等于’/www/website’
现在我们要包含当前文件目录或子目录下的文件,可以直接使用:

<?php require_once __DIR__ . 'test.inc.php'; ?>     



realpath() 函数返回绝对路径。

该函数删除所有符号连接(比如 ‘/./’, ‘/…/’ 以及多余的 ‘/’),返回绝对路径名。

若失败,则返回 false。比如说文件不存在的话




define() 函数定义一个常量

chmod() 函数改变文件模式 bool(true)

session_start() 函数必须位于 标签之前 启动会话 //开启Session功能
Session信息的存储与读取
session_id();//获取用户Session ID值,如需修改在括号中传值即可

利用Session变量存储信息:
$_SESSION[“Session名称”]=变量或字符串信息;

读取Session变量信息(可赋值给一个变量或者直接输出):
变量=$_SESSION[“Session名称”];




2022.2.20

文档

https://pkg.xyz/#how-to-install-composer
 php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
 php composer-setup.php
 php -r "unlink('composer-setup.php');"

PHP-学习知识整理_第25张图片

 全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。

Windows 系统:
找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。
将 composer.phar 复制到 PHP 的安装目录下面,
也就是和 php.exe 在同一级目录。
在 PHP 安装目录下新建一个 composer.bat 文件,
并将下列代码保存到此文件中。
 
@php "%~dp0composer.phar" %*
 最后重新打开一个命令行窗口试一试执行 
 composer --version 看看是否正确输出版本号。


不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!



安装

PHP-学习知识整理_第26张图片
PHP-学习知识整理_第27张图片
PHP-学习知识整理_第28张图片
PHP-学习知识整理_第29张图片




PHP-学习知识整理_第30张图片
PHP-学习知识整理_第31张图片



PHP-学习知识整理_第32张图片

PHP-学习知识整理_第33张图片
PHP-学习知识整理_第34张图片
PHP-学习知识整理_第35张图片

PHP-学习知识整理_第36张图片
PHP-学习知识整理_第37张图片
在这里插入图片描述
在这里插入图片描述
PHP-学习知识整理_第38张图片
PHP-学习知识整理_第39张图片
PHP-学习知识整理_第40张图片
PHP-学习知识整理_第41张图片
PHP-学习知识整理_第42张图片

重点介绍

PHP-学习知识整理_第43张图片

PHP-学习知识整理_第44张图片PHP-学习知识整理_第45张图片


PHP-学习知识整理_第46张图片
PHP-学习知识整理_第47张图片
在这里插入图片描述

TP6的架构详述-依赖注入

PHP-学习知识整理_第48张图片
PHP-学习知识整理_第49张图片
PHP-学习知识整理_第50张图片PHP-学习知识整理_第51张图片

PHP-学习知识整理_第52张图片


PHP-学习知识整理_第53张图片
PHP-学习知识整理_第54张图片
PHP-学习知识整理_第55张图片
PHP-学习知识整理_第56张图片PHP-学习知识整理_第57张图片


PHP-学习知识整理_第58张图片
PHP-学习知识整理_第59张图片
在这里插入图片描述
PHP-学习知识整理_第60张图片
在这里插入图片描述
PHP-学习知识整理_第61张图片



PHP-学习知识整理_第62张图片



PHP-学习知识整理_第63张图片
PHP-学习知识整理_第64张图片

PHP-学习知识整理_第65张图片
PHP-学习知识整理_第66张图片PHP-学习知识整理_第67张图片
PHP-学习知识整理_第68张图片
PHP-学习知识整理_第69张图片

PHP-学习知识整理_第70张图片
PHP-学习知识整理_第71张图片
PHP-学习知识整理_第72张图片
PHP-学习知识整理_第73张图片

PHP-学习知识整理_第74张图片

PHP-学习知识整理_第75张图片
PHP-学习知识整理_第76张图片

PHP-学习知识整理_第77张图片
PHP-学习知识整理_第78张图片

PHP-学习知识整理_第79张图片

PHP-学习知识整理_第80张图片PHP-学习知识整理_第81张图片
PHP-学习知识整理_第82张图片PHP-学习知识整理_第83张图片PHP-学习知识整理_第84张图片

容器与系统服务和门面

PHP-学习知识整理_第85张图片
PHP-学习知识整理_第86张图片
PHP-学习知识整理_第87张图片
PHP-学习知识整理_第88张图片
PHP-学习知识整理_第89张图片
PHP-学习知识整理_第90张图片
PHP-学习知识整理_第91张图片
PHP-学习知识整理_第92张图片
PHP-学习知识整理_第93张图片

PHP-学习知识整理_第94张图片
PHP-学习知识整理_第95张图片
PHP-学习知识整理_第96张图片
PHP-学习知识整理_第97张图片
PHP-学习知识整理_第98张图片
PHP-学习知识整理_第99张图片
在这里插入图片描述
PHP-学习知识整理_第100张图片
PHP-学习知识整理_第101张图片

PHP-学习知识整理_第102张图片



PHP-学习知识整理_第103张图片
PHP-学习知识整理_第104张图片
PHP-学习知识整理_第105张图片
PHP-学习知识整理_第106张图片
PHP-学习知识整理_第107张图片
PHP-学习知识整理_第108张图片
PHP-学习知识整理_第109张图片
PHP-学习知识整理_第110张图片
PHP-学习知识整理_第111张图片
PHP-学习知识整理_第112张图片
PHP-学习知识整理_第113张图片
PHP-学习知识整理_第114张图片
PHP-学习知识整理_第115张图片
PHP-学习知识整理_第116张图片

PHP-学习知识整理_第117张图片
PHP-学习知识整理_第118张图片
PHP-学习知识整理_第119张图片
PHP-学习知识整理_第120张图片
PHP-学习知识整理_第121张图片
PHP-学习知识整理_第122张图片PHP-学习知识整理_第123张图片

PHP-学习知识整理_第124张图片
PHP-学习知识整理_第125张图片
PHP-学习知识整理_第126张图片
PHP-学习知识整理_第127张图片
PHP-学习知识整理_第128张图片
PHP-学习知识整理_第129张图片
PHP-学习知识整理_第130张图片


PHP-学习知识整理_第131张图片
PHP-学习知识整理_第132张图片
PHP-学习知识整理_第133张图片
PHP-学习知识整理_第134张图片
在这里插入图片描述

中间件


PHP-学习知识整理_第135张图片



PHP-学习知识整理_第136张图片
PHP-学习知识整理_第137张图片
PHP-学习知识整理_第138张图片
PHP-学习知识整理_第139张图片
PHP-学习知识整理_第140张图片
PHP-学习知识整理_第141张图片
PHP-学习知识整理_第142张图片
PHP-学习知识整理_第143张图片
PHP-学习知识整理_第144张图片
PHP-学习知识整理_第145张图片
PHP-学习知识整理_第146张图片
PHP-学习知识整理_第147张图片
PHP-学习知识整理_第148张图片PHP-学习知识整理_第149张图片

PHP-学习知识整理_第150张图片
PHP-学习知识整理_第151张图片PHP-学习知识整理_第152张图片

PHP-学习知识整理_第153张图片
PHP-学习知识整理_第154张图片

事件触发监听




PHP-学习知识整理_第155张图片


PHP-学习知识整理_第156张图片
PHP-学习知识整理_第157张图片

PHP-学习知识整理_第158张图片
PHP-学习知识整理_第159张图片
PHP-学习知识整理_第160张图片
PHP-学习知识整理_第161张图片
PHP-学习知识整理_第162张图片
PHP-学习知识整理_第163张图片

路由器详解




在这里插入图片描述

PHP-学习知识整理_第164张图片
PHP-学习知识整理_第165张图片PHP-学习知识整理_第166张图片

PHP-学习知识整理_第167张图片
PHP-学习知识整理_第168张图片

PHP-学习知识整理_第169张图片
PHP-学习知识整理_第170张图片
PHP-学习知识整理_第171张图片
PHP-学习知识整理_第172张图片
PHP-学习知识整理_第173张图片
PHP-学习知识整理_第174张图片
PHP-学习知识整理_第175张图片
PHP-学习知识整理_第176张图片
PHP-学习知识整理_第177张图片
PHP-学习知识整理_第178张图片
PHP-学习知识整理_第179张图片
PHP-学习知识整理_第180张图片
PHP-学习知识整理_第181张图片
PHP-学习知识整理_第182张图片
PHP-学习知识整理_第183张图片
PHP-学习知识整理_第184张图片
PHP-学习知识整理_第185张图片
PHP-学习知识整理_第186张图片
PHP-学习知识整理_第187张图片
PHP-学习知识整理_第188张图片
PHP-学习知识整理_第189张图片
PHP-学习知识整理_第190张图片
PHP-学习知识整理_第191张图片
在这里插入图片描述
PHP-学习知识整理_第192张图片
PHP-学习知识整理_第193张图片
PHP-学习知识整理_第194张图片
PHP-学习知识整理_第195张图片
在这里插入图片描述PHP-学习知识整理_第196张图片

PHP-学习知识整理_第197张图片

你可能感兴趣的:(#,php,学习,thinkphp)