自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GabbyMrH

随记

  • 博客(59)
  • 收藏
  • 关注

原创 Mac Go环境相关配置

Go安装方式有两种:tips:需注意,本人主机的 终端为zsh,如果你的是bash需自己摸索或留言一起探讨。一、下载安装网址:点击进入下载地址运行进行安装后在终端执行go version可查看版本信息,表示安装成功二、Homebrew 安装(推荐)首先更换brew的源阿里源:替换brew.git:cd "$(brew --repo)"git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git

2021-01-07 14:48:37 342

原创 MAC系统的MAMP环境下安装Xdebug

MAC系统MAMP环境为phpstorm安装xdebug一、将phpinfo()输出信息复制粘贴到该网站: https://xdebug.org/wizard;二、按照网站提示将xdebug下载下来;三、进入到下载目录运行:phpize;四、运行:./configure;五、执行:make;六、根据提示拷贝xdebug.so到你所安装php版本存放扩展文件的目录;七、进入/Applications/MAMP/bin/php/php7.3.21/conf/下编辑php.ini;(或其他类似目

2020-10-27 16:07:20 490

原创 MAC系统中mamp pro环境下安装php redis扩展

MAC系统中mamp pro环境下安装php redis扩展首先确保系统中已经安装好了php第一步,检查环境1、检查当前php版本,运行:php -v:如上图显示则表示php环境正常,若不正常则请在MAMP处勾选按钮以在终端启用MAMP环境中的php,当然你也可以自己下载。此处展示为勾选MAMP勾选按钮:2、检查当前已开启扩展,运行php -m即可查看(由于我已经安装,所以此处显示是有的,若未安装则不会显示「redis」):ok,准备就绪。第二步,安装扩展此扩展可以在github

2020-09-18 17:19:31 907

原创 VS code常用开发插件

1、chinese(simplified)简体中文语言包。2、vscode-iconsVsCode中的图标插件,可以控制vscode中的文件管理的树目录显示图标。3、One Dark Pro为 VS Code准备的 One Dark 主题,是 Atom 标志性的主题。4、Path Intellisense在编辑器中输入路径时,会自动补全。5、ESLint用来统一JavaS...

2019-05-23 10:19:31 484 1

javascript 编程技巧

1、表单提交submit很多用户可能会重复单击表单的提交按钮。在涉及信用卡消费时,这就是个问题:因为会导致费用翻番。为此,最常见的解决方案,就是在第一次单击后就禁用提交按钮。只要侦听submit 事件,并在该事件发生时禁用提交按钮即可。以下就是这样一个例子。//避免多次提交表单EventUtil.addHandler(form, "submit", function(event){ e...

2019-02-15 11:12:15 162

原创 JavaScript DOM(文档对象模型)

DOM(文档对象模型)是针对HTML 和XML 文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。注意,IE 中的所有DOM 对象都是以COM 对象的形式实现的。这意味着IE 中的DOM 对象与原生JavaScript 对象的行为或活动特点并不一致。一、节点层次DOM 可以将任何HTML 或XML 文档描绘成一个由多层节点...

2019-01-28 18:05:16 181

原创 JavaScript客户端检测

检测Web 客户端的手段很多,而且各有利弊。但最重要的还是要知道,不到万不得已,就不要使用客户端检测。只要能找到更通用的方法,就应该优先采用更通用的方法。一言以蔽之,先设计最通用的方案,然后再使用特定于浏览器的技术增强该方案。一、能力检测最常用也最为人们广泛接受的客户端检测形式是能力检测(又称特性检测)。能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力。能力检测的基本模式如下:i...

2019-01-23 17:51:04 197

原创 BOM(浏览器对象模型)详解

一、window 对象BOM 的核心对象是window,它表示浏览器的一个实例。1.1 全局作用域由于window 对象同时扮演着ECMAScript 中Global 对象的角色,因此所有在全局作用域中声明的变量、函数都会变成window 对象的属性和方法。如:function sayAge(){alert(this.age);}alert(window.age); //29sa...

2019-01-21 17:51:19 890

原创 MySQL--组合查询

UNION查询即组合查询,是将多条SQL语句进行组合而来。因为在某些时候,一条SQL语句无法满足所有条件,所以采用组合查询来解决。 有两种情况需要组合查询: 1、在单个查询中,需要返回两张类似或相同表数据组合在一个结果集里; 2、对单张表中,无法用一条SQL语句满足多种要求的查询。使用单张表举例,一般来说单表查询在大部分情况下都可以使用AND、OR、NOT等关键字代替。SELEC...

