composer update topthink/framework
打开Composer官网:https://www.phpcomposer.com/
https://packagist.org/
输入搜索关键字: topthink, 在下面会列出与ThinkPHP框架相关的组件包
composer create-project topthink/think
// 打开终端,执行指令:
composer create-project topthink/think tp6 6.0.*-dev
/**
* 指令中各个参数的解释:
* `create-project`: 是composer中的项目创建命令
* `topthink/think`: ThinkPHP的组件包
* `tp6`: 是当前的项目目录(如果没有创建, 该命令会自动创建的)
* `6.0.*-dev`: 要下载的版本标签
*/
这里使用框架内置的 think 命令测试
该命令会启动一个本地的临时Web服务器,
功能与 php -S localhost:8000 是一样的
创建本地服务器, 启动框架
php think run
####下载地址####
composer create-project topthink/think=5.0.* tp5 --prefer-dist
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() — 检测变量是否设置
语法要求 :
命名空间必须是程序脚本的第一条语句
重名问题:
class名 函数名 const常量名(define 无效) ------>redeclare 报错
便可 利用命名空间 进行分割区分
调用空间元素时候 :\xx\xxx();
反之亦然
尽量用完全限定空间进行引用;
declare(encoding=‘UTF-8’);
定义多个命名空间和不包含在命名空间中的代码
error_reporting() 函数规定你给应该报告何种 PHP 错误 E_ALL | E_STRICT
每个函数实际上都是 Function 类型的实例
不需要实例化对象,直接通过类名对类中的方法进行引用
class Test{
public static $test = 1;
public static function test(){
}
}
Test:: t e s t 来 取 得 test 来取得 test来取得test属性的值
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内置常量了
如果已定义返回 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常量PHP_SAPI与函数php_sapi_name()
PHP运行环境检测
用来判断是使用命令行还是浏览器执行的,如果 PHP_SAPI==’cli’ 表示是在命令行下执行
strpos() 函数查找字符串在另一字符串中第一次出现的位置。
注释:strpos() 函数对大小写敏感。
注释:该函数是二进制安全的
获取当前操作系统类型 PHP_OS
is_file() 函数检查指定的文件是否是常规的文件。
如果文件是常规的文件,该函数返回 TRUE。
parse_ini_file() 函数解析一个配置文件(ini 文件),并以数组的形式返回其中的设置
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
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()函数移除字符串两侧的空白字符或其他预定义字符
指向当前执行的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');"
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。
Windows 系统:
找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。
将 composer.phar 复制到 PHP 的安装目录下面,
也就是和 php.exe 在同一级目录。
在 PHP 安装目录下新建一个 composer.bat 文件,
并将下列代码保存到此文件中。
@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行
composer --version 看看是否正确输出版本号。
不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!