PHP Programming
PHP
ROBIN.FANG
这个作者很懒,什么都没留下…
展开
-
5-1.(OOP)初步分析MCV架构模式
简单理解:把数据model 与 输出(即视图,view)的相关处理分开,用controller 作为两者的中间介质。组成:模型(model)、视图(view)、控制器(controller)model:数据管理、负责在数据库中存取数据以及数据合法性验证。controller:负责转发请求、对请求进行处理。|--具体再说...view:界面、显示数据。原创 2023-09-27 01:00:25 · 244 阅读 · 0 评论 -
安装phpstorm和配置wampsever,并运行php项目
1. 下载并安装wampsever2. 创建php项目3. 配置phpstorm原创 2021-01-15 15:09:38 · 768 阅读 · 0 评论 -
4-3.(OOP)导入、设置命名空间别名
useuse... as...1)导入类 namespace Lib1; use Exception; //把全局空间里面的 Exception 导入到Lib1 命名空间下 2)导入类且修改名称 namespace Lib1; use Lib2\Test\ClassB as CB; use Lib2\Test\ClassA as CA; new CB( ); new CA( );3)导入命名空间...原创 2020-08-03 17:07:41 · 228 阅读 · 0 评论 -
4-2.(OOP)使用命名空间里的元素
使用命名空间1. 访问PHP命名空间中的内容与文件系统中访问一个文件是同样的原理1)相对文件名 形式如 foo.txt 它会被解析为 当前目录 /foo.txt2)相对路径名 形式如 subdirectory/foo.txt 它被解析为 当前目录 /subdirectory/foo.txt3)绝对路径名 形式如 /main/foo.txt 它会被解析为 /main/foo.txt同理,访问PHP命名空间中的元素(类、函数、常量)主要有三种表现形式非限定名称: new...原创 2020-08-03 09:26:05 · 241 阅读 · 0 评论 -
4-1.(OOP)定义命名空间
1. 如何在计算里拥有同名的文件把他们放在不同的文件夹里2. 如何在PHP运行过程中加载同名的类或函数、常量等?把它们放在不同的“命名空间”中命名空间原创 2020-08-02 16:10:22 · 183 阅读 · 0 评论 -
2-4.(OOP)PHP错误处理
错误处理发生错误原因:不符合PHP语法或者访问了一些不可访问的内容,错误都是自动产生的,表明程序有很大问题1)在开发阶段:报告所有的错误显示所有的错误2)在上线阶段报告所有的错误隐藏错误错误级别...原创 2020-08-11 14:41:21 · 266 阅读 · 0 评论 -
2-3.(OOP)位运算符(&、|、^、-)
位运算符例子 名称 结果 $a$b And(按位与) 将把 $a 和 $b 中都为1的位设为1 $a | $b Or(按位或) 将把 $a 和 $b 中任何一个为1的位设为1 $a ^ $b Xor(按异或) 将把 $a 和 $b 中一个为1 另一个为0的位设为1 ~ $a Not(按位取反) 将$a中为0的位设为1,反之亦然 $a << $b Shift left(左移) 将$a中的位向左移...原创 2020-08-10 18:52:16 · 441 阅读 · 0 评论 -
2-2.(OOP)位运算(原码、反码、补码)
1原创 2020-08-09 16:40:41 · 262 阅读 · 0 评论 -
2-1.(OOP)PHP异常处理
异常:程序在运行的时候,正常情况下不会出问题,但是在一些特殊的情况它会出现问题!异常处理:我们可以通过PHP的异常处理机制来妥善的处理这些异常要想捕获抛出的异常,必须使用下面的语句结构try{ 可能抛出异常的程序请你放到这边来执行!}catch(Exception $e){ 如果上面抛出异常对象,那么就会跳到这边来执行}...继续执...原创 2020-05-06 22:45:01 · 228 阅读 · 0 评论 -
1-11(OOP)PHP自动加载类
在实际开发项目中往往需要写很多类,并且会把不同的类放在不同的文件里,需要哪些就用require或include之类的函数引入但一个个去引入这些类比较麻烦,就要用到自动加载类自动加载:法一:可以定义一个 _autoload()函数,它会在试图使用尚未被定义的类时自动调用,通过调用此函数,脚本引擎在PHP出错失败前有了最后一个机会加载所需的类/* 该函数以后可能被废弃 */...原创 2019-12-02 19:31:33 · 179 阅读 · 0 评论 -
1-10(OOP)魔术方法、类型约束
魔术方法在定义类的时候,可以在类里面写上10多个魔术方法,这些方法有特殊的作用PHP将以 __开头的类方法保留为魔术方法,所以在自定义类方法时建议不要以 __为前缀每个魔术方法在类中有特殊的作用:1. __construct()2. __destruct()3. __set() public void __set(string $name, mixed $value) 在给不可访问属性赋值时,__set() 会被调用 必须声明为publ...原创 2020-07-23 15:30:06 · 173 阅读 · 0 评论 -
1-9(OOP)PHP之traits技术
traits:它使得类里面的代码(主要指属性和方法)更加灵活的被复用traits 和 include的有点相似通过include技术我们可以引入文件 通过traits技术我们可以引入代码实际使用:当我们的类各自有不同的父类,那当这些类需要使用同样的方法就要用traits...原创 2020-02-22 17:14:08 · 212 阅读 · 0 评论 -
1-8(OOP)PHP接口
接口:规定一个类该怎么去写,规定一个类必须要去实现哪些方法!抽象类是为了写一个类用于以后更细的类去扩展细化它,接口是直接规定一个类应该具有哪些方法接口是对一个类方法的规划(把接口当成军令状)interface 接口名称{ public function 方法名([参数]);}注:接口名称以 i 开头 接口只定义方法 接口中所有的方法必须是public...原创 2020-02-06 17:37:23 · 212 阅读 · 0 评论 -
1-7(OOP)PHP抽象类和抽象方法
如果定义的类范围太大太抽象就没法具体到某类,那么实例化出来到底是哪一种。比如定义动物这个类,实例化就毫无意义,我们不清楚到底是什么动物。既然父类实例化没有意义,那么可以规定在写父类的时候规定这个父类不能被直接实例化,必须被其他类继承之后再去实例化子类1. 规定一个类为‘抽象类’ abstract class 类名称{ } 这个抽象类是用来被...原创 2020-02-06 05:03:14 · 210 阅读 · 0 评论 -
1-6(OOP)PHP范围解析操作符(::)、静态成员
范围解析操作符或者更简单地说是一对冒号‘::’作用:用于访问 静态成员、类常量、访问被覆盖类中的方法类外部:类名::常量名、静态成员类内部:self::常量名、静态成员 parent::常量名、静态成员、覆盖类中方法静态成员在声明成员的时候只需要在其可见性前或者后加上 static 则该成员就是静态成员可见性 static 变量名[=值];可见...原创 2019-12-01 20:58:31 · 212 阅读 · 0 评论 -
1-5(OOP)PHP类里面属性和方法的可见性(访问控制)
可见性:PHP类里面属性或方法的可见性,控制着对应的属性或方法在哪些地方可以访问、哪些地方不能访问我们在定义类属性的时候必须在前面加上 public, private, protected 三选一在定义方法的时候可以省略可见性(默认是 public)<?phpheader('Content-Type:text/html;charset=utf8');class Clas...原创 2019-11-30 22:11:07 · 539 阅读 · 0 评论 -
1-4(OOP)PHP类的继承
继承: 在定义某个类的时候,可以指定这个类,根据程序中已经存在的某个类派生而来class Humanity{ public $name; public $sex; public $iq=10; const BIRTHPLACE='地球';}比如新创建的Student类就继承了Humanity这个类Student 称作是Humanity的子类, Humanity是 Stud...原创 2019-12-01 16:31:58 · 140 阅读 · 0 评论 -
1-3(OOP)PHP对象、构造函数、析构函数
对象序列化所有PHP里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示unserialize()能够把字符串重新变为原来的值注:1. 序列化一个对象将保存其所有变量,但不会保存对象的方法,只会保存类的名字2. 为了能用 unserialize()一个对象,这个对象的类必须已经定义过<?phpheader('Content-type:te...原创 2019-12-06 16:23:27 · 205 阅读 · 0 评论 -
1-2(OOP)PHP对象
检测对象是不是属于一种特定的类型$object instanceof 类名称获取某个对象是由哪个类创建出来的string get_class([object $obj])对象和引用 对象复制<?phpheader('Content-Type:text/html;charset=utf-8');class Humanity{ public $name;...原创 2019-03-11 20:26:45 · 212 阅读 · 0 评论 -
1-1(OOP)PHP类、对象
面向对象(Object Oriented Programming,OOP)面向对象编程面对的是一个个对象,这些对象帮我们把一个个事情做完面向对象编程从“类”开始每个类的定义都以关键字class开头,空格后面跟着类名,后面再跟着一对花括号class Humanity{ };class Room{ };类名称规则用大驼峰命名法(首字母也大写)...原创 2019-02-02 13:25:11 · 381 阅读 · 1 评论 -
2020年 WEB开发技术方向分析
Python web会取代PHP在web开发中的地位么?1、两个不同的学科,应用方向不同。PHP更多是专注于Web开发、而Python更多的应用是数据分析、爬虫,两者应用方式不同,如果你想学习的Web开发,如淘宝这样的商城系统肯定还是使用PHP开发,如果你想学习数据分析那肯定是选择Python。2、确实python可以做web端,比如网站开发,但是从权威技术网站w3tec...转载 2019-03-30 12:47:45 · 2031 阅读 · 0 评论 -
PHP中对象和数组的区别
PHP中由于数组中的数据类型可以是不同的还有关联数组的存在(不是别的语言的索引数组),导致大家对PHP的数组和对象容易产生混淆,下面看看有什么区别:对象不仅有属性,还有方法 对象可以封装对这些数据的操作,而数组不行所以如果是单纯存数据,就用数组,但如果你要定义对这些数据的操作,那就用对象如果你想在操作的数据里加个通用的方法,比如返回值是加密的,或者其它等等功能,这时候可以考虑...原创 2019-10-31 18:36:54 · 1733 阅读 · 0 评论 -
PHP函数默认参数值问题
法 1: 默认参数值赋值给变量写在最上面<?php $host=DB_HOST;$user=DB_USER;$password=DB_PASSWORD;$database=DB_DATABASE;$port=DB_PORT;/* connect database */function connect($host,$user,$password,$database,$p...原创 2019-10-30 16:54:50 · 1441 阅读 · 0 评论 -
11-3. PHP基于cookie或session的登录模块
cookie文件夹下://FILE: login.php<?phpheader('Content-type:text/html;charset=utf-8');if (isset($_COOKIE['username']) && $_COOKIE['username']==='robin') { exit('您已经登录请不要重复登录');}if(isset(...原创 2020-02-05 00:00:57 · 206 阅读 · 0 评论 -
11-2. PHP会话控制session
session是把用户信息保存在服务器端,cookie把用户信息保存在客户端,session技术需要cookie技术的支撑开启sessionsession_start();1. 开启一个会话比如一个客户到超市里买东西办会员卡2. 打开已经存在的会话比如当这个客户以后再到超市买东西的时候根据上次买的卡号买东西,根据客户端传来的session id把这个sessio...原创 2020-02-04 23:35:15 · 165 阅读 · 0 评论 -
11-1. PHP会话控制cookie
访问一个web页面需要使用http协议实现,但http协议是无状态协议,就是说http没有一个内联机制来维护两个事物之间的状态,当用户请求一个页面之后再请求同一个网站的另一个页面的时候http协议并不知道这两次请求都来自同一个用户,也就是两次访问联系不在一起!cookiecookie是将网站的资料记录在客户端的技术,当用户成功登录网站后他的信息会被保存在客户端然后实...原创 2019-02-01 16:14:53 · 381 阅读 · 0 评论 -
10-4. 核心!用php实现从服务器下载文件
<?php/* 以下代码功能: * 读一个zip文件从而实现压缩文件的下载 * 先用php代码模拟自己是zip文件从而实现伪装 *//* 判断相关函数是否已经安装或开启 */if(!function_exists('finfo_open')){ header('Content-type:text/html;charset=utf-8'); exit('请先安装...原创 2019-01-30 13:28:51 · 1168 阅读 · 0 评论 -
10-3. PHP文件上传
<?phpdate_default_timezone_set('Asia/Seoul');header('Content-type:text/html;charset=utf-8');/* isset()函数用于判断变量是否存在 */if (isset($_POST['submit'])){ /* 判断文件是否通过HTTP POST上传 * $_F...原创 2019-01-29 18:41:11 · 1132 阅读 · 0 评论 -
10-2. PHP文件的基本操作
fopen( ) //打开文件或 URL fread( ) //读取文件/* utf-8编码里面中文一个字占三个字节 */$file=fopen('test.txt', 'r'); /*r表示只读权限*/var_dump(fread($file, 6)); /*一次读6个字节*/var_dump(fread($file, 3));var_dump(fread($file, 6)...原创 2019-01-28 15:35:21 · 628 阅读 · 0 评论 -
10-1. PHP目录的基本操作
如何将数据保存起来?主要有两种办法,保存到文件中或者保存到数据库中。php可以在我们的服务器上生产目录、创建、编辑、删除、修改文件属性等操作。判断普通文件和目录(目录可以理解为文件夹)is_file( ) //判断给定的文件是否是正常的文件 is_dir( ) //判断给定文件名是否是一个目录<?phpvar_dump(is_file('index.php'))...原创 2019-01-22 16:58:58 · 686 阅读 · 0 评论 -
Zend Studio 13.6.1版本的安装和注册码问题 总结
官网下载地址: http://www.zend.com/en/products/studio/downloads#WindowsZend Studio 下载安装完成后用破解文件 .jar 去覆盖 plugins文件夹中的 .jar文件,覆盖即可。 有的人会卡在怎么知道 plugins文件夹在哪?右键桌面上 Zend Studio 图标,选择属性如果覆盖了还要输入注册...原创 2019-01-09 23:16:12 · 7946 阅读 · 6 评论 -
9-4. php图像处理(拷贝、缩放、裁剪)
图像裁剪代码实现(等大小裁剪)<?phpheader('Content-type:image/jpeg');$img=imagecreatefromjpeg('images/hai.jpg');$img1=imagecreatetruecolor(500, 500);imagecopyresampled($img1, $img, 100, 100, 0, 0, 200, 2...原创 2019-01-08 17:39:02 · 525 阅读 · 0 评论 -
9-3. PHP图像水印
给图片加文字水印<?phpheader('Content-type:image/jpeg');$img=imagecreatefromjpeg('images/lzs.jpg');$color=imagecolorallocate($img, 209, 224, 239);$width=imagesx($img);$height=imagesy($img);// get...原创 2019-01-06 10:40:52 · 1548 阅读 · 0 评论 -
不能错过!PHP中常用输出方式汇总
echoecho是我们在php网页中经常见的,echo函数可以同时输出多个字符,没有返回值, echo 输出的字符串可以用双引号也可以用单引号,但是两者有区别<?phpheader("Content-type: text/html; charset=utf-8"); //解决中文乱码echo "I love China","你好世界!";?>printphp中...原创 2019-01-02 08:21:30 · 338 阅读 · 0 评论 -
9-2. PHP图像验证码
<?phpheader('Content-type:image/jpeg'); $width=120;$height=40;$element=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');$strin...原创 2019-01-01 12:31:56 · 447 阅读 · 0 评论 -
9-1. PHP创建图像步骤
php不仅可以处理文本数据,还可以创建不同的动态图像,比如GIF等注:在php中可以通过GD扩展库实现对图像的处理,不仅可以创建图像而且可以处理已有图像创建图像 绘制图像 生成图像 释放资源 图形验证码 水印 缩放与裁剪在php中通过GD库处理图像的操作都是在内存中处理,操作完成以后再以文件流的方式输出到浏览器或保存在服务器的磁盘中创建图像的4个步骤创建图像...原创 2018-12-31 16:37:48 · 783 阅读 · 0 评论 -
8-1. PHP日期与时间常用函数
设置时区默认的时区是UTC!data_default_timezone_set('Asia/Shanghai');获取当前Unix时间戳从Unix纪元(格林威治时间1970年1月1日0时0分0秒)开始到当前的秒数,time( );获取指定时间的Unix时间戳mktime( );如:mktime(0,0,0,10,1,2014);代表返回到2014年10月1日0时...原创 2018-12-31 13:49:37 · 278 阅读 · 0 评论 -
7-2. PHP模式修正符、与正则表达式配合的函数
模式修正符:在正则表达式的定界符之后使用,可以调整正则表达式的解释,扩展正则表达式的匹配、替换等操作时的某些功能,增强正则表达式的处理能力1)i:在和模式进行匹配时不区分大小写$pattern='/test/i';$str='test TEST Test TeSt';var_dump(preg_match_all($pattern,$str,$arr));var_du...原创 2020-03-04 13:40:59 · 189 阅读 · 0 评论 -
7-1. PHP正则表达式、元字符
正则表达式:描述了一些字符串的特征,然后通过这个特征可以配合一些特定的函数来完成对字符串更加复杂的一系列操作,是由普通字符串和特殊字符串组成的一个字符串普通字符(比如a到z)元字符(有特殊功能的字符,比如 *, +,?...)例如: '/a/', a就是普通字符,/是界定符(表示正则表达式的开始或结束)如:$pattern='/test/';$s...原创 2018-12-30 16:01:52 · 149 阅读 · 0 评论 -
6-1. PHP字符串处理常用函数
先看看处理字符串的常用函数去除空格或其他字符函数1. trim()//去除空格$str=' abc ';var_dump($str);var_dump(trim($str));//去除字符$str="abdskwbdwcw";var_dump($str);var_dump(trim($str,'asw'));//ltrim();去除左边//rtrim...原创 2018-12-30 14:52:01 · 289 阅读 · 0 评论