- 博客(41)
- 资源 (5)
- 收藏
- 关注
原创 重写父类方法和
在子类中编写方法名和父类中方法名完全一致的方法,可以完成对父类方法重写。overwrite重写添加final关键字在父类方法最前面(final public function test(){}),则这个方法不能被重写。在类的最前面使用final关键字,则该类不能被继承。(final class car{})...
2018-10-11 22:38:01 689
原创 php面试题总汇
概述简答题1. 表单中get和post提交方式的区别?答:get通过url传递参数,从服务器获取数据;post通过http协议提交form表单,向服务器提交数据。get传输的数据量较小,最大2kb;post没有限制。安全性post较高。2. 单引号和双引号的区别答:对变量的解析不同:单引号字符串中出现的变量不会被变量值替代。即PHP不会解析单引号中的变量,而是将变量名原样输出。双引号字...
2018-09-27 22:07:26 728
原创 php编程的api接口化编程看法
使用php开发的web项目,现在一般情况会使用mvc的开发模式,由于终端有pc,移动端等不同的需求,需要实现 开发出一个系统 可以在不同终端中都可以使用,这样一来就必须使用接口化编程。**什么是接口化编程?**在这里,首先说明一下,接口化编程 是一种 架构设计模式,是一种 规则。与php或java中的定义的接口interface是不同的概念。接口化编程 是将 前台服务 和 后台服务 彻底的分...
2018-09-27 21:29:27 283
原创 数据库 锁的使用
表级锁: 分类一:读锁lock table student read;#读锁可执行:select*from student;等待解锁:当前不能执行insert,update,delete操作unlock tables;#解锁解锁后才可以执行insert 操作,update,delete当我们执行锁表,使用read 读锁,则,在解锁之前,student表都只能读取,即只能执行s...
2018-09-16 21:01:37 2281
原创 navicat for mysql 对事务的操作
数据表 student 表teacher 课程表course 成绩表sc 首先,开始一个事务。START transaction ;第一个sql语句:二班 转学生 殷离 和 曾啊牛 添加学生信息到student表: ‘殷离’,’女’,’18’,’二班’ 和 ‘曾阿牛’,’男’,’10’,’二班’INSERT into student (Sname,Ssex...
2018-09-16 17:15:05 35778 1
原创 分布式部署 是怎么一回事?
先说说,什么是集群: 集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。 总结一下: 一般的web程序,是部署在一个服务器上面的,比如博客程序部署在一个Apache服务器,集群就是将这个博客程序在多个服务器上部署,通过中间件来访问服务器。 将用户的状态信息,附件,session等存储在第三方云服务器中,如阿里云,新浪云,腾讯云存储服务器等。...
2018-09-10 22:50:14 4208 1
原创 索引
索引是一种对数据库表中一列或多列的值进行排序的一种数据存储结构。 需要占用磁盘空间。 类型:普通索引,唯一索引,主键索引,复合索引,聚族索引。 唯一索引:不允许具有索引值相同的行,即每一行数据的索引的值唯一。 复合索引:对多列添加一个索引。 复合索引遵循最左原则,即创建复合索引时的第一个字段。...
2018-09-07 23:27:20 5843
原创 php的构造函数和析构函数
PHP5可以在类中使用__construct()定义一个构造函数,具有构造函数的类,会在每次对象创建的时候调用该函数,因此常用来在对象创建的时候进行一些初始化工作。class Car { function __construct() { print "构造函数被调用\n"; }}$car = new Car(); //实例化的时候 会自动调用构造函数__co...
2018-09-07 22:00:12 1852
原创 php的权限修饰符
public 共有的;权限范围最大,所有都可以访问 protected 受保护的,继承的,权限第二,只能类自身和类的自类可以访问 private 私有的,被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。说明:权限修饰符作用: 用来说明 属性/方法的权限特点写在 属性/方法前面共有3个权限修饰符private 私有的 , 保护的最...
2018-09-07 21:51:38 531
原创 MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
优化应该不仅仅是数据库方面 使用高性能的服务器 多使用缓存 页面服务器、数据库服务器、图片服务器、上传下载服务器分离 数据库集群,表分割(水平分割和垂直分割)和表散列 负载均衡 重视每个代码开发细节,特别是大循环,多请求和SQL语句复杂的时候1.代码要干净 2.数据库要分表,可以1个月数据存储一张表: 3.读写分离:写入用一台服务器,然后同步到另外的服务器进行读出。 4.如果...
2018-09-07 21:03:32 2324
原创 对于大流量的网站,采用什么方法解决访问量问题
1、硬件方面 普通的一个p4的服务器每天最多能支持大约10万左右的IP,主要影响服务器的速度有:网络-硬盘读写速度-内存大小-cpu处理速度。2、软件方面 静态页面 前台实现完全的静态化当然最好,可以完全不用访问数据库数据库优化 表字段优化 语句优化 索引优化 分库分表 读写分离3、禁止外部的盗链 外部盗链往往会加大服务器的请求和流量的负载压力,因此应该严格限制外部对...
2018-09-07 21:01:38 2162
原创 php中常量的定义:define和const
在类的外边第一常量:使用关键字define来定义常量。//在类外面通常这样定义常量define("PHP","phpddt.com");在类中,不能使用define,而是使用const来定义常量。class MyClass{ //常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号 const constant = 'constant value'...
2018-09-07 20:50:25 1793
原创 什么事抽象类和接口?有什么区别?
答案:抽象类:它是一种特殊的,不能被实例化的类,只能作为其他类的父类使用。使用abstract关键字声明。 它是一种特殊的抽象类,也是一个特殊的类,使用interface声明。 (1)抽象类的操作通过继承关键字extends实现,而接口的使用是通过implements关键字来实现。 (2)抽象类中有数据成员,可以实现数据的封装,但是接口没有数据成员。 (3)抽象类中可以有构造方法,但是接口...
2018-09-07 19:55:59 231
原创 php的8个魔术常量
LINE 文件中的当前行号。 FILE 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,FILE 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。 DIR 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(FILE)。除非是根目录,否则目录中名...
2018-09-06 23:12:02 296
转载 php的魔术函数(魔术方法)
__construct(),类的构造函数 __destruct(),类的析构函数 __call(),在对象中调用一个不可访问方法时调用 __callStatic(),用静态方式中调用一个不可访问方法时调用 __get(),获得一个类的成员变量时调用 __set(),设置一个类的成员变量时调用 __isset(),当对不可访问属性调用isset()或empty()时调用 __unset...
2018-09-06 23:04:32 1049
原创 php的垃圾回收机制(gc)
是的,平时经常听到大牛说到的gc,就是垃圾回收器,全称Garbage Collection。 php引用计数基本知识点 每个php变量存在一个叫“zval”的变量容器中。一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是”is_ref”,是个bool值,用来标识这个变量是否是属于引用集合(reference set)。通过这个字节,php引擎才能把普通变量和引用变...
2018-09-06 22:39:41 603
原创 时间函数
Date(‘Y-m-d H:i:s’,time())格式化一个当地时间 time()当前时间戳 mktime()将时间转化为时间戳 strtotime()将英文描述的日期时间,转换为时间戳 date_default_timezone_set()设置默认时区 Date_default_timezone_get()获取默认时区...
2018-09-06 21:00:15 184
原创 php的一些函数
phpinfo(‘php定义的常量’) 输出关于 PHP 配置的信息。 phpversion()获取当前的PHP版本。 dir(path)打开path目录文件。 fopen(path,method)打开文件或者url,method为打开方式(只读或读写等…)。成功时返回文件指针资源。 fclose()关闭一个一打开的文件指针。 file(filename) 把整个文件读入一个数组中。 ...
2018-09-06 19:40:25 167
原创 php常用的数组函数
创建数组: array()新建数组 array_combine(key,key,key,val)创建以个新数组,将给定的一个数组的值做为key,将另一个数组的值做为value array_reverse(array)将原数组倒序排列,返回倒序的数组 array_flip(array)将原数组的键值对互换,并返回互换的新数组。(重复的值,会覆盖前面的值)。 compact(“变量名1”,”...
2018-09-05 23:35:46 165
转载 什么是迭代?
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。 重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法*求某一数学问题的解。 对计算机特定程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中...
2018-09-05 21:45:17 41184
原创 递归 recursion
什么是递归?递归即程序调用自身的变成技巧成为递归。 我的理解:递归就是程序调用自身不断深入嵌套,直到满足条件退出的一种算法 eg: 阶乘: public function Factorial( $n) { if ($n == 0){ //限制条件,对该方法调用自己做了限制 return 1; }else{ ...
2018-09-05 21:16:18 186
原创 静态变量static
静态变量: 静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束后会释放 ,比如局部变量,但是静态变量却不会。就是说,下次再调用这个函数的时候,该变量的值会保留下来。 所有的全局变量都是静态变量,而局部变量只有定义时加上类型修饰符static,才为局部静态变量。 静态变量并不是说其就不能改变值,不能改变值的量叫常量。 其拥有的值是可变的 ,而且...
2018-09-05 21:09:07 2822 3
转载 大型网站 + 静态页面
一、大型网站的判断 Pv(page visitor), uv(unique visitor), 独立的ip二、大型网站带来的问题 大的访问量,大流量,海量的数据存储三、大访问量的解决方案 采用分层架构,负载均衡的方式(软件:lvs/nginx,硬件:f5-bigip)负载均衡的策略:1)轮询:负载均衡器把请求轮流转发给web服务器2)最少链接:负载均衡把请求转发给最空闲的...
2018-09-04 23:14:13 1477
转载 php api接口化编程
1.简述:api接口开发,其实和平时开发逻辑差不多;但是也有略微差异;平时使用mvc开发网站的思路一般是都 由控制器 去 调用模型,模型返回数据,再由控制器把数据放到视图中,展现给用户;api开发是:使用控制器 去调用模型,模型返回数据,在有控制器 输出 json格式字符串 或者 XML 字符串;2.逻辑代码:微型mvc结构 :controller 控制器,modal 模型,v...
2018-09-04 23:07:24 770
原创 php的三大流程控制:顺序、分支、循环
顺序流程控制:这个是自动的,不加任何控制的流程。 分支流程控制: 单分支 if: 所谓分支控制,就是代码中有了判断的逻辑,根据这个判断的真假来执行不通的代码 if(判断条件){ 语句块 } 双分支:if…else If…else 基本语法 If(表达式){ //语句块 }else{ //语句块 } 多分支:if.()..elseif()…else ...
2018-09-04 23:02:09 1524
原创 主键、外键
主关键字:(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。 外键:一个表中的主键,用于另一个表中的关系字段(联系两个表)。 理解:在关系数据表中,每一行数据都有很多属性(字段),当这个属性(字段)在另一张表中作为主键,则,这个属性名(字段名)就是当前表的外键。 主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。主键和外键的设计对物理数据库的性能和...
2018-09-04 22:18:03 599
原创 php中this、self和parent的用法
在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变...
2018-09-04 21:36:02 538
原创 对于mvc设计模式的个人看法
字面含义:m model模型层,v view 视图层 ,c controller 控制器层。 简单来说,就是一种将 view视图界面, model业务逻辑处理 , 交互控制controller 这些程序代码,强制的分离开来。 这样一来,一个web项目,可以分成不同的模块,分配给程序员编写,提高了开发效率。 V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者...
2018-09-04 20:28:08 1386
原创 php的 9个超全局变量
$GLOBALS引用全局作用域中可用的全部变量$_SERVER获取服务器信息$_REQUEST获取请求$_POST获取post请求数据$_GET获取get请求数据$_FILES存储各种与上传文件有关的信息$_ENV只是被动的接受服务器端的环境变量并把它们转换为数组元素$_COOKIE获取cookie数据$_SESSION获取session数据注意:超全局变量,均为php预定义的...
2018-09-03 23:48:06 219
原创 mysql的事务
什么是事务? 事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。(理解:多个数据操作放在一个执行单元的一组有序的数据操作。事务中的每一个数据库操作都成功,则事务成功,如果有一个操作失败,则事务回滚,返回到事务执行之前的状态,数据库保持原样。) 事务确保了数据库的完整性。 特性:原子性、一致性、隔离性、持久性。 原子性: 事务必须是原子工作单元...
2018-09-03 23:36:38 111
原创 谈谈关于 mysql数据库的查询都有哪些?分别使用场景?注意事项。。。
mysql的查询有哪些?单表查询: 查询全部字段数据:select * from tablename; 查询某字段(一列)的值:select column_name from tablename; where条件查询:select column_name frome tablename where 表达式(查询条件,eg:id=1) 多表查询: 联合查询,连接查询(内连接,左外连接,...
2018-09-03 22:36:12 1300
原创 个人对于 运算符 ++ 和 -- 的一些理解。
$a = 3;$b = $a++;//$b的值为3$c = 5;$d = ++$c;//$d的值为6说明:$a++,是先执行表达式,后自加;++$a是先自加,在执行表达式程序在代码中的执行情况:$a++ ++$a ...
2018-09-03 21:58:34 188
原创 对于版本控制软件Git + sourcetree 的使用。
首先下载安装sourcetree: 下载sourcetree 软件,安装。 https://pc.qq.com/detail/17/detail_23237.html 下一步: 注册一个github远程仓库账号 https://github.com 登陆远程仓库 下一步创建仓库 ...
2018-09-03 21:21:17 242
转载 php ---处理从mysql查询的数据(结果集)
使用php的mysql,向mysql查询,返回的是一个资源,有4个函数可以进行处理。1.mysql_fetch_row()2.mysql_fetch_assoc()3.mysql_fetch_array()4.mysql_fetch_object()1.mysql_fetch_row():返回一个索引数组,即从返回值你不能知道列(字段)名称,它只记录第几个字段的值是什么2....
2018-09-03 21:01:15 6070
原创 常用的字符串函数
转义2: Addcslashes()返回在指定的字符钱添加反斜杠的字符串 Addslashes()返回在预定义的字符前添加反斜杠的字符串 时间1: Strtotime()将任何英文文本的日期时间描述转换为时间戳查找位置6: strstr()查找字符串首次的位置,返回从该位置到尾部的所有字符 strrchr()查找字符串最后出现的位置,返回从该位置到尾部的所有字符 Strpos(...
2018-09-02 23:15:33 200
原创 include、include_once、require、和require_once的使用区别
相同作用:都是用于包含文件。 区别: 运行位置不同:require写在脚本的最前端,在脚本执行之前,包含文件。 include 用于需要包含文件时 的位置,在脚本执行的过程中,包含文件。 使用次数不同:require只执行一次,包含文件。 include每当程序运行到该位置时,就运行一次,包含文件。 报错级别不同:require在包含文件不存在时,会报致命错误,并且终止程序。 inc...
2018-09-02 22:52:12 180
原创 echo、print、print_r和vardump 之间的区别
echo是php的语言结构,可以同时输出多个变量(或字符串),echo()时,没有返回值。 print 手册中将他作为 语言结构,可以不使用(),只能输出一个变量(或字符串),又返回值为1。 print_r()是函数,用于格式化输出数组的结构。 var_dump()函数,用于输出变量的类型、长度(大小)、变量的值。...
2018-09-02 22:41:13 1648
原创 session的实现机制?session的生命周期设置?session和cookie的区别?
session的实现机制: 我的理解是这样的,用户在登陆时,向服务器发送请求,服务器处理请求,session_start()开启session,将用户信息存储在session中,并生成一个session_id,将session_id发送给客户端,客户端将session_id存储在cookie中,当用户再次发送请求时,客户端会将cookie中的session_id一同发送给服务器,服务器处理请求。...
2018-09-02 22:31:33 2762 1
原创 php中 表单的提交数据方式 get和post有什么区别?
get 请求 是通过url来实现,从服务器获取数据的,数据大小有限制,最大为 2kb。post请求 是通过form表单 来实现,向服务器发送数据的,数据大小没有限制。get请求在url可见,安全性低,post安全性高。使用场景:post主要用于向服务器提交数据,一般情况下都会使用。 get 一般使用与 百度这类搜索引擎...
2018-09-02 22:09:25 1369
原创 php中单引号和双引号的区别?
单引号:不解析变量,直接输出变量名。 双引号:判断引号中是否有变量,并解析变量,将变量的值输出 单引号:只转义单引号 ” 和 \ ; 双引号:可以转义大量的特殊符号。单引号的运行速度要高于上引号...
2018-09-02 21:59:30 408
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人