99国产在线视频有精品视频_国产精品久久久久久亚洲影视 _国产三级日本三级韩国三级在线看_精精国产XXXX视频在线my_乱VODAFONEWIFI熟妇_超碰cao国产精品一区二区_91久久精品青青草原伊人_欧美,一区,日韩,精品

YzmCMS x 基于新開框架純文章系統

1420次瀏覽 更新日期:2023-12-28 19:15:12 分類:模板插件 評論:9

前言

image.png

最近在探討技術的同時 發現老袁的系統邏輯很簡單


為此我靈感就來了 借鑒了老袁的邏輯 為自己開發了一套簡潔性的框架


好處就是代碼可以兼容yzm 但使用方法稍微不同 加載邏輯不一樣 話不多說細講一番


當然基于yzm上的邏輯 版權一定帶上 我代碼示例中都有注明yzm的版權


演示

演示

功能

目錄結構

image.png

目錄結構 很簡單 

app為應用模塊 

cache 緩存  

common公共目錄 

extend擴展類

qhphp框架類

uploads上傳目錄


app應用

image.png

基礎三件套 MVc框架 必備套件


配置

image.png

配置分別存為其他文件 簡單明了 新增助手函數


加載

yzm加載方式:yzm_base::load_controller('common', 'admin', 0); 


我的加載方式 需要引入加載類 


use qhphp\base\Base;


然后再Base::load_controller('login','admin');


控制器必須要有命名空間 如:namespace app\admin\controllers;


應用映射

因為與yzm加載方法不同 我這版可以設置應用映射


什么叫應用映射 就是直接給后臺改名 后臺路徑可以改 


image.png


把admin改為admin1 即可訪問 原來的方式將為靜止訪問


緩存

默認使用了yzm方法類 新增了我自己的緩存類


具體功能有 設置緩存 自增緩存值 自減緩存值  追加數據 刪除緩存 獲取緩存 獲取并刪除緩存 清空緩存


使用方法 直接 use qhphp\cache\Cache; 引入 


配置

新增配置類  使用方法直接use qhphp\config\Config; 


可以直接讀取配置信息 如讀取config::get('auth_key');


