原创 PHP 枚舉類型的管理與設計

本文的實現主要是基於 myclabs/php-enum 擴展包。 今天來分享下如何管理 PHP 的枚舉類型。 一種常見的方式是,使用常量來代表枚舉類型 const YES = '是'; const NO = '否'; 可以在這個基礎上更

原创 ThinkPHP6 事件與多應用

事件   1. 事件和中間件有一點相似,只不過事件更加的精準定位更細膩的業務場景; 2. 事件可定義:事件類、事件監聽類、事件訂閱類; 3. 我們先創建一個測試事件的類:TestEvent.php,手動創建一個測試類; public f

原创 PHP7 安裝 Swoole 教程

PHP7 源碼安裝   步驟 1、解壓 tar -xjvf 2、configure 3、make 4、make install 安裝上傳下載命令 yum install -y lrzsz linux 操作 [root@VM_0_5_c

原创 Laravel 7 擴展開發教程

步驟 1. 創建一個新項目   我更喜歡使用 Laravel 安裝程序。 我更喜歡使用 Laravel 安裝程序。 laravel new lara-dg 我更喜歡使用 SQLite 進行測試和軟件包開發。修改你的.env 文件: D

原创 依賴注入與哪些事情無關?

任何你使用的現代框架,都可能嚴重依賴於依賴注入。但是你知道依賴注入代表的真正含義嗎?或者換一個更好的角度 - 你知道依賴注入不是什麼嗎?   依賴容器 雖然每個現代框架都附帶依賴容器 — 一個用於構建對象的大盒子 — 但這並不能保證你會按

原创 如何將PHP7達到最高性能

PHP7 VS PHP5.6 1. Opcache 記得啓用Zend Opcache, 因爲PHP7即使不啓用Opcache速度也比PHP-5.6啓用了Opcache快, 所以之前測試時期就發生了有人一直沒有啓用Opcache的事情. 啓

原创 php實現簡單聊天功能

1、創建聊天消息表,其表的字段有消息內容,發送時間和發送者的名稱; SQL: CREATE TABLE `guanhui`.`message` ( `id` INT(10) NOT NULL AUTO_INCREMENT CO

原创 如何使用簡單 PHP 對象 POPO (Plain old PHP Object) 來優化你的代碼

如果您熟悉 Java,可能您已經知道 POJO (普通 Java 類). 因爲 POJO 這個詞最早是由 Martin Fowler、Rebecca Parsons 和 Josh MacKenzie 於 2000 年在 Java 編程語言

原创 PHP 函數庫精講之類與對象

廢棄 一些函數已經被廢棄或者移除,請不要使用它們 __autoload - 7.2 版本廢棄 call_user_method_array - 7.0 版本移除 call_user_method - 7.0 版本移除 判斷   類的存在性

原创 如何 Laravel 中驗證 zip 壓縮包裏的文件?

在 Laravel 程序中上傳文件時,請求驗證可以很好驗證上傳的文件。你可以要求上傳文件必須爲 圖片 , 也可以限制文件字節 大小 , 也可以根據 mime types 或者 文件擴展名 過濾文件。 如果我們希望用戶上載 ZIP 文件,我

原创 PHP7的Yaconf使用教程

簡介 首先說說, 這個是幹啥的. 我見過很多的項目中, 用PHP文件做配置的, 一個config目錄下可能有十幾個甚至數十個.php配置文件, 裏面都是各種各樣的array, 還有甚者會把一些詞典文件(比如中文/英文對照)也放到配置中去.

原创 算法與數據結構系列 ( 三 ) - 選擇排序法 - Select Sort

前言 首先我們玩的是比較經典的選擇排序 選擇排序也是我們本系列的第一個 O(n^2) 算法 很多人認爲最優的算法是 O(n log n) 級別的算法 這樣就衍生出了一個問題   爲什麼要學習 O(n^2) 級別的算法? 基礎: O(n^2

原创 推薦10個優質的Laravel擴展

這裏有 10+ 個用來搭建 Laravel 應用的包   爲何會創建這個包的列表?因爲我是一個「比較懶」的開發者,在臉書上是多個 Laravel 小組的成員。平日遇到最多的問題就是開發是需要用那些包。我很懶所以我不想每次都從頭開始搞這些東

原创 如何在利用 Composer 註冊全局輔助函數?

Composer 使用不同的技術和標準簡化了類的自動加載。當今最常見的自動加載標準是 PSR-4: "autoload": { "psr-4": { "App\\": "src/" } }   這將使用帶

原创 ThinkPHP6新增‘’多應用‘’與ThinkPHP5有啥區別

首先看下ThinkPHP6官方手冊關於多應用的目錄結構: ├─app 應用目錄 │ ├─index 主應用 │ │ ├─controller 控制器目錄 │ │ ├─model