tag php

標籤
貢獻311
468
05:09 PM · Oct 25 ,2025

@php / 博客 RSS 訂閱

唯一丶 - Laravel 多態關聯的模型本地化套用

Laravel 多態關聯的模型本地化套用 前言 在項目中,一般情況下,我們可以使用單個字段來創建一個一對一或者一對多關聯,比如一個 User 有多個 Post。 而除了這些,我們偶爾會遇到一些關聯關係除了需要根據 ID 進行關聯外,還可能需要根據不同的 Type 去關聯不同的模型,而這,就是多態關聯。 在 Laravel 中,為我們提供了開箱即用的多態關聯。 準備環境 軟件

php , laravel

收藏 評論

奧順互聯 - PHP Composer 使用方法指南

PHP Composer 使用方法指南 Composer 是 PHP 的依賴管理工具,它允許開發者輕鬆地管理項目中的庫和依賴項。以下是使用 Composer 的基本步驟和方法。 1. 安裝 Composer 在使用 Composer 之前,首先需要安裝它。可以通過以下命令在終端中安裝 Composer: php -r "copy('https://getcomposer.org/installer

composer , php , composer-php

收藏 評論

風流倜儻的傷痕 - 索引與性能優化

title: 索引與性能優化 date: 2024/12/15 updated: 2024/12/15 author: cmdragon excerpt: 索引是數據庫性能優化的重要工具,通過建立索引,可以加速數據的檢索和查詢操作,從而提高數據庫的響應速度。雖然索引能顯著改善數據訪問性能,但不當的使用也可能導致性能下降。 categories: 前端開發 tags

swoole , php , JAVA , go , 後端

收藏 評論

JonLee - 使用 PHP-Casbin 在 SaaS 應用中做多租户權限系統架構設計

多租户(multi-tenancy)是一種軟件架構技術,是實現在多租户的環境下共用相同的系統或程序組件,並且保證各用户間的數據隔離,也可稱作域租户。 PHP-Casbin 不僅提供了全局的RBAC的權限模型,而且還支持特定域的權限模型。特定租户/域的角色意味着當用户在不同的租户/域中時,用户可以擁有不同的角色,亦擁有不同的權限策略。在大型項目中,特別是在像SaaS PaaS這種雲服務中,不同的租户

swoole , php , lavarel , serverless , 安全

收藏 評論

tim_xiao - 併發控制-文件鎖

