win10更換預設瀏覽器
win10 更換預設瀏覽器在電腦上按一下 「開始」 功能表。按一下「設定」圖示,選擇應用程式。
點選「預設應用程式」。
依序按一下 「應用程式」 下一步 「預設應用程式」即可選擇。
Laravel哈希數據ID
Laravel 哈希數據 ID為甚麼需要 hash ID在專案中,我們數據的 ID 通常是自行增加的,如使用 Url get 的參數是商品 ID 會造成以下問題
數據的 ID 是公開的,不希望對外暴露有規則索引
防止爬蟲侵擾
容易根據 ID 猜測數專案中的商品數量
隨著數據的增長,ID 會越來越大,無法統一長度
這時後就可以靠 hash id 來加密解決問題,還有很多種解決方案,例如使用 UUID,使用自己的邏輯創建新的 id 欄位,今天來介紹一個簡單的解決方案是基於hashids/hashids的項目vinkla/hashids
安裝composer require vinkla/hashids
我是使用 laravel7 在安裝過程中報錯,有遇到此問題的小夥伴可以安裝看看版本 8.0.0 試試
composer require vinkla/hashids ^8.0.0
Laravel Hashids 需要連接配置。首先,您需要發布所有供應商資產php artisan vendor:publish --provider="Vinkla\Hashids\HashidsS ...
Axios basic
axios 基本語法簡介axios 是一種 HTTP 的請求工具,也是 Vue 的作者尤雨溪推薦使用,比起 ajax 更為輕量,跟 fetch 一樣使用 promise 物件,卻不限至瀏覽器,只需要短短幾行程式碼即可,寫法更加直覺,以下為官方表明特點。
從瀏覽器發出 XMLHttpRequests
可以從 node.js 發出 http 請求
支持 Promise API
攔截請求和響應
轉換請求和響應數據
取消請求
JSON 數據的自動轉換
客戶端支持防止 XSRF
安裝介紹常見的安裝方式,其他請查閱文檔
使用 NPM$ npm install axios
引入 CDN<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
axios 基本用法axios get 方法沒有參數時 get 請求
axios .get("https://example.com") // 放入要發出get請求網址 .then(functio ...
Bootstrap Modal傳遞資料
Bootstrap Modal 傳遞資料創建基本 modal<button type="button" class="btn btn-outline-dark" data-toggle="modal" data-target="#exampleModal" data-id="example">點擊查看效果</button><div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> ...
使用jQuery取得HTML Select的text和value
使用 jQuery 取得 HTML Select 的 text 和 valueHow to doselect 選項如下
<select id="select"> <option value="1">蘋果</option> <option value="2">芭樂</option> <option value="3">香蕉</option> <option value="4">葡萄</option> <option value="5">番茄</option></select>
假設所選選項為”1”蘋果
取得 value
$("#select").val(); // 1
取得 text
$("#select option:selected").text(); // 蘋果
範例範例程 ...
v-for循環內的v-if
v-for 循環內的 v-if(顯示個別組件)盡量不要在v-for中使用v-if,因為當它們存在於同一節點上時,v-if具有比 更高的優先級v-for。查看文件詳細說明
利用取得物件 ID 去判斷點擊的目標
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script><div id="app"> <h2>Todos:</h2> <ol> <li v-for="todo in todos"> <a v-on:click="toggle(todo)" href="javascript:;">【待辦事項】</a> <span v-if="isActive == todo.id"> {{ todo.te ...
php A non-numeric value encountered_error
php 報錯: A non-numeric value encountered 問題的原因及解決方法<?php$date = "2021-12-10";$time = "11:48:00";echo $date + $time;?>
以上執行後會提示 Warning: A non-numeric value encountered
根據PHP7 文檔說明:
在使用(+ - * / ** % << >> | & ^) 運算時,例如 a+b,如果 a 是開始一個數字值,但包含非數字字符(2021-12-10),b 不是數字值開始時(11:48:00),就會有 A non-numeric value encountered 警告。
如果只是想要字串相加,可以使用”.”連接,”+”不可行。
<?php$date = "2021-12-10";$time = "11:48:00";echo $date.$time;?>
fix_laravel_postman_419
Laravel 解決使用 postman post 時 419 頁面逾時1. 將路由加入 VerifyCsrfToken.phpprotected $except = [ // 把不要使用 csrf 的 路由 放在這裡 '/your/route/',];
2. 路由放在api.phpapi的路由不會經過csrf驗證
3. 帶入 CSRF Token也可以帶入 CSRF Token
取得 CSRF Token
Route::get('/token', function () { return csrf_token();});
取得 CSRF Token 將他帶入 header
再嘗試 POST 一次問題就解決啦
Laravel Seeders
Laravel Seeders簡介Laravel 可以使用 seed 類別,填充測試用的資料,或者是說這個資料表的資料都是固定的不會更動,也可以使用 seed 來創建資料
撰寫 seeder首先透過 artisan 指令來生成 seeder 檔案,命名規則也應遵守大小寫,類似UserTableSeeder 。
php artisan make:seeder UserTableSeeder
創建完成後開啟,會看到只有一個預設的方法:run。當執行db:seed就會跑 run 底下的程式碼,在 run 方法中可以新增你想新增進資料庫的數據,可以使用 DB 或是 Eloquent ORM 對資料進行新增。
laravel 有預先有一個DatabaseSeeder的檔案,在database\seeds底下,可以在 run 裡面新增程式碼。
<?phpuse Illuminate\Database\Seeder;use Illuminate\Database\Eloquent\Model;class DatabaseSeeder extends Seeder{ /** ...
DATE、TIME、DATETIME 和 TIMESTAMP 類型之間有什麼區別
DATE、TIME、DATETIME 和 TIMESTAMP 類型之間有什麼區別DATE:具有日期部分但沒有時間部分的值。MySQL 以YYYY-MM-DD格式檢索和顯示 DATE 值。支持的範圍是 1000-01-01 到 9999-12-31。
DATETIME:用於包含日期和時間部分的值。MySQL 以YYYY-MM-DD HH:MM:SS格式顯示 DATETIME 值。支持的範圍是 1000-01-01 00:00:00 到 9999-12-31 23:59:59。
TIMESTAMP:包含日期和時間部分的值,並包括時區。TIMESTAMP 的範圍是 1970-01-01 00:00:01UTC 到 2038-01-19 03:14:07UTC。
TIME:其值採用HH:MM:SS格式(或 HHH:MM:SS 格式用於大小時值)。TIME 值範圍從-838:59:59 到 838:59:59。小時部分可能如此之大,因為 TIME 類型不僅可以用於表示一天中的某個時間(必須小於 24 小時),還可以表示經過的時間或兩個事件之間的時間間隔(可能遠大於 24 小時,甚至是負的)。