默認讀取app下的配置 讀取其他可以config::get('auth_key','rotue); 讀取路由配置


cookie

新增cookie類 使用方法也是直接引入即可use qhphp\cookie\cookie


功能有設置 獲取 刪除 加密 等


Session

新增Session類 使用方法直接引入 use qhphp\Session\Session


基本增刪


數據庫操作類

yzm直接使用方法直接使用D方法 


我這使用db方法 當然如果你不用函數 你可以直接引入 use qhphp\db\db


創建類 直接使用


增:

Db('user')->insert($data);

刪:

Db('user')->where('id',1)->delete();

改:

如果數據中包含主鍵,可以直接使用:

Db('user')->update(['name' => 'thinkphp','id'=>1]);

查:

Db('user')->where('id',1)->find();

查詢數據集使用:

Db('user')->where('status',1)->select();
// 返回某個字段的值
Db('user')->where('id',1)->value('name');
// 查詢第一頁數據
Db('article')->page('1,10')->select();

使用page方法你不需要計算每個分頁數據的起始位置,page方法內部會自動計算。



alias用于設置當前數據表的別名,便于使用其他的連貫操作例如join方法等。

示例:

Db:('user')->alias('a')->join('__DEPT__ b ','b.user_id= a.id')->select();
// 助手函數
db('user')->count();

獲取用戶的最大積分:

db('user')->max('score');

獲取用戶的平均積分:

db('user')->avg('score');
// 獲取今天的博客
Db('blog') ->whereTime('create_time', 'today')->select();
// 獲取昨天的博客
Db('blog')->whereTime('create_time', 'yesterday')->select();
// 獲取本周的博客
Db('blog')->whereTime('create_time', 'week')->select();   
// 獲取上周的博客
Db('blog')->whereTime('create_time', 'last week')->select();    
// 獲取本月的博客
Db('blog')->whereTime('create_time', 'month')->select();   
// 獲取上月的博客
Db('blog')->whereTime('create_time', 'last month')->select();      
// 獲取今年的博客
Db('blog')->whereTime('create_time', 'year')->select();   
 // 獲取去年的博客
 Db('blog')->whereTime('create_time', 'last year')->select();
// 自增 score 字段
db('user')->where('id', 1)->setInc('score');
// 自減 score 字段
db('user')->where('id', 1)->setDec('score');
// 查詢狀態為1的用戶數據 并且每頁顯示10條數據
$list = Db('user')->where('status',1)->paginate(10);

$page = db('user')->render($list)

使用render方法 可直接分頁 使用$page可直接輸出上一頁下一頁


這是我自己寫的類 文件小 方便調用接口 如何你需要單獨使用分頁 你可以直接use方式引入即可


錯誤類

新增報錯類 如果遇到錯誤 會自動寫入錯誤日志 老袁寫的寫的也不錯 我暫時使用他的了


如果需要使用直接use qhphp\log\ErrorLog;


上傳類

使用:use qhphp\upload\Uploads;


功能:上傳文件大小格式限制 生成文件哈希散列值等等 大小十幾k


圖片處理類

使用

// $image = new Image('path/to/image.jpg');
// $image->crop(100, 100, 200, 200);
// $image->flip('horizontal');
// $image->watermark('path/to/watermark.png', 50, 50);
// $image->text('Hello World', 100, 100, [255, 255, 255], 12, 'path/to/font.ttf');
// $image->save('path/to/new/image.jpg', true); // 覆蓋現有文件

功能有 可以獲取打開圖片的信息,包括圖像大小、類型等 使用cropsave方法完成裁剪圖片功能。


支持從某個坐標開始裁剪 

生成縮略圖

添加水印

系統支持添加圖片及文字水印

請求類

使用:use qhphp\request\Request;


判斷請求方法是否為 GET  判斷請求方法是否為 POST  判斷請求是否為 AJAX 請求  獲取客戶端 IP 地址 


獲取 GET 參數 獲取 POST 參數 獲取 GET 或 POST 參數 獲取指定的 GET 或 POST 參數


驗證類

使用:use qhphp\validator\Validator;


具體方式看:http://www.rainie-yang.com/show/1982.html


模版解析類

使用運算符例如:


      {$user.score+10} 
//正確的{$user['score']+10} 
//正確的{$user['score']*$user['level']} 
//正確的{$user['score']|myFun*10} 
//錯誤的{$user['score']+myFun($user['level'])}
 //正確的


模板可以支持三元運算符,例如:


{$status? '正常' : '錯誤'}
{$info['status']? $info['msg'] : $info['error']}
{$info.status? $info.msg : $info.error }


app類

使用composer來自動加載整個框架 與yzm的區別是 yzm以打開傳統方式打開php類來運行


我這完全使用了第三方來加載 利于命名空間的映射來加載類以及框架 


優勢在于引入類的時候靈活 避免了文件的重復 不需要手動編寫復雜的自動加載邏輯


能夠減少文件 I/O 和遍歷目錄的操作


以與許多其他工具和框架集成 一鍵安裝 Composer 引入到現有的項目中,而不需要對項目的結構和代碼進行大量修改。


可以簡化項目的依賴管理和自動加載過程,提高性能


擴展標簽

可以書寫自己的標簽 方便靈活 


image.png

也可以自定義書寫標簽規則


image.png

自定義拓展靈活


函數包括助手函數和yzm的系統函數


image.png


總結

需要可以找我免費獲取 避免盜碼行為 框架基于yzm二開并處理邏輯


版權我已經標注 我寫的功能類 有我自己的版權 使用yzm的代碼也就是系統的控制 框架80%為原創性代碼

附件下載:


登錄后可查看詳情!

我來說兩句
  • 老師漏洞修復沒有
    1
    回復
  • yzmcms
    yzmcms 官網認證 1年前
    厲害了
    1
    回復
  • oolaile
    oolaile 1年前
    握艸,牛逼克拉斯
    1
    回復
  • wo521
    wo521 1年前
    必須支持
    0
    回復
  • @xml 不行
    0
    回復
  • xml
    xml 1年前
    Your Composer dependencies require a PHP version ">= 7.4.0".
    
    要求這么高了,7.2都不行?
    0
    回復
  • sxsmlj
    sxsmlj 1年前
    佩服!佩服!佩服!佩服!
    0
    回復
  • 這真是我想要的
    0
    回復
  • wukeke
    wukeke 1年前
    牛人總是研究深奧的東東,佩服佩服!  
    0
    回復
作者信息
發布見解
發內容 回頂部