在以往的項目中,遇到高併發大流量需求做併發控制的時候一般都使用redis分佈式鎖或者mysql加鎖處理高併發情況。最近遇到一個php項目,沒有安裝redis,由於某種原因也不考慮使用mysql加鎖控制併發,所以採用文件鎖的方式控制併發,整理了下代碼 php版本 class FileLock { /** @var string 鎖名稱 唯一性 */ private string $k

高併發 , php , go

收藏 評論

會飛的鳥 - PHP網站平替ES的搜索引擎來了,更輕量更方便!

Windsearch windsearch,PHP原生實現的全文檢索引擎,無任何複雜的安裝配置,開箱即用,可承受百萬至千萬的數據。零安裝配置、零心智負擔,擁有強大的算法,包含多種檢索模式,集成到PHP項目後,無需維護,一勞永逸。 本搜索引擎適合外貿獨立站、垂直社區、區域性電商、cms系統、PHP開發工作室、服務器配置一般的網站、需要快速搭建搜索的網站、個人博客等。 github地址:https:/

搜索引擎 , php , 全文檢索 , 站內搜索

收藏 評論

會飛的鳥 - PHP怎樣在幾秒鐘內安裝一個全文檢索引擎?

安裝導入WindSearch 環境要求: UTF-8編碼 PHP ≥7.3 mbstring Extension PDO Extension SQLite Extension 開始安裝: 在github上將WindSearch下載到本地你喜歡的文件夾,這是一個純PHP的全文檢索引擎 地址:https://github.com/rock365/windsearch(點個star吧

elasticsearch , 搜索引擎 , php , 全文檢索 , 站內搜索

收藏 評論

會飛的鳥 - PHP實現站內搜索的開源利器——WindSearch

WindSearch是一個基於中文分詞,由純PHP開發全文檢索引擎,可快速搭建PHP站點的站內搜索,他沒有任何繁瑣的安裝配置、不需要維護調優、不佔用服務器內存、可與PHP項目完美融合在一起。 github地址:https://github.com/rock365/windsearch 必須極速安裝~ 使用composer安裝: composer require rock365/windsearch

elasticsearch , 搜索引擎 , php , 全文檢索 , 站內搜索

收藏 評論

JonLee - 利用 PHP-Casbin 中的優先級模型來做權限控制

優先級模型,所謂優先級,是指按一定的順序加載策略。 優先級高的策略先加載,先加載的策略具有較高的優先級。 PHP-Casbin 目前支持三種模式:隱式優先順序加載策略、顯示優先順序加載策略、基於角色和用户的層級關係加載策略。 優先級模式的配置在model.conf中的policy_effect中配置。 隱式優先順序加載策略 隱式優先級模型配置在官方倉庫的 examples 目錄下 priority

rbac , 權限 , php , laravel

收藏 評論

蘇琢玉 - 用裝飾器模式實現多層緩存:讓PHP應用更快更穩

為什麼要做多層緩存? 想象這樣一個場景:你的PHP應用每次訪問數據庫都要花1秒鐘,用户抱怨頁面加載太慢。這時候你會想到加緩存——但只用一層緩存夠嗎? 比如: 內存緩存雖然快,但重啓服務數據就沒了 Redis緩存能持久化,但網絡請求也有開銷 文件緩存最可靠,但磁盤讀寫速度有限 多層緩存的思路很簡單: 把最快的緩存放在最前面,就像快遞櫃一樣—— 優先從內存取(速度最快) 內存沒有

高併發 , php , 緩存 , 緩存設計

收藏 評論

白穹雨 - ThinkPHP6中間件深度解析:原理、流程與實戰指南

一、中間件的核心價值 在Web開發中,中間件是處理HTTP請求/響應的重要機制。ThinkPHP6通過中間件實現了: 解耦處理邏輯:將非業務代碼(如鑑權、日誌)從控制器中剝離 靈活組合:按需為不同路由配置不同處理流程 雙向處理:支持請求到達前和響應返回前的雙向處理 統一管理:集中處理通用邏輯,提升代碼複用性 二、核心原理剖析 1. 管道模式(Pipeline) ThinkPHP6中間件

thinkphp6 , 中間件 , php , php框架

收藏 評論

蘇琢玉 - 從零開始創建屬於自己的 Composer 庫

Composer 是 PHP 領域最流行的依賴管理工具,它使得管理項目依賴變得輕鬆簡單。然而,除了使用現有的包,我們也可以創建和發佈屬於自己的 Composer 包。 在這篇文章中,我將帶你一步一步完成從零開始創建併發佈一個自己的 Composer 包的流程。 創建項目 在你的工作目錄下創建一個新的文件夾作為你的包: mkdir project cd project 初始化 Composer

composer , php

收藏 評論

JKDATAapi - 有哪些印度日本韓國股票行情實時數據的api

有哪些印度日本韓國股票行情實時數據的api? PRDS data 概述:RPDS提供全球範圍的金融數據接口,涵蓋港股、美股及其他主要國際市場,支持股票、歷史數據、財務數據、公司資訊等多維度的市場數據。其數據服務適合高頻量化交易、學術研究及金融數據分析,廣泛應用於機構投資者和開發者。 特色: o高質量數據,準確且及時更新。 o支持Python等多種編程

php , JAVA , Json

收藏 評論

蘇琢玉 - 如何優雅地處理多種電商優惠規則?我用 PHP 封裝了一個 Promotion Engine

做電商項目時,經常要處理各種各樣的優惠活動:滿減、打折、VIP 專屬優惠、第二件特價、階梯優惠…… 這些單獨實現起來都不復雜,但當你把它們放在一起,就變得混亂起來了。 我自己在工作裏寫過不少類似的邏輯,每次做法差不多:if/else、switch、各種判斷混在一起,過幾個月回頭看代碼,根本不想維護。 於是我乾脆寫了一個小庫,封裝了常見的優惠計算邏輯,讓這件事更清晰,也能隨時在別的項目裏

composer , php

收藏 評論

Leojx - 使用 PHP Sodium 擴展進行 AEGIS 加密

AEGIS 是基於 AES 的經過身份驗證的加密算法系列,比 AES-GCM 和 CHACHA20-POLY1305 等普遍存在的算法要快得多。如果 Sodium 擴展是使用 libsodium 1.0.19 或更高版本編譯的,則 PHP 8.4 中的 Sodium 擴展支持 AEGIS-128L 和 AEGIS-256 加密算法。 AEGIS 系列中的兩種加密算法 AEGIS-128L 和 A

php , 加密 , aes

收藏 評論

鼓獅知識庫 - 用AI開發“支持SVG管理的多用户版原型設計軟件”,分享拆分AI開發任務技巧

本期內容會分享我是如何用AI開發多用户版的原型設計軟件。一開始我先講講這個原型設計軟件有哪些功能,方便你知道這個系統有哪些複雜的邏輯點,後面我會有針對性得講講,如何使用AI來開發這樣的帶有多重交互和複雜邏輯的軟件。只要你掌握了這個技巧,你也能用AI開發可以用於銷售的軟件來賺錢。 這個原型設計軟件https://tools.gushiio.com/proto/ 主要功能分別是畫板管理,顏色管理,圖

php , ai開發 , aigc , 原型設計 , svg

收藏 評論

唯一丶 - 分享一個 php 包,安全的使用內置函數方法:thecodingmachine/safe

前言 在 PHP 的一些歷史遺留設計中,許多函數在出錯或失敗時會返回 false、-1 或 null 等特殊值。如果你沒有對這些返回值進行正確檢查,就可能導致程序行為不符合預期。 舉個例子 $content = file_get_contents('foobar.json'); $foobar = json_decode($content); 在這段代碼中: 如果 foobar.json 不

編碼規範 , php , laravel

收藏 評論

daoheng - 項目實戰用swoole啓websocket服務

項目中用到了websocket長鏈接, 記錄下結合swoole如何實現這個功能 項目中之所以要用websocket主要是想實現用户在回收設備上掃碼投遞瓶子之後,將投遞的瓶子數據推送到用户小程序端進行同步展示, 這樣用户在設備上投遞完瓶子後, 在小程序上就能同時看到相應變化, 給用户一個更好的使用體驗 面向過程風格代碼 //引入redis $redis = new \Redis(); $redis-

swoole , websocket , php

收藏 評論

daoheng - Thinkphp中關聯預載入(Eager Loading)的核心實現邏輯

thinkphp中我們常通過使用關聯預載入(Eager Loading)來解決關聯查詢中"N+1 查詢問題", 通過減少數據庫查詢次數來提升性能. 其底層實現邏輯可以分為以下幾個關鍵步驟: 1.關聯定義的基礎 以下面的代理為例子: //$this-model = new \app\admin\model\device\Relation; $list = $this-model -wher

php , thinkphp

收藏 評論

daoheng - PHP項目中引入並monolog進行日誌管理

在 ThinkPHP(以 5.x 為例)中引入並使用 Monolog(一款功能強大的 PHP 日誌庫),可以實現更靈活的日誌處理(如多渠道輸出、按級別拆分、格式化等)。以下是具體步驟: 一、安裝 Monolog 通過 Composer 安裝 Monolog 依賴: composer require monolog/monolog 二、封裝 Monolog 工具類 為了在 ThinkPHP 中方便

thinkphp5 , monolog , php , 後端

收藏 評論

guanguans - php-cs-fixer 集成 blade-formatter 來格式化 blade 模板

php-cs-fixer 集成 blade-formatter 來格式化 blade 模板 準備工作 安裝 PHP-CS-Fixer 和 blade-formatter composer require --dev friendsofphp/php-cs-fixer npm install -g blade-formatter 創建修復器 BladeFixer.php ?php /** @noi

lint , php , laravel , php-cs-fixer , ci

收藏 評論

Leojx - PHP Composer包的其他安裝方式

Composer包構建文件 { "name": "liujianxin/message-service-packagist", "description": "chang yu jun ge .TECH Message-service", "version": "1.0.6", "type": "library", "license": "MIT",

composer , php , 教程 , composer-php

收藏 評論

蘇琢玉 - PHP 項目裏,哪些功能讓你一次次「重複造輪子」

寫 PHP 第 7 年了,我發現有些功能簡直像韭菜——項目一換就得重新割一遍。 手機號歸屬地、參數校驗、唯一 ID、地址解析……是不是你也寫過不止一次? 有些功能不難,但就是麻煩: 做個小商城,要寫個 促銷規則引擎 做個 API,就得來一遍 參數驗證器 做用户註冊登錄,要寫個 TOTP 動態口令 做支付結算,要造個 唯一 ID 生成器 這些功能並不是多複雜的“高大上算法”,但就是又常見

composer , php

收藏 評論

JonLee - PHP-Casbin:現代化 PHP 應用的權限管理引擎

在當今複雜的Web應用中,精細化的權限管理是保障系統安全的關鍵環節。PHP-Casbin 作為Casbin生態的PHP實現,憑藉其靈活的模型支持和強大的擴展能力,已成為PHP開發者實現訪問控制的首選工具。 超越傳統權限模型 PHP-Casbin 基於PERM(Policy/Effect/Request/Matcher)模型,抽象出通用的訪問控制框架。 模型靈活‌:通過配置文件支持自定義訪問控制

權限 , php , 知識 , 安全 , 接口

收藏 評論