2018-08-07 14:47:30 853

原创 MySQL--高级查询

GROUP BY当需要进行分组统计数据的时候,比如语文班、数学班、英语班每个班所有学生的成绩总和,我们需要创建think_student表,字段为:id、class、student、score。通过新增语句新增如下六条数据填充:INSERT INTO 'think_student' VALUES('1','语文班','张三','80');INSERT INTO 'think_st...

2018-08-07 14:17:47 113

原创 MySQL--外键及数据完整性

外键概述MySQL中的InnoDB存储引擎是支持外键的,传统引擎的不支持。外键是把一个表中的索引列与另一个表中的索引列关联起来,以实现同步操作的目的,也是保证了数据的完整性一般实现外键需要两张或以上的表:主表和从表,比如主表为班级表,从表为学生表,每个学生都在指定的班级里,那么主表的ID和从表的class_id就形成了关联,而class_id就是我们所说的外键。外键模式外键有两...

2018-08-07 12:38:03 738

原创 MySQL--索引

索引概述索引本质上是表字段的有序子集,它是提高查询速度最有效的方法。而索引即目录。 MyISAM引擎是将数据行放在数据文件里,索引值存放在索引文件里。InnoDB引擎它是索引也是排好序的数组,但它的数据行与索引值存放在同一个文件里。索引种类一般有四种索引: 1、普通索引(Index),用于提示查询效率; 2、唯一索引(Unique),除了提升查询效率还要求字段值不得重复;...

2018-08-07 11:09:06 100

原创 ThinkPHP--调试模式

调试模式//入口文件处,开启调试模式。define('APP_DEBUG',true);调试模式在开发中开启的优势有: 1、开启日志记录,任何错误和调试信息都会详细记录; 2、关闭模板缓存,模板修改可以及时生效; 3、记录SQL日志,方便分析SQL; 4、关闭字段缓存,数据表字段修改受缓存影响; 5、严格检查文件大小写,帮助提前发现Linux部署问题; 6、通过页面Tra...

2018-07-27 16:50:55 494

原创 ThinkPHP--缓存处理

