iT邦幫忙

1

請問同一站點下的 Laravel 專案如何拆分?

小弟目前使用 Laravel 開發公司的系統,因為架構的關係,系統目錄會長這樣,假設有三個專案↓

http://ithelp.ithome.com.tw/upload/images/20160608/20092441NmkiJRcm0K.jpg

這樣會造成很難管理,尤其現在專案很多~很多~很多~~了,每次要開發 or 更新一個系統,目錄拉出來就是長長一串~TOT

在各位前輩暈倒之前,小弟目前架構長成這樣是因為,

1.有許多共通的模組,所以把許多專案放在一個 Laravel 內。

2.公司內是用 IP 連線的,不是使用DNS給網址,所以網址會變成

	http:\\ip位址\專案1
	http:\\ip位址\專案2
	http:\\ip位址\專案3
	

也無法使用 Apache 的多站點來分割。

一直很希望能夠將各專案拆成一個專案一個 Laravel,
然後通用的模組寫在一個 Laravel 專案內就好,
那個通用的 Laravel 專案順便當入口網,負責登入驗證以及條列系統,
不知道這樣有沒有可能呢?

拜了幾天的 Google 大神,找不到好方法 TOT

看更多先前的討論...收起先前的討論...
關於共通模組的部份可以考慮做成 composer 套件,如果不方便公開所以不能上 packagist 的話,也可以放在私有的 git 儲存庫像是 bitbucket 之類的地方,再用掛套件的方式載進來使用。
weiclin iT邦高手 5 級 ‧ 2016-06-08 17:19:47 檢舉
其實你就拆開啊...再用 apache alias 將 url 對應到你的子專案資料夾就好

https://httpd.apache.org/docs/2.4/urlmapping.html
weiclin iT邦高手 5 級 ‧ 2016-06-08 17:24:08 檢舉
然後你說的通用模組是怎麼個通用法, 互相之間怎樣呼叫, 這也會影響到你能選的作法, 最好描述清楚一點
q00153 iT邦新手 4 級 ‧ 2016-06-08 17:58:05 檢舉
回 三人成虎 大,感謝您,小弟去找找 composer 套件的製作方法。

回 weiclin 大,XD 原來還有 alias 這個方法,學習了,非常謝謝你,等等回家測試看看。

通用模組就是公司一些登入驗證帳號的模組,還有一些 js、css、以及 PHP 的 Chart 跟 Office 有關的外掛,當初是自己開發的,因為懶惰,將它寫成了 Laravel 的 providers 怕說拆開來了就不能共用了~

2 個回答

0
bestlong
iT邦新手 1 級 ‧ 2016-06-15 21:55:38
最佳解答

可以先嘗試把通用的程式模組改寫成套件

之後就可以用 composer.json 設定來決定 Laravel 專案內要使用到的套件

請參考 https://laravel.tw/docs/5.2/packages

0
haoming
iT邦好手 1 級 ‧ 2016-06-13 08:40:55

我們公司一個專案用一個 Laravel 資料夾,共用的部分用 linux 的 ln 或者 windows 的 mklink 去作目錄連結。 當然上面的討論提到的 apache alias 也是不錯的方法,各有好處。

我要發表回答

立即登入回答