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