技术圈开发者交流群:

PHP -Casbin: 支持 ACL、RBAC、ABAC 多种模型的 PHP 权限管理框架

PHP-Casbin 是一个用 PHP 语言打造的轻量级开源访问控制框架( https://github.com/php-casbin/php-casbin ),目前在 GitHub 开源。PHP-Casbin 采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制 RBAC、基于属性的访问控制 ABAC 等。

1.支持自定义请求的格式,默认的请求格式为{subject, object, action};

2.具有访问控制模型 model 和策略 policy 两个核心概念;

PHP 2018年11月01日 73361

Laravel 开启跨域功能

人在江湖走,哪有不湿鞋?

经常做api开发的的时候,总会遇到跨域的情况,特别是前后端完全分离的情况,为什么会这样呢?

出于安全性的原因,浏览器会限制 Script 中的跨域请求。由于 XMLHttpRequest 遵循同源策略,所有使用 XMLHttpRequest 构造 HTTP 请求的应用只能访问自己的域名,如果需要构造跨域的请求,那么开发者需要配合浏览器做出一些允许跨域的配置。

PHP 2018年08月29日 77838

PHP7版的Des加解密,支持ECB,CBC等模式,兼容java、C#

最近对接一大堆接口,找了各种des加解密,很多都是php7以下的,要知道mcrypt_decrypt此类的方法再php7以上已经过时或废除了

Warning
This function has been DEPRECATED as of PHP 7.1.0 and REMOVED as of PHP 7.2.0. Relying on this function is highly discouraged.

搞了好久,好不容易看到了这个 https://blog.csdn.net/qq43599939/article/details/80226482 ,终于将C#、Java的代码转换成了php7的代码:

PHP 2018年08月24日 25761

XHProf,PHP性能分析利器,快速定位代码瓶颈

很多项目,还没到考虑性能的时候就夭折了,而你项目是否到了要考虑性能优化的时候了?

经常会有人问,我的cpu正常,内存正常,数据库正常,可网站打开为什么就是?为什么就是

PHP 2018年08月01日 55078

PHP设计模式——简单工厂模式(Simple Factory)

工厂主要有三种模式:抽象工厂、简单工厂、工厂方法,本文所说的是简单工厂模式,其他两种模式也是大同小异。

项目中,在不确定有多少种处理操作时,可以用简单工厂模式。

比如:

数据库的连接,可能是mysql,也可能是oracle

PHP 2018年05月09日 65274

PHP设计模式——单例模式(Singleton)

简单说来,单例模式的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个,同时这个类还必须提供一个访问该类的全局访问点。

数据库连接器(mysql|Oracle|sqlServer);

缓存/日志(file|redis|memcached);

PHP 2018年05月09日 874

Thinkphp5.1中使用.env模拟环境变量配置,让配置更优雅!

自从thinkphp5发布以来,可以说越来越优雅了,特别是tp5.1的发布,竟然支持.env配置文件啦!想必熟悉那个以优雅著称的某框架的同学一定不陌生。

thinkphp5.1支持的配置类型包括.ini、.xml、.json 、.yaml和 .php。

那么我们的.env就是采用ini方式的配置格式。用于在开发过程中模拟环境变量配置(该文件建议在服务器部署的时候忽略)。

PHP 2018年04月03日 42948

Laravel从现有数据库逆向生成数据库迁移文件,包括索引和外键!

熟悉laravel的同学都知道,laravel的数据迁移和数据填充,能够随着源代码的改变而同步记录同步数据库结构的变化,也就是对数据库的版本控制。

但是,有的项目开发之初,数据库结构的变化会比较频繁,每个都手动创建migrate文件的,工作量会比较大,或者老项目已有数据库,如果手动为所有的已存在的表去创建迁移文件的会非常耗时,还容易出错。

这里,就给大家分享一下如何逆向生成迁移文件。

本文基于Laravel5.5,其他版本大同小异。

PHP 2018年01月04日 1791

Laravel中利用Scout集成Elasticsearch搜索引擎

Elasticsearch(以下简称es)是一个实时的分布式搜索和分析引擎。

在搜索引擎方面,不仅仅有Elasticsearch,像另一篇提到的Algolia,还有sphinx、Solr等等,这里不做评价和比较,本篇主要介绍laravel中如何使用Elasticsearch。

首选必须安装有Elasticsearch,请参考 https://www.tech1024.cn/original/2962.html

本文基于laravel5.5,其他版本大同小异。

PHP 2017年11月07日 66303

Laravel 全文检索 Scout集成Algolia

你是否在检索千百万级数据时为性能和速度而担忧呢,即使优化了sql,创建了数据库索引,还是不尽如人意呢?

下面就主要介绍laravel如何集成Algolia

PHP 2017年10月29日 68886

Laravel数据库迁移和填充(支持中文)

经常我们做项目都团队协作开发,每个人都在自己本地的数据库,如果你曾经出现过让同事手动在数据库结构中添加字段的情况,数据库迁移可以解决你这个问题。

不仅如此,在线上部署的时候,也避免了手动导入数据库或手动修改数据结构的麻烦,数据迁移帮你方便的维护着数据结构。

数据填充,让我们测试的时候需要大量的假数据不再一条一条的去造数据,可以轻松的批量填充大量数据。

本文基于Laravel5.5,其他版本大同小异。

PHP 2017年10月28日 70719

PHP时间转换今天昨天前天几天前

经常在朋友圈,QQ空间、微博上看到动态的发布时间、评论时间,都显示,昨天,前天,几天前,比起直接显示几月几日几分几秒要优雅的多。

于是自己的项目也想采用这种优雅直观的方式,网上找了各种计算相差几天的的例子,都是直接将时间戳相见除以86400,比如现在是17:08,动态更新的时间为前天22:00,这种方式计算的相差天数为1,而不是两天前。

实际情况应该是,昨天任何时间都算一天前,前天任意时间都算2天前,所以自己琢磨了一番,去动态更新时间与今天23:59:59相差的时间秒数与86400(24 x 3600)相除后,向下取整,这样就得到了相差的天数,比如昨天00:00~昨天23:59:59的任何时间与今天的23:59:59,都相差 86400~(86400 x 2) 天,也就是2天。

PHP 2017年10月21日 40534
鄂ICP备19028750号-1 @copyright 2024 tech1024.com