技术圈开发者交流群:

PHP中如何重写Trait方法,并从重写的方法中调用原始实现?

在日常PHP开发中,Trait作为代码复用的重要工具,经常被用于突破单继承的限制。但遇到需要重写Trait方法并保留原始功能的情况,很多开发者就会感到困惑。这篇文章就来分享一下如何优雅地解决这一问题。

首先,我们需要了解PHP中方法优先级的基本规则:当前类的方法 > Trait方法 > 父类方法

这意味着当类中定义了与Trait同名的方法时,类中的方法会覆盖Trait中的方法。

PHP 前天 184

Yii3 正式发布!十年磨一剑,PHP 框架新选择

2025年12月31日,PHP 生态圈迎来重磅消息——历经多年深耕打磨,Yii3 框架正式发布!

作为传承 Yii 家族高性能、易用性基因的新一代产品,Yii3 不仅修复了前代版本的核心痛点,更以模块化架构、生态兼容、标准先行的全新姿态,为 PHP 开发者带来了革命性的开发体验。

Yii 1.1 和 2.0 曾是无数 PHP 项目的首选框架,但在技术快速迭代的今天,前代版本逐渐暴露出一些局限:

PHP 12天前 314

解读 PHP 中的 self 与 static :你知道什么区别吗?

PHP面向对象编程中,我们经常使用selfstatic这两个关键字,但很多人对它们的理解停留在表面。特别是当它们分别用于静态调用和对象实例化时,行为差异更是让人困惑。最近在写一个PHP项目,就此来分享一下selfstatic的区别。

先来看一个简单但极具代表性的例子:

class A {
    public static function getSelf() {
        return new self();
    }

    public static function getStatic() {
        return new static();
    }
}

class B extends A {}

echo get_class(B::getSelf());   // 输出:A
echo get_class(B::getStatic()); // 输出:B
PHP 2025年12月19日 680

云原生时代,PHP 开发者如何借助 Casbin 构建安全可靠的应用 ?

在云原生时代,PHP应用的安全架构需要新的思路。Casbin 作为一个强大的授权管理框架,能帮助 PHP 开发者在微服务、容器化和 SaaS 化趋势下,构建灵活、安全且可靠的访问控制系统。

在云原生架构中,应用通常被拆分为多个微服务,这可能带来权限策略分散、跨服务权限验证复杂、多租户数据隔离要求高等挑战。

PHP-Casbin作为Casbin在 PHP 语言的完整实现,其核心价值在于,它采用统一的PERM(Policy, Effect, Request, Matchers)元模型,将访问控制逻辑从业务代码中剥离出来。你可以通过清晰的配置文件定义权限模型(如ACL, RBAC, ABAC),从而灵活应对云上复杂多变的授权场景。这意味着权限规则不再是散落在代码各处的if-else语句,而成为一组可统一管理和动态调整的声明式策略。

PHP 2025年11月24日 736

Go语言相比Java、Python在分布式系统开发中有哪些独特的性能优势?

在当今互联网时代,分布式系统已成为支撑大规模服务的基础架构。随着云计算和微服务架构的普及,选择合适的编程语言对系统性能、可维护性和开发效率有着至关重要的影响。在众多编程语言中,Go语言凭借其独特的并发模型和卓越的性能,在分布式系统开发领域脱颖而出。

Go语言最引人注目的特点是其原生支持的并发编程模型,这使其在处理高并发场景时具有显著优势。与Java和Python的并发实现方式不同,Go通过goroutinechannel提供了一种更高效、更安全的并发处理方式。

goroutine是Go语言的轻量级线程,每个goroutine仅需约2KB的内存空间,可以轻松创建数十万个goroutine而不会导致系统资源耗尽。相比之下,Java线程通常需要1MB左右的内存空间,且创建和上下文切换开销较大。而Python由于全局解释器锁(GIL)的存在,在多线程并行处理方面存在先天不足。

PHP 2025年11月24日 210

PHP-Casbin:权限管理的终极解决方案,赋能 PHP 生态新纪元!

在当今数字化浪潮中,每个应用程序都面临着一个核心挑战:如何高效、安全地管理用户权限?随着业务复杂度呈指数级增长,传统的权限控制方案已不堪重负。此时,一个强大的、高效的开源访问控制框架——Casbin应运而生,而其 PHP 语言实现的 PHP-Casbin 正成为 PHP 开发者手中的"超级武器"。

传统的权限管理方案往往存在模型僵化、扩展困难、维护成本高等痛点。无论是基于角色的访问控制(RBAC)还是基于属性的访问控制(ABAC),单独实现都难以满足现代应用的复杂需求。Casbin的创新之处在于它提供了一种统一的多模型支持框架,允许开发者根据实际业务需求灵活选择或组合不同的访问控制模型。

PHP-Casbin作为Casbin在PHP生态的官方实现,继承了这个强大的基因。它不仅仅是一个库,更是一套完整的权限管理解决方案,支持ACL、RBAC、ABAC等多种访问控制模型,让开发者能够用一致的API应对各种复杂的权限场景。

PHP 2025年10月29日 1230

Laravel-Admin 项目重生,我 fork 了原项目继续维护!

你是否曾因原版 z-song/laravel-admin 停止更新而苦恼?现在,我 fork 了原项目,并致力于为其提供持续的维护、更新和对现代 Laravel/PHP 版本的支持。🚀

z-song/laravel-admin 是一个极富盛名的 Laravel 后台管理框架,以其“十分钟搭建功能完备的管理后台”而闻名。

然而,随着时间推移,原项目作者的活跃度降低,导致了一系列问题:

