日日日日人人人夜夜夜2017_美女被c出白浆_国产精品毛片va一区二区三区_啪啪av大全导航福利网址

<abbr id="c8qyg"></abbr>
  • <sup id="c8qyg"><bdo id="c8qyg"></bdo></sup>
    <dl id="c8qyg"></dl>
  • <dl id="c8qyg"><del id="c8qyg"></del></dl>
    • <tfoot id="c8qyg"></tfoot>
          • <noframes id="c8qyg"><code id="c8qyg"></code></noframes>
            pbootcms二次開發增加例子,Pbootcms文章,PB 教程,新手站長網
            • 首頁
            • 站長入門
              • 外貿建站
              • WooCommerce
              • 建站入門
              • 域名知識
              • 編程代碼
              • 工具資源
              • 網站優化
              • 數據庫
              • 服務器
              • 小程序
              • 電商
              • 編程英語
            • Cms文章
              • wordpress
              • pbootcms
              • zblog
              • 易優
              • 帝國cms
              • 迅睿
            • PB 教程
              • 新手入門教程
              • Pbootcms文章
              • 用戶使用手冊
              • 常見問題解答
              • pbootcms小程序
            • 應用市場
            • 筆記分享
              • 網絡安全
              • 自媒體
              • 抖音
              • 快手
              • 其他
              • 手機技巧
            • 會員中心
            首頁 > PB 教程 > Pbootcms文章 >

            pbootcms二次開發增加例子

            2022-08-11 發布在 Pbootcms文章0

            增加一個【續費客戶】菜單:

            重新登錄后,就可以看到側欄菜單。

            五、新建控制器

            默認情況,我們新建模塊,需要在 apps/admin/controller 目錄下新建控制器

            例如:RenewalController.php

            配置好命名空間后即可訪問。

            但是我們看上面的配置都是分模塊的,例如:content,member,system,這個在哪里配置呢?

            分模塊配置,需要單獨的配置路由:

            位置:apps / common / route.php

            六、get 函數

            在使用PbootCMS進行二次開發的時候,經常會看到使用 get 函數,例如:

            $id = get('id', 'int');$mcode = get('mcode', 'var');$keywords = get('keywords', 'vars');

            通過該 get 函數,可以用于接收參數,并且制定類型,具體函數類型:core / function / helper.php

            然后是這個 filter 方法:

            復制代碼
            function filter($varname, $condition)
            {    // 變量名稱文本
                if (array_key_exists($varname, $condition) && $condition[$varname]) {        $vartext = $condition[$varname];
                } else {        $vartext = $varname;
                }    
                // 數據源
                if (array_key_exists('d_source', $condition)) {        switch ($condition['d_source']) {            case 'post':                $data = @$_POST@[$varname];                break;            case 'get':                $data = @$_GET@[$varname];                break;            case 'cookie':                $data = @$_COOKIE[$varname];                break;            case 'session':                $data = session($varname);                break;            case 'both':                $data = @$_POST@[$varname] ?: @$_GET@[$varname];                break;            case 'string':                $data = $varname;            default:
                            error($vartext . '數據獲取方式設置錯誤!');
                    }        // 去空格
                    if (is_string($data))            $data = trim($data);
                } else {        $data = $varname; // 沒有數據源指定時直接按照字符串過濾處理    }    
                // 數據為空時,進行是否允許空檢測
                if (! $data && array_key_exists('d_none', $condition) && $condition['d_none'] === false) {
                    error($vartext . '不能為空!');
                }    
                // 判斷是否強制檢測,為true時,意味著如果數據不滿足要求直接報錯,否則返回null
                if (array_key_exists('d_require', $condition) && $condition['d_require'] == true) {        $require = true;
                } else {        $require = false;
                }    
                // 數據類型檢測
                if (array_key_exists('d_type', $condition)) {        switch ($condition['d_type']) {            case 'int':                if (! preg_match('/^[0-9]+$/', $data)) {                    $err = '必須為整數!';
                            }                break;            case 'float':                if (! is_float($data)) {                    $err = '必須為浮點數!';
                            }                break;            case 'num':                if (! is_numeric($data)) {                    $err = '必須為數字!';
                            }                break;            case 'letter':                if (! preg_match('/^[a-zA-Z]+$/', $data)) {                    $err = '只能包含字母!';
                            }                break;            case 'var':                if (! preg_match('/^[\w\-\.]+$/', $data)) {                    $err = '只能包含字母、數字、劃線、點!';
                            }                break;            case 'bool':                if (! is_bool($data)) {                    $err = '必須為布爾類型!';
                            }                break;            case 'date':                if (! strtotime($data)) {                    $err = '必須為日期類型!';
                            }                break;            case 'array':                if (! is_array($data)) {                    $err = '必須為數組類型!';
                            }                break;            case 'object':                if (! is_object($data)) {                    $err = '必須為對象類型!';
                            }                break;            case 'vars':                if (! preg_match('/^[\x{4e00}-\x{9fa5}\w\-\.,\s]+$/u', $data)) {                    $err = '只能包含中文、字母、數字、橫線、點、逗號、空格!';
                            }                break;            default:                if ($condition['d_type'])
                                error($vartext . '數據類型設置錯誤!');
                    }
                }    
                // 非必須或必須但無錯誤時執行
                if ((! $require || ($require && ! isset($err)))) {        
                    // 正則匹配
                    if (array_key_exists('d_regular', $condition)) {            if (! preg_match($condition['d_regular'], $data)) {                $err = '不符合正則表達式規則!';
                        }
                    }        // 最大值匹配
                    if (array_key_exists('d_max', $condition)) {            if (is_numeric($data)) {                if ($data > $condition['d_max']) {                    $err = '不能大于' . $condition['d_max'];
                            }
                        } else {                if (mb_strlen($data) > $condition['d_max']) {                    $err = '長度不能大于' . $condition['d_max'];
                            }
                        }
                    }        // 最小值匹配
                    if (array_key_exists('d_min', $condition)) {            if (is_numeric($data)) {                if ($data < $condition['d_min']) {                    $err = '不能小于' . $condition['d_min'];
                            }
                        } else {                if (mb_strlen($data) < $condition['d_min']) {                    $err = '長度不能小于' . $condition['d_min'];
                            }
                        }
                    }
                }    
                // 如果為必須且有錯誤,則顯示錯誤,如果非必須,但有錯誤,則設置數據為null
                if ($require && isset($err)) {
                    error($vartext . $err);
                } elseif (isset($err)) {        $data = null;
                }    
                // 如果設置有默認值,默認值
                if (array_key_exists('d_default', $condition)) {        $data = (! is_null($data)) ? $data : $condition['d_default'];
                }    
                if (is_string($data)) {        $data = trim($data); // 去空格
                    $data = preg_replace_r('/()|()/', '', $data); // 去十六進制括號
                    $data = preg_replace_r('/pboot@if/i', 'pboot@if', $data); // 過濾插入cms條件語句
                    $data = preg_replace_r('/pboot@sql/i', 'pboot@sql', $data); // 過濾插入cms條件語句
                    $data = preg_replace_r('/GET\[/i', 'GET@[', $data);        $data = preg_replace_r('/POST\[/i', 'POST@[', $data);
                }    
                // 銷毀錯誤
                unset($err);    
                // 返回收據
                return escape_string($data);
            }
            復制代碼

            到此,基本上就可以用PbootCMS做二次開發了。



            如果您的問題還未解決可以聯系站長付費協助。 加入我們

            有問題可以加入技術QQ群一起交流學習
            本站vip會員 請加入無憂模板網 VIP群(50604020) PS:加入時備注用戶名或昵稱
            普通注冊會員或訪客 請加入無憂模板網 技術交流群(50604130)
            客服微信號:15898888535
            聲明:本站所有文章資源內容,如無特殊說明或標注,均為采集網絡資源。如若內容侵犯了原著者的合法權益,可聯系站長刪除。

            登錄 側欄 控制器 增加 配置 模塊 目錄 菜單 新建 續費
            賞
            上一篇 PbootCMS使用的是 fontawesome
            下一篇 PbootCMS2.0教程之對接七牛云功能

            相關文章

            • PbootCMS后臺關閉驗證碼,登錄提示驗證碼不能空的解決方法
            • python 已經安裝了模塊但是還提示 ModuleNotFoundError: No module named 'pdf2docx' 解決辦法
            • 易優cms控制器進行驗證的方法
            • aspcms安裝教程(如何安裝配置asp開發環境)
            • flash菜單制作教程,flash player 菜單
            • ps圖案擴邊教程(ps怎么增加人臉五官輪廓感)

            熱門

            • 1 PbootCMS網站模板安裝教程 PbootCMS新手安裝教程圖文詳細
            • 2 pbootcms授權方式 pbootcms官方網站打不開授權不了怎么辦
            • 3 PbootCMS文章列表沒有縮略圖時顯示指定的默認圖片
            • 4 PbootCMS后臺關閉驗證碼,登錄提示驗證碼不能空的解決方法

            應用市場

            • ¥100 采集文章自動推送百度插件 PHP插件支持推送百度當天文章

              ¥100 采集文章自動推送百度插件 PHP插件支持推送百度當天文章

              2025-01-19

            • ¥50 pbootcms副欄目多選功能 默認只能多選一個 此插件可多選多個欄目

              ¥50 pbootcms副欄目多選功能 默認只能多選一個 此插件可多選多個欄目

              2025-01-19

            • ¥200 網站維護/網站修改/問題解決/網站搬遷/php修改/asp修改/網站搬家

              ¥200 網站維護/網站修改/問題解決/網站搬遷/php修改/asp修改/網站搬家

              2025-01-19

            • ¥100  根據標題生成圖片,文章頁自動配標題配圖,避免版權問題,所有cms通用php

              ¥100 根據標題生成圖片,文章頁自動配標題配圖,避免版權問題,所有cms通用php

              2025-01-19

            熱門標簽

            置頂   發短   撤銷   時光   Centos8   長度   發多   基礎庫   Helvetica   找到   NET   投資   有關   db   客戶機   HP   SEOer   創建   播放量   消費者   工具欄   衛生紙   專業版   nova8   申訴   低調   Neue   首先   業務   暴富   歷程   stripos   馬木馬   USB   苦惱   網址   博主   產品   文檔   爆單  
            • 站長入門
            • Cms文章
            • PB 教程
            • 應用市場
            • 筆記分享
            • 會員中心
            • XML地圖

            Copyright ? 2018-2020 新手站長網 All Rights Reserved.
            免責聲明:本站所有資源(模板、圖片、字體等)搜集整理于互聯網或者網友提供,僅供學習與交流使用,如果不小心侵犯到你的權益,請及時聯系我們刪除該資源,郵箱mcuv#qq.com。 魯ICP備2021016954號-3 網站模板

            實用工具

            覺得文章有用就打賞一下吧

            微信掃一掃打賞

            感谢您访问我们的网站,您可能还对以下资源感兴趣:

            日日日日人人人夜夜夜2017_美女被c出白浆_国产精品毛片va一区二区三区_啪啪av大全导航福利网址
            <dl id="su4mk"></dl>
            <dl id="su4mk"><del id="su4mk"></del></dl>
            • <noframes id="su4mk"><dl id="su4mk"></dl></noframes>
                  <fieldset id="su4mk"></fieldset>
                    <tfoot id="su4mk"><del id="su4mk"></del></tfoot>