Download the PHP package ntch/pocoapoco without Composer
On this page you can find all versions of the php package ntch/pocoapoco. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package pocoapoco
Pocoapoco 框架
Pocoapoco框架是由國家兩廳院資訊組,針對自家開發需求撰寫而成,透過簡單路由引擎加上 MVC 架構概念,做到程式碼的輕易控管。
框架安裝及部署
- 安裝
composer:https://packagist.org/packages/ntch/pocoapoco
- 伺服器
伺服器使用 Nginx,其設定檔(nginx.conf)範例如下:
目錄結構
學習
router
資料夾:routes
檔案:router.php
< routes 起手式 >
< 可用路由的方法 >
方法 | 說明 |
---|---|
controller | 轉向 controller 方法 |
view | 轉向 view 方法 |
public | 轉向 public 方法 |
mix | 需要引入 model 和 library 等物件並轉向 controller 方法 |
*model 提供的類型再請參考 model 的文件
參數 | 型態 | 說明 |
---|---|---|
uri | string | 請求的網址,加 ':' 及代表此為參數 |
path | string | 請求導向執行檔案的路徑 |
file | string | 執行檔案名稱 |
method | string | 執行檔案中的方法名稱,預設 index |
data | array | 要傳入的參數 |
*注意:重複符合的 uri ,以上面的為主。
*建議:常用功能方法往上放,能加速執行速度。
controller
資料夾:controllers
檔案:xxx.php
< controllers 起手式 >
< request 提供的物件 >
參數 | 說明 |
---|---|
uuid | 每次請求的獨立唯一編號 |
method | 請求方法 |
uri | router 設定的參數 |
query | GET 方法代入的參數 |
attribute | POST 方法代入的參數 |
authorization | herder 中的 token |
cookies | 請求帶入的 cookie |
files | input 上傳的 file |
client | 請求來源 |
time | 請求時間 |
headers | 請求 header |
setting
資料夾:settings
檔案:xxx.ini
- 檔案讀取順序:先讀取 settings 根目錄,再依據 Nginx ENVIRONMENT 設定讀取,若名稱重複做覆蓋。
- libraries.ini:libraries 命名與載入層級設定,實際引入由 router 載入
- mails.ini:郵件參數設定
- aws.ini:aws iam 參數設定
- error.ini:開發與正式上線參數設定
- log.ini:log 參數設定
- project.ini:專案共用參數設定
- models.ini:資料庫參數設定
< settings 起手式 >
library
資料夾:libraries
檔案:xxx.php
< library 起手式 >
< setting 定義別名 >
< router 檔案引入至 controller 使用 >
< controller 使用 >
model
資料夾:models
檔案:xxx.php
*提供類型:Oracle、Mysql、Mssql、Postgres
< model 起手式 >
參數 | 說明 | 必填 | 內容 |
---|---|---|---|
DATA_TYPE | 欄位型別 | 是 | 各別資料庫如下說明 |
DATA_SIZE | 欄位大小 | 否 | 時間參數依各資料庫 format 格式,提供:年、月、日、時、分、秒 |
NULLABLE | 是否為空值 | 否 | 預設為否 |
DATA_DEFAULT | 預設值 | 否 | 預設為 null |
KEY_TYPE | 鍵值 | 否 | P:主鍵 |
COMMENT | 敘述 | 否 | |
SYSTEM_SET | 系統設定,做 CRUD 時會自動代入 | 否 | PRIMARY_KEY:主鍵 , UPDATE_DATE:更新時間 |
-
Oracle 提供的 DATA_TYPE
- CHAR
- NCHAR
- VARCHAR2
- NVARCHAR2
- NCLOB
- FLOAT
- NUMBER
- DATE
- TIMESTAMP
- TIMESTAMP WITH TIME ZONE
- TIMESTAMP WITH LOCAL TIME ZONE
-
Mysql 提供的 DATA_TYPE
- char
- varchar
- tinyint
- smallint
- mediumint
- bigint
- int
- float
- decimal
- timestamp
- datetime
- date
- time
- year
-
Mssql 提供的 DATA_TYPE
- char
- varchar
- nchar
- nvarchar
- tinyint
- smallint
- bigint
- int
- float
- decimal
- datetime
- date
- Postgres 提供的 DATA_TYPE
- char
- varchar
- uuid
- bool
- date
- inet
- json
- float
- decimal
- integer
- bigint
- smallint
- timestamp
- timestamptz
- xml
< setting 設定檔定義別名 >
< router 檔案引入至 controller 使用 >
*server 為撈出該 database 所有 table,非必要引入
< controller 使用 >
- 通用方法
- createTable()
- commentTable() // Mysql 不適用
- insert()
- values($values)
- delete()
- update()
- set($set)
- select($select)
- select_distinct($select)
- where($where)
- orderby($orderby)
- groupby($groupby)
- query()
- query_pass() // 不檢查 model schema
- commit()
- rollback()
- keyName($keyName) (指定 key 欄位)
- dataBind() // 將 array key 與 colname 相同的值合併至 model
參數 | 型態 | 說明 |
---|---|---|
values | array | [ '欄位名稱' => 值 ] |
set | array | [ '欄位名稱' => 值 ] |
select | array | 一維陣列填入欄位名稱, 二維陣列 value 視為別名(as) |
where | array | [ '欄位名稱' => 值 ] or [ '欄位名稱' => [值, 關係運算子] ] |
orderby | array | 一維陣列填入欄位名稱 |
groupby | array | 一維陣列填入欄位名稱 |
keyName | string | 指定返回的值的 key |
userName | string | 使用者名稱 |
tableName | string | 表名稱 |
target | string | 目標比對欄位 |
source | string | 來源比對欄位 |
log
< log 使用 >
參數 | 型態 | 說明 |
---|---|---|
level | string | 依據 PSR-3 規則,給予層級 |
message | string | 主要訊息標題 |
info | array | 要記錄的資訊 |
< mail 使用 >
- 方法
- header($header)
- from($from)
- to($to)
- subject($subject)
- content($source, $type, $content, $data)
- attachment($source, $attachment)
- image($path, $cid, $name)
- send()
參數 | 型態 | 說明 |
---|---|---|
header | array | 信件表頭 |
from | array | 寄件人 [ '信箱' => '寄件人名稱' ] |
to | array | 收件人 [ '信箱' => '收件人名稱' ] |
subject | string | 信件標題 |
source | string | 資料來源 content => user|url|local , attachment => url|local |
type | array | text|html |
content | string | 信件內容,依 $content 帶入的值分別給予 text|uri|path |
data | array | 使用 view 中的檔案,要帶入的參數 |
attachment | string | 信件內容,依 $content 帶入的值分別給予 uri|path |
path | string | 圖片位置 uri|path |
cid | string | 圖片別名 |
name | string | 圖片名稱 |
aws
< aws 使用 >
- 方法
- s3_exist($bucket, $awsPath, $awsFile, $sseKey)
- s3_list($bucket)
- s3_upload($bucket, $awsPath, $awsFile, $localPath, $localFile, $security, $download)
- s3_read($bucket, $awsPath, $awsFile, $sseKey)
- s3_download($bucket, $awsPath, $awsFile, $localPath, $localFile, sseKey)
- s3_copy($sourceBucket, $sourcePath, $sourceFile, $targetBucket, $targetPath, $targetFile)
- s3_delete($bucket, $awsPath, $awsFile, $sseKey)
- s3_get($bucket, $awsPath, $awsFile, $effectTime, $sseKey)
參數 | 型態 | 預設 | 說明 |
---|---|---|---|
bucket | string | aws s3 桶子名稱 | |
awsPath | string | aws s3 桶子路徑 | |
awsFile | string | aws s3 桶子文件名稱 | |
localPath | string | 地端路徑 | |
localFile | string | 地端檔案名稱 | |
security | int | 1:public 2:private 3:sse encryption | |
sseKey | array | [] | [ 'key' => '值', 'md5' => '值' ] |
download | int | 0 | 0:show on web 1:download file |
sourceBucket | string | aws s3 來源桶子名稱 | |
sourcePath | string | aws s3 來源桶子路徑 | |
sourceFile | string | aws s3 來源桶子文件名稱 | |
targetBucket | string | aws s3 目標桶子名稱 | |
targetPath | string | aws s3 目標桶子路徑 | |
targetFile | string | aws s3 目標桶子文件名稱 | |
effectTime | int | 網址有效時間(分鐘)-1:永久公開 |
All versions of pocoapoco with dependencies
psr/http-message Version ^1.0
digitickets/lalit Version ^3.1
phpmailer/phpmailer Version ^6.5
psr/log Version ^3.0
aws/aws-sdk-php Version ^3.217