發表文章

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

[Laravel] 在正式上線時,如何在發生錯誤時,不顯示debug畫面

圖片
編輯根目錄的 .env 檔案 APP_DEBUG=true 改成 APP_DEBUG=false 原本的debug畫面就會變成下面的樣子:

[Laravel] 環境變數、組態檔 設定與取用 routes/web.php

Laravel 敏感性的環境變數都是放在根目錄的 .env (如: DB的帳密、API的金鑰),以避免被提交到版本管理系統(如: git)。 如果我們想要設定一些非敏感性的環境變數,可以在根目錄 config/ 檔案夾下建立組態檔(如: config.php),內容如下: config/config.php <?php return [     'company' => [         'name' => '不可思議股份有限公司',         'tel' => '02-23457890',     ],      //所有因環境而異的組態變數 都應放在.env 檔案中 而 .env 不應被提交到git     'env' => [         'DB_PASSWORD' => env('DB_PASSWORD'),     ],  ]; 取用方式如下: routes/web.php Route::get('/', function () {     echo config('config.company.name')     echo config('config.env.DB_PASSWORD');     echo env('DB_PASSWORD'); }); 從第一項可以看出取用方式是以句點(.)分隔,config("檔名.組態鍵.後續鍵") 這種架構來取得組態設定值。 從第二項可以看出也可以從自訂組態檔間接取得 .env 的環境變數值。 從第三項可以看出也能直接取用 .env 的環境變數。

[Laravel] 超新手教學 如何建立API

建立專案 #composer create-project laravel/laravel="5.5.*" myapi 說明: 建立一個名稱為"myapi"的專案 (專案名稱可隨意自取) 更改專案資料夾擁有者 #chown -R www-data:www-data myapi/ 說明: linux serve 主機預設會由 www-data 來執行網頁相關程序,也就是使用者連上我們的網站進行操作時,在主機上其實由 www-data 來執行工作,所以要把網站資料夾設定給 www-data 來擁有。 更改 storage 資料夾權限 #cd myapi/ #chmod -R 775 storage/ 說明: storage主要是存放 session、產生的檔案及系統的log,所以需要設定為可寫入。 開啟 laravel 首頁 #php artisan serve 說明: 使用 laravel 內建的 serve 功能,開啟測試網址,應該可以看到 laravel 的首頁。(關閉請按 ctrl + c) 備註: 如果你已經擁有網址(e.g. http://myweb.com),假設 laravel 的 myapi 專案是建立在網站根目錄,那你可以直接輸入 http://myweb.com/myapi/public 來開啟首頁。 修改 API routes #vim routes/api.php Route::get('/test', function() {     return 'Hello API'; }); 說明: 預設的 user 路由請註解掉。 測試 api 路由 #php artisan serve 說明: 在網址後面加上 /api/test,應該可以看到 Hello API 的文字。 備註: 如果你已經擁有網址,那你可以直接輸入 http://myweb.com/myapi/public/api,應該可以看到 Hello API 的文字。 補充: 在 app/Providers/RouteServiceProvider.php 裡面有定義 API  的 route 規則 (mapApiRoutes),預設規則是網址多一層 api/ ...

[MAC][Laravel][git] Laravel 建立新專案及使用Git (超新手的起手勢)

Step 1. 在家目錄建立新專案 blog (版本:Laravel 5.5 LTS) #cd ~ #composer create-project laravel/laravel="5.5.*" blog 說明:因為 5.5 是 LTS (Long-term support),所以我們使用 composer 來指定版本建立 laravel 專案。(如果使用 Laravel Installer 似乎無法指定版本) Step 2. 檢查 .env 及 vendor #cd blog #ls -al 這邊你可以看到已經有 .env 及 vendor 資料夾,如果你是 git clone 下來的專案,可能會沒有這兩個。 如果沒有 .env 檔案,可以從 .env.example 複製產生。 #cp .env.example .env 如果沒有 vendor 資料夾,可以用 composer 指令產生,composer 會依照專案資料夾裡面的 .composer.json 的內容從網路下載對應的套件,產生 vendor 資料夾並將套件放到這個資料夾內。 #composer install Step 3. 檢查 .env 文檔中的 APP_KEY 如果 .env 是從 .env.example 複製產生,APP_KEY 就會是空白的,所以必需下指令產生一個新的 KEY。 #php artisan key:generate 如果是用 composer 指令建立的專案,在建立時就會自動產生 .env,裡面已經有產生 APP_KEY,此步驟可以省略。 Step 4. 首頁測試 使用 laravel 內建的 server 來測試專案是否已經成功建立。 #php artisan serve 然後開啟瀏覽器,在網址列輸入 127.0.0.1:8000 ,如果有看到 Laravel 的首頁畫面,就代表成功建立。 Step 5. git init 使用 composer 指令建立的專案,預設不會有 .git 檔案,所以要用 git 指令建立。 #git init 如果你沒有要使用 git,此步驟及接下來的都可以省略。 Step 6. git add & git commit 先確認目前 git 狀態 #...

[Laravel] 如何設定 Session 的存活時間 與 當關閉瀏覽器時 清除 Session

Laravel 的 Session 並非使用 PHP 原生 Session 機制,而是使用自己的 Session 機制,所以,要調整存活時間等相關設定時,不是在 php.ini 裡面設定,而是要在 config/session.php 中設定,設定方式如下: Session 的存活時間(分鐘): 原始 (先找 .env 的 SESSION_LIFETIME 值,如果沒定義就用120分鐘) 'lifetime' => env('SESSION_LIFETIME', 120), 修改 (24小時,例如 希望使用者登入一天後自動登出) 'lifetime' => 1140, 當關閉瀏覽器時 清除 Session: 原始 (關閉瀏覽器 不會清除 Session) 'expire_on_close' => false, 修改 (關閉瀏覽器 自動清除 Session,例如 關閉瀏覽器後 自動登出) 'expire_on_close' => true,

[好文][Laravel] 使用Laravel Queue 不得不明白的知識

使用Laravel Queue 不得不明白的知識 (簡中)

[好文][Laravel] 自定義輔助方法

自定義輔助方法 參考影片

[Redis][Laravel] Laravel 如何將 Session 改寫在 Redis

Laravel 的 Session 機制是自己實作的,故與原生PHP的不同,在 Laravel 原始碼中甚至沒有 session_start(),所以也無法使用 $_SESSION,而 Laravel 的 Session 在使用上也很方便,更提供了好用的  helper  session(),文件看一下就可以上手了。 Laravel Session 預設是檔案形式,放在 storage/framework/sessions/ 下,但這樣對於多台主機要共用 Session 比較不方便,所以可以改成放在 Redis 主機上,設定方式如下:

[Laravel] 新北市樹林國小 LARAVEL 工作坊 投影片

新北市樹林國小 LARAVEL 工作坊 投影片

[Laravel] 表單(form)送出後(post),出現 419 錯誤的解法

form 以 post 的方式submit後,出現 "419 Sorry, your session has expired. Please refresh and try again." 的錯誤訊息,是因為沒有在表單中加上 token,這是為了安全性。laravel 有提供一個快速又方便的產生 token 方法,在 resources/views/ 裡的 blade php 程式中,<form>下面加上 {{ csrf_field() }},重新整理瀏覽器再檢視原始碼,會發現多了 <input type="hidden" name="_token" value="cRx10fs5cKttRtzXV8aoZfjiTvmLM7nsXZRbd9n"> 這個就是 laravel 自動產生的 token,然後回瀏覽器讓表單送出,就不會出現 419 錯誤了。

[Laravel][影片] Laravel 入門 CRUD by 閃亮亮

Laravel 入門 CRUD 1/3 by 閃亮亮 Laravel 入門 CRUD 2/3 by 閃亮亮 Laravel 入門 CRUD 3/3 by 閃亮亮

[Laravel][Linux][好文] Installing Laravel PHP Framework on Ubuntu 18.04 LTS for Apache (架設正式網站步驟)

Installing Laravel PHP Framework on Ubuntu 18.04 LTS for Apache

[Laravel][好文][影片] Laracasts: Laravel 5.4 From Scratch (Laravel 5.4 從頭開始-教學影片)

Laravel 5.4 From Scratch

[Linux][PHP][架站][Laravel] ubuntu 16.04 上安裝 PHP 7.2 以及 Lavarel (5.5~6.X)

圖片
Step 1. 安裝最基本的 ubuntu 16.04 預設值安裝即可 (可以直接選裝 OpenSSH server 或 之後自己手動安裝也可以) Step 2. 更新 及 安裝zip (之後所有安裝步驟都在家目錄即可) $sudo apt-get update $sudo apt-get dist-upgrade $sudo apt-get install zip unzip Step 3. 加入軟體相依性 因為 Ubuntu 的專案庫並未提供最新版的PHP,所以我們必需利用社群維護的專案庫(PPA)來額外擴充,其中提供最新版 PHP 的 PPA 名為 ppa:ondrej/php 在這之前,我們必需先確認 add-apt-repository 執行檔可以被使用 $sudo apt-get install python-software-properties 加入最新版 PHP 的軟體來源到專案庫 $sudo add-apt-repository ppa:ondrej/php 專案庫更新 $sudo apt-get update Step 4. 安裝 PHP $sudo apt-get install php7.2 確認 PHP 版本 $php -v Step 5. 安裝 PHP extension 因為 PHP 7.2 可以安裝 Laravel 6.X 以下的版本,所以可以在建立 Laravel 專案時,視需求指定 Laravel 版本,但要注意每個版本需搭配的 PHP 元件(extension) 有些許差異,舉例來說, Laravel 官網文件 5.6 的安裝必需條件 如下 可先用 phpinfo() 來檢查哪些 extension 還沒安裝,沒意外的話 除了 mbstring 及 xml 以外,應該都已經安裝且 enabled,所以只要把 mbstring 及 xml 再加上 zip 裝起來,就可以了。 $sudo apt-get install php7.2-mbstring php7.2-xml php7.2-zip mysql 預設是沒有安裝的,如果會用到請再執行。 $sudo apt-get install php7.2-mysql 重啟 apache $sudo systemc...

[Laravel] 如何建立指定版本的專案?

使用 new laravel myproject 會安裝最新版本的 Laravel 專案,但有時候因為主機的 PHP 版本太舊,只能用舊版的 Laravel 時,就需要使用下列指令建立舊版 Laravel 專案...

[好文][PHP][Laravel] 使用 Laravel & Vue.js 打造即時資訊看板

使用 Laravel & Vue.js 打造即時資訊看板

[Linux][Laravel][架站] ubuntu 16.04 上安裝 Laravel

Step1. 安裝最基本的 ubuntu 16.04 預設值安裝即可 Step2. 更新 $sudo apt-get update $sudo apt-get dist-upgrade Step3. 安裝 SSH $sudo apt-get install openssh-server Step4. 安裝 Zip $sudo apt-get install zip unzip Step5. 安裝 LAMP $sudo tasksel install lamp-server Step6. 安裝 PHP extension $sudo apt-get install php-curl php-mcrypt php-mbstring php-gettext php-zip Step7. E nable mods $sudo phpenmod mcrypt $sudo phpenmod mbstring $sudo phpenmod zip $sudo a2enmod rewrite Step8. 重啟 apache $sudo systemctl restart apache2 Step9. 安裝 composer $curl -sS https://getcomposer.org/installer | php $sudo mv composer.phar /usr/local/bin/composer Step10. 安裝 laravel $composer global require "laravel/installer" Step 11. 修改環境變數 $vim ~/.bashrc 在最下面加上 export PATH="$PATH:$HOME/.config/composer/vendor/bin" Step 12. 讓變數生效 $source ~/.bashrc  Step 13. 建立網站資料夾 $cd /var/www/html/ $sudo mkdir laravel $sudo chmod -R 777 laravel Step 14. 新增專案 ...

[MAC][PHP][Laravel][MYSQL] 如何查看 Homestead 的資料庫 (以 MYSQL 為例,使用 Sequel Pro)

假設 Homestead 已經安裝好,首頁可以正常顯示了。 Step 1. 先安裝一套在MAC環境下免費好用的 MySQL GUI  【 Sequel Pro 】。 Step 2. 啟動後,輸入連線資訊 (預設帳號是 homestead、密碼是 secret、host是192.168.10.10、port是3306)。 (註:Homestead 預設host是 192.168.10.10) Step 3. 左上角 可以選擇要連線的資料庫,這邊選擇 homestead,完成。 註1:如果想要知道 laravel 的DB資訊,可以在專案的根目錄的.env找到。 註2:如果想要改掉homestead這個預設帳號跟密碼,請點選 Sequel Pro 右上角的 "User" 圖示,出現 Accounts 清單後點選 homestead, 然後右邊就可以直接改帳號及密碼,輸入新的帳號跟密碼後,按右下角的Apply,就完成修改了。然後要記得回去改 .env 檔中的 DB_USERNAME 及 DB_PASSWORD。

[MAC][PHP][Laravel] Laravel - Homestead 快速安裝

圖片
《前置工作》 安裝 Homestead 之前 請先依序安裝 composer 及 Laravel 參考如下: [PHP][MAC] Composer 快速入門 簡易安裝教學 備註:如果你之前已經安裝且版本已經舊了,請執行下列指令更新: $composer self-update $composer global update [MAC][PHP][Laravel] Laravel 快速安裝入門 《進入正題》 1.  安裝 VirtualBox 到 VirtualBox 官網 Download 頁面 下載最新版 VirtualBox x.x.x for OS X hosts 然後安裝。 備註:VirtualBox 安裝好之後就不會再用到了,不需要每次都去啟動它。 備註:如果你之前已經安裝且版本已經舊了,請下載新版重新安裝。 2. 安裝 Vagrant 到  Vagrant 官網 Download 頁面 下載最新版 vagrant_x.x.x.dmg 然後安裝。 備註:如果你之前已經安裝且版本已經舊了,請下載新版重新安裝。 3. 下載 Homestead 的 Vagrant box(類似VM的映像檔) 使用 vagrant 命令去下載 Homestead (因為檔案很大 所以需要一些時間) $vagrant box add laravel/homestead 備註:出現選擇畫面時 請選擇「virtualbox」 備註:完成後 確認家目錄有產生一個資料夾 $cd ~/.vagrant.d 4. 使用 git 命令去 clone Homestead 的設定檔(Vagrant 啟動時需要的設定檔) 建立一個資料夾 $mkdir ~/Homestead 下載 laravel 設定檔 到新增的資料夾中 $git clone https://github.com/laravel/homestead.git ~/Homestead 備註:Homestead 資料夾會有一個 Vagrantfile 檔案,實際上要執行 vagrant 命令就是要透過這個檔案,所以,當我們要執行 啟動( vagrant up )、關機( vagrant halt )...等命令,都要先進到這個目錄才能...

[PHP][Laravel][MAC][好文] 建置 Laraval 環境 圖文教學

建置 Laraval 環境 圖文教學