今天打算先把laravel裝起來,然後做個小測試,確認一下開發環境沒問題,一樣到官網找一下指令,在終端機下指令,這邊很需要舉一反三的能力,但我常看到新手是不敢變通,比如對於一些命名或是範例的用法不知道那裏是可以改的,或是去改到不該改的地方。
composer create-project laravel/laravel quizzes
我的做法是先100%的複製官網提供的範例,如果連100%複製都有問題,那表示有些前置作業沒做好,比如沒裝composer....
官方範例:
安裝過程:
安裝完成:
這時我們可以去觀察結果和指令的關係:
然後我會看到很多人是先照官方範例安裝後再去改資料夾名稱,雖然也是可以,但應該要覺得這樣做是怪怪的。
當然composer還有很多細節的參數和用法,比如可以鎖定套件的版本之類的,這就留給有興趣的朋友去研究了。
建立專案後,把專案拖進VS CODE,接下來的動作都在VS CODE的終端機中完成就可以了,這樣做是為了避免在外部份的終端機作業中,很多人搞不清楚自己現在到底應該在那個目錄中下指令。
先下個指令來確認一下到底裝了那個版本的laravel:
php artisan --version
接著可以用laravel提供的伺服器來看一下首頁有沒有跑起來
php artisan serve
請一定要學著先把下完指令後的一些訊息看清楚,這裏有兩個訊息,一個是說伺服器跑在 http://127.0.0.1:8000
這個位址,表示我們要在瀏灠器輸入這個位址;
如果我們想停止這個serve可以按下ctrl+c來停止。
不過這個指令只是用來做簡單的測試而已,後面我們要用比較接近正式環境的方式來進行專案,所以我們希望可以在Apahce server上看到這個結果。
不過因為路由控制的因素,大多數時候你必須設定apache的document root到laravel中的public目錄,後續的路由才會正常運作,但如果同時要進行多個專案時,每次都要去改document root就太累了,所以這邊分享一個使用虛擬伺服器的方式來管理多個專案的方式,vhost的原理有興趣的可以去google一下,這邊只分享做法:
使用文字編輯器打開apache的http.conf檔案
可以使用關鍵字 hosts 來找到相關的設定,確認模組前的 # 已經拿掉了,而這個模組的路徑也代表了這個web server存放虛擬主機設定檔的地方
接著到 xampp 的目錄下找到這個httpd-vhosts.conf檔,並使用文字編輯器來打開
預設的設定檔內容有一些設定的範例可供參考,請讀懂它再使用:
有兩種方式可以用來設定虛擬主機,一是使用port號,也就是和laravel serve一樣的在IP後加上一個3000以上的號碼,
另一個方式是指定域名,這是我自己常用的方式,不過這個方式除了改vhost還得去改系統的hosts。
在 httpd-vhosts.conf 中進行以下的設定
## 只須要傾聽 80 port即可,如果在http.conf中己經有傾聽80 port,則在此檔中不需要再寫一次
Listen 80
<VirtualHost *:80>
DocumentRoot "E:/quizzes/public"
##更改ServerName為自己指定的域名
ServerName quizzes.com
## 以下是針對目錄做的權限及開放功能設定
<Directory E:/quizzes>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
接著到windows目錄下找到hosts檔(此檔沒有副檔名)
使用文字編輯器打開後,建立IP和域名的對應關係
127.0.0.1 localhost
::1 localhost
127.0.0.1 quizzes.com
設定完成後儲存,並且重開apache server,在瀏灠器中輸入我們設定的域名後應該就可以看到專案的首頁。
如果是windows10以上的作業系統,應該hosts儲存完畢後會立刻生效,如果是windows10以下或是沒有生效的話,重開機後讓作業系統重新載入一次hosts檔即可
macOS也是可以設定虛擬伺服器,不過你要比windows下更熟悉命令列的使用,同時也要對linux有些基礎的了解。
先在終端機下brew 指令來查詢httpd的資訊
brew info httpd
以我的mac 為例,可以看到httpd.conf在 /opt/homebrew/etc/httpd/ 這個目錄下,那extra之類的應該也是吧
cd /opt/homebrew/etc/httpd/
ls
所以我們可以進到extra目錄下,並且使用編輯器來打開 httpd-vhosts.conf 進行虛擬伺服器的設定。
改完之後可以使用 brew 指令來重啟httpd
brew services restart httpd
不過由於macOS本身就有內建一套apache了,通常會停用內建的,所以也可以使用內部指令來重啟httpd
sudo apachectl restart
如果你的虛擬伺服器是使用域名來設定的,那還是得去改一下hosts這個檔,在mac中這個檔案放在 /etc 目錄下
更改成功的話,一樣可以在mac的瀏灠器中看到專案的首頁
確認專案建立完成,基本測試也沒什麼問題後,我就會先把這個版本放進git/github做一個初始化的版本紀錄,
然後再開一個分支叫做develop,develop會是主要的開發分支,所以upstream也會設在這個分支。
git init
git add .
git commit -m "初始化版本"
git branch develop
git checkout develop
git branch
git remote add quizzes https://github.com/your account/quizzes.git
git push quizzes main
git push -u quizzes develop
今天就先這樣吧,我的專案建立似乎很麻煩,但這是我目前進行專案的狀況,一但建立完成,就真的是走到開發到那,提供給朋友們一個參考。