- 博客(182)
- 资源 (5)
- 收藏
- 关注
原创 TP3.2前后台部署
学习框架,前后台部署是非常必要的一步,虽然只是简单的几步,但对于初学者还是有一定的阻塞,下面LZ将对TP3.2的前后台部署进行详细的讲述。
2017-12-02 21:13:43 2458
转载 PowerDesigner 16.5 显示右侧工具箱
16.5版本中,工具箱不见了??怎么让显示呢。下边几步轻松搞定!!1、打开PowerDesigner软件;2、新建Model或者项目后,发现工具箱不见了;
2017-11-30 17:12:22 4005
转载 PowerDesigner工作区样式设置
1.调整表、视图的显示样式。右键选中的对象,选择format(或ctrl+t),在弹出窗口中选中content,可以设置只显示表名还是把所有列也显示出来。 2.如何显示表中字段的code。tools下选display preferences,选content下的table(或view),点advanced,选columns,点击浏览按钮,选择上code,一路保存回去
2017-11-30 14:32:33 996
转载 2017年PHP程序员未来路在何方
PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js 、 GO 、 Python 不断地在挑战 PHP 的地位。这些技术的推动者非常热衷于唱衰 PHP , PHP 语言的未来在哪里?PHP 程序员当如何应对未来的变革?作为老牌的Web后端编程语言,PHP 在全球市场占有率非常高,仅次于 Java ,从各个招聘网站的
2017-11-21 19:10:50 320
原创 Nginx下TP3.2页面访问404问题
在使用Thinkphp的时候,项目在本地可以正常使用;但迁移到nginx后,会出现页面只能访问首页,其它页面出现404错误的问题。这是因为TP默认采用的是pathinfo的URL访问模式(TP的URL访问模式可在手册中了解),而Nginx默认是没有开启pathinfo模式的,PHP默认也没有开启phpinfo的配置,所以访问时会出现404错误页面!!!
2017-11-13 15:49:36 8412
转载 一致性哈希算法
首次听到一致性Hash算法,不明白是一个什么样的算法,通过多方查找资料,总算是有了一个基础的了解。特在此处留作笔记,以便后续的学习!学习一个技术,先想是什么场景下会用到这个技术,它解决了什么问题!1--引入一致性hash作为一个负载均衡算法,可以用在分布式缓存、数据库的分库分表等场景中,还可以应用在负载均衡器中作为作为负载均衡算法。在有多台服务器时,对于某个请求资源通过hash
2017-11-11 19:26:49 238
原创 面向对象【OOP】的设计原则
简述五大原则要求与优点1--单一职责原则(SRP)[说明]避免相同的职责分散到不同的类中;避免一个类承担太多职责[优点]1.可以减少类之间的耦合2.提高类的复用性
2017-11-10 21:22:00 263
原创 PHP设计模式---工厂模式
引入工厂模式Factory Method,又称多态性工厂模式。在工厂方法模式中,核心的工厂类不再负责所有的产品的创建,而是将具体创建的工作交给子类去做。该核心类成为一个抽象工厂角色,仅负责给出具体工厂子类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。优点1、简单工厂模式能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。明确区分了各自的职责和权力,有利于整个软件体
2017-11-10 21:04:45 227
原创 购物车功能【CI实现】
在商城项目中,购物车是非常重要的一环,此处留下源码,留作笔记!!!话不多说,往下看:1---源代码<?php defined('BASEPATH') OR exit('No direct script access allowed');class cart extends Home_Controller { private $info = array(); #前台提交数据
2017-11-10 20:50:21 976 1
原创 RBAC权限控制【TP3.2实现】
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有多个角色,每一个角色拥有多个权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。
2017-11-10 20:32:01 2479
原创 setcookie刷新后才生效问题
引入最近遇到cookie在本页面设置后,当前页面无法获取的问题,通过学习了解到cookie的生成流程,终于让LZ了解到其中的原因。下面讲述setcookie刷新后生效的原因。实验首先,设置一个Cookie<?php setcookie('a','aaa',time()+3600,'/'); echo $_COOKIE['a']; ?> 下面我们来看看,当首次(当前页面)访
2017-11-10 20:01:43 10795
原创 开启nginx目录文件列表显示功能
正常访问nginx的时,显示nginx欢迎页,也就是我们目录首页(/nginx/html/index.html文件),不会显示项目目录列表,这对于本人代码也起到一定的保护作用;但我们在开发阶段为了快速浏览列表,可设置目录列表的【显示】那么重要的时刻到了-----在nginx.conf主配置文件中http或location代码段中,配置一段代码即可实现:http { include
2017-11-09 21:23:14 3070
原创 版本控制之Git---错误总结
①--windows使用git时出现:warning: LF will be replaced by CRLF[plain] view plain copy$ rm -rf .git // 删除.git $ git config --global core.autocrlf false //禁用自动转换 然后重新执
2017-11-04 18:09:52 302
原创 版本控制之Git---命令总结
查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- # 抛弃工作区修改git co . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区
2017-11-04 18:01:57 184
原创 版本控制之Git---脚本提交
由于每次都要进行add、commit、push操作,太过于繁琐,我们可以做一个脚本进行提交1、在项目根目录创建脚本 设置脚本内容: 2、设置可执行权限 3、提交测试 下面附带百度搜来的Git基本命令
2017-11-04 17:51:28 637
原创 版本控制之Git---远程仓库(码云)
git远程仓库并不是必须的,如果只是一个人作为自由工作者,这个时候完全可以建立本地仓库进行代码的管理、但是一般建立一个方便彼此之间沟通,如果是要做某个开源项目,这个时候git是最好的选择。远程仓库,不得不提的是github,github是一个web版本的版本仓库平台,主要是做开源项目的代码托管。【也可以建立私有项目,不开源、内部使用,需要花钱】github是互联网上一个免费的git
2017-11-04 17:26:09 3639
原创 版本控制之Git---安装及基本操作
在Windows上安装GitWindows下要使用很多Linux/Unix的工具时,需要Cygwin这样的模拟环境,Git也一样。Cygwin的安装和配置都比较复杂,就不建议你折腾了。不过,有高人已经把模拟环境和Git都打包好了,名叫msysgit,只需要下载一个单独的exe安装程序.
2017-11-04 16:46:50 336
原创 版本控制之Git---简介
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效、高速的处理从很小到非常大的项目版本管理。是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
2017-11-04 15:45:04 294
原创 ThinkPHP3.2/ThinkPHP5对比
TP5与TP3.X对比首先声明本章节并非是指导升级旧的项目到5.0,而是为了使用3.X版本的开发者更快的熟悉并上手这个全新的版本。同时也强烈建议开发者抛弃之前旧的思维模式,因为5.0是一个全新的颠覆重构版本。需要摒弃的3.X旧思想URL的变动首先对3.X的不严谨给开发者们带来的不正确的引导表示歉意,在5.0版本正式废除类似/id/1方式 可以通过‘get’获
2017-11-04 10:13:37 3536
原创 PHP自动加载机制[2]---spl_autoload_register操作详解
小的项目,用__autoload()就能实现基本的自动加载了。但是如果一个项目过大,或者需要不同的自动加载来加载不同路径的文件,这个时候__autoload就悲剧了,原因是一个项目中仅能有一个这样的 __autoload() 函数,因为 PHP 不允许函数重名,也就是说你不能声明2个__autoload()函数文件,否则会报致命错误,所以spl_autoload_register()这样又一个牛逼函数诞生了,并且取而代之它。它执行效率更高,更灵活。
2017-11-03 10:34:55 838
原创 PHP自动加载机制[1]---__autoload操作详解
PHP自动加载有两种,一种是__autoload,另外一种是spl_autoload_registed(),以下将对这两种加载机制进行详细讲述。自动加载的原理自动加载就是在我们new(实例化)一个class(类)的时候,PHP系统如果找不到你这个类,就会去自动调用本文件中的__autoload($class_name)方法,我们new的这个class_name 就成为这个方法的参数。所以我
2017-11-03 10:00:02 1030
原创 PHP设计模式---单例模式
今天开始,LZ将开始进行PHP设计模式的学习,首先学习最简单且常用的单例模式!!!什么是单例模式单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。为什么使用单例模式呢使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。单例模式特点(三私一公)私有的构造方法 (防止类外实例化)私有的克隆方法 (防止通过克隆生成
2017-10-30 20:12:24 5547
翻译 HTTP状态代码列表
此处对维基百科的HTTP状态码描述进行翻译,特在此处留作笔记,提供大家查看!!!1XX信息性应答信息响应表明该请求被收到并被理解。它是临时发出的,而请求处理继续。它提醒客户等待最终的回应。该消息仅由状态行和可选的头域组成,并由空行终止。由于HTTP / 1.0标准没有定义任何1xx状态代码,服务器不得[注1]发送1xx响应到符合HTTP / 1.0的客户端,除非在实验条件下
2017-10-30 19:40:18 940
转载 HTTP请求行、请求头、请求体详解
引用学习Web开发不好好学习HTTP报文,将会“打拳不练功,到老一场空”,你花在犯迷糊上的时间比你沉下心来学习HTTP的时间肯定会多很多。HTTP请求报文解剖 HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、O
2017-10-30 19:36:41 317
原创 Ajax无刷新图片上传
最近做聊天项目,由于聊天过程中需要发送图片,采用了Ajax上传图片,以便本页面能够直接使用,特在此处留作笔记,供大家参考。前台Ajax上传<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="...
2017-10-26 10:28:35 1284 1
原创 Cookie的基本概念及设置
在PHP中可以使用setcookie()或setrawcookie()函数设置CookiieCOOKIE使用bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [,
2017-10-20 07:41:39 1363
转载 Workerman WebSocket错误总结1
Error1400 Bad RequestSec-WebSocket-Key not found.This is a WebSocket service and can not be accessed via HTTP.错误原因出现这个错误说明你用http协议去访问了websocket协议的服务。开发者要注意,客户端使用的应用层协议要与服务端的应用
2017-10-09 10:20:31 6200 1
原创 Linux防火墙开放端口号 及 常用端口号详解
一、防火墙开放端口号 开放端口号命令:/sbin/iptables -I INPUT -p tcp --dport 11211 -j ACCEPT保存防火墙修改命令(必须):/etc/rc.d/init.d/iptables save[说明]此处端口号为11211,可对应修改二、各种常见的端口号及
2017-09-29 20:02:49 2234
原创 MySQL授权远程操作
Mysql为了安全性,在默认情况下用户只允许在本地登录,本机之外的远程操作会不可避免的受到权限限制,无法进行连接操作。对此我们需要进行授权操作,以便远程连接进行操作。允许root用户在任何地方进行远程登录,对所有库拥有操作权限本机利用用户名、密码进入mysql:mysql -u root -p"mypassword" 进行授权操作:m
2017-09-29 19:27:30 288
原创 微信公众平台开发[http、https访问问题]
为保证第三方服务器与微信服务器之间数据传输的安全性,所有微信接口采用https方式调用;由此而引发https验证失败无法调取的问题,这里主要针对此类问题做出分析解答……………
2017-09-25 16:36:01 8511
原创 API接口[详情版]
接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看:Token授权机制:用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验证,如果Token不存在,说明请求无效。时间戳超时机制:用户每次请求都带
2017-09-07 07:57:52 1219 1
原创 奇偶性[位运算判断方法]
程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。这里奇偶性判断采用&符号
2017-09-05 10:07:24 2392
原创 算法详情【插入排序】
一、 直接插入排序思想: 将待排序的记录Ri,插入到已排好序的记录表R1, R2 ,…., Ri-1中,得到一个新的、记录数增加1的有序表。 直到所有的记录都插入完为止。设待排序的记录顺序存放在数组R[1…n]中,在排序的某一时刻,将记录序列分成两部分:◆ R[1…i-1]:已排好序的有序部分;◆ R[i…n]:未排好序的无序部分。显然,在刚开始排序时,R[1]是已经排好
2017-09-03 20:49:53 758
原创 排序的基本概念和分类
一、 排序的定义 排序:排序是将一批无序的记录(数据)重新排列成按关键字有序的记录序列的过程。 二、 排序的分类 排序的分类:排序分为插入排序、选择排序、交换排序、归并排序四大类,详细分类如下图 七大经典排序:冒泡排序 快速排序 选择排序 堆排序 插入排序 希尔排序 合并排序---> 三、排序的稳定性 稳定排序:对于关键字相等
2017-09-03 20:44:21 8868 1
原创 算法详情【选择排序】
一、 简单选择排序1.0为什么要学习简单选择排序 简单选择排序是常用的排序,学习交换排序理解交换排序理念,是对其他排序有力的补充。尤其学过交换排序之后,每趟排序都要进行频繁的交换,如何改进,使用选择排序,每趟只是记住位置,最后才交换,每趟最多交换一次。 1.1简单排序算法的思想 思想:选择最小的记录放在第一个位置,在剩下的记录中选择最小的放在第二个位置,依次类推,直到
2017-09-03 20:33:05 239
原创 算法详解【快速排序】
一、 快速排序1. 为什么要学习快速排序快速排序,世界上公认的最快的排序方法,它每趟都能准确定位不止1个元素!当记录量很大的时候,而且杂乱无序时候,适合使用快速排序,因为每趟可以确定不止一个元素的位置,而且呈指数增加,所以特别快! 你一定想做一个效率高的的人,而不是只是完成任务而已。 所以学习快速排序,有很重要的意义,提高排序的速度,考虑算法的效率,做一个高效的程序员。2. 快速排
2017-09-03 20:19:13 1258
原创 算法详解【冒泡排序】
一、 最简单排序实现为什么要学习冒泡排序?冒泡排序是经典的排序方法,思想简单,操作容易,算法稳定性好。是排序的基础算法,学习它有很大的必要性。思想:相邻记录比较,如果逆序则交换,这样一趟排序会使最大(最小)的记录落到最后,这称之为一趟排序。N个记录需要N-1趟排序。二、 冒泡排序算法<?phpfunction pao_sort($arr){ $a = 0; //判断循
2017-09-03 19:51:27 405
原创 PowerDesigner16.5详细操作【导出SQL语句】
PowerDesigner设计完成表之后,可快速生成并导出SQL语句,对于快速建立数据表拥有很大的帮助。下面演示如何导出SQL语句▶ 第Ⅰ步下面对属性进行编辑,默认直接确认生成SQL语句【若要编辑 请看一下教程】▶ 第Ⅱ步▶ 第Ⅲ步▶ 第Ⅳ步教程完毕!!!
2017-08-27 20:58:30 6650 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人