php超全局变量
- 超全局变量 $加下划线
- 接收客户端的请求信息
- $_ POST
- 传递得到数据没有限制, 相对来说更加安全 ,但速度稍慢
- $ _GET
- get方式传递的东西较少 1024
- 传递的东西不安全 但是其速度较快
- $_ REQUEST
- $ SERVER
- $__ENT
- 操作系统的全局变量
- $ FILES
- 接收上传文件的信息
- $ _COOKIE
- _$_SESSION
- 接收客户端的请求信息
php变量
- 对于变量的命名冲突,php没有办法,没有给我们提供解决变量命名冲突的方法 故全局变量尽量少用
- 函数
- 在js里面
- 若函数名一样,会覆盖
- 在php里面
- 若函数名一样,会错误(不允许定义一样的名字)
- 搞一个命名空间搞定,namespace abc\a\b;(最好和目录一致)
- 调用前面要加\ 既\abc\a\b
- 在java 里面
- 函数重载,一样的名字根据参数不同调用不同函数
- 在js里面
- 定义一个常量
- 第一种define(),全局的,故名字一样会冲突
- define(“AA”,“demo”);
- 第二种const,一般用于在命名空间(namespace)中命名常量
- const AA=demo;
- 用法:调用前面要加\ 既\abc\a\b
- 第一种define(),全局的,故名字一样会冲突
- 类进行命名空间的定义,类的使用场景是最多的
- use \abc\a\b\demo as abcab;
- 直接使用abcab();即可调用 abc\a\b中类名为demo的类
- 如果名字没冲突,不用写as abcab;
- 调用demo();即可。
- use \abc\a\b\demo as abcab;
- 命名空间
- 防止 常量 函数 类冲突,
类的自动载入
-
php 本身过程化,写php 用面向对象的方式去写服务器的代码。
-
表示常量
use \code\Animal; function __autoload($classname){ $path=str_replace('\\',DIRECTORY_SEPARATOR,$classname); $classpath = "{$path}.php"; echo $classpath; require_once($classpath); } $ani = new Animal();
MVC架构
- web开发过程中的最佳实践方式
- model 模型 view 视图 controller 控制器
- 视图和数据混在一起开发,
1.不能完成协同开发
2.工作量巨大,不能完成代码的复用
3.后期维护,工作量巨大 - 控制器将模型和视图关联起来,
- 模型就是操作数据的方式(数据)
- 视图指的是页面(前端人员),页面的交互 页面的样式,页面的逻辑
- 视图和数据混在一起开发,
- mvc优势:
- 前后台分离
- 协同合作
- 将代码重复利用
- 降低后期维护的成功
- 单入口应用(方便管理,安全快捷)
- -------可编辑的表格(多入口文件)
- 不安全。
- 不方便管理
php 操作图形
- 步骤
- 指定输出的格式
- 创建画布
- 作画
- 画线
- 画点
- 画字
- 画图像
- 输出到浏览器
- imagepng() imagejpeg
- 销毁 释放内存
- imagedestrog()
php魔术常量
-
__DIR__ 获取当前程序运行的目录,在本地文件夹的地址
-
__FILE__获取当前运行的程序文件 // 在本地文件地址
-
__CLASS__获取当前类的名字
-
__METHOD__获取当前函数的名字
-
__LINE__获取当前程序所在的行
-
DIRECTORY_SEPARATOR 在当前系统中所用的斜杠,
-
定义文件在本地的路径
-
//服务器所在的根路径
define(“ROOT_ PATH”,KaTeX parse error: Expected group after '_' at position 20: …RVER ["DOCUMENT_̲ _ROOT"]); //入口…_ SERVER [“SCRIPT_ NAME”] );
//框架所在的路径
define(“MAIN_ PATH”, di rname( path: ENTRY_ PATH). DIRECTORY_ SEPARATOR);
//核心库所在的路径
define(“LIBS_ PATH” ,MAIN_ PATH. “libs”. DIRECTORY SEPARATOR);
//插件所在路径
define(“PLU_ PATH”,MAIN_ PATH. “plugins”. DIRECTORY_ SEPARATOR); I
echo "" ;
var_ dump( expression: PLU _PATH);// 当前程序运行所在的目录// 模板所在的路径
define ("TPL_ PATH", APP NAME. DIRECTORY_ SEPARATOR. "template"l. DIRECTORY_ SEPARATOR;
-
-
定义文件在 http协议访问的路径
- //以下定义通过http协议访问的路径
define("HOST_ ADD" , “http://”.$ SERVER["HTTP_ HOST"]);
//单入口文件地址
define (“ENTRY_ADD” , HOST ADD. $_ SERVER [“SCRIPT NAME"]);
//框架入口地址
define("MAIN ADD” , di rname( path: HOST_ ADD. KaTeX parse error: Expected group after '_' at position 95: …,MAIN_ ADD. APP_̲ _DIR NAME. DIR…_ SERVER);//当前程序运行所在的目录
- //以下定义通过http协议访问的路径