Laravel – MySQL – 繞過資料庫外鍵的條件約束,強制刪除

MySQL 下指令 SET FOREIGN_KEY_CHECKS=0,可以將被關聯的來源強制刪除,有時候我們僅是要做測試的時候,會非常好用,不會被卡死。

在 Laravel 可以透過這樣的方式,來刪除紀錄或清空資料表

php – Laravel 支援跨網域的方式

通常我們在 php 檔案最前方加入

但在 Laravel 當然也可以直接寫在 web.php / api.php 最前方,但我通常會建立一份 middleware 結構處理。

php – phpStorm 設定 debug

以 xdebug 為例,如果是在 windows ,例如使用 XAMPP 套件,可以參考官方網站這麼設定。

修改 php.ini 啟動 Xdebug

前往 Settings (Ctrl + Alt + S) > Languages & Frameworks > PHP 打開 php.ini

如果有以下,請把 Zend Debugger 和 Zend Optimizer 隱藏,也就是在前方加分號

我們要啟動 Xdebug 所以在 php.ini 底部添加 Xdebug 章節,例如

儲存並關閉設定,我們可以查看 xdebug 是否啟動

寫入一支 php 查看是否已經出現 xdebug 安裝的資訊

在 phpStorm 設定

參考官方文章,Settings (Ctrl + Alt + S) > Languages & Frameworks > PHP

如果 Xdebug 有正確安裝的話會看到以下版本正確的顯示。如果沒有正確安裝,會顯示 Debugger: Not installed

接著設定 port ,也就是我們在 php.ini 寫入的 xdebug.remote_port=9911

儲存設定後關閉。接著我們使用 Chrome 來瀏覽 PHP 專案,所以我們要安裝瀏覽器輔助套件 xdebug-helper 。其他瀏覽器可參考官網的列表

安裝完成以後,我們寫段 Script

接著設定斷點,準備觀察

點選右上角視窗電話符號,或是選單 Run > Start Listening for PHP Debug Connections 準備監聽

打開 Chrome 啟動套件 Debug

接著運行網頁,phpStorm 就會自動出現除錯模式,點擊不同按紐,可以直接查看變數

例如

不斷點擊按紐,可以看到斷點呈現的變數資訊,到結束時,若 PHP 有輸出指令,可以在 output 檢視結果。

Ububtu 安裝 Xdebug

安裝好後會看到這樣的訊息,要你前往添加 php.ini 的參數 zend_extension

當然也可以查詢 extension 安裝在哪個目錄

接著依照指示修改 php.ini,記得兩處都要

如果已經有 zend_extension 參數,記得註解掉,我們改用以下

HTML – 使用正規表示式驗證

使用標籤 input 的時候,配合屬性 pattern 可以透過正規表示法來驗證,以下例子是限制密碼最少輸入8-12位英文與數字

See the Pen PoYmNQB by 檀熤斮 (@sbgjbjaa) on CodePen.

php – testing – 在 Laravel 專案透過 phpStorm 設定 phpunit

使用 phpStorm 版本 2019.1.3 進行教學,首先設定,我們在快捷鍵按下 Ctrl + Shift + A 輸入 Edit Configurations

點選右下角 FIX
兩個都指定版本例如 PHP7.3,之後點選 OK
發現這裡本來的錯誤消失了,之後再按 OK

接著我們下快捷鍵 Ctrl + Shift + A 輸入 Settings,進入 Languages & Frameworks > PHP > Test Frameworks

指定測試項目
我們直接使用 Composer 的 PHPUnit ,並指定 phpunit.xml 設定檔位置

接下來打開測試檔案,我們可以直接在 methods 左側的綠色箭頭,點擊後會自動運行測試

如果運行成功會出現綠色打勾