[PHP][Yii2] 資料庫操作使用範例 – Command & Builder & AR – Demo

介紹 Yii2 Framework對Database的操作有非常良好的結構彈性,供開發者從底層到Object-Oriented自行評估選用。 這裡對Yii2 Database定義了三層設計模式:SQL Command、Query builder、Active Record(ORM) 其中效能差異在於Active Record(ORM)設計模式, 範例程式碼 SQL Command Level # Get DB componet of Application $db = Yii::$app->db; # Get data form SQL execution $arrayData = $db->createCommand(‘SELECT * FROM table limit 10’) ->queryAll(); print_r($arrayData); Query […]

[Yii2] Nginx 配置 – 讓PHP全進framework – nginx php location try_files

原由 這邊主要是要解決yii2 UrlManager應用中,網址內含.php的路由會導至nginx 404 Not Found問題。 原因為yii2官方建議的Nginx配置: location / { # Redirect everything that isn’t a real file to index.php try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php5-fpm.sock; try_files $uri […]

[jQuery] AJAX跨網域 | AJAX Cross Domain Request withCredentials (Access-Control-Allow-Origin)

做個AJAX跨網域可是容易忘記細節的,這就來篇Note, 後端部分,Server Header請開啟(以PHP動態Header為例): header(“Access-Control-Allow-Origin: *”); header(“Access-Control-Allow-Credentials: true”); Cookie夾帶 如需夾帶Cookie則前端的AJAX需開啟Credentials,JQuery為例: $.ajax({ xhrFields: { withCredentials: true }, type: “GET”, url: “http://www.example.org/ajax.php” }).done(function (data) { console.log(data); }); xhrFields中withCredentials要開啟,這就是亮點!

[PHP] 匯出處理 – CSV、EXCEL匯出實例教學

以CSV為例,PHP的Header與輸出如下: header(“Content-type: text/x-csv”); header(“Content-Disposition: attachment; filename=$filename”); echo $content; exit; 檔案格式介紹: 格式 Type 相隔符號 CSV text/x-csv , SXW application/octet-stream \t Word application/msword Excel application/vnd.ms-excel 編碼轉換: (1) iconv ( “原編碼” , “新編碼” , “內容” ); echo iconv( “UTF-8”, “Big5” , $content); (2) […]

[Yii2] Composer bower-asset 更新失敗解法

遇到的Composer update問題: yiisoft/yii2 2.*.* requires bower-asset/jquery *.*.*@stable | … -> no matching package found. Yii官網解:composer global require fxp/composer-asset-plugin 本篇是針對不使用Plugin提供解法。 原因: bower-asset在Packagist已經是Virtual Package,以下為bower因果: Update: bower 在 0.9.0 版以前可以使用 component.json,但是為了避免跟其他工具命名衝突,故 0.9.0 以後版本請改為 bower.json bower 是 Twitter 團隊開發的一套網頁工具,用來管理或安裝 Web 開發所需要的 Package,像是 CSS 和 […]

[PHP] magicQuote.php – 用PHP實作magic_quotes_gpc (適用於新環境舊架構)

Magic Quote新版PHP已不支援,但如果遇到舊架構放新環境,還是在Bootstrap就模擬Magic Quote即可治標。 PHP官方Magic Quote: Warning: This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0. 以下為遞迴對輸入做addslashes處理達到magic_quotes_gpc: function addslashesRecursively(&$data) { // print_r($data);exit; if (!is_array($data)) { $data = addslashes($data); } else { foreach ($data as $key […]

[PHP] 註解規則表 – PHP Comment

以下為PHP註解規格,可用於宣告變數(Variable)、方法函數(Function)或類別(Class)中: /** * 函數名稱 * 函數描述(有些會含HTML代碼) * * @access 變數可存取的權限 (Example: Public or Private) * @api 爲第三方來源的變數 * @author 函數建立者名稱 (Example: @author Nick Tsai ) * @category 函數的分類別名,可能某些工具會利用這個來分類你的方法,使好幾個方法歸為某一類,方便做辨識使用 * @copyright 函數的版權宣告 (Example: @copyright Code.YIDAS code.yidas.com) * @deprecated 代表不建議使用的函數,未來可能會移除這個方法使用到的某個變數,或整個方法都被刪除 * @example […]