数据缓存TP中有专门处理缓存的类:Cache.class.php。我们使用的时候不需要直接声明它,直接使用一个大S()方法即可。系统目前已经支持的缓存类型包括:Apachenote、Apc、Db、Eaccelerator、File、Memcache、Redis、Shmop、Sqlite、Wincache、Xcache。如果不初始化。会默认使用File文件缓存。初始化的方法为:S(a...

2018-07-27 16:30:42 424

原创 ThinkPHP--关联模型

关联模型可以非常简便的操作多种关联表的增、删、查、改。模型简介关联模型,一共有三种模式。 一对一:ONE_TO_ONE,包括HAS_ONE和BELONGS_TO; 一对多:ONE_TO_MANY,包括HAS_MANY和BELONGS_TO; 多对多:MANY_TO_MANY. 用表关系来理解这三种模式: 一对一:用户表和身份证表,一个用户只能对应一个身份证,而一个身份证只能对...

2018-07-27 13:59:14 215

原创 ThinkPHP--auth权限控制

权限介绍权限控制,多用于管理后台上使用。比如:超级管理员(全局控制权)、认证专员(只能给会员做认证操作)、审核专员(只能操作内容的审核、删除、加精等操作)等以此类推。TP内置了一个Auth.class.php类来实现权限控制。该类提供了三个表:think_auth_rule(认证规则表)、think_auth_group(用户组表)、think_auth_group_access(用户和组对应...

2018-07-27 13:21:03 2776

原创 ThinkPHP--多语言

系统信息TP内置多语言支持。任何字符串形式的输出,都可以定义语言常量。 要启用多语言功能,需要配置开启多语言行为,在应用配置目录中://在应用模块application下Common/Conf建立tags.php并写入以下代码用于检测多语言return array( 'app_begin'=>array('Behavior\CheckLangBehavior'),);...

2018-07-26 13:49:32 688

原创 ThinkPHP--文件上传

文件上传功能,即Upload.class.php。上传类可以提供单个文件上传、多个文件上传等方式。上传表单//上传单个文件的表单模式<form action="__CONTROLLER__/upload" enctype="multipart/form-data" method="post"><input type="text" name="name&quo

2018-07-26 13:20:20 1446

原创 ThinkPHP--验证码

TP的验证码,即Verify.class.php,此验证码可以支持验证码的生成和验证功能。生成验证码//实例化验证码类$verify = new Verify();//生成一个验证码图形$verify->entry();PS:生成的验证码会将信息保存在session中,可以使用print_r($_SESSION)来查看。如果想生成多个验证码,可以传递数字参数即...

2018-07-26 12:26:51 183

原创 ThinkPHP--图像处理

TP的图像处理功能,即Image.class.php。支持GD库和Imagick库,包括对GIF图像处理的支持。实例化类库//实例化图像处理类,默认为GD库//顶部如果没有自动加载use Think\Image 的话需要手动加上。$image = new Image();//采用Imageick扩展库,默认没安装$image = new Image(Image::IM...

2018-07-25 18:14:45 838

原创 ThinkPHP--Session和Cookie

Session系统提供了Session管理和操作的完善支持,只需通过session() 函数完成,该函数可以完成Session的设置、获取、删除和管理操作。一般来说,在TP中不需要手动初始化session,系统会自动初始化(也就是下表)。参数名说明idsession_id值namesession_name值pathsession_save_path值...

2018-07-25 17:26:41 668

原创 ThinkPHP--控制器

控制器常见控制器就不去赘述了。 比如,UserController.class.php类。它是对外公开可访问的。我们可以成为访问控制器。那么很多时候,由于项目业务的 高度繁杂,我们可能希望把很多业务分离到另外的层结构,比如事件控制器层,那可以: 第一步、在HOME目录下创建事件控制器目录:Event; 第二部、创建UserEvent.class.php类;//是否继承...

2018-07-23 20:09:06 193

原创 ThinkPHP--内置标签

内置标签,就是TP框架模板引擎提供的一组可以完成控制、循环和判断功能的类似HTML语法的标签。判断比较TP内置了IF标签用于在模板中进行条件判断。//IF语句的完整格式<if condition="$user eq '张三'"> 三 <elseif condition="$user eq '李四'&amp

2018-07-20 14:02:49 177

原创 ThinkPHP--模板基础

视图是MVC中的V层,而模板是将视图里要展现的数据进行解析编译的功能。TP框架内置了一个基于XML的模板引擎ThinkTemplate,使用动态编译和缓存技术,支持自定义标签库。变量输出在模板中输出变量是非常容易的,使用assign()方法,以键值对的方式传递变量和值。//给模板传递一个变量$user = '某某某';$this->assign('user',$user)...

2018-07-17 14:04:26 260

原创 ThinkPHP--视图

视图即web可见内容,一般是HTML页面,属于MVC中的V。模板的定义模板在使用之前需要一定的设置才能方便开发者使用。默认的模板文件定义规则是: 视图目录/[模板主题/]控制器名/操作名+模板后缀第一步:在User控制器模板执行一条语句://渲染模板输出$this->display();在没有进行任何定义ID情况下,会自动报错,错误信息可能是: 模板不存在:...

2018-07-17 13:17:39 318

原创 ThinkPHP--自动完成

自动完成即对用户提交的数据进行处理,比如:加前缀后缀、去除HTML标记,编号…等等。使用create()方法创建数据是会自动完成的。完成规则自动完成一般通过默认字段写入、安全字段过滤以及业务逻辑的自动处理。有两种方式实现自动完成规则: 1、静态方式:在模型类里通过$_auto属性定义处理规则; 2、动态方式:使用模型类的auto方法动态创建自动处理规则。//完成规则array...

2018-07-17 12:35:04 241

原创 ThinkPHP--自动验证

一、验证规则1、验证规则数据验证可以对表单中的字段进行非法验证操作。一般提供了两种验证方式:静态定义($_validate属性)和动态验证(validate()方法)。//验证规则array{ array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), ...

2018-06-27 18:09:19 908

原创 ThinkPHP--CURD操作

一、数据创建在数据库添加等操作前,首先需要对数据进行创建(也就是接受提交过了的数据,比如表单的POST),接收数据后才可以对其进行验证、完成、生产等工作。 比如:$user = M('User');var_dump($user->create());这的create()方法就是数据创建,数据创建的结果是提交的POST数据的键值对。 注意:提交过来的字段和数据表字段是对应的...

2018-06-20 18:04:23 389

原创 网易免费域名邮箱设置foxmail客户端登录

一、新建邮箱账号地址:http://www.foxmail.com/ 1、下载完成,安装好之后会出现登录设置,输入在网易域名邮箱处已经使用的用户名和密码,比如:[email protected]、123456; 2、接收服务类型选POP3; 3、邮件账户和密码填您域名邮箱的账号和密码; 4、POP服务器填:pop.ym.163.com; 5、SMTP服务器填:smtp.ym.163.com;...

2018-05-29 15:45:20 63993

原创 网易免费企业(域名)邮箱注册及验证

注册域名可以选择任何域名服务商进行注册,这里选择的是godady。当然阿里云也是一样的。 详细步骤这里就省略了,一般就是几步: 1、在域名搜索框输入你想注册的域名,看看有没有合适的(这里建议用.com或者.net和.cn结尾的域名,还需要注意的是在国内的域名服务商购买的域名需要对域名进行实名认证,要不然是不能进行很多操作的,还有一点是:.cn结尾的域名需要进行备案才能使用,由于比较麻烦,这...

2018-05-02 11:10:44 29828

原创 ThinkPHP--SQL查询语句

查询方式tp提供了三种基本查询方式:字符串查询、索引数组条件查询和对象查询。多数情况下对提交使用索引数组查询和对象查询作为查询条件,因为会更加安全。 基于UserController.class.php文件字符串作为条件查询<?phpnamespace Home\Controller;use Think\Controller;class UserController ...

2018-04-08 21:19:26 226

原创 ThinkPHP--模型基础

创建数据库首先,新建一个名为thinkphp的数据库,里面新建一张表,名为think_user。字段有:id、user、email、date。ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作。无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。目前支持:MySQL(包含MySQLI)、sqlserve...

2018-04-08 19:36:09 146

原创 ThinkPHP--安装与配置和URL

安装从官网下载放入需要使用的网站位置。然后输入测试域名即可,比如localhost目录结构整体目录:www WEB部署目录(或者子目录)├─index.php 入口文件├─README.md README文件├─Application 应用目录├─Public 资源文件目录└─ThinkPHP 框架目录...

2018-04-08 18:13:13 379

原创 $ajax()提交例子

需要的文件有:index.html、test.php、test.js、jquery-1.12.4.min.js index.html文件:<!DOCTYPE html><html lang="en"><head> <script type="text/javascript" src="js/jquery-1.12.4.min.js"&

2018-04-04 20:57:08 194

原创 使用MySQLi操作数据库

建立和断开连接创建一个mysqli的对象:$_mysqli = new mysqli();连接MySQL的主机、用户、密码、数据库$_mysqli->connect('localhost','root','root','test');创建带连接参数的mysqli对象$_mysqli = new mysqli('localhost','root','root...

2018-04-04 13:05:17 966

原创 PHP创建与解析XML

定界符:<<<EOF......EOF 用于存放复杂,多样化的字符串。<<<EOF <a href="javascript:edit('asd', 'aaa')">编辑</a> | <font color="#ccc">删除</font> &

2018-04-03 19:56:24 840

转载 面向对象的工具

OOP的魔术方法PHP通过类和方法等语言结构支持面向对象的编程。同时也通过对象相关的函数和内置类为面向对象提供广泛支持__autoload()自动加载类方法常规引入类文件的问题 1.如果要包含多个类文件,是不是全都引入? 2.引入多个类文件,如果有些用不到,就会产生浪费 3.引入了类文件,可能会遗漏,比如说,创建一个对象,而这个对象的类文件没有导入。就会产生错误 PHP引入...

2018-04-03 18:07:24 752

原创 面向对象的特性

面向对象三大特性:封装、继承、多态。OOP封装隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。成员字段的作用域:1、public 公共的(类外可以访问) 2、private 私有的(类内可以访问) 3、pro...

2018-04-03 17:35:09 84

原创 面向对象基础

面向过程与面向对象面向过程:举例:假如你是公司内一名员工,今天又个任务需要在公司组装一批电脑,那你就需要采购、讨价还价、运输回公司、开始组装、布线网络、调试机器、完成。也就是说,面向过程就是具体化的实现,细节明确。面向对象:假如你是公司总裁,你布置给一名员工组装一批电脑的任务。完毕。也就是。面向对象就是抽象化的执行,具体还是由那名员工来完成。而细节方面,总裁不需要去考虑...

2018-04-03 13:43:37 94

原创 MySQL数据库

在mysql数据库命令行处: 显示当前数据库版本号和日期: SELECT VERSION(),CURRENT_DATE();字符串类型: CHAR:定长类型(一般用于性别,密码等),访问速度快; VARCHAR:可变长度类型;备注型: TINYTEXT:最大长度255字符; TEXT:最大长度65535个字符; MEDIUMTEXT:最大长度16777215字符; LONG...

2018-04-02 18:01:29 101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除