# 安裝框架
## 框架環境
* PHP >=`7.1`
* Laravel`5.5.0`~`9.*`
* Fileinfo PHP Extension
## 開始安裝
> 如果安裝過程中出現`composer`下載過慢或安裝失敗的情況,請運行命令`composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/`把`composer`鏡像更換為阿里云鏡像。
首先需要安裝`laravel`框架,如已安裝可以跳過此步驟。如果您是第一次使用`laravel`,請務必先閱讀文檔 [安裝《Laravel 9 中文文檔》](https://learnku.com/docs/laravel/9.x/installation/12200)
> Laravel9 現在 需要 PHP 8.0.2 or 更高。
本次項目是 `玖鴿物流官網` 項目起名 `jiuge56` 安裝指令是
`composer create-project --prefer-dist laravel/laravel jiuge56`
在 `F:\phpstudy_pro\WWW` 或者 自己創建個文件夾 執行該命令 我這里是在D盤的 `application`
~~~bash
> cd D:\application
> composer create-project --prefer-dist laravel/laravel jiuge56
~~~
測試是否安裝成功 當前目錄下輸入指令
~~~bash
> php artisan serve
~~~
安裝完`laravel`之后需要修改`.env`文件,設置數據庫連接設置正確
~~~.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=jiuge56
DB_USERNAME=root
DB_PASSWORD=qwertyuiop
~~~
一般默認密碼是 `root` 我這里修改過密碼
使用 `navicat` 或者其他數據庫管理軟件 創建 數據庫 `jiuge56`
字符集使用 `utf8` 排序規則使用 `utf8_general_ci`
安裝`dcat-admin`
~~~bash
> cd D:\application\jiuge56
> composer require dcat/laravel-admin:"2.*" -vvv
~~~
如果這一步出現報錯,則更改`composer.json`的參數`minimum-stability`的值為`dev`,
然后運行下面的命令來發布資源:
~~~bash
> php artisan admin:publish
~~~
在該命令會生成配置文件`config/admin.php`,可以在里面修改安裝的地址、數據庫連接、以及表名,建議都是用默認配置不修改。
然后運行下面的命令完成安裝:
> {tip} 執行這一步命令可能會報以下錯誤`Specified key was too long ... 767 bytes`,如果出現這個報錯,請在`app/Providers/AppServiceProvider.php`文件的`boot`方法中加上代碼`\Schema::defaultStringLength(191);`,然后刪除掉數據庫中的所有數據表,再重新運行一遍`php artisan admin:install`命令即可。
~~~bash
> php artisan admin:install
~~~
上述步驟操作完成之后就可以配置`web`服務了,**注意需要把`web`目錄指向`public`目錄**!如果用的是`nginx`,還需要在配置中加上偽靜態配置
~~~nginx
location / {
try_files $uri $uri/ /index.php?$query_string;
}
~~~
啟動服務后,在瀏覽器打開`http://localhost/admin`,使用用戶名`admin`和密碼`admin`登陸。
我這里設置的域名是 `http://jiuge56.bd/admin`
## 生成的文件
安裝完成之后,會在項目目錄中生成以下的文件:
### 配置文件
安裝完成之后,`dcat-admin`所有的配置都在`config/admin.php`文件中。
### 后臺項目文件
安裝完成之后,后臺的安裝目錄為 `app/Admin`,之后大部分的后臺開發編碼工作都是在這個目錄下進行。
~~~php
app/Admin
├── Controllers
│ ├── AuthController.php
│ └── HomeController.php
├── Metrics
│ └── Examples
│ ├── NewDevices.php
│ ├── NewUsers.php
│ ├── ProductOrders.php
│ ├── Sessions.php
│ ├── Tickets.php
│ └── TotalUsers.php
├── bootstrap.php
└── routes.php
~~~
1. `app/Admin/routes.php` 文件用來配置后臺路由。
2. `app/Admin/bootstrap.php` 是 `dcat-admin` 的啟動文件,使用方法請參考文件里面的注釋.
3. `app/Admin/Controllers` 目錄用來存放后臺控制器文件,該目錄下的 `HomeController.php` 文件是后臺首頁的顯示控制器,`AuthController.php` 為后臺管理員登錄鑒權控制器。
4. `app/Admin/Metrics/Examples` 里面存放的是`數據統計卡片(Metric Card)` 的示例代碼.
### 靜態文件
后臺所需的前端靜態文件在 `/public/vendor/dcat-admin` 目錄下。
### 數據表遷移文件
對應的數據表遷移文件在 `/database/migrations` 目錄下。
### 語言包
語言包文件在 `/resources/lang` 目錄下。