php
文章平均质量分 86
没刺的仙人掌
热爱编程,热爱coding
展开
-
自学PHP与培训PHP的到底有多大的差距?
从我自己开始学习编程到现在经过八年多的时间,很多人问过我,或者经常听到别人讨论这个话题,结合现在认知,我简单谈一下这个问题。 现在很多招聘的公司,都不太喜欢培训机构出来的学生,认为他们没有工作经验,自学能力不强等等,所以很多培训过的同学去面试可能会受到鄙视。最近呢,大家也知道很多培训机构的学生去找工作已经不写培训经历了,这时候你会发现一个很有意思的现象,当他们选择不说培训过这件原创 2017-05-22 08:48:35 · 766 阅读 · 0 评论 -
UML类图详解
UML类图是一种结构图,用于描述一个系统的静态结构。类图以反映类结构和类之间关系为目的,用以描述软件系统的结构,是一种静态建模方法。类图中的类,与面向对象语言中的类的概念是对应的。1 类结构在类的UML图中,使用长方形描述一个类的主要构成,长方形垂直地分为三层,以此放置类的名称、属性和方法。其中,一般类的类名用正常字体粗体表示,如上图;抽象类名用斜体字粗体,转载 2017-05-24 12:22:09 · 726 阅读 · 0 评论 -
设计模式基础(一)
设计模式的宗旨就是:重用。在面向对象中,类是用于生成对象的代码模版,而设计模式是用于解决共性问题的代码模版。遵循这样的模板,我们可以设快速地设计出优秀的代码。注意,设计模式只是模板,不是具体的代码。它是为了代码复用,增加可维护性。在学习设计模式的时候,有几个概念让我很难接受,这可能是从过程式编程转到面向对象编程的禁锢。假设有这样一个对象:clas转载 2017-05-24 12:19:04 · 243 阅读 · 0 评论 -
PHP设计模式教程
面向对象是PHP5之后增加的功能,是PHP走向现代语言的一个标志。在过程式设计时代,PHP以学习成本低、入门快的特点赢得很多WEB开发者的青睐,但同时也限制了PHP的发展。借鉴Java和C++之后的PHP语言,在增加面向对象特性的同时,还保持着简便易懂的特点。但是,如果只是使用了PHP的继承特性,并不是面向对象的设计,因为这并不能提高代码的重用性和灵活性。转载 2017-05-24 12:16:30 · 279 阅读 · 0 评论 -
PHP cURL库函数抓取页面内容
cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议和选项,如HTTP、FTP、TELNET等,能提供 URL 请求相关的各种细节信息。最爽的是,PHP 也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在 PHP 中如何运用它。1 为什么要用cURL?是的,我们可以通过其他办法获取网页内容。大多数时候,我因为想偷懒,都直接用简单的 PH转载 2017-05-24 12:10:00 · 11194 阅读 · 0 评论 -
手把手编写自己的PHP MVC框架实例教程
1 什么是MVCMVC模式(Model-View-Controller)是软件工程中的一种软件架构模式。MVC把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。PHP中MVC模式也称Web MVC,从上世纪70年代进化而来。MVC的目的是实现一种动态的程序设计,便于后续对程序的修改和扩展简化,并且使程序某一部分的重复利转载 2017-05-24 12:02:15 · 11178 阅读 · 4 评论 -
MYSQLl防注入
1.简单sql防注入所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。magic_quotes_gpc的一点认识 以及addslashes addcslashes区别:转载 2017-05-24 11:50:55 · 280 阅读 · 0 评论 -
Thinkphp5使用阿里大于短信验证
现在各种平台登录验证很多时候会使用短信验证,快捷安全,有很多平台提供短信验证服务,相比较而言阿里大于价格比较便宜,快捷,所以在在千锋日常的php教学中多以此为例来说明短信验证的使用。下面我们在tp5中说明如何使用阿里大于进行短信验证。一、首先到阿里大于平台上注册,创建应用阿里大于地址为:https://www.alidayu.com/,点击免费入住,然后注册,注册完毕后,进入管理中心。如下原创 2017-06-01 22:50:54 · 6773 阅读 · 4 评论 -
PHP常用函数
(一)字符串函数1.str_word_count:统计单词个数2.count_chars:得到字符串里面字符的有关情况3.str_len:得到字符串长度,就是有多少个字符4.substr_count:统计有多少个字符串,比如统计is,this is PHP里面就会出现2个 is5.strpos:定义字符串出现的首次位置(大小写不敏感 IS=is)6.转载 2017-06-07 07:45:24 · 390 阅读 · 0 评论 -
php7新特性
1. ?? 运算符(NULL合并运算符) 把这个放在第一个说是因为我觉得它很有用。用法: $a = $_GET['a'] ?? 1;它相当于: <?PHP $a = isset($_GET['a']) ? $_GET['a'] : 1;我们知道三元运算符是可以这样用的: $a ?: 1但是这是建立在 $a已经定义了的前提上。1. ?? 运算符(NULL合并运算符)把这个放在转载 2017-06-13 07:55:17 · 294 阅读 · 0 评论 -
学习PHP注意事项
1 多阅读手册和源代码没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数。就在这些函数里面包括许多有用的功能,如果你仔细阅读手册,你会经常发现在以往的项目开发过程中,很多时候你在“重复发明轮子”,而实际上你只需要一个核心函数就可以完成相应的功能。手册是你的朋友。另外,现在有很多使用PHP开发的开源程序。为什么不去学习和借鉴呢?下载一转载 2017-06-02 21:43:34 · 554 阅读 · 0 评论 -
rel、href、src、url的区别
我们在日常教学中经常会提到rel、href、src、url这几个单词。学生在刚接触的时候会经常搞不清楚该使用哪个。那么这四个单词到底是什么意思呢?我们先来了解一下这几个单词是怎么定义的吧。1.url百度百科上是这样解释的:统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件转载 2017-06-02 21:03:21 · 13868 阅读 · 0 评论 -
解析提高PHP执行效率的50个技巧
解析提高PHP执行效率的50个技巧 1、用单引号代替双引号来包含字符串,这样做会更快一些。因为会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故 把函数加上了双引号)。2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4转载 2017-06-02 20:55:47 · 496 阅读 · 0 评论 -
PHP学习路线图
在网上很多人公布了太多的PHP学习路线图,本人在互联网公司工作十余年,也带了很多PHP入门的新手,将他们的一些问题和学习路线图为大家整理出来,希望很多小白少走弯路。 一、 网上某些错误的学习路线图网上有些错误的学习路线图,让学完HTML、CSS后立马去学Javascript和jQuery等,这种课程简直是对牛弹琴。你特么的怎么不去搞个前端工程师培训或者是吹牛逼原创 2017-05-22 08:51:09 · 875 阅读 · 0 评论 -
面向对象设计6大原则
OOP基本上有6大原则,而实际上都是互补的,也就是说一些原则需要利用另一些原则来实现自己。6大原则如下:1) Open-Close Principle(OCP),开-闭原则,讲的是设计要对扩展有好的支持,而对修改要严格限制。这是最重要也是最为抽象的原则,基本上我们所说的Reusable Software既是基于此原则而开发的。其他的原则也是对它的实现提供了路径。2) Lisko转载 2017-05-23 23:15:10 · 333 阅读 · 0 评论 -
php常见术语
什么是PHP? php是Hypertext Preprocessor的缩写,php是一种内嵌 HTML的脚本语言。PHP的独特语法混合了c,java和perl及PHP式的新语法。这门语言的的目标是让网页开发人员快速的写出动态的网页。 什么是PHPer? PHP programmer,指编写PHP的程序员 什么是模式? 模式,即pattern。其实就是解决某一类问转载 2017-05-23 12:06:01 · 1818 阅读 · 0 评论 -
一把钥匙开一把锁
一把钥匙开一把锁是生活中的一种常识,连三岁大的小孩子都懂得。而且,一把钥匙开一把锁同时还是一种可以推广的理论,也就是教师常说的举一反三的道理,这就不是一般人能掌握的,所以值得一说。记得去年我还在工地搬砖,一次喝酒过后,我们宿舍的老张头说起一个故事,单位单身宿舍楼是前年夏天装修的,资金控制在牛处长手里,牛处长找马老板接手这一项工程,马老板找一个没有施工资质的野鸡施工队伍把活儿干完了,从工转载 2017-05-23 08:36:19 · 381 阅读 · 0 评论 -
ajax 和jsonp 不是一码事 细读详解
由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocket,因此转载 2017-05-23 12:09:17 · 209 阅读 · 0 评论 -
PHP魔术方法汇总
魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,在此做了下总结,向大家分享下1.__construct,__destruct__constuct构建对象的时被调用;__destruct明确销毁对象或脚本结束时被调用;2.__get,__set__set当给不可访问或不存在属性赋值时被调用__get读取不可访问或不存在属性时转载 2017-05-23 12:13:09 · 269 阅读 · 2 评论 -
php header函数常见用途
header函数在php中是发送一些头部信息的, 我们可以直接使用它来做301跳转等,下面我来总结关于header函数用法与一些常用见问题解决方法。 发送一个原始 HTTP 标头[Http Header]到客户端。标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔. 1.重定向. Heade转载 2017-05-23 12:15:14 · 344 阅读 · 0 评论 -
php-人员权限管理(RBAC)
php-人员权限管理(RBAC)权限管理可以想做vip的功能,普通用户和vip用户的功能是不一样的,大致会用到五张表:用户表、角色表、功能表,还有他们之间互相关联的表:用户与角色表、角色与功能表我用到的五张表如下: 一.首先写的是管理员页面1.用下拉列表显示用户名转载 2017-05-23 23:10:33 · 12901 阅读 · 4 评论 -
每天laravel[002]-自动加载函数流程
当需要开启自动加载的。一般情况下,都是注册自动处理函数!第一步:首先定义 开启时间define('LARAVEL_START', microtime(true));第二步:包含系统 框架内核心 函数 ,我们来看看 核心函数 是怎么 实现自动加载的呢?require __DIR__.'/../vendor/autoload.php';第三步:一般对于这种自动加载的文件,都会有一个转载 2017-05-23 23:03:58 · 504 阅读 · 0 评论 -
每天laravel
第一天:开始学习laravel 框架 首先 了解 laravel的运行流程第一步:包含自动加载文件require __DIR__.'/../bootstrap/autoload.php';composer 提供了一个方便、自动的生成类加载,对于我们的应用。我们需要利用它!我们简单的包含这个文件在我们的脚本文件中,这样我们就不会担心后面使用过程中需要手动加载了!这种感觉让我们很放松!转载 2017-05-23 22:59:21 · 431 阅读 · 0 评论 -
五环之歌之PHP分页
根据以往的经验,对于很多初学者,分页功能实现起来还是有一定的困难的,为了帮大家解决这样的问题:特此献上五环之歌。从此分页功能便是如小岳岳唱歌一样简练,漂亮,精干。哈哈,不闲扯了。正式进入千锋PHP五环之歌之步骤实现分页功能。第一环:计算总的记录数—即总共要显示多少条数据第二环: 每页显示的条数—即一般都是我们程序媛来规定每页显示几条数据。第三环: 计算总页数—即根据以上两个条件便可求出转载 2017-05-23 22:48:39 · 190 阅读 · 0 评论 -
超好用的一个JQUERY分页器-jpaginate
jpaginate是一个自带滑动动画效果的jQuery分页插件,用户可以通过单击或只是悬停在箭头上的使页码滑动显示。你可以用下面的方式调用插件:$(elementID).paginate() 您可以通过一下属性来配置插件:count:页面总数start:默认选中页码display:可见页码数量border:边框(true/false)bord转载 2017-05-23 22:45:52 · 1884 阅读 · 0 评论 -
最好用的mysql密码忘记的解决方法
在windows下:打开命令行窗口,停止mysql服务:Net stop mysql启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe (或mysqld.exe)执行:mysqld-nt (或mysqld.exe) –skip-grant-tables 当前窗口将会停止。另外打开一个命令行窗口,执行mysql 如果提示没有这个命令,先进入MYSQL转载 2017-05-23 22:39:06 · 245 阅读 · 0 评论 -
nginx与php-fpm 504 Gateway Time-out 排查与解决案例
很多人都都可能遇到过 504 Gateway Time-out。有时候会让人一头雾水。解决方法:1.通过百度可以很多人的说法,调整 nginx配置或者php-fpm配置,配置大家都可以百度,在这边就不多说。但是很多都尝试了没有什么软用。2.尝试过上面的方法还是回到本质上是不是整站都是504.如果不是,我建议你打开php-fpm 慢日志来查看对应的页面请求与响应慢是由哪个方法或者操作造成转载 2017-05-23 22:36:04 · 4833 阅读 · 0 评论 -
php session redis 配置
相信很多人用过数据库,Memcache以及文件存储SESSION,那么Rdis可以存储SESSION吗?答案是肯定的。具体环境:一台apache+php的服务器(yum安装remi源及配置 httpd-2.2.15 php-5.4.45)一台redis服务器(yum安装remi源及配置 redis-3.2.6)保证apache服务器可以访问redis服务器的6379端口具体步骤转载 2017-05-23 13:08:49 · 399 阅读 · 0 评论 -
Nginx+PHP 配置
假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由。此时很多教程会教大家这样配置Nginx+PHP:server { listen 80; server_name foo.com; root /path; location / {转载 2017-05-23 12:18:26 · 225 阅读 · 0 评论 -
php中对象是引用类型吗?
这貌似是一个极其简单的问题,还用得着专门写一篇博文?各位看官,最初我也这么认为,但这的确蒙蔽了你那水灵灵的小眼睛,不妨看看什么是引用?$a = 10;$b = &$a;$b = 20;var_dump($a,$b);在这段极其简单的代码中,$b是$a的引用,也即是别名,修改$b,$a会变,反之亦然。这就是所谓的引用,那对象是不是也是这样的呢?clas原创 2017-05-22 22:34:31 · 914 阅读 · 0 评论