PHP 2025年10月28日 710

还在手写权限管理?Think-authz 库帮你省 80% 工作量,开箱即用!

做后端开发的你,是不是也被 “权限管理” 搞得头大?

写接口时,要反复判断 “用户有没有访问权限”“角色能不能操作这个资源”;改需求时,加一个新权限就要改一堆代码,还容易漏判、错判;对接不同项目时,权限逻辑又要重新写一遍,重复劳动没完没了……

这里给大家推荐的 Think-authz,就是专门为解决权限管理痛点而生的 “神器”—— 基于 RBAC 模型,支持多种权限规则,还能无缝对接 ThinkPHP 项目,让你不用再手写繁琐的权限逻辑,几分钟就能搭起可靠的权限体系。

PHP 2025年08月11日 220

Laravel 权限控制新选择:使用 Laravel-authz 集成 PHP-Casbin

在 Laravel 项目开发中,权限管理是保证应用安全的关键环节。虽然 Laravel 自带了 Gate 和 Policy 授权机制,但在面对复杂权限需求时往往力不从心。今天介绍的是基于 Casbin 的 Laravel-authz 库,它能帮助你在 Laravel 项目中实现 RBAC(基于角色的访问控制)、ABAC(基于属性的访问控制)等高级权限模型。

PHP-Casbin 是一个强大的、支持多种访问控制模型的开源授权库,它支持ACL、RBAC、ABAC等多种访问控制模型。

Laravel-authz 是专门为 Laravel 框架定制的Casbin扩展包,提供了无缝集成体验。

PHP 2025年07月12日 354

PHP-Casbin:一个让开发者不再为权限控制 “重复造轮子” 的工具

今天想和大家聊聊这个陪伴我从 “个人侧写” 到 “企业级解决方案” 的开源项目,一个让 PHP 开发者不用再为权限控制 “重复造轮子” 的工具。

从 2018 年发布第一个版本,到现在 GitHub 1.3k + Star,PHP-Casbin的成长,其实是无数 PHP 开发者 “权限痛点” 的解决方案集合。

如果你也曾在项目里写过if($role == 'admin')的硬编码,或是为多租户权限隔离挠破头,那这篇文章,或许能给你一个更优雅的答案。

PHP 2025年07月03日 6798

PHP-Casbin:现代化 PHP 应用的权限管理引擎

在当今复杂的Web应用中,精细化的权限管理是保障系统安全的关键环节。PHP-Casbin 作为Casbin生态的PHP实现,凭借其灵活的模型支持和强大的扩展能力,已成为PHP开发者实现访问控制的首选工具。

PHP-Casbin 基于PERM(Policy/Effect/Request/Matcher)模型,抽象出通用的访问控制框架。

  • 模型灵活‌:通过配置文件支持自定义访问控制模型,可动态调整权限策略。
  • 多模型支持‌:内置 超级用户 管理、角色继承等功能,支持多层权限控制,支持ACLRBACABAC等数十种权限模型。 ‌
  • 轻量化设计‌:默认仅处理授权逻辑,需配合其他组件完成身份认证(如OAuth)。
PHP 2025年06月05日 794

Ollama 让开源大语言模型触手可及

前有 ChatGPT 的横空出世,现有 DeepSeek 的后生可畏。

在人工智能(AI)飞速发展的今天,大语言模型(LLMs)百家争鸣、群英荟萃,AI已经成为人们茶余饭后必备的话题,更是人们工作、学习中必备的工具。

大语言模型(LLM)是一种利用大量数据训练的深度学习模型,旨在理解和生成人类语言。

PHP 2025年02月24日 9070

在 Linux 中如何开启 ssh 远程连接

无论你是什么方向的开发者,在日常工作中必不可少的要和 Linux 系统打交道。在打交道之前,就必须先远程连接上去,应该很少人人会使用VNC远程连接吧,更何况很少作为开发的Linux系统不会安装图形库界面吧,那就必须得使用命令行SSH远程连接了。

要安装SSH,肯定的直接在机器上操作,物理机你就接个键盘、显示器,虚拟机直接用界面连接操作。

首先需要安装openssh-server,如果已经安装可跳过下面的命令。

PHP 2024年07月20日 250

在 Laravel 中使用 Vite 来构建静态资源

之前做Laravel项目,一直使用的是Laravel Mix打包静态资源。但是随着Vite的横空出世,Laravel已经默认使用Vite来打包静态资源了。

在此之前,你需要创建一个Laravel项目,并准备PHPNode.js环境。

LaravelVite插件是laravel-vite-plugin。项目默认的package.json中的依赖项已经包含了,只需要安装一下即可。

PHP 2024年06月28日 1297

在 Laravel 中结合 Vite 搭建 Vue 应用

Laravel 是一个优雅的 PHP WEB框架,在早期的版本中,一般是采用Mix搭配webpack来构建前端资源。

Vue 是一个渐进式 JavaScript 框架,Vite 是下一代前端开发和构建工具。那么这个组合起来,堪称绝美

下面是我所使用的版本:

PHP 2024年05月20日 6934

排行

解决方案

网站建设

专业企业官网建设,塑造企业形象,传递企业价值

系统开发

系统软件开发,用心思考,用心设计,用心体验

技术支撑

打破技术瓶颈,让不堪重负的项目起死回生

业务中台

构建全渠道一体化运营能力,实现全链路数字化

文案策划

文案撰写、营销策划,专注品牌全案

新媒体运营

一站式解决企业互联网营销痛点和难题

以技术的力量,改变互联网

联系我们
鄂ICP备19028750号-1 @copyright 2026 tech1024.com