![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
yangSnowy
hope is a good thing,perhaps the best
展开
-
Laravel根据已有的数据表结构自动生成迁移文件
laravel数据表自动生成迁移文件原创 2022-05-06 19:55:02 · 1244 阅读 · 4 评论 -
php设计模式-策略模式
简介:策略模式,将一组特定的行为和算法封装成类,以适应某些特定的上下文环境。eg:假如有一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有的广告位展示不同的广告。在传统的代码中,都是在系统中加入各种if else的判断,硬编码的方式。如果有一天增加了一种用户,就需要改写代码。使用策略模式,如果新增加一种用户类型,只需要增加一种策略就可以。其他所有的地方只需要使用不同的策略就可以。首先声明策略的接口文件,约定了策略的包含的行为。然后,定义各个具体的策略实现类。实例:/* * 声转载 2021-12-28 16:34:27 · 139 阅读 · 0 评论 -
php设计模式-注册器模式
简介:注册器模式,用于解决全局共享和交换对象。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。将对象注册到全局的树上,任何地方都直接去访问。实例:<?php //注册器模式 class Register { //保存映射到注册器上的对象 protected static $object; //将对象映射到注册器上 public static function set原创 2021-12-28 15:45:16 · 248 阅读 · 0 评论 -
php设计模式-单例模式
简介:只允许该类自己创建该类的唯一对象,防止直接创建对象和克隆 对外暴露一个统一的接口,通过静态方法获取该对象 该类防止被直接创建和克隆优点:new对象的操作过多会消耗内存,使用单例模式生成一个对象后, 该对象可以被其它众多对象所使用使用场景:一般用于数据库操作类实例:/** * 该类自己创建该类的唯一对象,防止直接创建对象和克隆 * 对外暴露一个统一的接口,用于获取该对象 * 单例数据库连接(mysqli为例) */class Db{ //static可以保存值不丢失原创 2021-12-24 10:49:10 · 214 阅读 · 0 评论 -
MySql的leftJoin的on条件和where条件的区别
一、on和where的区别1、on是生成临时记录表的条件,左表的记录都会返回,右表符合条件的null值记录也会被返回。代码示例:此时,满足条件的右表的记录才会显示出来查询结果:2、而where条件是在临时表生成后的过滤条件,此时和临时表没什么关系,会显示过滤后的列表查询结果:由此看出,比上一条查询结果多出很多记录。...原创 2021-08-23 21:03:03 · 430 阅读 · 0 评论 -
Laravel with 查询踩过的坑
一、场景存在一对一关系的两个表(订单表表和收货地址表),需要在订单Model里定义方法并建立对应关系。二、解决问题需要查询订单对应的地址等信息。三、注意点:with查询需绑定主表关联的表的id,完成渴求式加载,否则查询结果为空。...原创 2021-08-22 10:39:43 · 424 阅读 · 0 评论 -
php上传大图片的注意事项
一、php上传图片前端注意事项form表单上传示例:&lt;form name="form" action="upload.php" enctype="multipart/form-data"&gt; First name:&lt;br&gt; &lt;input type="原创 2018-08-02 15:33:47 · 1001 阅读 · 0 评论 -
php常见设计模式之工厂模式(转载)
那么何为工厂模式? 从名字来看,似乎看不出什么端倪。工厂模式,和生产有关?还是和生产流程有关?难道还和工厂领导有关?和领导秘书有关?秘书… 好了不卖关子了,所谓工厂模式还真和生产有关。生产什么呢?生产出来的是一个实例对象。通过什么设备生产?通过一个工厂类生产。怎么生产呢?工厂类调用自身静态方法来生产对象实例。 工厂模式有一个关键的构造,根据一般原则命名为Factory的静态方法,...转载 2018-08-04 11:51:53 · 148 阅读 · 0 评论 -
php常见设计模式之单例模式
前言:什么是设计模式? 模式是特定环境下同类问题的一种解决方案。 &lt;&lt;设计模式:可复用面向对象软件的基础&gt;&gt;概念:设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。...原创 2018-08-04 11:11:53 · 142 阅读 · 0 评论 -
php 转换base64格式的图片
前言php对base64格式的图片提供很好的支持,有内置的base64_encode()函数与base64_decode()函数负责图片的Base64编码与解码。实例项目中遇到Ajax传到后台的图片格式是base64格式,需要php对其进行处理。 Ajax请求代码: $.ajax({ url:'/ucenter/add_member_ajax', ...原创 2018-06-20 09:57:01 · 2064 阅读 · 0 评论 -
Ajax跨域请求
跨域的概念:当浏览器从一个域名的页面请求来自另外一个域名的资源时,由于浏览器的同源策略,便产生了跨域问题。域名,协议,端口只要有一个不同,就是跨域。跨域的解决:跨域有多种解决方式,主要说明在项目中实际应用的在被请求的php文件中添加header("Access-Control-Allow-Origin: *")这种方式。前端的域名是192.168.100.11,后端的域名是19...原创 2018-06-11 09:57:10 · 156 阅读 · 0 评论 -
PHP面向对象的三大特性
PHP面向对象的三大特性是指封装性,继承性,多态性。一、封装性封装性就是把一个类(对象)的属性和方法封装起来,外部只有被授权的方法或操作才可以访问。 php提供了三种访问控制符 public 表示全局的,本类内部,类外部,子类都可以访问 。 protected 表示受保护的,只有本类或子类可以访问 。 private 表示私有的,只有本类内部可以访问,外部和子类都不可以访问 ...原创 2018-06-13 19:17:12 · 5497 阅读 · 2 评论 -
以一次项目经历浅谈php无限极分类和递归的关系
项目背景: 新项目是一个分销系统,核心技术就是无限极分类,每个会员都可以邀请别人进入这个团队,会员可以升级,可以享受奖励,前提是不断地邀请别人加入,这样每个团队的长远可以层层绑定关系。 数据库设计: 数据库的user表这样设计,invite_id为邀请人id,parent_id为直接父级id,path表示当前会员在团队里的路径,当前的会员可以通过parent_id...原创 2018-06-05 20:58:17 · 1116 阅读 · 0 评论 -
php常用字符串函数
addslashes($str):返回在预定义字符之前添加反斜杠的字符(预定义字符是双引号,单引号,反斜杠)chop(str,str,str,element):删除字符串右侧的空白字符或其他字符(str为字符串,str为字符串,str为字符串,element为特殊字符)explode(element,element,element,str):使用特定字符把字符串打散为数组implode(e...原创 2018-06-05 20:05:47 · 178 阅读 · 0 评论 -
php循环函数foreach()中引用传递的使用
首先抛出问题:给出一个数组,$arr = array( array('level'=>13,'name'=>'jack','num'=>0), array('level'=>21,'name'=>'peter','num'=>0) );//遍历数组,符合条件的num值+1foreach($arr as $key=>$value...原创 2018-06-03 00:01:23 · 2898 阅读 · 1 评论 -
php常用数组函数总结
数组函数1.array_key_change_case($arr,$case):将数组所有的键转化为大写或者小写,$case可设为CASE_LOWER或者CASE_UPPER。2.array_chunk($arr,$number):把数组分割为有特定($number)个元素的数组块。3.array_column($arr,$column):返回数组中某一个单列的值。4.array_combine(...原创 2018-05-22 07:40:44 · 4639 阅读 · 1 评论