Name | Modified | Size | Downloads / Week |
---|---|---|---|
Release Note | 2024-11-01 | 119.9 kB | |
gpl.txt | 2024-11-01 | 35.1 kB | |
License | 2024-11-01 | 764 Bytes | |
README | 2024-11-01 | 7.4 kB | |
qbpwcf-alpha-2024-11-01-1.tar.zst | 2024-11-01 | 5.4 MB | |
Totals: 5 Items | 5.5 MB | 0 |
QBPWCF, Quick Build PHP website Component base on Fedora Linux. Copyright (C) 2015~2024 Min-Jhin,Chen This file is part of QBPWCF. QBPWCF is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. QBPWCF is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with QBPWCF. If not, see <http://www.gnu.org/licenses/>. 檔案目錄結構: qbpwcf/cgi -dir 存放 cgi 格式的腳本檔案. qbpwcf/composer -dir 用來存放 composer 工具的地方 qbpwcf/db -dir 存放需要使用資料庫的套件sql與寫入與讀取資料庫資料的方法. qbpwcf/etc -dir 存放設定檔的路徑 qbpwcf/fonts -dir 存放字體的路徑 qbpwcf/img -dir 用來存放圖片的地方 qbpwcf/javaScript -dir 存放用來產生javaScript給外部瀏覽器使用的目錄 qbpwcf/json -dir 存放用來接受回應後只回傳json的頁面 qbpwcf/lib -dir 存放本套件用到到函式庫 qbpwcf/non-free-lib -dir 存放不開源或不得任意散布的函式庫 qbpwcf/systemd -dir 存放 service 設定檔 qbpwcf/tcpdf -dir 存放 tcdpf 套件的地方 qbpwcf/tmp -dir 暫存目錄 qbpwcf/unserialize -dir unserialize post data then output json. qbpwcf/testCase -dir 爲存放測試案例的地方 qbpwcf/usr -dir 放置 usr 目錄相關的檔案與目錄. qbpwcf/var -dir 存放執行中的資源,例如socket檔案. qbpwcf/webExtension -dir 存放 webExtension 的目錄 qbpwcf/*.php 提供各種功能的php檔案 qbpwcf/*-soap.php 提供各種soap服務的php檔案 sample -dir 提供各類別底下個別函式的執行範例 gpl.txt GPL條款說明 index.php 顯示 Release Note 檔案內容的頁面 install.php 安裝本套件的php腳本 License 版權宣告 README 本文件 Release Note 版本異動記錄 由於版權關係,因此以下檔案需自行下載與安裝: lib/bootstrap-3.3.6-dist lib/jquery-2.2.2.min.js lib/notify.min.js lib/Chart.js lib/ckeditor lib/webrtc lib/apache-hive lib/glMatrix non-free-lib/amchart/amcharts_3.18.6.free non-free-lib/amchart/amcharts_3.19.6.free non-free-lib/amchart/ammap_3.19.6.free non-free-lib/amchart/amstockchart_3.19.6.free 如何使用GPL授權 http://www.gnu.org/licenses/gpl-howto.html 命名空間的宣告與使用 http://oomusou.io/php/php-namespace/ http://php.net/manual/en/language.namespaces.importing.php 該套件開發規範: 建議函式執行遇到錯誤時要加上回傳 $result["functionName"] 代表出錯的是哪個函式 取得當前執行的function,可用預先定義的 __FUNCTION__ . 參考資料來源: http://php.net/manual/en/language.constants.predefined.php 各函式使用參數前,應當要先檢查參數是否為陣列,這樣可以避免,參數名稱使用錯誤的問題,無法debug.尤其當該函式只有一個參數時,若無該檢查機制,將會難以deBug. 作為對外部類別開放存取的函式,應該要宣告為public static function fName(). 作為僅對類別自己存取的函式,應該要宣告為private static function fName(). 建立含有參數的函式一開始的寫法可以如下: function haveArgu(&conf){ #初始化要回傳的結果 $result=array(); #取得當前執行的函數名稱 $result["function"]=__FUNCTION__; #如果沒有參數 if(func_num_args()==0){ #設置執行失敗 $result["status"]="false"; #設置執行錯誤訊息 $result["error"]="函數".$result["function"]."需要參數"; #回傳結果 return $result; }#if end /* 請依據實際狀況使用 #涵式說明: #判斷當前環境為web還是cmd #回傳結果: #$result,"web"或"cmd" if(csInformation::getEnv()==="web"){ #設置執行失敗 $result["status"]="false"; #設置執行錯誤訊息 $result["error"][]="函數 ".$result["function"]." 僅能在命令列環境下運行!"; #回傳結果 return $result; }#if end */ #取得參數 $result["argu"]=$conf; #如果 $conf 不為陣列 if(gettype($conf)!=="array"){ #設置執行失敗 $result["status"]="false"; #設置執行錯誤訊息 $result["error"][]="\$conf變數須為陣列形態"; #如果傳入的參數為 null if(is_null($conf)){ #設置執行錯誤訊息 $result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!"; }#if end #回傳結果 return $result; }#if end } 建立不含有必填參數的涵式一開始的寫法可以如下: function noMustFilledArgu(&$conf){ #初始化要回傳的結果 $result=array(); #取得當前執行的函數名稱 $result["function"]=__FUNCTION__; /* 請依據實際狀況使用 #涵式說明: #判斷當前環境為web還是cmd #回傳結果: #$result,"web"或"cmd" if(csInformation::getEnv()==="web"){ #設置執行失敗 $result["status"]="false"; #設置執行錯誤訊息 $result["error"][]="函數 ".$result["function"]." 僅能在命令列環境下運行!"; #回傳結果 return $result; }#if end */ #取得參數 $result["argu"]=$conf; #如果 $conf 不為陣列 if(gettype($conf)!="array"){ #設置執行失敗 $result["status"]="false"; #設置執行錯誤訊息 $result["error"][]="\$conf變數須為陣列形態"; #如果傳入的參數為 null if(is_null($conf)){ #設置執行錯誤訊息 $result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!"; }#if end #回傳結果 return $result; }#if end } 建立不含參數的涵式一開始的寫法可以如下: function noArgu(){ #初始化要回傳的結果 $result=array(); #取得當前執行的函數名稱 $result["function"]=__FUNCTION__; /* 請依據實際狀況使用 #涵式說明: #判斷當前環境為web還是cmd #回傳結果: #$result,"web"或"cmd" if(csInformation::getEnv()=="web"){ #設置執行失敗 $result["status"]="false"; #設置執行錯誤訊息 $result["error"][]="函數 ".$result["function"]." 僅能在命令列環境下運行!"; #回傳結果 return $result; }#if end */ } 當有以下變數宣告時 $conf["A"]["B"]["a"]=123; $conf["A"]["B"]["b"]=123; $conf["A"]["B"]["c"]=123; 卸除$conf["A"]["B"]參數時,應卸除,$conf["A"],這樣才能卸除乾淨。 參數的陣列名稱,應儘量改用成$conf[a.b.c],而非$conf[a][b][c],這樣才能方便處理與應用。 若要撰寫要放到/usr/bin底下的執行檔可將原本的php code 用 php -r '' 包住,不用<?php ?>符號。 參考資料: 以下網址為google提供的javascript整合套件,據說比JQuery更省資源 https://developers.google.com/speed/libraries/devguide?hl=zh-tw PHP 設計模式學習手冊 (Learning PHP Design Patterns) http://www.tenlong.com.tw/items/9862767707?item_id=609455 Dependency Manager for PHP https://getcomposer.org/ Autoloading Standard https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md 取得函數所接受到的參數數量 http://php.net/manual/en/function.func-num-args.php