@php

Stories List
@huaweichenai

Yii 實現樂觀鎖和悲觀鎖

一:在Yii中實現樂觀鎖 樂觀鎖(optimistic locking)表現出大膽、務實的態度。使用樂觀鎖的前提是, 實際應用當中,發生衝突的概率比較低。他的設計和實現直接而簡潔。 目前Web應用中,樂觀鎖的使用佔有絕對優勢。因此在Yii為ActiveReocrd樂觀鎖支持 1:在yii中實現樂觀鎖步驟、 1):給需要加鎖的表添加一個字段,用於表示版本號,這裏我一般選手version字段作為版本號

huaweichenai Avatar

@huaweichenai

Nickname huaweichenai

@huaweichenai

Yii 實現生成二維碼

一:安裝QrCode comspoer require 2amigos/qrcode-library 二:QrCode配置 當我們安裝完QrCode之後,在Yii的配置文件中進行如下配置: 'components' = [ 'qrcode' = [ 'class' = '\Da\QrCode\Component\QrCodeComponent', ] ], 三:使用

huaweichenai Avatar

@huaweichenai

Nickname huaweichenai

@huaweichenai

Yii使用queue實現隊列

一:安裝queue composer require yiisoft/yii2-queue 二:配置queue 安裝queue之後我們在項目中運行 php yii時這時候我們發現沒有queue的相關命令,這是怎麼回事呢? 這是由於我們沒有對queue進行配置 注意:這裏配置queue時必須使得web和console都有關於queue的配置,例如yii的基礎版的console.php和web.php

huaweichenai Avatar

@huaweichenai

Nickname huaweichenai

@winnn

PHP實現單用户登錄

原理:同一賬號在多個設備上登錄,前者被後者頂下線;假設賬號在設備A登錄,該賬號又在設備B登錄,此時設備A登錄的賬號被頂下線 思路分析 1、用户登錄成功後將當前時間存入session中,以及製作個token值存入該用户數據庫中; 2、在驗證用户是否登錄的模塊中,若用户已登錄,將用户數據庫中的token取出,並且製作一個最新的token,兩者判斷是否相等,若不相等,用户下線; 代碼實現 1、在登錄成功

winnn Avatar

@winnn

Nickname Winn

@vanve

windows下用swoole-cli來簡化運行環境

眾所周知用windows環境下寫swoole的項目是真的麻煩,不是虛擬機就是測試服務器開發,好在現在有docker可以很方便的使用各種開發環境,但是資源佔用也不少。偶然發現swoole-cli靜態編譯了php的swoole環境,確實很方便。 swoole-cli下載地址 3端現在有 php版本8.0以上 就是用swoole-cli敲起命令總有維和感,就用批處理做了映射,還是用php的命令的方式打開

vanve Avatar

@vanve

Nickname vanve

@zero_dev

phpstorm開發項目中5種常用的使用方法

前言: 有時因為各種原因重裝了系統,工具有時也重裝,但是又沒有把軟件的設置導出來。最開始的工具配置過了段時間給遺忘了,比如平時順手的關閉窗口快捷鍵,composer,git等的設置。 方法總結: 修改快捷方式點擊”File”-”Settings”-”keyMap”就可以看到那些快鍵鍵的各種分類,比如我常喜歡用”ctrl+w”關閉正在打開的窗口,所以就選擇”windows”分類下的Editor

zero_dev Avatar

@zero_dev

Nickname 北橋蘇

@kinra

Xdedubg 調試指南

網上關於 Xdebug 的安裝調試教程很多,但絕大部分僅限於 Xdebug 的安裝、配置以及如何使用IDE、Xdebug調試程序。其他語言(例如 Java 的 JDB、Python 的 PDB、Go 的 Delve等)都可以使用自帶調試工具,並直接通過IDE進行斷點調試。然而PHP自帶的 phpdbg 並不方便大型框架項目的調試,最常用的調試工具是Xdebug,結合PhpStorm或 Visual

kinra Avatar

@kinra

Nickname kinra

@xingzoudedahuoji

在線考試答題系統(Web+H5+小程序)開發方案與實現附源代碼

  隨着教育信息化與數字化轉型的加速推進,傳統線下考試模式正面臨效率瓶頸與場景侷限。組織大規模考試時,試卷印製、考場安排、人工監考及成績統計等環節耗費大量資源,且難以應對突發情況。在此背景下,在線考試答題系統應運而生,成為重塑教育評估體系的核心工具。   源碼及演示:zx.xcxyms.top   在線考試答題系統需覆蓋多端使用場景,包含題庫管理、在線答題、成績統計、錯題分析等核心功能。目標用户包

xingzoudedahuoji Avatar

