php8学习记(回顾)

  • 仅仅针对于自己,老手回顾
初步
  • gettype() 获取变量
  • echo <<<EOF 内容 EOF; eof可以使用任意标记代替
  • 数组定义:array(1,2) [1,2,3]
  • foreach($arr as k e y = > key=> key=>value)
  • global $maoshu 就是可以使用到外面的全局变量
  • static 只会第一次定义 第二次就不定义了 会保留前一次的值
  • 超全局变量
$GLOBALS
$_SERVER 包含了 header path等,是web服务器提供的
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOLIE
$SESSION
  • 空合并运算符 ?? $name = $username ?? ‘suibian’; 如果为null 或者未定义则返回suibian
  • <==> 组合比较运算符 可比较数字字符串
  • isset() 是否被声明 是否为null
  • is_null() 判断是否为null
  • empty() 判断是否为空 对未定义的变量也会返回为true 有isset的功能
字符串常用
  • explode( f l a g , flag, flag,str)
  • implode( f l a g , flag, flag,arr)
  • strlen()
  • strpos( s t r , str, str,find) 在字符串中找查指定的字符 并给指定位置 找不到就是返回false
  • stripos( s t r , str, str,find) 不区分大小写
  • strrpos 从右边开始找
  • strripos
  • strtoupper($str)
  • strtolower($str)
  • ucfirst($str) 将单词首字符变大写 lcfirst() 变小写 ucwords() 将字符串中的每个字符变为大写
  • str_replace( s e r a c h , serach, serach,repalce) 替换
  • strrev() 字符串翻转
  • trim() 去除两端空格
  • substr($str,2,3) 字符串截取 从第二个开始截取3个
  • mb_substr() 截取中文
数组常用操作
  • count()
  • array_push( a r r , arr, arr,new)
  • array_unshift( a r r , arr, arr,new) 添加到开头
  • array_pop($arr) 删除最后一个
  • array_shift() 删除并返回最后一个
  • array_slice($arr,3,3) 从数组中提取 从第三个开始取出三个
  • array_merge() 合并
  • array_reverse() 翻转
  • in_array(‘str’,$arr) 检查数组中是否存在某个值 返回true
  • array_key_exists() key是否存在
  • array_keys() 所有的键 也可以找对应的内容 根据值去寻找
  • arrary_values() 数组中所有的值
  • array_search() 搜索给定值 返回键
  • array_unique() 移除数组中的重复值
  • max() min()
  • sort()
  • rsort()
  • array_sum()
  • array_product()
时间日期操作
  • time() php获取是到秒的10位
  • microtime(true) 返回一个浮点数的时间戳
  • date(‘Y-m-d’,$time) $time必须是秒级的
  • strtotime(‘2023-10-01’) 对时间进行加减 strtotime(‘next day’,$basetime) 给你一个基础的时间 $basetime 这个参数非常灵活 怎么操作都是可以的
  • mktime( h o u r , hour, hour,minute, s e c o n d , second, second,mounth, d a y , day, day,year) 生成时间戳
  • date_create(‘1324-10-22’) 生成一个时间对象
  • date_format($data,‘y=m=d’) 必须是一个时间对象
  • $diff = date_diff() 计算连个时间的差距 是需要date对象放入 $diff->format(‘%a’) 差了几天 后面减去前面
  • DateTime
  • $obj = new DateTime();
  • $obj->modify(‘+1 day’);
  • $obj->setDate(2024,1,3)
  • $obj->setTime(12,0,1);
  • $obj ->getTimestamp();
  • $obj->format()
  • o b j − > d i f f ( obj->diff( obj>diff(datetime) 获取时间差
常量
  • define(‘CHANG’,‘changliangdemingzi’)
  • echo CHANG;
  • const 不能在局部作用域中使用 define可以
  • const 可以在类中使用 define不可以
  • get_defined_constants()
  • get_defined_constants(true)[‘user’] 可以找到自己的
魔术常量
  • 他的值随着他代码中的位置改变而改变
- __LINE__ 当前行号
- __FILE__ 文件完整路径
- __DER__ 目录
- __FUNCTION__ 当前函数的名字
- __CLASS__   类名
- __NAMESPACE__ 命名空间
- __METHOD__ 民命空间 类名 函数名
- __TRAIT__ 	当前使用trait的名称
- 
include require
  • require 有错误就停止 一开始就加载
  • include 警告 不会停止 在用到的时候就加载
  • require_once include_once 只引入一次
面向对象PHP
  • 类的定义
class Animal{
	public $name = '小猫仔'
}
(new Animal)->name;
  • 构造函数 __construct
  • 析构函数 __destruct 对象被销毁是的时候被调用
  • public static $cat = ‘猫叔’
  • self::$cat 使用静态变量
  • 类常量 const chagn = 11; 不可以更改 直接使用:: 去调用就行
  • public static function eat(){}
  • 继承 extend
  • 方法和属性的重写
  • final 进制类的方法被重写 方法也可以使用final
  • 调用父类的方法 parent:: parent::construct()
  • static:: $name 静态延迟绑定 根据实际调用的类来确定属性的值
  • 类的多态 方法的重载 就是对不同的参数个数进行判断 func_get_args() 获取参数 fun_num_args();获取数量
  • interface
  • abstract 只能进行继承 不能实例化
  • abstract public function eat(); 抽象方法
  • 抽象类可以存在构造函数 但是接口不能存在构造函数
  • trait 代码复用 不能有类常量 trait不能被实例化
  • trait 中可以使用抽象方法
  • trait中可以使用静态属性和静态方法
  • trait中可以使用其他的trait
  • trait中可以使用功能parent
trait A{

}
trait B{
}
class C{
use A,B;
}
use A,B{
	A::eat insteadof B;  用a去替换掉B
	B::eat as Beat;      给b重新命名
}
表单和请求
  • $_GET $_POST
  • 超全局变量 $_REQUEST 包含了 get post cookie的内容
  • $_SERVER 获取请求方式
  • htmlspecialchars() 将体术字符转化为HTML实体,以避免html文档中 xss攻击
  • 资源类型
  • is_resource

二阶段

  • 虚拟目录配置
<VirtualHost *:80>

ServerAdmin rivers@163.com

DocumentRoot “/usr/local/apache/htdocs/love1”

ServerName www.love1.lan1.com

ServerAlias www.biaobai.com

ErrorLog “love1.com-error_log”

CustomLog “logs/love1.com-access_log” common

<Directory /usr/local/apache/htdocs/love1>

AllowOverride ALL

Options Indexes FollowSymLinks

Order allow,deny

Allow from 192.168.10.10

<VirtualHost *:80>                  
  • 销毁变量 unset()
  • 基础第一天完成
  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值