魔术常量
__LINE__
返回文件中的当前行号。
__FILE__
返回文件的信息
__FUNCTION__
返回函数名称(PHP 4.3.0 新加)
__CLASS__
返回类的名称(PHP 4.3.0 新加)
__METHOD__
返回类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
apache和ngiux的区别
apache 的 rewrite 比 nginx 强大,在 rewrite 频繁的情况下,用 apache
apache 发展到现在,模块超多,基本想到的都可以找到
apache 更为成熟,少 bug ,nginx 的 bug 相对较多
apache 超稳定
apache 对 PHP 支持比较简单,nginx 需要配合其他后端用
apache 在处理动态请求有优势,一般动态请求要 apache 去做,nginx 适合静态和反向
apache 仍然是目前的主流,拥有丰富的特性,成熟的技术和开发社区
总结:需要性能的 web 服务,用 nginx 。如果不需要性能只求稳定,更考虑 apache 。
常见错误码以及含义
200 OK:表示请求成功,并返回请求的内容。
301 Moved Permanently:表示所请求的资源被永久移动到新位置,浏览器需要重新发送请求到新位置。
302 Found:表示所请求的资源临时移动到了新位置,浏览器需要重新发送请求到新位置。
304 Not Modified:表示所请求的资源在上次请求后没有修改,可以直接使用缓存的版本。
400 Bad Request:表示服务器无法理解客户端发送的请求。
401 Unauthorized:表示请求需要身份验证才能访问。
403 Forbidden:表示服务器拒绝了客户端的请求。
404 Not Found:表示所请求的资源不存在。
500 Internal Server Error:表示服务器在处理请求时遇到了内部错误。
503 Service Unavailable:表示服务器暂时无法处理请求,通常是因为服务器过载或维护中。
php错误等级
php.ini中的错误报告等级默认情况下,PHP错误报告等级是E_NOTICE
E_ALL - 所有的错误和警告(不包括 E_STRICT)
E_ERROR - 致命性的运行时错误
E_WARNING - 运行时警告(非致命性错误)
E_PARSE - 编译时解析错误
E_NOTICE - 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
E_STRICT - 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
E_CORE_ERROR - PHP启动时初始化过程中的致命错误
E_CORE_WARNING - PHP启动时初始化过程中的警告(非致命性错)
E_COMPILE_ERROR - 编译时致命性错
E_COMPILE_WARNING - 编译时警告(非致命性错)
E_USER_ERROR - 用户自定义的错误消息
E_USER_WARNING - 用户自定义的警告消息
E_USER_NOTICE - 用户自定义的提醒消息
怎么查看php错误日志
1.修改php.ini中的配置,开启错误日志,并重新启动Web服务器
2.这样,在执行PHP的任何脚本文件时,所产生的所有错误报告都不会在浏览器中显示
3.错误日志在路径/usr/local/error.log中查看
简单的正则
(详细查看:最全的正则表达式整理_正则表达式格式-优快云博客)
简单手机号码的匹配:
$g = "/^1[34578]\d{9}$/";
配出所有的手机号就可以这样写:
preg_match_all("/^1[34578]\d{9}$/", $str, $mobiles);
composer的使用
composer -V 查看版本号
composer -help 查看命令帮助
composer self-update 升级composer
composer install 重新安装
swoole
(具体可以看:https://blog.youkuaiyun.com/qq_36303853/category_11316940.html)
swoole是披着PHP外衣的C程序:其实就是c、java那些语言里面的高阶功能
swoole做为一种网络通信框架,解决php缺失的功能:比如多线程、异步通信、持久连接等
php+swoole能做:比如 游戏服务器、在线聊天系统等
设计模式
(详细参考:https://www.cnblogs.com/lxwphp/p/10484661.html)
AJAX的优势是什么
1. 异步通信:AJAX可以在不重新加载整个页面的情况下,向服务器发送请求并接收响应。这意味着用户可以在等待服务器响应的同时继续浏览网页或进行其他操作,提供了更好的用户体验。
2. 减少带宽和加载时间:由于AJAX只更新部分页面内容,而不是整个页面,因此可以减少数据传输量和页面加载时间。
3. 提高网页的动态性:AJAX可以实现网页的动态更新,使得用户可以实时获取最新数据,而不需要手动刷新页面。
4. 提高用户交互性:通过AJAX,可以实现更丰富的用户交互效果,如实时搜索、自动补全、拖拽排序等。
5. 支持多种数据格式:AJAX不仅支持XML格式的数据交互,还可以通过JSON等格式进行数据交互,提高了数据传输的灵活性和效率。
6. 降低服务器负载:由于AJAX只请求服务器需要的数据,而不是整个页面,因此可以减轻服务器的负载。