PHP-基础
- 介绍
- 本地环境安装
- 安装 WNMP 环境
- 代码编辑器选择
- 语法
- 变量与常量
- 常见输出函数
- 数据类型之四种标量类型
- 数据类型之三种复合类型
- 数据类型之两种特殊类型
- Operators:运算符
- 流程控制:条件判断语句
- 流程控制:循环语句
- 流程控制:中止语句
- 函数
- 类和对象:基本概念
- 类和对象:类结构
- 类和对象:面向对象
- 类和对象:三种特殊类
- 类和对象
- 类和对象:Trait
- 类和对象:魔术方法
- 命名空间
- 【实战】PHP表单
PHP-函数
-
String
- addcslashes()
- addslashes()
- bin2hex()
- chop()
- chr()
- chunk_split()
- convert_cyr_string()
- convert_uudecode()
- convert_uuencode()
- count_chars()
- crc32()
- crypt()
- echo
- explode()
- fprintf()
- get_html_translation_table()
- hebrev()
- hebrevc()
- hex2bin()
- htmlentities()
- htmlspecialchars()
- htmlspecialchars_decode()
- html_entity_decode()
- implode()
- join()
- lcfirst()
- levenshtein()
- localeconv()
- ltrim()
- md5()
- md5_file()
- metaphone()
- money_format()
- nl2br()
- nl_langinfo()
- number_format()
- ord()
- parse_str()
- printf
- quoted_printable_decode()
- quoted_printable_encode()
- quotemeta()
- rtrim()
- setlocale()
- sha1()
- sha1_file()
- similar_text()
- soundex()
- sprintf()
- sscanf()
- strcasecmp()
- strchr()
- strcmp()
- strcoll()
- strcspn()
- stripcslashes()
- stripos()
- stripslashes()
- strip_tags()
- stristr()
- strlen()
- strnatcasecmp()
- strnatcmp()
- strncasecmp()
- strncmp()
- strpbrk()
- strpos()
- strrchr()
- strrev()
- strripos()
- strrpos()
- strspn()
- strstr()
- strtok()
- strtolower()
- strtoupper()
- strtr()
- str_getcsv()
- str_ireplace()
- str_pad()
- str_repeat()
- str_replace()
- str_rot13()
- str_shuffle()
- str_split()
- str_word_count()
- substr()
- substr_compare()
- substr_count()
- substr_replace()
- trim()
- ucfirst()
- ucwords()
- vfprintf()
- vprintf()
- vsprintf()
- wordwrap()
-
Array
- array()
- array_change_key_case()
- array_chunk()
- array_column()
- array_combine()
- array_count_values()
- array_diff()
- array_diff_assoc()
- array_diff_key()
- array_diff_uassoc()
- array_diff_ukey()
- array_fill()
- array_fill_keys()
- array_filter()
- array_flip()
- array_intersect()
- array_intersect_assoc()
- array_intersect_key()
- array_intersect_uassoc()
- array_intersect_ukey()
- array_keys()
- array_key_exists()
- array_key_first()
- array_key_last()
- array_map()
- array_merge()
- array_merge_recursive()
- array_multisort()
- array_pad()
- array_pop()
- array_product()
- array_push()
- array_rand()
- array_reduce()
- array_replace()
- array_replace_recursive()
- array_reverse()
- array_search()
- array_shift()
- array_slice()
- array_splice()
- array_sum()
- array_udiff()
- array_udiff_assoc()
- array_udiff_uassoc()
- array_uintersect()
- array_uintersect_assoc()
- array_uintersect_uassoc()
- array_unique()
- array_unshift()
- array_values()
- array_walk()
- array_walk_recursive()
- arsort()
- asort()
- compact()
- count()
- current()
- each()
- end()
- extract()
- in_array()
- key()
- key_exists()
- krsort()
- ksort()
- list()
- natcasesort()
- natsort()
- next()
- pos()
- prev()
- range()
- reset()
- rsort()
- shuffle()
- sizeof()
- sort()
- uasort()
- uksort()
- usort()
-
File
- basename()
- chgrp()
- chmod()
- chown()
- clearstatcache()
- copy()
- dirname()
- diskfreespace()
- disk_free_space()
- disk_total_space()
- fclose()
- feof()
- fflush()
- fgetc()
- fgetcsv()
- fgets()
- fgetss()
- file()
- fileatime()
- filectime()
- filegroup()
- fileinode()
- filemtime()
- fileowner()
- fileperms()
- filesize()
- filetype()
- file_exists()
- file_get_contents()
- file_put_contents()
- flock()
- fnmatch()
- fopen()
- fpassthru()
- fputcsv()
- fputs()
- fread()
- fscanf()
- fseek()
- fstat()
- ftell()
- ftruncate()
- fwrite()
- glob()
- is_dir()
- is_executable()
- is_file()
- is_link()
- is_readable()
- is_uploaded_file()
- is_writable()
- is_writeable()
- lchgrp()
- lchown()
- link()
- linkinfo()
- lstat()
- mkdir()
- move_uploaded_file()
- parse_ini_file()
- parse_ini_string()
- pathinfo()
- pclose()
- popen()
- readfile()
- readlink()
- realpath()
- realpath_cache_get()
- realpath_cache_size()
- rename()
- rewind()
- rmdir()
- set_file_buffer()
- stat()
- symlink()
- tempnam()
- tmpfile()
- touch()
- umask()
- unlink()
-
Datetime
- checkdate()
- date()
- date_add()
- date_create()
- date_create_from_format()
- date_date_set()
- date_default_timezone_get()
- date_default_timezone_set()
- date_diff()
- date_format()
- date_get_last_errors()
- date_interval_create_from_date
- date_interval_format()
- date_isodate_set()
- date_modify()
- date_offset_get()
- date_parse()
- date_parse_from_format()
- date_sub()
- date_sunrise()
- date_sunset()
- date_sun_info()
- date_timestamp_get()
- date_timestamp_set()
- date_timezone_get()
- date_timezone_set()
- date_time_set()
- getdate()
- gettimeofday()
- gmdate()
- gmmktime()
- gmstrftime()
- idate()
- localtime()
- microtime()
- mktime()
- strftime()
- strptime()
- strtotime()
- time()
- timezone_abbreviations_list()
- timezone_identifiers_list()
- timezone_location_get()
- timezone_name_from_abbr()
- timezone_name_get()
- timezone_offset_get()
- timezone_open()
- timezone_transitions_get()
- timezone_version_get()
-
Filter
-
HTTP
-
cURL
- curl_close()
- curl_copy_handle()
- curl_errno()
- curl_error()
- curl_escape()
- curl_exec()
- curl_file_create()
- curl_getinfo()
- curl_init()
- curl_multi_add_handle()
- curl_multi_close()
- curl_multi_errno()
- curl_multi_exec()
- curl_multi_getcontent()
- curl_multi_info_read()
- curl_multi_init()
- curl_multi_remove_handle()
- curl_multi_select()
- curl_multi_setopt()
- curl_multi_strerror()
- curl_pause()
- curl_reset()
- curl_setopt()
- curl_setopt_array()
- curl_share_close()
- curl_share_errno()
- curl_share_init()
- curl_share_setopt()
- curl_share_strerror()
- curl_strerror()
- curl_unescape()
- curl_version()
-
PDO
-
PDOStatement
安装 WNMP 环境
1. MySQL安装
- 下载:下载地址
- 解压至文件夹:
D:\env\mysql-8.0.16
- 命令行进入
bin
目录,初始化数据库:mysqld --initialize --console
- 注意控制台输出的信息,MySQL 的初始密码会被输出在控制台中,形如:
root@localhost: jkeDoHgY0<fR
- 注册 MySQL 服务:
mysqld --install mysql
- 启动 MySQL 服务:
net start mysql
- 使用初始密码进入 MySQL 数据库:
mysql -u root -p
- 输出之前被输出在控制台的初始密码后,成功进入数据库!
- 修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
- 退出数据库:
quit;
- 将 MySQL 的
bin
目录所在路径添加至系统的PATH
环境变量,以便使用命令行进入数据库。
2. PHP安装
- 下载:下载地址
- 选择最新的版本,并选择
VC15 x64 Thread Safe
版本 - 为确保安装时不出现某扩展寻找失败的错误,先下载VC15并运行
- 选择最新的版本,并选择
- 解压至文件夹:
D:\env\php
- 复制
php.ini-development
文件,并将复制文件重命名为php.ini
- 使用纯文本编辑器打开
php.ini
文件,并修改extension_dir
的值为"D:/env/php/ext"
(解压 PHP 后ext
文件夹所在的绝对路径) - 将 PHP 的解压目录添加至系统的
PATH
环境变量 - 打开控制台,并输入
php -v
检查PHP的安装状态,如正确输出 PHP 版本则说明 PHP 安装成功!
3. Nginx安装
- 下载:下载地址
- 解压至文件夹:
D:\env\nginx
- 进入
conf
文件夹,并添加文件夹vhost
,之后所有的虚拟主机配置文件都将放在该目录下 - 打开
nginx.conf
文件,并将其内容修改为以下内容:
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
## 读取虚拟主机配置
include vhost/*.conf;
}
- 进入
vhost
目录,添加一个名为localhost.conf
的文件,并使用文本编辑器打开,输入以下内容:
server {
listen 80;
server_name localhost;
charset utf-8;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
## pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
- 继续添加虚拟主机配置文件,比如说
test.conf
,类似的你还可以添加其他虚拟主机配置文件,键入以下内容:
server {
listen 80;
server_name test;
charset utf-8;
location / {
root E:/site/test;
index index.html index.php;
}
location ~ \.php$ {
root E:/site/test;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
- 配置完成后,在
D:\env
目录下添加start_server.bat
文件,使用文本编辑器打开,然后键入以下内容:
REM REM是bat文件的注释类似于php的//
REM 设置不输出命令
@ECHO off
REM 设置Nginx和php-cgi的目录
SET php_home=D:/env/php/
SET nginx_home=D:/env/nginx/
REM 设置插件(RunHiddenConsole)的目录
SET plugin_home=D:/env/plugins/
REM 输出状态
ECHO Starting PHP FastCGI...
REM 启动php-cgi -b 端口 -c php.ini位置
REM %php_home%为获取上面set的php_home的值
%plugin_home%RunHiddenConsole.exe %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini
REM 输出状态
ECHO Starting nginx...
REM 启动Nginx -p Nginx的根目录
%plugin_home%RunHiddenConsole.exe %nginx_home%nginx.exe -p %nginx_home%
REM 打开网站
ECHO Open localhost...
REM start http://localhost
start http://test
这里我们会用到一个工具:RunHiddenConsole.exe
,我们将它放在D:\env\plugins
目录下
- 【注意,这一步很重要!】编辑
host
文件,位置:C:\Windows\System32\drivers\etc\hosts
,添加你想配置的虚拟域名,如下:
127.0.0.1 localhost
127.0.0.1 test
- 重启浏览器,并双击
D:\env\start_server.bat
文件,浏览器将自动打开http://test
网站(之前配置的虚拟主机,需要在E:/site/test
目录下建立一个index.html
或者index.php
文件),这里E:\site\test\index.php
文件内容为:
<?php
echo __FILE__;
- 关闭
nginx
:在D:\env
目录下添加stop_server.bat
文件,使用文本编辑器打开,然后键入以下内容:
@ECHO off
ECHO Stopping nginx...
REM 结束进程 /F 强制终止 /IM 指定的进程
TASKKILL /F /IM nginx.exe
ECHO Stopping PHP FastCGI...
TASKKILL /F /IM php-cgi.exe
REM 关闭窗口
**EXIT**
安装Redis
- 下载:下载地址
- 解压至文件夹:
D:\env\Redis-x64-3.2.100
- 命令行进入
Redis-x64-3.2.100
目录,安装Redis服务:redis-server --service-install redis.windows.conf
- 启动Redis服务:
redis-server --service-start
- 启动成功后,将Redis的安装目录添加至至系统的
PATH
环境变量 - Redis常用命令:
- 安装服务:
redis-server --service-install redis.windows.conf
- 卸载服务:
redis-server --service-uninstall
- 启动服务:
redis-server --service-start
- 停止服务:
redis-server --service-stop
- 安装服务:
-
安装PHP-Redis:
- 下载:下载地址
- 复制
php_redis.dll
文件至PHP安装目录的ext
文件夹下,然后打开php.ini
文件,添加以下语句:
extension=php_redis.dll