【Laravel 5】在 Laravel5 中使用 composer 新增自定義的 psr-4 class


起因


由於不想寫太多程式碼在controller下,也不想放在 eloquent 中(不過似乎可以這麼做)。
最理想的方式還是拿出來寫在自定義的class中

過程

首先新建一個目錄在app下,直接取名叫Lib方便集中管理。
weijlab\app\Lib
然後在這個目錄下放一個叫做Line的子目錄,這邊打算放自己寫的邏輯
在下面寫一個Line.php作為class
<?php
namespace Lib\Line;
class Line{
    public function __construct(){
        dd('loading');
    }
}
放了一個namespace區分一下
接著在composer.json中添增資訊,讓他自動去抓
這邊新增"Lib\\":"app/Lib",記得跳脫 跳脫符號XDD。
  "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/",
            "Lib\\":"app/Lib"
        }
    },
回console下指令
pi@raspberrypi:/var/www/html/weijlab $ /opt/composer.phar dump-autoload -o
Generating optimized autoload files
在寫個code來接
public function getMessage()
    {
        new \Lib\Line\Line;
    }
搞定。

驗證


可以直接檢查 weijlab\vendor\composer\autoload_psr4.php
裡面會出現
'Lib\\' => array($baseDir . '/app/Lib'),
搞定收工

留言