跳到主要內容

發表文章

目前顯示的是有「CodeIgniter」標籤的文章

CodeIgniter4 使用 Firebase 進行認證

  前置動作 完成 Firebase 專案設定,並新增好使用的應用程式(必須是網頁程式</>) 產生並下載保存服務帳號金鑰檔案(JSON) 備註:此金鑰JSON檔只能產生一次,若再次點選產生金鑰會產出另一份金鑰內容 安裝 在 CodeIgniter4 專案中安裝 firebase-php: composer require " kreait/firebase-php:^7.0 " 備註:firebase-php 7.0 僅支援 php 8,所以如果使用 php 其他版本就不要加上最後面的 :^7.0,composer 會自動使用 6.9 版 將服務帳號金鑰JSON檔案置於網站系統內,例如將json檔置於網站的/cert資料夾中 設定 在 .env 檔案中加入金鑰檔案的路徑 以 javascript 進行認證服務 登入頁製作 網頁加入相關資訊 PHP 認證處理 說明: 1. /auth/login 登入頁中,使用 Google 認證按鈕後,會進入 firebase 認證程序,認證完成後將轉址至 /auth/callback/?token=..... 2. 在 /auth/callback 程序中,認證使用者資料且取得權限後,存入 session 再轉至 /admin 管理頁 3. 在 firebase 使用者資料中,可以利用 customClaim 欄位來儲存額外的資訊。

CI4 補充

CodeIgniter Shield CI4 新增的使用者管理系統,含登入、註冊及權限管理 安裝: composer require codeigniter4/shield 官方網站: https://github.com/codeigniter4/shield 說明: https://github.com/codeigniter4/shield/tree/develop/docs CodeIgniter 4 Settings 設定管理系統,類似之前自已程式使用的 ParamModel,在資料庀中儲存設定,用 service 方式處理。 安裝:  composer require codeigniter4/settings 官方網站:  https://github.com/codeigniter4/settings 使用:用 helper(setting) 或 service('setting') Myth:Auth https://github.com/lonnieezell/myth-auth Tatter\Fireauth https://github.com/tattersoftware/codeigniter4-fireauth

CodeIgniter4 - PHP 程式開發框架

 因為最近比較常寫 PHP 程式,老是用舊方法開發已經有點發現 CP 值不高,想找些開發框架,也就是 MVC 框架來快速開發。 PHP 的 MVC 框架很多,相關資訊可以參考: php常用的7大框架 研究過 laraval、ThinkPHP、CodeIgniter等框架,最後選擇 CodeIgnite 4 (CI 4)來作為自己程式開發框架。 主要是因為自己已習慣使用 Smarty 作為網頁模版引擎,有找到在 CI4 中使用 Smarty Engine 的範例,其他的框架不是沒有相關範例,就有其自帶的模版引擎需要再學一遍。 所謂 MVC 架構:M 表 Model,就是專門處理資料庫相關的動作;V 表 View,處理網頁渲染,也就是慣用的 Smarty;C 表 Controller,處理所有程式動作。在 Controller 前面還有一個 Router 的角色,負責解析網址或輸入參數(一般為 GET),並發送到相對應的 Controller 或 觸發相對應的 Controller 去作處理。 以前自己寫的程式已經有一些些 MVC 的影子了,利用網址呼叫一支支 PHP 程式,裡面用 action 或 func 變數來執行對應的 function 程序,最後用 Smarty 作網頁渲染。所以轉換成 MVC 框架比較無痛,而且 MVC 框架多一個專門處理資料庫的 Model,節省了許多寫 SQL 語法的時間。 CodeIgnite 4 CodeIgnite 台灣: https://codeigniter.tw/ 利用 composer 新增專案:composer create-project codeigniter4/appstarter <project-name> 以 php cli 建立 model, controller 等:php spark make:[controller | model] 建立好專案後,CI 4 會在專案資料夾中建新必要的資料  app 資料夾中就是所有程式的核心,Router, Controller, Model, Views 和必要的設定檔都在其中。 public 資料夾是專案網頁的 root,所以要在 apache 等網頁伺服器設定將網頁路徑指到那邊。 writable 資料夾有關 logs, sessio...