@xingzoudedahuoji

Nickname 行走的打火機

@tim_xiao

併發控制-文件鎖

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

tim_xiao Avatar

@tim_xiao

Nickname tim_xiao

@crmeb

PHP 項目對接視頻號原來如此簡單,小白也能輕鬆完成【帶附件】

首先,商家需要在微信後台申請自定義版交易組件權限,申請成功後,可以將小程序關聯至對應視頻號,並在視頻號帶貨直播中使用。 申請開通商户號 等商户號審核之後在操作一下步驟接口調用(pro為例) 實例代碼 商品接口調用(https://api.weixin.qq.com/sho...) 添加完商品等到微信審核,審核過後下單購買 打開微信開發

crmeb Avatar

@crmeb

Nickname CRMEB

@zjkal

⏱️TimeHelper——一個簡單快捷的PHP日期時間助手類庫

TimeHelper 是一個簡單易用的PHP時間日期助手類庫,可以快速實現常用的時間日期操作,比如獲取指定時間的秒數,獲取友好的時間格式,判斷時間範圍,計算兩個時間相差值,返回N小時/天/星期/月/年前或者後的時間戳等等 🧩特性 簡單易用: 不依賴任何擴展,開箱即用 化繁為簡: 所有方法都可以傳入任意類型的時間日期格式或時間戳 快捷高效: 所有操作只需要一個靜態方法即可完成 長期維護:

zjkal Avatar

@zjkal

Nickname zjkal

@tangqingfeng

Php composer 基礎教程

一、什麼是Composer? Composer 是 PHP 中的依賴管理工具。它允許聲明項目所依賴的庫,並且它將為您管理(安裝/更新)它們。 二、如何安裝? Linux 系統和 MacOS 系統 直接下載最新穩定版: 然後執行下列命令,放到/usr/local/bin下面 sudo mv composer.phar /usr/local/bin/composer sudo chmod +x /

tangqingfeng Avatar

@tangqingfeng

Nickname 唐青楓

@wujingquan

用 Go 寫了個 Composer 版本管理器 CVM

Github:https://github.com/wujingquan/cvm 歡迎PR,各位巨佬使用。 CVM for Windows 消除了在Windows上的CLI中更改Composer 版本的麻煩。 這個包有一個比nvm更小眾的用例。當在Windows上開發並使用集成終端時,很難讓這些終端真正聽取PATH的變化。 這個實用程序改變了這一點。 安裝 到Github Releases

wujingquan Avatar

@wujingquan

Nickname wujingquan

@aoshunseo

PHP Composer 使用方法指南

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

aoshunseo Avatar

@aoshunseo

Nickname 奧順互聯

@zxc7563598

從零開始創建屬於自己的 Composer 庫

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

zxc7563598 Avatar

@zxc7563598

Nickname 蘇琢玉

@big_cat

docker 構建本地 php-cli 環境安裝 composer 依賴

有時我們只需是需要使用 php-cli 去安裝一些 composer 依賴,然而在本地安裝 php 耗時費力,在一些老系統上還會有各種版本限制,比如我的 MacOS11 因為不被 asciidoc 支持(特麼的,MacOS12也不被支持...),導致無法成功安裝。 所以轉為 docker 容器變相實現,掛載項目工作目錄到容器的工作目錄上,在容器中的環境下,安裝依賴。 cd your_project

big_cat Avatar

@big_cat

Nickname big_cat

@zxc7563598

訂單號老是撞車?我寫了個通用 PHP ID 生成器

在日常開發裏,我們經常會遇到這種情況: 需要給訂單生成唯一編號; 想給日誌或者資源加個標識; 或者需要一個不會重複的 ID,用作數據庫主鍵。 一開始,我也用過 time() 拼接隨機數、或者 uniqid()。 這些方案在小項目裏夠用,但一旦放到併發稍微高點的業務裏,就會出現各種問題: ​time() 很容易撞車(同一毫秒可能生成多個); ​uniqid() 看上去獨特,其實

zxc7563598 Avatar

@zxc7563598

Nickname 蘇琢玉

@zjkal

📦MysqlHelper——一個便捷的MySQL導入導出的助手類庫

MysqlHelper 是一個便捷的通過PHP導入和導出Mysql數據庫表結構和數據的工具,可以快速實現mysql的數據庫的導入和導出. 🧩特性 簡單易用: 僅依賴mysqlli擴展,開箱即用 靈活操作: 兼容主流框架,使用更方便 長期維護: 作者為自由職業者,保證項目的長期穩定和持續更新 🚀安裝 通過Composer導入類庫 composer require zjkal/mysql

zjkal Avatar

@zjkal

Nickname zjkal